-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hide tab bar upon key release #5654
Comments
Makes sense, although I suppose this is not something most people would need, and it would not be easy to configure. (also if shift is released before 1000ms, when should the tab bar be hidden?) As a workaround: have something in config.py (or a userscript, if you're on Linux) to listen to keyboard events and change the configuration for Another workaround is to use |
Really? I would think most people who hides their tab bar would probably benifit using this. No unflexible delay to set, does not show tab bar for longer than needed - intuitive to keep open for as long as needed and will probably come natural without much instructions for most users Maybe you are correct, most people don't use qutebrowser and those who do probably leaves the configuration alone :P Workflow example would go like this:
|
You're definitely not the first one to want this - the main problem with it is that it doesn't really fit in well with how qutebrowser works (both from the code and from a user's perspective): A quite central concept in qutebrowser is that keypresses are mapped to commands, and the same commands can also be run in other ways (via the qutebrowser commandline, by running This, as well as a scrolling implementation relying on keypress/release (#4768) breaks that concept - I see how it can be useful, but there will need to be some solution of how this fits in with the existing mental model (and code). I didn't really think about it much so far, though. For an "automatic" solution, it seems like quite a bit of magic - also, what would happen when an user bound those keys to e.g. |
I think that all of those can be solved with key-up binding (to avoid being confusing, the easiest way would be to only allow binding one-key key-up without modifier). So bind |
@user202729 You wouldn't want the tab bar to show up (and stay there) every time you use Shift to e.g. go back via I suppose it'd work if we had a "hide the tab bar now if it happens to be in |
... then "Hide the tab bar now" command should work too. |
@The-Compiler how easy would it be to map key releases to commands? e.g. just like the regular e.g. a more realistic example: config.bind('<Ctrl>', 'set tabs show always')
config.bind('^<Ctrl>', 'set tabs show never')
config.bind('<Ctrl-n>', 'tab-next')
config.bind('<Ctrl-p>', 'tab-prev') a neat side effect would be even more laziness, by doing things like these quick peeking commands: # quick peek at next tab, reverts peek upon key release
config.bind('<Ctrl-l>', 'tab-focus last')
config.bind('^<Ctrl-l>', 'tab-focus last') imagine how more lazy we can get? just put finger there, and simply release finger to go back. this way we become even more energy efficient as the brain will think even less and less muscles will be used. one step towards perfect nerd utopia where things just happen by desiring them. alternative syntax: add optional argument to config.bind('<Ctrl>', 'set tabs show always')
config.bind('<Ctrl>', 'set tabs show never', 'release')
config.bind('<Ctrl-n>', 'tab-next')
config.bind('<Ctrl-p>', 'tab-prev')
config.bind('<Ctrl-l>', 'tab-focus last')
config.bind('<Ctrl-l>', 'tab-focus last', 'release') or maybe a new mode? e.g. |
For some more inspiration from an UX perspective, herbstluftwm recently implemented this with a virtual "Release" keyboard "modifier", see herbstluftwm/herbstluftwm#1446 and herbstluftwm/herbstluftwm#1443. |
First of all, thank you :)
I have a suggestion for additional option besides regular delay in ms for "the c.tabs.show_swiching_delay" option. So I have the tabs on the right, auto hiding after 1000ms. Works fine, but at times I have quite a lot of tabs open I want to find a particular one and I keep switching up and down the list of tabs to keep the tab-panel open for longer than 1000ms.
How about providing an option to have it disappear on key release? I think having the tab panel hide when I release the shift key would feel really natural and intuitive since I already have it pressed to access upper case J and K.
There's probably a much better way to configure this but something like below:
Meaning hide upon releasing shift with zero ms delay. Could also be set to 'shift 100' for a slight delay after releasing shift OR just '800' for an 800 ms delay.
The text was updated successfully, but these errors were encountered: