[PATCH xserver] composite: Inhibit window background paint with manual subwindow redirection

Owen Taylor otaylor at redhat.com
Wed Jul 20 07:44:05 PDT 2011


On Wed, 2011-07-20 at 02:54 +0300, Ville Syrjälä wrote:

> BTW I noticed afterwards that this doesn't help all apps. Evince, for
> example, still blinks whenever I bring up the popup menu while in
> fullscreen mode, whereas Firefox doesn't blink. I did some quick
> protocol tracing and I saw some window background mode changes from
> the client. A quick look at gdk-x11 code revealed that it does some
> tricks with the window background. I never got around to testing if
> removing that code would make Evince blink-free (tm).

Interesting... there are certainly tricks being played there, but it's
hard to see why they would cause blinking.

When GTK+ maps an override-redirect window, it temporarily sets the
background of the override-redirect window to None. When it unmaps a
window, in some cases, it will temporarily unset the background of a
window that it thinks it might be underneath.

But the background mode of a client window should have no effect at all
on whether it's contents are preserved in the composite pixmap. Changing
the background mode doesn't cause a clear.

The only thing I can think of is that evince might be changing it's size
when popping up the menu, but that seems pretty strange. Hard to guess
at without a live situation to debug.

- Owen




More information about the xorg-devel mailing list