Let's review what NeoZoom.lua does first :D
The main focus of NeoZoom.lua is to help you focus one window at a time. This is done by turning two of the drawbacks of float window into an advantage: floating window makes you feel temporary, and it covers other windows in your current tabpage. (blablabla, lol)
Problem(?)
To make NeoZoom.lua works for a window, you still need to move your cursor to the window first. This wastes some seconds for me and I don't like it.
Ideas
So the current workflow looks like this:
I'm in a tabapge --> I need to focus on a window --> I move my cursor toward it --> I run keybind/command from NeoZoom.lua --> repeat if I I need to switch focus
What in my mind currently:
I'm in a tabpage --> I run keybind/command from NeoZoom.lua --> I can cycle-through all buffers in the current tabpage --> Yeah
I give this workflow a name called slider mode because why not, lol.
Pros & Cons
Good:
- NeoZoom.lua is now also window selector, and it's cool.
- Or maybe It's not just cool, if you really think about it:
- Under Vim's philosophy, we can always re-open another buffer from any existing tabpage.
- In other words, Vim's saying "hey, the point of tabpage for you is that you can store many window layouts".
- But I don't use tabpages for just window layouts. I use tabpages for subtasks under the current project(and there are plugins to set a title for each tabpage).
- That is, I use tabpages to remember what buffers are needed for each subtask. But creating many windows under a given tabpage makes me hard to focus.
- If NeoZoom.lua becomes a window selector, I can keep both "subtasks" and "focus" ideas!
- I don't even need to maintain any state to remember all the buffers for a given tabpage, because the upstream API
nvim_win_get_buf() has done it! This is a good sign to add this feature because no state management is involved.
Bad
End Result Sketch
- So I probably need a pair-window to list all buffers under the current tabpage, as shown in my sketch.
- In
BUF_LIST, hint users their keybinds to "slide through" every buffer. (They don't need to read my repo to know WTF has been added :D)
Currently :(

Let's review what NeoZoom.lua does first :D
The main focus of NeoZoom.lua is to help you focus one window at a time. This is done by turning two of the drawbacks of float window into an advantage: floating window makes you feel temporary, and it covers other windows in your current tabpage. (blablabla, lol)
Problem(?)
To make NeoZoom.lua works for a window, you still need to move your cursor to the window first. This wastes some seconds for me and I don't like it.
Ideas
So the current workflow looks like this:
What in my mind currently:
I give this workflow a name called slider mode because why not, lol.
Pros & Cons
Good:
nvim_win_get_buf()has done it! This is a good sign to add this feature because no state management is involved.Bad
opts.callbacksshould be further splitted into two cases: zoom-in & zoom-out #93)End Result Sketch
BUF_LIST, hint users their keybinds to "slide through" every buffer. (They don't need to read my repo to know WTF has been added :D)Currently :(