From e0589c149151d3b5f269312f46a04cf77bae41b5 Mon Sep 17 00:00:00 2001 From: ndwarshuis Date: Thu, 13 Feb 2020 23:45:26 -0500 Subject: [PATCH] ENH update workspace indicator for multiple screens --- xmonad.hs | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/xmonad.hs b/xmonad.hs index 39483cd..e5e7196 100644 --- a/xmonad.hs +++ b/xmonad.hs @@ -32,6 +32,7 @@ import XMonad.Prompt.ConfirmPrompt import XMonad.Util.EZConfig import XMonad.Util.NamedActions import XMonad.Util.Run +import XMonad.Util.WorkspaceCompare import qualified XMonad.StackSet as W @@ -48,10 +49,7 @@ main = do , handleEventHook = docksEventHook <+> handleEventHook def , startupHook = docksStartupHook <+> startupHook def , workspaces = myWorkspaces - , logHook = dynamicLogWithPP $ - def { ppOutput = hPutStrLn h - , ppTitle = const "" - , ppLayout = const "" } + , logHook = myLoghook h } -- Start xmonad using the main desktop configuration with a few @@ -71,13 +69,23 @@ main = do -------------------------------------------------------------------------------- -myWorkspaces = map show [0..9 :: Int] ++ ["VM"] +myWorkspaces = map show [1..10 :: Int] ++ ["VM"] -- this isn't perfect for Virtualbox because the border seems to be -- required for hover-focus the controls bar at the top myLayouts = onWorkspace "VM" (lessBorders OnlyScreenFloat Full) $ (avoidStruts $ layoutHook def) +-- TODO hack dynamicLogXinerama and sort the screen by its xrandr +-- position (Graphics.X11.Xrandr?) +myLoghook h = dynamicLogWithPP $ + def { ppOutput = hPutStrLn h + , ppCurrent = wrap "<" ">" + , ppVisible = wrap "[" "]" + , ppTitle = const "" + , ppSep = " | " + , ppSort = getSortByXineramaRule } + -------------------------------------------------------------------------------- -- | Customize the way 'XMonad.Prompt' looks and behaves. It's a -- great replacement for dzen.