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

View file

@ -143,6 +143,9 @@
(blur-background-exclude (blur-background-exclude
(list '()) (list '())
"Exclude conditions for background blur") "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 (focus-exclude
(list '()) (list '())
"Specify a list of conditions of windows that should always be considered focused") "Specify a list of conditions of windows that should always be considered focused")