Re: gdk_window_set_back_pixmap()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Okay, thanks for the info.

--Matt

On 10/27/06, Owen Taylor <otaylor@xxxxxxxxxx> wrote:
> On Fri, 2006-10-27 at 07:33 -0500, Matt Hoosier wrote:
> > A couple of weeks ago, I asked here whether anybody had a good
> > technique to prevent the initial tiling-to-white that happens when a
> > GtkWindow first is mapped and exposed.
> >
> > One solution that was offered is to install a "realize" signal handler
> > which just does this:
> >
> >   gdk_window_set_back_pixmap (w->window, NULL, FALSE);
> >
> > This causes the contents of the underlying X11 window to be either
> > transparent, or a snapshot of the underlying root window
>
> It causes it to not be repainted at all leaves whatever was there before
> until the apps draws.
>
> >  [I can't
> > entirely tell from the documentation:
> > http://developer.gnome.org/doc/API/2.0/gdk/gdk-Windows.html#gdk-window-set-back-pixmap].
> > Disregarding which of those two approaches happens, the result is not
> > to show the logical conents of the window until it's rendered under
> > its own power.  At least visually, the result is much smoother.
> >
> > Are there down-sides to this; that is, why does Gtk not use this trick
> > by default?
>
> The effects of not having a default repaint to the background color
> can be quite confusing (have you ever switched to a desktop with Firefox
> on it and been puzzled as a Flash add appeared on top of the previous
> desktop, then Firefox redraw?).
>
> This is especially a problem on heavily loaded systems.
>
> Also, the appearance of trails as you drag another window on top
> may be worse than the clearing to the background color, as long as the
> background color is a close approximation of the window contents.
>
> In some cases, temporarily unsetting the background then setting
> it back can make sense ... GTK+ does this when both mapping a menu
> (for the menu) and unmapping a menu (for the underlying window).
>
> It's hard to do this effectively for window manager managed windows,
> since you don't know when the window will be mapped.
>
> Compositing managers with good synchronization between the CM and the
> toolkit are the real answer here.
>
>                                                 - Owen
>
>
>
_______________________________________________
gtk-list mailing list
gtk-list@xxxxxxxxx
http://mail.gnome.org/mailman/listinfo/gtk-list

[Index of Archives]     [Touch Screen Library]     [GIMP Users]     [Gnome]     [KDE]     [Yosemite News]     [Steve's Art]

  Powered by Linux