From f67cddfe876607c0ce48ed7b5ac46efd49a37c8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9ana=20=E6=B1=9F?= Date: Mon, 15 Dec 2025 21:48:39 +0800 Subject: [PATCH] vanadium/xmonad: vim style 2D movements --- .../vanadium/home/xmonad/xmonad.hs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/nix/configurations/vanadium/home/xmonad/xmonad.hs b/nix/configurations/vanadium/home/xmonad/xmonad.hs index 415a0fc1..e901bf6a 100644 --- a/nix/configurations/vanadium/home/xmonad/xmonad.hs +++ b/nix/configurations/vanadium/home/xmonad/xmonad.hs @@ -3,6 +3,7 @@ import XMonad import XMonad.Actions.CopyWindow +import XMonad.Actions.Navigation2D import XMonad.Actions.Submap import XMonad.Actions.SwapWorkspaces import XMonad.Actions.Warp @@ -48,6 +49,7 @@ main = $ withSB xmobarConfig . docks $ setEwmhActivateHook myActivateHook $ ewmhFullscreen . ewmh + $ withNavigation2DConfig def $ def { modMask = superMask , borderWidth = 5 @@ -299,6 +301,21 @@ keybinds = , ((0, xK_l), withFocused $ windows . flip W.float centeredFloat) ] ) + + -- Switch between layers + , ((altMask, xK_s), switchLayer ) + + -- Directional navigation of windows + , ((altMask, xK_l), windowGo R False ) + , ((altMask, xK_h), windowGo L False ) + , ((altMask, xK_k), windowGo U False ) + , ((altMask, xK_j), windowGo D False ) + + -- Swap adjacent windows + , ((altMask .|. superMask, xK_l), windowSwap R False) + , ((altMask .|. superMask, xK_h), windowSwap L False) + , ((altMask .|. superMask, xK_k), windowSwap U False) + , ((altMask .|. superMask, xK_j), windowSwap D False) ] -- We override default focus shifting bindings to warp the cursor to the center of the new window.