mirror of
https://github.com/basecamp/omarchy.git
synced 2026-02-17 15:25:37 +00:00
* feat: silently move active window to target workspace Adds a quality-of-life keybind: SUPER + ALT + SHIFT + [1-9, 0] This silently moves the active window from the active workspace to the chosen destination workspace. The destination workspace re-tiles correctly upon receiving the window. The currently active workspace remains active, and the moved window retains focus throughout the operation (no workspace switch, no animation, no extra UI noise). Why: - Provides fast, silent window reshuffling during multitasking. - Avoids disruptive workspace switching. - Matches Omarchy’s focus on efficient Hyprland ergonomics. - Keeps the user anchored to their current workflow while reorganizing. Testing: 1. Open multiple windows across several workspaces. 2. Focus a window on the active workspace. 3. Press SUPER + ALT + [1–9, 0]. 4. Verify the window appears on the target workspace and re-tiles. 5. Confirm the **source workspace stays active**. 6. Confirm **focus remains on the moved window**. 7. Repeat with multiple applications and workspace combinations. * We've frozen this old tiling config * Put on Super + Shift + Alt This is an alternative version of an existing move * Fix description --------- Co-authored-by: David Heinemeier Hansson <david@hey.com>
123 lines
6.6 KiB
Plaintext
123 lines
6.6 KiB
Plaintext
# Close windows
|
|
bindd = SUPER, W, Close window, killactive,
|
|
bindd = CTRL ALT, DELETE, Close all windows, exec, omarchy-hyprland-window-close-all
|
|
|
|
# Control tiling
|
|
bindd = SUPER, J, Toggle window split, togglesplit, # dwindle
|
|
bindd = SUPER, P, Pseudo window, pseudo, # dwindle
|
|
bindd = SUPER, T, Toggle window floating/tiling, togglefloating,
|
|
bindd = SUPER, F, Full screen, fullscreen, 0
|
|
bindd = SUPER CTRL, F, Tiled full screen, fullscreenstate, 0 2
|
|
bindd = SUPER ALT, F, Full width, fullscreen, 1
|
|
bindd = SUPER, O, Pop window out (float & pin), exec, omarchy-hyprland-window-pop
|
|
|
|
# Move focus with SUPER + arrow keys
|
|
bindd = SUPER, LEFT, Move window focus left, movefocus, l
|
|
bindd = SUPER, RIGHT, Move window focus right, movefocus, r
|
|
bindd = SUPER, UP, Move window focus up, movefocus, u
|
|
bindd = SUPER, DOWN, Move window focus down, movefocus, d
|
|
|
|
# Switch workspaces with SUPER + [1-9; 0]
|
|
bindd = SUPER, code:10, Switch to workspace 1, workspace, 1
|
|
bindd = SUPER, code:11, Switch to workspace 2, workspace, 2
|
|
bindd = SUPER, code:12, Switch to workspace 3, workspace, 3
|
|
bindd = SUPER, code:13, Switch to workspace 4, workspace, 4
|
|
bindd = SUPER, code:14, Switch to workspace 5, workspace, 5
|
|
bindd = SUPER, code:15, Switch to workspace 6, workspace, 6
|
|
bindd = SUPER, code:16, Switch to workspace 7, workspace, 7
|
|
bindd = SUPER, code:17, Switch to workspace 8, workspace, 8
|
|
bindd = SUPER, code:18, Switch to workspace 9, workspace, 9
|
|
bindd = SUPER, code:19, Switch to workspace 10, workspace, 10
|
|
|
|
# Move active window to a workspace with SUPER + SHIFT + [1-9; 0]
|
|
bindd = SUPER SHIFT, code:10, Move window to workspace 1, movetoworkspace, 1
|
|
bindd = SUPER SHIFT, code:11, Move window to workspace 2, movetoworkspace, 2
|
|
bindd = SUPER SHIFT, code:12, Move window to workspace 3, movetoworkspace, 3
|
|
bindd = SUPER SHIFT, code:13, Move window to workspace 4, movetoworkspace, 4
|
|
bindd = SUPER SHIFT, code:14, Move window to workspace 5, movetoworkspace, 5
|
|
bindd = SUPER SHIFT, code:15, Move window to workspace 6, movetoworkspace, 6
|
|
bindd = SUPER SHIFT, code:16, Move window to workspace 7, movetoworkspace, 7
|
|
bindd = SUPER SHIFT, code:17, Move window to workspace 8, movetoworkspace, 8
|
|
bindd = SUPER SHIFT, code:18, Move window to workspace 9, movetoworkspace, 9
|
|
bindd = SUPER SHIFT, code:19, Move window to workspace 10, movetoworkspace, 10
|
|
|
|
# Move active window silently to a workspace with SUPER + SHIFT + ALT + [1-9; 0]
|
|
bindd = SUPER SHIFT ALT, code:10, Move window silently to workspace 1, movetoworkspacesilent, 1
|
|
bindd = SUPER SHIFT ALT, code:11, Move window silently to workspace 2, movetoworkspacesilent, 2
|
|
bindd = SUPER SHIFT ALT, code:12, Move window silently to workspace 3, movetoworkspacesilent, 3
|
|
bindd = SUPER SHIFT ALT, code:13, Move window silently to workspace 4, movetoworkspacesilent, 4
|
|
bindd = SUPER SHIFT ALT, code:14, Move window silently to workspace 5, movetoworkspacesilent, 5
|
|
bindd = SUPER SHIFT ALT, code:15, Move window silently to workspace 6, movetoworkspacesilent, 6
|
|
bindd = SUPER SHIFT ALT, code:16, Move window silently to workspace 7, movetoworkspacesilent, 7
|
|
bindd = SUPER SHIFT ALT, code:17, Move window silently to workspace 8, movetoworkspacesilent, 8
|
|
bindd = SUPER SHIFT ALT, code:18, Move window silently to workspace 9, movetoworkspacesilent, 9
|
|
bindd = SUPER SHIFT ALT, code:19, Move window silently to workspace 10, movetoworkspacesilent, 10
|
|
|
|
# Control scratchpad
|
|
bindd = SUPER, S, Toggle scratchpad, togglespecialworkspace, scratchpad
|
|
bindd = SUPER ALT, S, Move window to scratchpad, movetoworkspacesilent, special:scratchpad
|
|
|
|
# TAB between workspaces
|
|
bindd = SUPER, TAB, Next workspace, workspace, e+1
|
|
bindd = SUPER SHIFT, TAB, Previous workspace, workspace, e-1
|
|
bindd = SUPER CTRL, TAB, Former workspace, workspace, previous
|
|
|
|
# Move workspaces to other monitors
|
|
bindd = SUPER SHIFT ALT, LEFT, Move workspace to left monitor, movecurrentworkspacetomonitor, l
|
|
bindd = SUPER SHIFT ALT, RIGHT, Move workspace to right monitor, movecurrentworkspacetomonitor, r
|
|
|
|
# Swap active window with the one next to it with SUPER + SHIFT + arrow keys
|
|
bindd = SUPER SHIFT, LEFT, Swap window to the left, swapwindow, l
|
|
bindd = SUPER SHIFT, RIGHT, Swap window to the right, swapwindow, r
|
|
bindd = SUPER SHIFT, UP, Swap window up, swapwindow, u
|
|
bindd = SUPER SHIFT, DOWN, Swap window down, swapwindow, d
|
|
|
|
# Cycle through applications on active workspace
|
|
bindd = ALT, TAB, Cycle to next window, cyclenext
|
|
bindd = ALT SHIFT, TAB, Cycle to prev window, cyclenext, prev
|
|
bindd = ALT, TAB, Reveal active window on top, bringactivetotop
|
|
bindd = ALT SHIFT, TAB, Reveal active window on top, bringactivetotop
|
|
|
|
# Resize active window
|
|
bindd = SUPER, code:20, Expand window left, resizeactive, -100 0 # - key
|
|
bindd = SUPER, code:21, Shrink window left, resizeactive, 100 0 # = key
|
|
bindd = SUPER SHIFT, code:20, Shrink window up, resizeactive, 0 -100
|
|
bindd = SUPER SHIFT, code:21, Expand window down, resizeactive, 0 100
|
|
|
|
# Scroll through existing workspaces with SUPER + scroll
|
|
bindd = SUPER, mouse_down, Scroll active workspace forward, workspace, e+1
|
|
bindd = SUPER, mouse_up, Scroll active workspace backward, workspace, e-1
|
|
|
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
|
bindmd = SUPER, mouse:272, Move window, movewindow
|
|
bindmd = SUPER, mouse:273, Resize window, resizewindow
|
|
|
|
# Toggle groups
|
|
bindd = SUPER, G, Toggle window grouping, togglegroup
|
|
bindd = SUPER ALT, G, Move active window out of group, moveoutofgroup
|
|
|
|
# Join groups
|
|
bindd = SUPER ALT, LEFT, Move window to group on left, moveintogroup, l
|
|
bindd = SUPER ALT, RIGHT, Move window to group on right, moveintogroup, r
|
|
bindd = SUPER ALT, UP, Move window to group on top, moveintogroup, u
|
|
bindd = SUPER ALT, DOWN, Move window to group on bottom, moveintogroup, d
|
|
|
|
# Navigate a single set of grouped windows
|
|
bindd = SUPER ALT, TAB, Next window in group, changegroupactive, f
|
|
bindd = SUPER ALT SHIFT, TAB, Previous window in group, changegroupactive, b
|
|
|
|
# Overload lateral window navigation for grouped windows
|
|
bindd = SUPER ALT, LEFT, Move grouped window focus left, changegroupactive, b
|
|
bindd = SUPER ALT, RIGHT, Move grouped window focus right, changegroupactive, f
|
|
|
|
# Scroll through a set of grouped windows with SUPER + ALT + scroll
|
|
bindd = SUPER ALT, mouse_down, Next window in group, changegroupactive, f
|
|
bindd = SUPER ALT, mouse_up, Previous window in group, changegroupactive, b
|
|
|
|
# Activate window in a group by number
|
|
bindd = SUPER ALT, code:10, Switch to group window 1, changegroupactive, 1
|
|
bindd = SUPER ALT, code:11, Switch to group window 2, changegroupactive, 2
|
|
bindd = SUPER ALT, code:12, Switch to group window 3, changegroupactive, 3
|
|
bindd = SUPER ALT, code:13, Switch to group window 4, changegroupactive, 4
|
|
bindd = SUPER ALT, code:14, Switch to group window 5, changegroupactive, 5
|