From 17d3bfce41befd73bbb0de98a715396074235c1f Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Thu, 30 Mar 2023 09:55:48 -0700 Subject: [PATCH] Add opacity-rule option for picom MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- oni/home/config/rincewind.scm | 9 ++++----- oni/home/services/picom.scm | 3 +++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/oni/home/config/rincewind.scm b/oni/home/config/rincewind.scm index 131303f..9fbd13b 100644 --- a/oni/home/config/rincewind.scm +++ b/oni/home/config/rincewind.scm @@ -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)))) diff --git a/oni/home/services/picom.scm b/oni/home/services/picom.scm index c195c3a..332ad89 100644 --- a/oni/home/services/picom.scm +++ b/oni/home/services/picom.scm @@ -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")