Skip to content

Feature Idea: Slider Mode #95

@nyngwang

Description

@nyngwang

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 :(

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestintuitionmake it simple, snoopy

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions