Added picom shader, fixing stalonetray transparency

This commit is contained in:
2023-08-20 16:11:13 +02:00
parent 45fd9dfd51
commit 56a1a8f87c
2 changed files with 28 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
#version 330
in vec2 texcoord;
uniform float opacity;
uniform bool invert_color;
uniform sampler2D tex;
vec4 window_shader() {
vec4 c = texelFetch(tex, ivec2(texcoord), 0);
{
// Change vec4(1.0, 1.0, 1.0, 1.0) to your desired color
vec4 vdiff = abs(vec4(0.0, 0.0, 0.0, 1.0) - c);
float diff = max(max(max(vdiff.r, vdiff.g), vdiff.b), vdiff.a);
// Change 0.8 to your desired opacity
if (diff < 0.001)
c *= 0;
}
if (invert_color)
c = vec4(vec3(c.a, c.a, c.a) - vec3(c), c.a);
c *= opacity;
return c;
}

View File

@@ -294,6 +294,13 @@ use-damage = true;
#
# glx-fshader-win = ""
# Use rules to set per-window shaders. Syntax is SHADER_PATH:PATTERN, similar
# to opacity-rule. SHADER_PATH can be "default". This overrides window-shader-fg.
#
window-shader-fg-rule = [
"black_to_transparent.frag:class_g = 'stalonetray'"
]
# Force all windows to be painted with blending. Useful if you
# have a glx-fshader-win that could turn opaque pixels transparent.
#