vanadium/xmonad: refactor opacity rules

This commit is contained in:
Primrose 2025-09-06 20:36:58 +08:00
parent 3dd8a32561
commit bbf6651440
Signed by: primrose
GPG key ID: 4E887A4CA9714ADA

View file

@ -49,19 +49,31 @@ main =
, logHook =
let
isOneOf :: Eq a => Query a -> [a] -> Query Bool
isOneOf q = fmap or . traverse (q =?)
isFocused :: Query Bool
isFocused = fmap not isUnfocused
fadeHook =
composeOne
[ className ~? "steam" -?> opaque
[ -- easier to paint over stuff
isFloating
<&&> isFocused
<&&> title ~? "Wplace"
-?> transparency 0.5
-- easier to paint over stuff
, isFloating
<&&> fmap not isUnfocused
<&&> title ~? "Wplace" -?> transparency 0.5
, className =? "firefox" -?> opaque
-- matches the second string of the WM_CLASS
, className `isOneOf`
[ "firefox"
, "Signal"
, "steam"
, "discord"
]
-?> opaque
, isFloating -?> ifM isFocused (transparency 0.04) (transparency 0.08)
, isUnfocused -?> transparency 0.02
, isFloating -?> transparency 0.08
]
in
fadeWindowsLogHook fadeHook