You are not logged in.
I have a vanilla Arch setup on a Dell Latitude, and have installed qtile. My compositor is picom. To set opacity on inactive/unfocused widows I added "mark-ovredir-focused = false" to my picom config. The problem is that the qtile status bar and widgets are now at the same opacity, .6, as the inactive windows. I tried to write a picom rule to exclude the bar/widgets, using xprop, but I did not understand the output. There is no class name to use. I also have polybar running as a second bar on top, and it is not affected at all.
How do I exclude the bar/widgets from picom? Or can I set the opacity for the windows in my qtile.py?
Here is my picom config:
backend = "glx";
glx-no-stencil = true;
vsync = true;
# Shadow
shadow = true; # Enabled client-side shadows on windows.
shadow-radius = 4; # The blur radius for shadows. (default 12)
shadow-offset-x = -4; # The left offset for shadows. (default -15)
shadow-offset-y = -4; # The top offset for shadows. (default -15)
# shadow-opacity = 0.6; # The translucency for shadows. (default .75)
# shadow-red = 0.0; # Red color value of shadow. (0.0 - 1.0, defaults to 0)
# shadow-green = 0.0; # Green color value of shadow. (0.0 - 1.0, defaults to 0)
# shadow-blue = 0.0; # Blue color value of shadow. (0.0 - 1.0, defaults to 0)
shadow-exclude = [ "n:e:Notification" ]; # Exclude conditions for shadows.
# shadow-exclude = "n:e:Notification";
shadow-ignore-shaped = true;
# Opacity
inactive-opacity = .8; # Opacity of inactive windows. (0.1 - 1.0)
frame-opacity = 1; # Opacity of window titlebars and borders. (0.1 - 1.0)
inactive-opacity-override = true; # Inactive opacity set by 'inactive-opacity' overrides value of _NET_WM_OPACITY.
# Fading
fading = true; # Fade windows during opacity changes.
fade-delta = 10; # The time between steps in a fade in milliseconds. (default 10).
#fade-in-step = 0.03; # Opacity change between steps while fading in. (default 0.028).
#fade-out-step = 0.03; # Opacity change between steps while fading out. (default 0.03).
no-fading-openclose = true; # Fade windows in/out when opening/closing.
# Other
inactive-dim = .6; # Dim inactive windows. (0.0 - 1.0, defaults to 0).
mark-wmwin-focused = true; # Try to detect WM windows and mark them as active.
mark-ovredir-focused = true;
detect-rounded-corners = true;
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
mark-ovredir-focused = false
#mark-ovredir-focused = true;
# Window type settings
opacity-rule = [
"100:class_g *?= 'Rofi'"
];
wintypes:
{
#normal = { fade = false; shadow = true; opacity = 1; focus = true; };
menu = { fade = true; shadow = true; opacity = 1; focus = true; };
#dialog = { fade = true; shadow = true; opacity = 0.9; focus = true; };
popup_menu = { fade = true; shadow = true; opacity = 1; focus = true; };
tooltip = { fade = false; shadow = true; opacity = 0.8; focus = true; };
toolbar = { fade = false; shadow = true; opacity = 0.8; focus = true; };
};Last edited by Gabachin (2022-05-09 10:32:23)
Offline
Please use code tags, https://bbs.archlinux.org/help.php#bbcode
What are the outputs of "xprop" and "xwininfo" for the qtile status bar?
Also
To set opacity on inactive/unfocused widows I added "mark-ovredir-focused = false" to my picom config.
This makes your OP sound like an xy-problem.
Override redirect windows are to be ignored by the window manager, they're neither active/inactive nor focused/unfocused in that sense.
What was the original problem you wanted to solve by this (there might be a directer way that then avoids the subsequent undesired impact)
Offline
xprop gives me this:
_NET_WM_WINDOW_OPACITY(CARDINAL) = 4294967295
_NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 0, 0
QTILE_INTERNAL(CARDINAL) = 1
WM_STATE(WM_STATE):
window state: Normal
icon window: 0x0 xwininfo:
xwininfo: Window id: 0x400120 (has no name)
Absolute upper-left X: 0
Absolute upper-left Y: 1056
Relative upper-left X: 0
Relative upper-left Y: 1056
Width: 1920
Height: 24
Depth: 24
Visual: 0x21
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x400121 (not installed)
Bit Gravity State: ForgetGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +0+1056 -0+1056 -0-0 +0-0
-geometry 1920x24+0-0 I want to reduce the opacity of unfocused windows. But since qtile has its own status bar, when I do this by modifying the picom config, the bar's opacity is also reduced.
Last edited by Gabachin (2022-05-07 14:56:57)
Offline
Please use code tags, https://bbs.archlinux.org/help.php#bbcode
Edit your posts accordingly.
The panel isn't an override redirect window to begin with, so that approach is going nowhere.
Offline
When I add a rule to picom I use xprop to get the class of the application I want to change the opacity of. I do not know how to do this for the qtile status bar. Or is there a way to do this in qtile.py?
Last edited by Gabachin (2022-05-07 15:29:16)
Offline
Try using a
opacity-rule = [ "100:QTILE_INTERNAL:32c" ];Offline
This did not work for me. To set opacity in unfocused windows, I have to set
mark-ovredir-focused = true; in which case, the bar also has this reduced opacity. Then adding
opacity-rule = [ "100:QTILE_INTERNAL:32c" ]; to picom has no effect. I had this same problem with rofi on an i3 setup. The opacity rule I set in picom did not work. Apologies in advance for my ignorance. I'm a noobiest noob. Maybe there is a way to do this in qtile.py? My workflow is a lot easier with dimmed unfocused windows and I really can't do without this option. It seems strange that qtile, being a mature wm, wouldn't have fixed this.
Last edited by Gabachin (2022-05-07 16:45:09)
Offline
Override Redirect State: no
The window that belongs to the output in #3 is *not* override_redirect.
If "mark-ovredir-focused" has impact on some window, that is *NOT* the window referenced by the xwininfo/xprop output in #3 (so it would not be surprising if the rule won't apply)
Opacity settings in picom will steamroll over whatever qtile might hint, so you cannot use a qtile setting or code snippet to defy the impact of your changes in picom.conf.
(Also ftr, _NET_WM_WINDOW_OPACITY is already at the maximum value)
Also
to set opacity in unfocused windows
you might want to specify "unfocused" here, but generally, that's done via eg
inactive-opacity = 0.8;I'll however say that the opacity-rule setting doesn't work here (and the comment say to prefer picom-trans)
There'd also be
focus-exclude = [ "QTILE_INTERNAL:32c"]; that considers thethe actual window from #3 as always focused, but remember that it's not even clear whether that's the window you care about.
(But at least this list worksforme™ eg. on video players)
Offline
Yes, this worked. It also worked for rofi.
focus-exclude = [ "100:class_g = 'rofi" ]; Best part is I am starting to understand better how these things work. Thank you. I
guess I should mark this question as answered but I do not see how.
Last edited by Gabachin (2022-05-08 15:51:29)
Offline
Mark resolved threads by editing your initial posts subject - so others will know that there's no task left, but maybe a solution to find.
Thanks.
Offline