From ae5a1f3553560a3964147f3d24c1fc0b3e50cc59 Mon Sep 17 00:00:00 2001 From: ndwarshuis Date: Thu, 26 Mar 2020 21:41:56 -0400 Subject: [PATCH] ADD workspace cycling --- bin/xmonad.hs | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/bin/xmonad.hs b/bin/xmonad.hs index 57e45c9..38a3030 100644 --- a/bin/xmonad.hs +++ b/bin/xmonad.hs @@ -574,18 +574,26 @@ mkKeys hs client c = mkNamedSubmap c "Workspaces" -- ASSUME standard workspaces only use numbers 0-9 (otherwise we won't get -- valid keysyms) - [ (mods ++ n, msg ++ n, windows $ f n) | n <- myWorkspaces - , (mods, msg, f) <- [ ("M-", "switch to workspace ", W.view) - , ("M-S-", "move client to workspace ", W.shift)] - ] ++ + ([ (mods ++ n, msg ++ n, f n) | n <- myWorkspaces + , (mods, msg, f) <- + [ ("M-", "switch to workspace ", windows . W.view) + , ("M-S-", "move client to workspace ", windows . W.shift) + , ("M-C-", "follow client to workspace ", \n' -> do + windows $ W.shift n' + windows $ W.view n') + ] + ] ++ + [ ("M-M1-l", "move up workspace", moveTo Next HiddenNonEmptyWS) + , ("M-M1-h", "move down workspace", moveTo Prev HiddenNonEmptyWS) + ]) ++ mkNamedSubmap c "Screens" [ ("M-l", "move up screen", nextScreen) , ("M-h", "move down screen", prevScreen) - , ("M-C-l", "move client up screen", shiftNextScreen >> nextScreen) - , ("M-C-h", "move client down screen", shiftPrevScreen >> prevScreen) - , ("M-S-l", "shift up screen", swapNextScreen >> nextScreen) - , ("M-S-h", "shift down screen", swapPrevScreen >> prevScreen) + , ("M-C-l", "follow client up screen", shiftNextScreen >> nextScreen) + , ("M-C-h", "follow client down screen", shiftPrevScreen >> prevScreen) + , ("M-S-l", "shift workspace up screen", swapNextScreen >> nextScreen) + , ("M-S-h", "shift workspace down screen", swapPrevScreen >> prevScreen) ] ++ mkNamedSubmap c "Actions"