dccsillag / picom

A lightweight compositor for X11
Other
164 stars 20 forks source link

Size transition shows a trail of the window's border #24

Closed Vermoot closed 2 years ago

Vermoot commented 2 years ago

I know there are already some issues here about graphical glitches in animations, but I don't think I've seen one about this.

I use this fork of picom along with xmonad as a WM, and in xmonad I have a dark theme with some bright borders for the active window.

When I move/swap/resize windows, the animation of the window resizing seems to be dragging the border, creating a big bright artifact that I'd like to avoid.

Here's a video showing what it looks like:

https://user-images.githubusercontent.com/23317434/140831219-687dfcc8-d21c-444a-bd7b-a2e0c9a6f0c8.mp4

Is there any option I can use to mitigate that, or is it more something I can't fix myself?

Thanks!

dccsillag commented 2 years ago

My guess is that you are on the old backends? (I think this is the case, considering you have rounded corners, which look awesome, btw).

We've actually already implemented a solution to this, in which we blend the pre-resize window pixmap with the post-resize window pixmap during the size transition (though it admittedly still needs some care, see https://github.com/dccsillag/picom/issues/19). The thing is, this implementation ended up having to touch backend code. It's already implemented in all of the new, "experimental" backends, which can be enabled via --experimental-backends. However, we did not take the time to implement it in the legacy backends; this is mostly because the legacy backend code is a tad messier than the new one. We're somewhat justified in doing this, considering the following bit in Picom's README:

New backend features will only be implemented on the new backends from now on, and the old backends will eventually be phased out after the new backends stabilize.

Given all that, I don't have any plans of implementing proper size animations on the legacy backends. If you really want that, contributions are welcome.

(Though it may be a good idea for us to add a warning on animations = true with legacy backends...)

Vermoot commented 2 years ago

Ooh, indeed I don’t think I’m using this option.

Although your initial comment seems to imply I can’t use rounded corners on experimental backends?

dccsillag commented 2 years ago

Yeah, unfortunately that's still a WIP: https://github.com/yshui/picom/pull/658

Vermoot commented 2 years ago

Alright, then I think I’ll put up with the glitches in the meantime. At least I’m happy to see this is all being very actively worked on. The only issue is sometimes knowing which fork/branch to use 😅

Thank you very much for your quick answers, and for your work!