From 1609fd74ed3623867e0d40c9ffe9201e336d3238 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 24 Feb 2026 07:46:15 -0500 Subject: [PATCH] Add Tmux keybinding on Super + Alt + Return --- bin/omarchy-menu-keybindings | 79 +++++++++++++++++++----------------- config/hypr/bindings.conf | 2 +- migrations/1771847961.sh | 7 ++++ 3 files changed, 49 insertions(+), 39 deletions(-) create mode 100644 migrations/1771847961.sh diff --git a/bin/omarchy-menu-keybindings b/bin/omarchy-menu-keybindings index ab7e92fe..dd6f97b2 100755 --- a/bin/omarchy-menu-keybindings +++ b/bin/omarchy-menu-keybindings @@ -168,44 +168,47 @@ prioritize_entries() { line = $0 prio = 50 if (match(line, /Terminal/)) prio = 0 - if (match(line, /Browser/) && !match(line, /Browser[[:space:]]*\(/)) prio = 1 - if (match(line, /File manager/)) prio = 2 - if (match(line, /Launch apps/)) prio = 3 - if (match(line, /Omarchy menu/)) prio = 4 - if (match(line, /System menu/)) prio = 5 - if (match(line, /Theme menu/)) prio = 6 - if (match(line, /Full screen/)) prio = 7 - if (match(line, /Full width/)) prio = 8 - if (match(line, /Close window/)) prio = 9 - if (match(line, /Close all windows/)) prio = 10 - if (match(line, /Lock system/)) prio = 11 - if (match(line, /Toggle window floating/)) prio = 12 - if (match(line, /Toggle window split/)) prio = 13 - if (match(line, /Pop window/)) prio = 14 - if (match(line, /Universal/)) prio = 15 - if (match(line, /Clipboard/)) prio = 16 - if (match(line, /Audio controls/)) prio = 17 - if (match(line, /Bluetooth controls/)) prio = 18 - if (match(line, /Wifi controls/)) prio = 19 - if (match(line, /Emoji picker/)) prio = 20 - if (match(line, /Color picker/)) prio = 21 - if (match(line, /Screenshot/)) prio = 22 - if (match(line, /Screenrecording/)) prio = 23 - if (match(line, /(Switch|Next|Former|Previous).*workspace/)) prio = 24 - if (match(line, /Move window to workspace/)) prio = 25 - if (match(line, /Move window silently to workspace/)) prio = 26 - if (match(line, /Swap window/)) prio = 27 - if (match(line, /Move window focus/)) prio = 28 - if (match(line, /Move window$/)) prio = 29 - if (match(line, /Resize window/)) prio = 30 - if (match(line, /Expand window/)) prio = 31 - if (match(line, /Shrink window/)) prio = 32 - if (match(line, /scratchpad/)) prio = 33 - if (match(line, /notification/)) prio = 34 - if (match(line, /Toggle window transparency/)) prio = 35 - if (match(line, /Toggle workspace gaps/)) prio = 36 - if (match(line, /Toggle nightlight/)) prio = 37 - if (match(line, /Toggle locking/)) prio = 38 + 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, /Emoji picker/)) 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, /Move window 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, /group/)) prio = 94 if (match(line, /Scroll active workspace/)) prio = 95 if (match(line, /Cycle to/)) prio = 96 diff --git a/config/hypr/bindings.conf b/config/hypr/bindings.conf index 9af5a3b2..34e4a786 100644 --- a/config/hypr/bindings.conf +++ b/config/hypr/bindings.conf @@ -1,6 +1,6 @@ # Application bindings bindd = SUPER, RETURN, Terminal, exec, uwsm-app -- xdg-terminal-exec --dir="$(omarchy-cmd-terminal-cwd)" -bindd = SUPER SHIFT, RETURN, Browser, exec, omarchy-launch-browser +bindd = SUPER ALT, RETURN, Tmux, exec, uwsm-app -- xdg-terminal-exec --dir="$(omarchy-cmd-terminal-cwd)" tmux bindd = SUPER SHIFT, F, File manager, exec, uwsm-app -- nautilus --new-window bindd = SUPER ALT SHIFT, F, File manager (cwd), exec, uwsm-app -- nautilus --new-window "$(omarchy-cmd-terminal-cwd)" bindd = SUPER SHIFT, B, Browser, exec, omarchy-launch-browser diff --git a/migrations/1771847961.sh b/migrations/1771847961.sh new file mode 100644 index 00000000..2d54c8ae --- /dev/null +++ b/migrations/1771847961.sh @@ -0,0 +1,7 @@ +echo "Add Tmux binding (Super+Alt+Return) to hypr/bindings.conf" + +bindings_file="$HOME/.config/hypr/bindings.conf" + +if [[ -f $bindings_file ]] && ! grep -qE '^bindd?\s*=\s*SUPER\s+ALT\s*,\s*RETURN' "$bindings_file"; then + sed -i '1a bindd = SUPER ALT, RETURN, Tmux, exec, uwsm-app -- xdg-terminal-exec --dir="$(omarchy-cmd-terminal-cwd)" tmux' "$bindings_file" +fi