Use dynamic bindings list in omarchy-menu-keybindings (#300)

* fix: Use dynamic bindings list in omarchy-menu-keybindings

We can use `hyprctl binds` to get a dynamic list of the currently-set
key bindings. This allows for a custom user configuration that is
split into arbitrary config files, and which makes use of `unbind` to
remove default Omarchy key bindings.

* chore: Support optional description for key bindings

If the description is present, use it in the key
bindings menu, instead of displaying some version
of the dispatched command.

* chore: Add some key binding description strings
This commit is contained in:
Simon Dawson
2025-08-03 10:11:29 +01:00
committed by GitHub
parent 8ed29e6ce1
commit 8f3647c5c5
6 changed files with 142 additions and 121 deletions

View File

@ -2,15 +2,15 @@
$osdclient = swayosd-client --monitor "$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')"
# Laptop multimedia keys for volume and LCD brightness (with OSD)
bindel = ,XF86AudioRaiseVolume, exec, $osdclient --output-volume raise
bindel = ,XF86AudioLowerVolume, exec, $osdclient --output-volume lower
bindel = ,XF86AudioMute, exec, $osdclient --output-volume mute-toggle
bindel = ,XF86AudioMicMute, exec, $osdclient --input-volume mute-toggle
bindel = ,XF86MonBrightnessUp, exec, $osdclient --brightness raise
bindel = ,XF86MonBrightnessDown, exec, $osdclient --brightness lower
bindeld = ,XF86AudioRaiseVolume, Volume up, exec, $osdclient --output-volume raise
bindeld = ,XF86AudioLowerVolume, Volume down, exec, $osdclient --output-volume lower
bindeld = ,XF86AudioMute, Mute, exec, $osdclient --output-volume mute-toggle
bindeld = ,XF86AudioMicMute, Mute microphone, exec, $osdclient --input-volume mute-toggle
bindeld = ,XF86MonBrightnessUp, Brightness up, exec, $osdclient --brightness raise
bindeld = ,XF86MonBrightnessDown, Brightness down, exec, $osdclient --brightness lower
# Requires playerctl
bindl = , XF86AudioNext, exec, $osdclient --playerctl next
bindl = , XF86AudioPause, exec, $osdclient --playerctl play-pause
bindl = , XF86AudioPlay, exec, $osdclient --playerctl play-pause
bindl = , XF86AudioPrev, exec, $osdclient --playerctl previous
bindld = , XF86AudioNext, Next track, exec, $osdclient --playerctl next
bindld = , XF86AudioPause, Pause, exec, $osdclient --playerctl play-pause
bindld = , XF86AudioPlay, Play, exec, $osdclient --playerctl play-pause
bindld = , XF86AudioPrev, Previous track, exec, $osdclient --playerctl previous