akiyosi / goneovim

A GUI frontend for neovim.
MIT License
2.39k stars 62 forks source link

The first time I launch the goneovim,it only gives me a window and can't do anything after I just start my computer. #305

Open 0BananaBig0 opened 2 years ago

0BananaBig0 commented 2 years ago

The first time I launch the goneovim,it only gives me a window and can't do anything after I just start my computer, besides closing this window by mouse. And it creates a 0.vim in ~/.config/goneovim/sessions but will be cleared after I launch the goneovim the second time. My nvim version is 0.6.0, my system is ubuntu18.04.6 My command is : gnvim -p hcs-test/HtCommand.cpp & or gnvim hcs-test/HtCommand.cpp image image This is content of 0.vim let SessionLoad = 1 let s:so_save = &g:so | let s:siso_save = &g:siso | setg so=0 siso=0 | setl so=-1 siso=-1 let v:this_session=expand("<sfile>:p") silent only silent tabonly cd ~/Downloads/hcstest.git if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == '' let s:wipebuf = bufnr('%') endif set shortmess=aoO argglobal %argdel $argadd hcs-test/HtCommand.cpp edit hcs-test/HtCommand.cpp argglobal setlocal fdm=manual setlocal fde=0 setlocal fmr={{{,}}} setlocal fdi=# setlocal fdl=0 setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE let &fdl = &fdl let s:l = 66 - ((13 * winheight(0) + 13) / 27) if s:l < 1 | let s:l = 1 | endif keepjumps exe s:l normal! zt keepjumps 66 normal! 020| tabnext 1 badd +0 hcs-test/HtCommand.cpp if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal' silent exe 'bwipe ' . s:wipebuf endif unlet! s:wipebuf set winheight=1 winwidth=20 shortmess=filnxtToOFc let s:sx = expand("<sfile>:p:r")."x.vim" if filereadable(s:sx) exe "source " . fnameescape(s:sx) endif let &g:so = s:so_save | let &g:siso = s:siso_save set hlsearch doautoall SessionLoadPost unlet SessionLoad " vim: set ft=vim :

And then I reboot my computer and clear the content of init.vim. But the result is the same as above. And the content of 0.vim is: let SessionLoad = 1 let s:so_save = &g:so | let s:siso_save = &g:siso | setg so=0 siso=0 | setl so=-1 siso=-1 let v:this_session=expand("<sfile>:p") silent only silent tabonly cd ~/Downloads/hcstest.git if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == '' let s:wipebuf = bufnr('%') endif set shortmess=aoO argglobal %argdel $argadd hcs-test/HtCommand.cpp edit hcs-test/HtCommand.cpp argglobal setlocal fdm=manual setlocal fde=0 setlocal fmr={{{,}}} setlocal fdi=# setlocal fdl=0 setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE let &fdl = &fdl let s:l = 1 - ((0 * winheight(0) + 14) / 28) if s:l < 1 | let s:l = 1 | endif keepjumps exe s:l normal! zt keepjumps 1 normal! 0 tabnext 1 badd +0 hcs-test/HtCommand.cpp if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal' silent exe 'bwipe ' . s:wipebuf endif unlet! s:wipebuf set winheight=1 winwidth=20 shortmess=filnxtToOF let s:sx = expand("<sfile>:p:r")."x.vim" if filereadable(s:sx) exe "source " . fnameescape(s:sx) endif let &g:so = s:so_save | let &g:siso = s:siso_save set hlsearch doautoall SessionLoadPost unlet SessionLoad " vim: set ft=vim :

0BananaBig0 commented 2 years ago

0.vim.NoInit.vim.txt 0.vim.HasInit.vim.txt

0BananaBig0 commented 2 years ago

settings.toml.txt

akiyosi commented 2 years ago

@j-xella hi :D Thanks for the issue report.

Are you setting gnvim as an alias for the goneovim binary?

0BananaBig0 commented 2 years ago

@akiyosi Yes,this is my setting. alias gnvim='/home/banana/Downloads/program/Goneovim-v0.5.1-linux/goneovim -p'

j-xella commented 2 years ago

@j-xella hi :D Thanks for the issue report.

