kovidgoyal / kitty

Cross-platform, fast, feature-rich, GPU based terminal
https://sw.kovidgoyal.net/kitty/
GNU General Public License v3.0
24.59k stars 985 forks source link

Feature Request: Keyboard Shortcut to show and hide tab bar #3115

Closed jsphnecclia closed 3 years ago

jsphnecclia commented 3 years ago

I would rather not always show a tab bar, but still be able to use tabs often.

Being able to toggle visibility of a tab bar on a particular instance with a keyboard shortcut is what I would like.

I've considered the hidden tab bar option and the minimum tabs number to show a tab bar option, but both have issues. The former's issues are obvious - sometimes a tab bar is needed, or tab names are relevant! The minimum tabs number option is helpful - the tab bar appears when the tab number (and thus supposed complexity of the tabbed window) grows. However, some windows with as few as 2 tabs benefit from having a tab bar, and some with above 4 or 5 don't.

The organizational use of tabs would definitely be helped by a toggle-able tab bar

I figured this as a feature request because it seems like it would be trivial to add, however it is far beyond my level of skill to do so

kovidgoyal commented 3 years ago

I'm not a fan of this, I dont really see why one's need for tabbars would come and go. If you mean you only want to see a tab bar when deciding which tab to switch to, then simply hide the tab bar and use the tab picker action for it, which presents you with a list of tabs.

That said, there is no actual hrm in having such an action, so patches are welcome.

jsphnecclia commented 3 years ago

That tab picker action workflow you mentioned is what I meant. Is that available somewhere? I can't find it

kovidgoyal commented 3 years ago

ah, I was mis-remembering, the tab picker is present for the detach_window action, not for actually choosing a tab to switch to. You should be able to implement it very easily by simply cloning the detach_window() function in boss.py to a new function named choose_tab and instead of calling move_window_to at the end call set_active_tab.

You can create a PR for it, or even just implement it in a kitten for yourself. https://sw.kovidgoyal.net/kitty/kittens/custom.html

hacker-DOM commented 2 years ago

For others that come here:

tab_bar_min_tabs 1

https://sw.kovidgoyal.net/kitty/conf/#opt-kitty.tab_bar_min_tabs