[xmonad] ppVisible with 3 screens

Juraj Hercek juhe_xmonad at hck.sk
Sun Oct 3 08:44:06 EDT 2010


Hi Felix,

On 09/30/2010 01:29 PM, Felix Blanke wrote:
> ...
> I was using 2 screens with xmonad and xmobar.
>
> The settings
>
> ppCurrent = xmobarColor "#CC0000" "" . wrap "[" "]"
> , ppVisible = xmobarColor "#EE9A00" "" . wrap "[" "]"
> , ppTitle =  shorten 80
> , ppSep =  "<fc=#AFAF87>  |</fc>"
> , ppHiddenNoWindows = xmobarColor "#AFAF87" ""
> , ppUrgent = xmobarColor "#EE9A00" "" . wrap "[" "]"
>
> worked good for 2 screens: The active workspace is red and the inactive is orange.
>
> But now, with 3 screens, there are 2 inactive workspaces and they both are orange. Is
> there a way to say:
>
> inactive on screen 0 = blue
> inactive on screen 1 = ornage
> inactive on screen 3 = green
>
> or something similar.
 > ...

I'm not sure if the thing you want to achieve is (easily) possible with 
current implementation. But maybe you want to use better sorting 
algorithm, more suitable for configurations with more than 2 workspaces. 
This is how my PP looks like (the ppSort line is most interesting to you):

---8<---
myPP :: PP
myPP = defaultPP { ppOutput  = putStrLn
                  , ppCurrent = color "yellow" ""
                  , ppVisible = color "lightblue ""
                  , ppUrgent  = color "red" ""
                  , ppSort    = getSortByXineramaRule
                  } where color = xmobarColor
--->8---

Cheers,
Juraj


More information about the xmonad mailing list