mirror of
https://github.com/xmonad/xmonad.git
synced 2025-07-25 17:21:52 -07:00
Revert "Revert "Merge pull request #350 from Thiago4532/opaque-window-border""
This reverts commit e5a258f19c
.
https://github.com/xmonad/xmonad-contrib/pull/731 fixes the
WindowNavigation issue with alpha channels, so we can re-enable alpha
support.
This commit is contained in:
@@ -265,7 +265,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 ()
|
||||
@@ -519,10 +519,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)
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
Reference in New Issue
Block a user