From 8bc854069b9bb0acfe633245ac0758ae36b49090 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 10 Aug 2026 22:45:50 +0200 Subject: [PATCH] List Herdr right below Tmux in the keybindings menu The menu ranks the launcher bindings by hand, and Herdr had no rule, so it fell into the unranked middle far from the terminal it sits beside in the bindings. Rank it right after Tmux and shift the rest down, and give "Show Herdr key bindings" the same treatment next to its Tmux counterpart at the bottom. The cache key is bumped so machines holding records from the old order rebuild them. Co-Authored-By: Claude Opus 5 --- bin/omarchy-menu-keybindings | 84 ++++++++++++++++++------------------ 1 file changed, 43 insertions(+), 41 deletions(-) diff --git a/bin/omarchy-menu-keybindings b/bin/omarchy-menu-keybindings index 9a6160c3..08b0aaea 100755 --- a/bin/omarchy-menu-keybindings +++ b/bin/omarchy-menu-keybindings @@ -378,46 +378,47 @@ prioritize_entries() { prio = 50 if (match(line, /Terminal/)) prio = 0 if (match(line, /Tmux/)) prio = 1 - if (match(line, /Browser/) && !match(line, /Browser[[:space:]]*\(/) && !match(line, /SUPER SHIFT.*\+.*B.*→.*Browser/)) prio = 2 - if (match(line, /File manager/) && !match(line, /File manager \(cwd\)/)) prio = 3 - if (match(line, /Launch apps/)) prio = 4 - if (match(line, /Omarchy menu/)) prio = 5 - if (match(line, /System menu/)) prio = 6 - if (match(line, /Theme menu/)) prio = 7 - if (match(line, /Full screen/)) prio = 8 - if (match(line, /Full width/)) prio = 9 - if (match(line, /Close window/)) prio = 10 - if (match(line, /Close all windows/)) prio = 11 - if (match(line, /Lock system/)) prio = 12 - if (match(line, /Toggle window floating/)) prio = 13 - if (match(line, /Toggle window split/)) prio = 14 - if (match(line, /Pop window/)) prio = 15 - if (match(line, /Universal/)) prio = 16 - if (match(line, /Clipboard/)) prio = 17 - if (match(line, /Audio controls/)) prio = 18 - if (match(line, /Bluetooth controls/)) prio = 19 - if (match(line, /Wifi controls/)) prio = 20 - if (match(line, /Emojis/)) prio = 21 - if (match(line, /Color picker/)) prio = 22 - if (match(line, /Screenshot/)) prio = 23 - if (match(line, /Screenrecording/)) prio = 24 - if (match(line, /SUPER SHIFT.*\+.*B.*→.*Browser/)) prio = 25 - if (match(line, /File manager \(cwd\)/)) prio = 26 - if (match(line, /(Switch|Next|Former|Previous).*workspace/)) prio = 27 - if (match(line, /Move window to workspace/)) prio = 28 - if (match(line, /Move window silently to workspace/)) prio = 29 - if (match(line, /Swap window/)) prio = 30 - if (match(line, /Focus/)) prio = 31 - if (match(line, /Move window$/)) prio = 32 - if (match(line, /Resize window/)) prio = 33 - if (match(line, /Expand window/)) prio = 34 - if (match(line, /Shrink window/)) prio = 35 - if (match(line, /scratchpad/)) prio = 36 - if (match(line, /notification/)) prio = 37 - if (match(line, /Toggle window transparency/)) prio = 38 - if (match(line, /Toggle workspace gaps/)) prio = 39 - if (match(line, /Toggle nightlight/)) prio = 40 - if (match(line, /Toggle locking/)) prio = 41 + if (match(line, /Herdr/)) prio = 2 + if (match(line, /Browser/) && !match(line, /Browser[[:space:]]*\(/) && !match(line, /SUPER SHIFT.*\+.*B.*→.*Browser/)) prio = 3 + if (match(line, /File manager/) && !match(line, /File manager \(cwd\)/)) prio = 4 + if (match(line, /Launch apps/)) prio = 5 + if (match(line, /Omarchy menu/)) prio = 6 + if (match(line, /System menu/)) prio = 7 + if (match(line, /Theme menu/)) prio = 8 + if (match(line, /Full screen/)) prio = 9 + if (match(line, /Full width/)) prio = 10 + if (match(line, /Close window/)) prio = 11 + if (match(line, /Close all windows/)) prio = 12 + if (match(line, /Lock system/)) prio = 13 + if (match(line, /Toggle window floating/)) prio = 14 + if (match(line, /Toggle window split/)) prio = 15 + if (match(line, /Pop window/)) prio = 16 + if (match(line, /Universal/)) prio = 17 + if (match(line, /Clipboard/)) prio = 18 + if (match(line, /Audio controls/)) prio = 19 + if (match(line, /Bluetooth controls/)) prio = 20 + if (match(line, /Wifi controls/)) prio = 21 + if (match(line, /Emojis/)) prio = 22 + if (match(line, /Color picker/)) prio = 23 + if (match(line, /Screenshot/)) prio = 24 + if (match(line, /Screenrecording/)) prio = 25 + if (match(line, /SUPER SHIFT.*\+.*B.*→.*Browser/)) prio = 26 + if (match(line, /File manager \(cwd\)/)) prio = 27 + if (match(line, /(Switch|Next|Former|Previous).*workspace/)) prio = 28 + if (match(line, /Move window to workspace/)) prio = 29 + if (match(line, /Move window silently to workspace/)) prio = 30 + if (match(line, /Swap window/)) prio = 31 + if (match(line, /Focus/)) prio = 32 + if (match(line, /Move window$/)) prio = 33 + if (match(line, /Resize window/)) prio = 34 + if (match(line, /Expand window/)) prio = 35 + if (match(line, /Shrink window/)) prio = 36 + if (match(line, /scratchpad/)) prio = 37 + if (match(line, /notification/)) prio = 38 + if (match(line, /Toggle window transparency/)) prio = 39 + if (match(line, /Toggle workspace gaps/)) prio = 40 + if (match(line, /Toggle nightlight/)) prio = 41 + if (match(line, /Toggle locking/)) prio = 42 if (match(line, /group/)) prio = 94 if (match(line, /Scroll active workspace/)) prio = 95 if (match(line, /Cycle to/)) prio = 96 @@ -425,6 +426,7 @@ prioritize_entries() { if (match(line, /Apple Display/)) prio = 98 if (match(line, /XF86/)) prio = 99 if (match(line, /Show Tmux key ?bindings/)) prio = 100 + if (match(line, /Show Herdr key ?bindings/)) prio = 101 # print "priorityrecord" printf "%d\t%s\n", prio, $0 @@ -455,7 +457,7 @@ output_binding_records_uncached() { keybindings_cache_key() { { - printf 'v8\n' + printf 'v9\n' hyprctl devices 2>/dev/null | grep -F 'active keymap:' hyprctl binds 2>/dev/null } | sha256sum | awk '{ print $1 }'