Closed Nimmidev closed 1 year ago
Do you think it is possible to to support both?
What does that even mean? You can either show the statusline in the tmux statusline or show the statusline in neovim, if you combine them you would have two statuslines again. So I don't really understand what you mean with supporting laststatus=3
. What would that look like?
At the moment with the current version of vim-tpipeline
laststatus=0
is utilized to hide the statusline. But this only works for the bottom row of windows. Windows above that still have a statusline as you can see here:
If laststatus=3
is set only one statusline is displayed for all windows as you can see here
I am not very familiar with the vim ui internals, so i was wondering if there is a ui hack or something so that you have the advantage of laststatus=3
while still not having the global statusline at the bottom visible (as with laststatus=0
).
Or to put it simple, not having statuslines anywhere so that the tmux one is the only one. No matter how many windows you have.
In case this is not possible i would open an issue in the neovim repo and ask them what they think about adding an option like that.
Thanks for the detailed explanation, I understand now. In that case this is a duplicate of #19 and can be fixed with let g:tpipeline_clearstl = 1
and set fcs=stlnc:─,stl:─,vert:│
as detailed in https://github.com/vimpostor/vim-tpipeline/issues/19#issuecomment-1000844167
In case this is not possible i would open an issue in the neovim repo and ask them what they think about adding an option like that.
Still it might be good to see if something could be implemented in neovim that really hides the duplicate split window statusline like it is already the case for laststatus=3
, as that would be more clean than the workaround above.
I have already tried #19 but the fact that part of the statusline is still visible bothered me. Thats the reason i opened this issue ^^
Ye it seems like going to the source (neovim) is the best option then. Ill open a issue there and explain the use case with this plugins as an example. Ill let you know about any progress on that front. You can close that issue (or keep it open) as you like.
Well there isn't really any visual difference between the workaround in #19 and what you are describing. Using above fcs
will result in this, which looks exactly like your laststatus=3
screenshot.
Than that seem like another case of lualine messing stuff up:
I have added another workaround for lualine...
Edit: Looks like this opened up some other regressions with lualine, I will have to find another workaround. (Or something could be added upstream in neovim to allow drawing proper split lines without the statusline)
Maybe I should add a g:my_next_statusline_wont_be_lualine option instead?
Good one ^^
Ill open that issue in the neovim repo as soon as i am back at my pc.
It should work without problems now, but as always with lualine, things are getting cursed.
Note that lualine seemed to be setting the local statusline option for almost all windows during every event: https://github.com/nvim-lualine/lualine.nvim/blob/2ac8d77575926d5c22f1d13f3e48000d579277e3/lua/lualine.lua#L421-L430 And not only that, it's also unnecessarily called with a timer at least once every second in the best case scenario. So some extra workarounds were necessary from this plugin's side...
I highly recommend using a statusline that is not lualine (but this plugin now works again with lualine).
Oh god. I am sorry you have to jump through all of those hoops to get lualine supported. I will definitively switch as soon as i have time to checkout a couple of the available options. Most of the lualine features are overkill for me anyway.
Either way, thanks again for your swift response and fixes.
Since about a year neovim has added another way to display the statusline with
laststatus=3
. With this setting only one global statusline is used for all windows. If the window focus is changed, the statusline is updated with the respective window information.This feature is a huge deal for me because it saves a lot of valuable screen space especially on laptops. While merging the vim statusline with the tmux one is an anwesome feature and also saves screen space, it is currently mutually exclusive with
laststatus=3
. So i was wondering: Do you think it is possible to to support both?