From 286234b538ae83e33b37fa8f344cccf1d4e94756 Mon Sep 17 00:00:00 2001 From: Jason Creighton Date: Mon, 30 Apr 2007 06:38:59 +0200 Subject: configurable border colors This also fixes a bug where xmonad was assuming a 24-bit display, and just using, eg, 0xff0000 as an index into a colormap without querying the X server to determine the proper pixel value for "red". darcs-hash:20070430043859-b9aa7-9467ff583ec95144e5baa088e4b1536a725e7bc6.gz --- Main.hs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'Main.hs') diff --git a/Main.hs b/Main.hs index 11d839d..e1d5c90 100644 --- a/Main.hs +++ b/Main.hs @@ -35,10 +35,14 @@ main :: IO () main = do dpy <- openDisplay "" let dflt = defaultScreen dpy + initcolor c = fst `liftM` allocNamedColor dpy (defaultColormap dpy dflt) c + rootw <- rootWindow dpy dflt wmdelt <- internAtom dpy "WM_DELETE_WINDOW" False wmprot <- internAtom dpy "WM_PROTOCOLS" False xinesc <- getScreenInfo dpy + nbc <- initcolor normalBorderColor + fbc <- initcolor focusedBorderColor let st = XState { display = dpy @@ -52,6 +56,8 @@ main = do , workspace = W.empty workspaces (length xinesc) , defaultLayoutDesc = startingLayoutDesc , layoutDescs = M.empty + , normalBorder = nbc + , focusedBorder = fbc } xSetErrorHandler -- in C, I'm too lazy to write the binding -- cgit v1.2.3