Add opacity-rule option for picom

Use this option to specify that anything containing “(Meeting) | Microsoft
Teams” (which should be in the title of MS Teams when in a meeting) should have
100% opacity, and also that anything containing “freerdp” should have 100%
opacity.

For Teams I really only need it to be opaque once a meeting starts, I don't care
the rest of the time.

For XFreeRDP I've tried matching on ‘class_g’, ‘name’, nothing seems to work.
Using ‘opacity-rule’ finally seems to have an effect.

The rules both use ‘*’ to match anywhere in the name, and ‘?’ to specify that
the match should be case-insensitive.
This commit is contained in:
Tom Willemse 2023-03-30 09:55:48 -07:00
parent 8eb8bcacdf
commit 17d3bfce41
2 changed files with 7 additions and 5 deletions

View file

@ -117,7 +117,6 @@
'("name = 'mowedline'"
"class_g = 'trayer'"
"bounding_shaped"
"class_g = 'xfreerdp'"
"class_g = 'i3lock'"))
(wintypes
'((dnd (shadow . #f))
@ -127,6 +126,9 @@
(active-opacity 95)
(frame-opacity 100)
(inactive-opacity-override #t)
(opacity-rule
'("100:name *?= '(Meeting) | Microsoft Teams'"
"100:name *?= 'freerdp'"))
(blur-background #t)
(blur-background-frame #t)
(blur
@ -135,16 +137,13 @@
(blur-background-fixed #t)
(blur-background-exclude
'("name *= 'rofi'"
"class_g = 'xfreerdp'"
"class_g = 'i3lock'"))
(focus-exclude
'("name *= 'rofi'"
"class_g = 'xfreerdp'"
"class_g = 'i3lock'"))
(fading #t)
(fade-exclude
`("class_g = 'xfreerdp'"
"class_g = 'i3lock'"))
`("class_g = 'i3lock'"))
(fade-in-step 3)
(fade-out-step 3))))

View file

@ -143,6 +143,9 @@
(blur-background-exclude
(list '())
"Exclude conditions for background blur")
(opacity-rule
(list '())
"Specify a list of opacity rules, in the format PERCENT:PATTERN, like 50:name *= \"Firefox\".")
(focus-exclude
(list '())
"Specify a list of conditions of windows that should always be considered focused")