Add vim navigation to the switcher#360
Conversation
|
I think we should just enable it by default. If anyone doesn't want to use them they just don't. They should not block any functionality so they should be enabled by default. (If any configs change I copy the old structs and create a migration file converting the old config. This also adds some work as all old versions must be able to be converted to the newest version.) This is why I either try to combine config changes in one single change to reduce the amount of migrations. Even if the change just adds a field, previous hyprshell versions don't know this field but think they should be able to parse the config because of the version field not hanging changed. |
|
But the implementation looks good |
|
I also think it would be cool to add arrowkey support if anyone really wants to use it |
For that that I should just create a new |
This would be how a new migration would be done. The migrate function would need to adjusted to also migrate all old configs to the new one. I still think we shouldn't add a config for this, especially not one that is disabled by default but then add the feature to the features list in the readme. I don't think there is any value in disabling vim keybinds, especially as the vim keybinds in the overview are also enabled by default |
Yes, I think this makes sense. Alright, I'm going to revert changes to config and include navigation using arrows alongside hjkl. |
|
Does it make sense to report issues here? @gabrielvincent Input tricks like this don't help: |
|
@patroza Thanks for reporting this issue. I'm unable to reproduce it on my end, so I need some additional information to investigate:
Could you please share your Hyprland config? This will help me check if there's a configuration setting that might be causing this behavior. |
|
|
Thanks for providing the configs. Some follow up questions:
|
Letting go of alt tab or alt grave worked always as expected even when the rest of the keys didn't. I did not try letting go of tab and pressing it again etc. More interestingly, since rebooting after adding hyprshell as autostart of hyprland, I can no longer reproduce the behaviour and in general the switcher seems to behave better.. when I experienced the issues, hyprshell was running from within a terminal in my vscode. |
|
Interesting. I also noticed that Hyprshell sometimes seems to behave like a window. I never had any issues with keybindings, but occasionally the switcher starts appearing with a fade-in animation. I will try to find the root cause for this. |
|
This is a issue with GTK and the exclusive window mode. I will try to implement some solution into the plugin that forces focus onto the switch window. I don't know why using the exclusive window mode doesn't work for some people. Releasing the key is always handled by the plugin but other keybinds are received by the switch window. |
|
FYI: after a while I'm losing the keyboard nav support, a restart of hyprshell fixes it. |
This just happened to me. Not sure how, though. alt+tab and alt+grave continue to work normally. I've been unsuccessful in reproducing this. I'm now running Hyprshell in verbose mode. Let's see if I can catch something next time this happens. |
Adds vim-style navigation to the switcher
Changes
workspaces
reversefield with aDirectionenum inSwitchSwitchConfigfor clear directional intentvim_modeboolean option towindows.switchconfig to enable/disable vim navigationBehavior
items_per_rowconfigurationConfiguration
Vim navigation is disabled by default. To enable it, add the following to your config:
When vim_mode = false (default), the hjkl keys are ignored. Tab and Shift+Tab navigation works regardless of this setting.
Technical Details