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
import XMonad.Actions.CopyWindow import XMonad.Actions.CopyWindow
import XMonad.Actions.Navigation2D
import XMonad.Actions.Submap import XMonad.Actions.Submap
import XMonad.Actions.SwapWorkspaces import XMonad.Actions.SwapWorkspaces
import XMonad.Actions.Warp import XMonad.Actions.Warp
@ -48,6 +49,7 @@ main =
$ withSB xmobarConfig . docks $ withSB xmobarConfig . docks
$ setEwmhActivateHook myActivateHook $ setEwmhActivateHook myActivateHook
$ ewmhFullscreen . ewmh $ ewmhFullscreen . ewmh
$ withNavigation2DConfig def
$ def $ def
{ modMask = superMask { modMask = superMask
, borderWidth = 5 , borderWidth = 5
@ -299,6 +301,21 @@ keybinds =
, ((0, xK_l), withFocused $ windows . flip W.float centeredFloat) , ((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. -- We override default focus shifting bindings to warp the cursor to the center of the new window.