vanadium/xmonad: vim style 2D movements

This commit is contained in:
Primrose 2025-12-15 21:48:39 +08:00
parent bf09e7c07d
commit f67cddfe87
Signed by: primrose
GPG key ID: 4E887A4CA9714ADA

View file

@ -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.