]> code.delx.au - dotfiles/blobdiff - .xmonad/xmonad.hs
xmonad: use mapM to avoid duplicate xmobar lines
[dotfiles] / .xmonad / xmonad.hs
index 755447f2b663b1731d00ceff4a6dee04743d4f2c..0f93fae5c59e389a7d569dd1e98c363a03ceee14 100644 (file)
@@ -106,12 +106,11 @@ myPP = xmobarPP
         ppTitle = xmobarColor "#10A010" ""
     }
 
-myLogHook h1 h2 =
-    dynamicLogWithPP myPP { ppOutput = hPutStrLn h1 } >>
-    dynamicLogWithPP myPP { ppOutput = hPutStrLn h2 } >>
+myLogHook hooks = do
+    mapM (\h -> dynamicLogWithPP myPP { ppOutput = hPutStrLn h }) hooks
     takeTopFocus -- fix for Java Swing apps
 
-myStartupHook =
+myStartupHook = do
     setWMName "LG3D" -- fix for Java Swing apps
 
 
@@ -193,13 +192,12 @@ myLayout =
 
 main = do
     xmonadDir <- getXMonadDir
-    xmobar <- spawnPipe ("xmobar " ++ xmonadDir ++ "/xmobar.hs")
-    xmobar2 <- spawnPipe ("xmobar -x 1 " ++ xmonadDir ++ "/xmobar.hs")
+    xmobars <- mapM (\x -> spawnPipe ("xmobar -x " ++ (show x) ++ " " ++ xmonadDir ++ "/xmobar.hs")) [1, 2]
     xmonad $ ewmh defaultConfig {
         manageHook = myManageHook,
         layoutHook = myLayout,
         workspaces = myWorkspaces,
-        logHook = myLogHook xmobar xmobar2,
+        logHook = myLogHook xmobars,
         startupHook = myStartupHook,
         keys = myKeys,
         handleEventHook = handleEventHook defaultConfig <+> fullscreenEventHook,