yshui / picom

A lightweight compositor for X11
Other
3.92k stars 576 forks source link

How to make picom clip all windows but "background" windows #1233

Open SollyBunny opened 2 months ago

SollyBunny commented 2 months ago

Platform

Arch Linux

Environment

dwm + alpha

picom version

vgit-89c2c

Config

--transparent-clipping

Steps to reproduce

I have a live background which uses a window embedded in the background (https://github.com/sollybunny/glsltoy).

With --transparent-clipping the window gets clipped (as somewhat expected)

But with --transparent-clipping and --transparent-clipping-exclude="name *?= \"glsl\"" (the window's name is "glsltoy") nothing happens (presummably the background is barred from clipping any windows)

SollyBunny commented 2 months ago

image expected behaviour (when dragging the windows over eachother, only the top most terminal should show and then merge with the background)

image actual behaviour (the background is removed underneath all windows)

absolutelynothelix commented 2 months ago

the transparent-clipping option makes windows have the wallpaper behind them. the wallpaper for picom is an image that a root background pixmap atom points to. your terminals become black because you don't have it set.

the transparent-clipping-exclude option disables the transparent-clipping option for matched windows, iow makes windows have the real content behind them.

you want the transparent-clipping option to make windows have a particular window (or layer) behind them. i don't think that it's currently possible so i consider this an enhancement.