[xmonad] Which GTK-Engine do you use (if any)
Александър Л. Димитров
aleks_d at gmx.de
Mon Aug 25 06:24:42 EDT 2008
Hi Jeremy,
> > http://omploader.org/vcDZn
>
> Your workspaces look very interesting to say the least. Would you mind
> explaining your philosophy for them? Also, I like the different colors
> for each.
Well, I'm using the DynamicWorkspaces extension to be able to add workspaces in
a manner similar to wmii. Those 'dynamically' added WSes usually don't get a
color and just take the default, though it would not be an issue to provide them
with one. I just happen to have run out of attractive colors…
Workspaces are strictly 'semantic', meaning I'm using one workspace for one
task. I think that's used a lot in the tiling WM crowd. The names should be
mostly self-explanatory, except 'comm' being an abbreviation for
'communication', hosting my IRC sessions and mail (and news, but I rarely use it
these days).
About the colors: that's a nice little hack based on a Data.Map that associates
workspace names with colors. I thank shepheb of #xmonad for helping me working
this out. Here's what I ended up doing:
> wsCode = "code"
> wsWeb = "web"
> wsCode'= "code'"
> wsMail = "comm"
> wsDoc = "doc"
> wsWork = "work"
> wsWrite= "write"
> wsTest = "test"
> wsMisc = "misc"
> wsLog = "logs"
> wsRead = "read"
>
> -- Workspace colors map
> wsCols :: M.Map WorkspaceId [Char]
> wsCols = M.fromList $
> [ (wsCode, "#aaccee")
> , (wsWeb, "#eebbaa")
> , (wsCode', "#aa99ee")
> , (wsMail, "#bb99aa")
> , (wsDoc, "#bbdd99")
> , (wsWork, "#edcd88")
> , (wsTest, "#ee8844")
> , (wsMisc, "grey90")
> , (wsLog, "#ee9988")
> , (wsWrite, "#aaeebb")
> , (wsRead, "#888888") ]
>
> -- Workspaces, in the order xmonad knows them
> myWorkspaces = [ wsCode , wsCode' , wsMail , wsWeb , wsDoc , wsTest
> , wsWrite , wsRead , wsWork , wsLog , wsMisc ]
>
> -- Graphical setup
> myBgColor = "#0a0c0f"
> myFgColor = "#aacccc"
> myBgColor' = "'" ++ myBgColor ++ "'" -- quote-escaped for dzen2
> myFgColor' = "'" ++ myFgColor ++ "'" -- quote-escaped for dzen2
> myFont = "'-*-terminus-*-r-normal-*-*-120-*-*-*-*-iso8859-*'"
> myNormalBorderColor = myBgColor
> myFocusedBorderColor = myFgColor
> myBitmapsDir = "/home/aleks/etc/dzen2"
> myHighlightFG = "#eeeeee"
> myHighlightBG = "#3a5a5a"
>
> myPP h = defaultPP
> { ppCurrent = wrap ("^bg(" ++ myHighlightBG ++ ") ^fg("++ myHighlightFG ++")") (" ^bg()")
> , ppHidden = (\wsName -> dzenColor (
> case (M.lookup wsName wsCols) of
> Nothing -> myFocusedBorderColor
> Just color -> color)
> "" wsName)
> , ppLayout = (\lName -> "^bg()^fg()" ++ case lName of
> "Tall" -> " ^i(" ++ myBitmapsDir ++ "/tall.xbm) "
> "Mirror Tall" -> " ^i(" ++ myBitmapsDir ++ "/mirrortall.xbm) "
> "Full" -> " ^i(" ++ myBitmapsDir ++ "/full.xbm) "
> "Dishes 2 (1%6)" -> " ^i(" ++ myBitmapsDir ++ "/dishes.xbm) "
> "Mirror Dishes 2 (1%6)" -> " ^i(" ++ myBitmapsDir ++ "/dishes_mirrored.xbm) "
> otherwise -> lName)
> , ppSep = " "
> , ppTitle = dzenColor myHighlightFG myHighlightBG . wrap " " "^bg(black)" . staticString 100
> , ppOutput = hPutStrLn h
> -- , ppExtras = logLoad : L.date ("^pa(1250)^bg() %a, %b %d ^fg(white)%H:%M^fg()") : []
> }
I also had the idea of using the foreground color for the WSes as a background
color when they are selected, but I found that to be too distracting.
Best,
Aleks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
Url : http://www.haskell.org/pipermail/xmonad/attachments/20080825/4869e00d/attachment.bin
More information about the xmonad
mailing list