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