I want to make few transparent windows (terminal...) with picom but I'm not finding the right way to doing this.
Arch Linux
glxinfo -B
name of display: :0
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Intel (0x8086)
Device: Mesa Intel(R) UHD Graphics 630 (CFL GT2) (0x3e98)
Version: 20.1.3
Accelerated: yes
Video memory: 3072MB
Unified memory: yes
Preferred profile: core (0x1)
Max core profile version: 4.6
Max compat profile version: 4.6
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) UHD Graphics 630 (CFL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.1.3
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.1.3
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.1.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
inxi :
CPU: Topology: 6-Core model: Intel Core i5-9600K bits: 64 type: MCP L2 cache: 9216 KiB
Speed: 4461 MHz min/max: 800/4600 MHz Core speeds (MHz): 1: 4494 2: 4500 3: 4494 4: 4451 5: 4483 6: 4488
Graphics: Device-1: Intel UHD Graphics 630 driver: i915 v: kernel
Display: x11 server: X.Org 1.20.8 driver: intel unloaded: fbdev,modesetting,vesa resolution: 3840x2160~60Hz
OpenGL: renderer: Mesa Intel UHD Graphics 630 (CFL GT2) v: 4.6 Mesa 20.1.3
i3-gaps 4.18.1-2
picom --diagnostics
[ 14/07/2020 11:40:11.258 parse_blur_method WARN ] Blur method 'kawase' has been renamed to 'dual_kawase'. Interpreted as 'dual_kawase', but this will stop working soon.
[ 14/07/2020 11:40:11.317 init_render WARN ] Old backends only support blur method "kernel". Your blur setting will not be applied
**Version:** vgit-de175
### Extensions:
* Shape: Yes
* XRandR: Yes
* Present: Present
### Misc:
* Use Overlay: No (Another compositor is already running)
* Config file used: /home/hedy/.config/picom.conf
### Drivers (inaccurate):
Intel
fading = true;
fade-delta = 5;
fade-in-step = 0.03;
fade-out-step = 0.03;
fade-exclude = [ ];
mark-wmwin-focused = true;
mark-ovredir-focused = true;
use-ewmh-active-win = false;
detect-rounded-corners = true;
detect-client-opacity = true;
refresh-rate = 0;
dbe = false;
sw-opti = false;
unredir-if-possible = false;
focus-exclude = [ ];
detect-transient = true;
detect-client-leader = true;
invert-color-include = [ ];
#glx-no-stencil = true;
#glx-copy-from-front = false;
#glx-use-copysubbuffermesa = false;
#glx-no-rebind-pixmap = false;
#glx-swap-method = "undefined";
#vsync = "opengl-swc"
#################################
#
# Shadow
#
#################################
shadow = true;
#no-dnd-shadow = true;
#no-dock-shadow = true;
shadow-radius = 15;
shadow-offset-x = -20;
shadow-offset-y = -20;
shadow-opacity = 0.7;
shadow-red = 0.0;
shadow-green = 0.0;
shadow-blue = 0.0;
shadow-exclude = [
"class_g = 'i3-frame'",
"class_g = 'Terminator'",
"class_g = 'Firefox' && argb",
"bounding_shaped",
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
];
#################################
#
# Blur
#
#################################
blur-background = true;
blur-background-frame = true;
blur-background-fixed = true;
#blur-method = "dual_kawase";
#blur-method = "kernel";
blur-kern = "3x3box";
blur-method = "kawase";
blur-strength = 2;
#################################
#
# Opacity
#
#################################
#menu-opacity = 1;
inactive-opacity = 1;
active-opacity = 1;
frame-opacity = 1;
inactive-opacity-override = false;
#alpha-step = 0.06;
opacity-rule = [
"100:class_g = 'URxvt'",
"100:class_g = 'Terminator'",
"70:class_g = 'Atom'",
"60:class_g = 'code-oss'",
"60:class_g = 'VSCodium'",
"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
];
# GLX backend
backend = "glx";
glx-no-stencil = true;
glx-copy-from-front = false;
glx-no-rebind-pixmap = true;
use-damage = true;
if you want to make an application window transparent, try to do this using its settings first. for example, most terminals offer background opacity setting. otherwise, write an opacity rule.
you have two 100% opacity rules for different terminals, that's why they may not show up transparent even if they are configured so.
all windows are automatically blurred no matter what. if you want to exclude some window from being blurred, use blur-background-exclude.
Thanks for your answer mighty9245 :)
I already make transparency inside each application when it's possible.
That is why for example why URxvt and Terminator have a specific opacity-rule set to 100%
My issue is more on the blur effect, than the opacity (which is working well :) )
With Compton, I finally success to blur window with those 3 lines :
blur-kern = "3x3box";
blur-method = "kawase";
blur-strength = 2;
But since I switched to Picom, I can't retrieve this nice blur effect !
there is no need to have opacity rules for them.
there was no dual kawase blur method in compton, you've been using tryone144's fork. there is still no dual kawase blur method in picom. you have to use tryone144's fork of picom if you want to use dual kawase blur method.
now it's configured like this (iirc):
blur: {
method = "dual_kawase";
strength = 2;
};
if it won't work, try setting blur-background to true as well.
You're absolutly right !
I was using tryone144's compton fork.
On the same way, I had installed the tryone144's picom fork.
Here my new picom config file but the blur still doesn't work :
fading = true;
fade-delta = 5;
fade-in-step = 0.03;
fade-out-step = 0.03;
fade-exclude = [ ];
mark-wmwin-focused = true;
mark-ovredir-focused = true;
use-ewmh-active-win = false;
detect-rounded-corners = true;
detect-client-opacity = true;
refresh-rate = 0;
dbe = false;
sw-opti = false;
unredir-if-possible = false;
focus-exclude = [ ];
detect-transient = true;
detect-client-leader = true;
invert-color-include = [ ];
#################################
#
# Shadow
#
#################################
shadow = true;
shadow-radius = 15;
shadow-offset-x = -20;
shadow-offset-y = -20;
shadow-opacity = 0.7;
shadow-red = 0.0;
shadow-green = 0.0;
shadow-blue = 0.0;
shadow-exclude = [
"class_g = 'i3-frame'",
"class_g = 'Terminator'",
"class_g = 'Firefox' && argb",
"bounding_shaped",
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
];
#################################
#
# Blur
#
#################################
blur: {
method = "dual_kawase";
strength = 2;
};
#################################
#
# Opacity
#
#################################
inactive-opacity = 1;
active-opacity = 1;
frame-opacity = 1;
inactive-opacity-override = false;
opacity-rule = [
"70:class_g = 'Atom'",
"60:class_g = 'code-oss'",
"60:class_g = 'VSCodium'",
"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
];
# GLX backend
backend = "glx";
glx-no-stencil = true;
glx-copy-from-front = false;
glx-no-rebind-pixmap = true;
use-damage = true;
The blur-background = true/false parameter doesn't change anything
oh, there is a cause right in your first post, read picom's output carefully. works fine for me.
I have only this error during picom launch :
[ 14/07/2020 20:10:52.982 init_render WARN ] Old backends only support blur method "kernel". Your blur setting will not be applied
and you don't have an idea why blur doesn't work for you?
No ! That's the point :)
If I change dual_kawase to kernel, I still don't have blur !
you have to start picom with the --experimental-backends argument. dual kawase blur method won't work with old backends, as that warning says.
It was this ! Thanks !
Two last questions :
if you're asking about experimental backends, then there is a description of them right on top of the readme of this repository. they are supposed to replace the old ones, so there is no much sense to do things for both backends. otherwise, all documentation, including --experimental-backends argument is available with man picom.
why the blur is only present on a fork AND on experimental-backends ? What is the risk to set it as an classical option on main stream package ?
probably because it was implemented by tryone144? not by yshui or chjj who've been maintaining picom/compton. see #382 and #32 for more information.
if your problem is solved, close the issue then.
Thanks for the answers :)
Most helpful comment
you have to start picom with the
--experimental-backendsargument. dual kawase blur method won't work with old backends, as that warning says.