<html>
  <head>
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <blockquote type="cite">
      <pre>&gt;<i> BTW I noticed afterwards that this doesn't help all apps. Evince, for
</i>&gt;<i> example, still blinks whenever I bring up the popup menu while in
</i>&gt;<i> fullscreen mode, whereas Firefox doesn't blink. I did some quick
</i>&gt;<i> protocol tracing and I saw some window background mode changes from
</i>&gt;<i> the client. A quick look at gdk-x11 code revealed that it does some
</i>&gt;<i> tricks with the window background. I never got around to testing if
</i>&gt;<i> removing that code would make Evince blink-free (tm).
</i>
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.
</pre>
    </blockquote>
    <br>
    Sometime in the previous decade I sent patches to Mozilla to always
    set window background <br>
    to None (mozilla bug 28003). Hopefully none of it got lost since
    then.<br>
    <br>
    It makes sense as not only it prevents blinking, it was also visibly
    faster at the time<br>
    (probably still is). And opaque move/resize is much better.<br>
    <br>
    IMO, this mechanism should be used by all X apps, because the only
    downside <br>
    is that background is not painted when app is blocking. The GTK+
    mechanism <br>
    of switching backgrounds seems of little use to me (?).<br>
    <br>
    Regards,<br>
    &nbsp;&nbsp;&nbsp; Mark<br>
    <br>
    offtopic: perhaps the Xserver (or WM/compositor) should paint the
    window gray if the app isn't responding <br>
    to events?<br>
    <br>
    <br>
  </body>
</html>