Are you setting gnvim as an alias for the goneovim binary?

No, I am running it on Windows, hence launching as it is.

akiyosi commented 2 years ago

@Banana-Two @j-xella I had misspelled the name of the Mention. I apologize for that.

@Banana-Two I understand about your alias settings.

however, since -p is given in the alias, isn't it nonsense to specify something like "gnvim -p ..."?

Also, I would like to know if the same problem occurs with goneovim -u NONE. For example, if I run the following, does it reproduce the problem?

/home/banana/Downloads/program/Goneovim-v0.5.1-linux/goneovim -u NONE hcs-test/HtCommand.cpp &
0BananaBig0 commented 2 years ago

@akiyosi It doesn't matter. I think the alias has no problem because it can work correctly in Goneovim-v0.4.13-linux. I have try what you said. But the same problem also occurs.

image The difference between this time and last time is that Launching the goneovim at the second time it didn't delete 0.vim

image

image

0.vim.NoInit.vim.TryYourCommandFirst.txt 0.vim.NoInit.vim.TryYourCommandSecond.txt

akiyosi commented 2 years ago

@Banana-Two Is it correct to summarize the behavior as follows?

  1. Start Goenovim for the first time.

    • Goneovim will display only a window and remain in an inoperable state.
    • At this time, 0.vim is created under sessions.
  2. Quit Goneovim

  3. Start Goneovim for the second time.

    • The problem does not occur.
    • The 0.vim file under sessions is deleted.
  4. Start Goneovim without 0.vim.

    • The problem occurs?
0BananaBig0 commented 2 years ago

@akiyosi Yes, after the first time launch, this problem will not occur any other time.

And recently, I found that after we finish launching goneovim( not close it and only a window shows ), we can resize the windows by mouse or the shortcut key of the linux system, the goneovim will become normal and the 0.vim will still be created.

The first time launch: image After resize the windows: image Last close the windows: image

0.vim

let SessionLoad = 1
let s:so_save = &g:so | let s:siso_save = &g:siso | setg so=0 siso=0 | setl so=-1 siso=-1
let v:this_session=expand("<sfile>:p")
silent only
silent tabonly
cd ~/
if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == ''
  let s:wipebuf = bufnr('%')
endif
set shortmess=aoO
argglobal
%argdel
argglobal
enew
setlocal fdm=manual
setlocal fde=0
setlocal fmr={{{,}}}
setlocal fdi=#
setlocal fdl=0
setlocal fml=1
setlocal fdn=20
setlocal fen
tabnext 1
if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal'
  silent exe 'bwipe ' . s:wipebuf
endif
unlet! s:wipebuf
set winheight=1 winwidth=20 shortmess=filnxtToOF
let s:sx = expand("<sfile>:p:r")."x.vim"
if filereadable(s:sx)
  exe "source " . fnameescape(s:sx)
endif
let &g:so = s:so_save | let &g:siso = s:siso_save
set hlsearch
doautoall SessionLoadPost
unlet SessionLoad
" vim: set ft=vim :

0.vim.NoInit.vim.ResizeWindows.txt

akiyosi commented 2 years ago

@Banana-Two Ummm, From the situation, I think it is most likely that some configuration is loaded right after the startup of Goneovim, and the loading of the configuration is preventing the GUI from attaching to the nvim core. For example, a similar problem that I am aware of is that when there is an error in the initial configuration of init.vim, the error that occurs when loading it conflicts with the process of attaching the GUI to the nvim core, resulting in a similar situation after starting Goneovim. In this case, an explicit user operation such as Enter may resolve the problem.

On the other hand, it also happens with -u NONE, so logically, the nvim setting is not involved.

In your OS environment, for example, are you using another application to control the window size?

0BananaBig0 commented 2 years ago

@akiyosi No, I didn't install any programs to control window size.But the result I gave you was from my virtual machine that is ubuntu18, which had the same result as the server which is centos8 and my computer that is ubuntu18, even if they setted the configuration files including init.vim and settings.toml to empty.

damanis commented 2 years ago

I have this problem, too. Sometimes, goneovim window is empty, does not accept keys and can be closed by mouse only. Is the session file creation can be disabled?