diff --git a/src/XMonad/Operations.hs b/src/XMonad/Operations.hs index 0de274a..bfa661c 100644 --- a/src/XMonad/Operations.hs +++ b/src/XMonad/Operations.hs @@ -250,7 +250,7 @@ setWindowBorderWithFallback :: Display -> Window -> String -> Pixel -> X () setWindowBorderWithFallback dpy w color basic = io $ C.handle fallback $ do wa <- getWindowAttributes dpy w - pixel <- color_pixel . fst <$> allocNamedColor dpy (wa_colormap wa) color + pixel <- setPixelSolid . color_pixel . fst <$> allocNamedColor dpy (wa_colormap wa) color setWindowBorder dpy w pixel where fallback :: C.SomeException -> IO () @@ -504,10 +504,14 @@ cleanMask km = do nlm <- gets numberlockMask return (complement (nlm .|. lockMask) .&. km) +-- | Set the 'Pixel' alpha value to 255. +setPixelSolid :: Pixel -> Pixel +setPixelSolid p = (p .|. 0xff000000) + -- | Get the 'Pixel' value for a named color. initColor :: Display -> String -> IO (Maybe Pixel) initColor dpy c = C.handle (\(C.SomeException _) -> return Nothing) $ - (Just . color_pixel . fst) <$> allocNamedColor dpy colormap c + (Just . setPixelSolid . color_pixel . fst) <$> allocNamedColor dpy colormap c where colormap = defaultColormap dpy (defaultScreen dpy) ------------------------------------------------------------------------