diff options
author | Jason Creighton <jcreigh@gmail.com> | 2007-06-14 01:45:01 +0200 |
---|---|---|
committer | Jason Creighton <jcreigh@gmail.com> | 2007-06-14 01:45:01 +0200 |
commit | d7ca1516bb87fe7af4e2a55f732ebe6397696a20 (patch) | |
tree | 4de8b9bc920c610af0322dbb6875392d35fa3990 | |
parent | d4e4bbd446af37c96d5877486304dd929f3387b8 (diff) | |
download | metatile-d7ca1516bb87fe7af4e2a55f732ebe6397696a20.tar metatile-d7ca1516bb87fe7af4e2a55f732ebe6397696a20.zip |
move initColor to Operations and only store the Pixel value of colors
Moving initColor to Operations allows it to be used by extensions.
The Pixel component of the color is the only thing we need, so it's simpler
just to deal with that.
darcs-hash:20070613234501-b9aa7-5b39416db9f9d5ac42692262c233179baeb2540f
-rw-r--r-- | Main.hs | 5 | ||||
-rw-r--r-- | Operations.hs | 9 | ||||
-rw-r--r-- | XMonad.hs | 4 |
3 files changed, 11 insertions, 7 deletions
@@ -42,12 +42,11 @@ main :: IO () main = do dpy <- openDisplay "" let dflt = defaultScreen dpy - initcolor c = fst `liftM` allocNamedColor dpy (defaultColormap dpy dflt) c rootw <- rootWindow dpy dflt xinesc <- getScreenInfo dpy - nbc <- initcolor normalBorderColor - fbc <- initcolor focusedBorderColor + nbc <- initColor dpy normalBorderColor + fbc <- initColor dpy focusedBorderColor hSetBuffering stdout NoBuffering args <- getArgs diff --git a/Operations.hs b/Operations.hs index 600e1e6..f569c08 100644 --- a/Operations.hs +++ b/Operations.hs @@ -320,13 +320,13 @@ setFocusX w = withWindowSet $ \ws -> do forM_ (W.current ws : W.visible ws) $ \wk -> do forM_ (W.index (W.view (W.tag (W.workspace wk)) ws)) $ \otherw -> do setButtonGrab True otherw - io $ setWindowBorder dpy otherw (color_pixel nbc) + io $ setWindowBorder dpy otherw nbc -- If we ungrab buttons on the root window, we lose our mouse bindings. whenX (not `liftM` isRoot w) $ setButtonGrab False w io $ do setInputFocus dpy w revertToPointerRoot 0 -- raiseWindow dpy w - io $ setWindowBorder dpy w (color_pixel fbc) + io $ setWindowBorder dpy w fbc -- --------------------------------------------------------------------- -- Managing layout @@ -478,6 +478,11 @@ extraModifiers = [0, numlockMask, lockMask, numlockMask .|. lockMask ] cleanMask :: KeyMask -> KeyMask cleanMask = (complement (numlockMask .|. lockMask) .&.) +-- | Get the Pixel value for a named color +initColor :: Display -> String -> IO Pixel +initColor dpy c = (color_pixel . fst) `liftM` allocNamedColor dpy colormap c + where colormap = defaultColormap dpy (defaultScreen dpy) + ------------------------------------------------------------------------ -- | Floating layer support @@ -48,8 +48,8 @@ data XState = XState data XConf = XConf { display :: Display -- ^ the X11 display , theRoot :: !Window -- ^ the root window - , normalBorder :: !Color -- ^ border color of unfocused windows - , focusedBorder :: !Color } -- ^ border color of the focused window + , normalBorder :: !Pixel -- ^ border color of unfocused windows + , focusedBorder :: !Pixel } -- ^ border color of the focused window type WindowSet = StackSet WorkspaceId Window ScreenId |