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.