gtk-ng: fix new/close split "flicker"
Right now, new/close split cause a noticeable flicker, see #8202 for a video.
This is because we have to wait 1 or more event loop ticks for the surface widgets to unparent before building the new GtkPaned tree. We should be able to do this all in one frame, but every time I tried I hit rendering issues. I suspect I'm just messing things up with my [lack of] GTK knowledge.
I believe I'm experiencing the same issue - not only on splits creation (which are much much slower to respond than in your video on my end), but also on window creation, when using Hyprland. Shows either a fully transparent or a semi-rendered surface (I believe upper side transparent, lower rendered?) for a split second.
Seems fine with GNOME? Tweaking GTK-related, window, CSD settings... do not change anything. Always reproductible no matter the config on Hyprland, even without background transparency.
We're already aware that it's reproducible on every setup. The speed of your system may make the flicker more or less noticeable. It's something deep in how GTK is handling the reshuffling of widgets when a new split is created that so far no one has figured out.
So for future people that encounter this bug, please no "me too" posts unless you have something more to offer than "it happens to me on X with Y".
Add a reaction to the 1st comment and subscribe if you want to follow along.