Summary
Add keyboard navigation support for hydebar to enable mouse-free workflow with vim-style keybindings.
Motivation
Currently hydebar requires mouse interaction for all operations. Users familiar with vim/neovim workflows prefer keyboard-driven interfaces for efficiency and accessibility.
Proposed Features
Global Navigation
- Open/close menus without mouse
- Navigate between modules
- Focus management
Menu Navigation
- Arrow keys or hjkl for movement
- Enter to select
- Escape to close
- Tab/Shift+Tab for cycling
Module-Specific Actions
- Calendar: navigate months, select dates
- Settings: toggle options, adjust values
- Notifications: dismiss, clear
- Media Player: play/pause, skip tracks
- Volume: adjust levels
Configuration
Keybindings should be configurable in config.toml:
[keybindings]
enabled = true
mode = "vim" # or "emacs", "custom"
[keybindings.global]
toggle_menu = "<Super>space"
next_module = "<Super>l"
prev_module = "<Super>h"
[keybindings.menu]
up = "k"
down = "j"
left = "h"
right = "l"
select = "<Enter>"
close = "<Escape>"
Implementation Considerations
- Use iced keyboard event handling
- Maintain focus state across menus
- Ensure accessibility compliance
- Preserve existing mouse functionality
- Add visual focus indicators
Success Criteria
- All menus navigable via keyboard
- No mouse required for basic operations
- Configurable keybindings
- Visual feedback for focused elements
- Documentation for keybinding configuration
Summary
Add keyboard navigation support for hydebar to enable mouse-free workflow with vim-style keybindings.
Motivation
Currently hydebar requires mouse interaction for all operations. Users familiar with vim/neovim workflows prefer keyboard-driven interfaces for efficiency and accessibility.
Proposed Features
Global Navigation
Menu Navigation
Module-Specific Actions
Configuration
Keybindings should be configurable in config.toml:
Implementation Considerations
Success Criteria