summaryrefslogtreecommitdiff
path: root/xmonad.hs
diff options
context:
space:
mode:
Diffstat (limited to 'xmonad.hs')
-rw-r--r--xmonad.hs41
1 files changed, 28 insertions, 13 deletions
diff --git a/xmonad.hs b/xmonad.hs
index 483744b..e566f37 100644
--- a/xmonad.hs
+++ b/xmonad.hs
@@ -4,6 +4,7 @@ import XMonad.Actions.CycleWS
import XMonad.Hooks.EwmhDesktops
import XMonad.Hooks.StatusBar
import XMonad.Hooks.StatusBar.PP
+import XMonad.Layout.IndependentScreens
import XMonad.Layout.Renamed
import XMonad.Layout.Spacing
import XMonad.Prompt
@@ -20,7 +21,8 @@ grey2 = "#b8b8b8"
grey3 = "#f8f8f8"
main :: IO ()
-main =
+main = do
+ nScreens <- countScreens
xmonad
. ewmhFullscreen
. ewmh
@@ -28,15 +30,18 @@ main =
( statusBarProp
"xmobar"
( pure
- def
- { ppSep = ""
- , ppWsSep = ""
- , ppHiddenNoWindows = xmobarColor grey2 grey0 . pad
- , ppCurrent = xmobarColor grey3 primary . pad
- , ppHidden = xmobarBorder "Top" primary 2 . xmobarColor grey2 grey0 . pad
- , ppTitle = const ""
- , ppLayout = xmobarColor grey2 grey0 . pad
- }
+ ( marshallPP
+ (S 0)
+ def
+ { ppSep = ""
+ , ppWsSep = ""
+ , ppHiddenNoWindows = xmobarColor grey2 grey0 . pad
+ , ppCurrent = xmobarColor grey3 primary . pad
+ , ppHidden = xmobarBorder "Top" primary 2 . xmobarColor grey2 grey0 . pad
+ , ppTitle = const ""
+ , ppLayout = xmobarColor grey2 grey0 . pad
+ }
+ )
)
)
defToggleStrutsKey
@@ -55,6 +60,7 @@ main =
}
in def
{ borderWidth = 2
+ , workspaces = [marshall s vw | vw <- (map show [1 .. 9]), s <- [0 .. nScreens]]
, layoutHook =
renamed
[Replace "[]="]
@@ -80,14 +86,23 @@ main =
, ("M-l", sendMessage Expand)
, ("M-m", sendMessage $ JumpToLayout "[M]")
, ("M-t", sendMessage $ JumpToLayout "[]=")
- , ("M-<Tab>", toggleWS)
+ ,
+ ( "M-<Tab>"
+ , gets (W.screen . W.current . windowset)
+ >>= \currentScreen ->
+ toggleWS'
+ [ marshall s vw
+ | vw <- (map show [1 .. 9])
+ , s <- [x | x <- [0 .. nScreens], x /= currentScreen]
+ ]
+ )
, ("M-S-<Return>", windows W.swapMaster)
, ("M-S-<Space>", withFocused $ windows . W.sink)
]
++ concatMap
( \n ->
- [ ("M-" ++ n, windows $ W.greedyView n)
- , ("M-S-" ++ n, windows $ W.shift n)
+ [ ("M-" ++ n, windows $ onCurrentScreen W.greedyView n)
+ , ("M-S-" ++ n, windows $ onCurrentScreen W.shift n)
]
)
(map show [1 .. 9])