Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cursor line shifts up when remote attached #353

Closed
shiena opened this issue May 1, 2022 · 8 comments
Closed

Cursor line shifts up when remote attached #353

shiena opened this issue May 1, 2022 · 8 comments
Labels

Comments

@shiena
Copy link
Contributor

shiena commented May 1, 2022

goneovim: v0.5.1-87-gaa788ad
neovim: v0.7.0
OS: Windows10

~/.goneovim/settings.toml

[Editor]
FontFamily = "UDEV Gothic 35JPDOC"
FontSize = 12
ExtCmdline   = true
ExtTabline   = true
Clipboard = true

Ginitvim = '''
nnoremap <Leader>mm :<C-u>GonvimMiniMap<CR>
nnoremap <Leader>ma :<C-u>GonvimMaximize(1)<CR>
nnoremap <Leader>mi :<C-u>GonvimMaximize(0)<CR>
nnoremap <Leader>wo :<C-u>GonvimFilerOpen<CR>
nnoremap <Leader>wn :<C-u>GonvimWorkspaceNew<CR>
'''


[Cursor]
SmoothMove = true

Steps to reproduce

  1. run nvim --listen localhost:11111 -u NONE
  2. run goneovim --server localhost:11111

image

@shiena
Copy link
Contributor Author

shiena commented May 1, 2022

It was solved by deleting ExtCmd = true from ~/.goneovim/settings.xml.

@akiyosi akiyosi added the bug label May 2, 2022
@akiyosi
Copy link
Owner

akiyosi commented May 7, 2022

@shiena
Hi, Thanks for this issue report.

I have looked into this issue and it seems that externalization options such as tabline and command line cannot be enabled when attaching a running nvim instance.
Goneovim expects to receive information about externalized tablines, but Neovim has not emitted any events regarding this, and this seems to be the cause of this problem.

Also, Goneovim is designed to assume the multigrid architecture of the Neovim UI, but the ext_multigrid option to enable this multigrid architecture does not seem to be working properly.

I will create an issue on this problem in the Neovim repository.

@shiena
Copy link
Contributor Author

shiena commented May 21, 2022

There was another pattern that was not displayed correctly with remote attach.

  • The command line is not displayed
  • The completion popup is not cleared
goneovim-cmd.mp4

@akiyosi
Copy link
Owner

akiyosi commented May 21, 2022

@shiena
Thanks for additional info!
Yes, I can confirm the problem you additionally reported in my environment.
This is happening because Goneovim expects multigrid ui events, but neovim only emits single grid events. In any case, these are due to problems (or specifications) on the Neovim side.

I will create an issue on the Neovim side soon. (Sorry, I've been busy to report this to the Neovim team yet.)

@akiyosi
Copy link
Owner

akiyosi commented Oct 2, 2022

@shiena
I have been working on a fix for this problem.
After testing, the following fixes seem to solve the problem for the latest nvim 0.8.0, but I would appreciate it if you could provide some feedback as well.

https://github.com/akiyosi/goneovim/actions/runs/3167724782

@shiena
Copy link
Contributor Author

shiena commented Oct 2, 2022

@akiyosi
I checked both goneovim-windows.zip and goneovim-msvc-windows.zip. but the problem is not resolved.

goneovim-windows.zip with nvim 0.8.0

goneovim-with-nvim0.8-video-only.mp4

goneovim-msvc-windows.zip with nvim 0.8.0

goneovim-msvc-with-nvim0.8-video-only.mp4

@akiyosi
Copy link
Owner

akiyosi commented Oct 4, 2022

@shiena
I have investigated this issue again and have confirmed the following facts

When starting nvim as follows, the UI externalization option expected by goneovim is not enabled and this problem occurs. ( this is what you have pointed out).

nvim --listen localhost:11111 -u NONE

On the other hand, if nvim is started headless as follows, the UI externalization options expected by goneovim are enabled correctly, so this problem does not occur.

nvim --headless --listen localhost:11111 -u NONE

I would imagine that for non-headless nvim, nvim assumes the TUI rendering mode and thus may not properly enable the UI options that the external UI has during subsequent external UI attach.
This point needs to be confirmed with the nvim dev team as it is part of the nvim specification.

@shiena
Copy link
Contributor Author

shiena commented Oct 4, 2022

@akiyosi
Thank you for investigating.
It was resolved by running nvim as pointed out.
I closed the issue because I didn't understand that the headless option is required for remote attach.

@shiena shiena closed this as completed Oct 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants