On Thu, May 04, 2006 at 08:54:25PM +0200, Viktor Griph wrote:
> When are the hide windows useful in frame.c? The call to 
> frame_reparent_hide_windows in frame_create_move_resize_args casue X to 
> generate extra VisibilityNotify events to clients during capture and 
> redecoration (bug #3977).

The hide windows are emtpy windows (with a "None" background
pixmap).  I introduced them to reduce flickering of the window
decorations when a window is resized, and - more important -
shaded or unshaded.

The problem is that when you resize a window, you can tell X which
border its subwindows should stick to.  But you can not tell it
where the subwindows of subwindows should go, and it's not
possible to resize subwindows in the same operation.

Because of this, I use the hide windows to cover some parts of the
decorations, resize the window, redraw the the changed parts of
the decorations windows (using a background pixmap, not using the
foreground), then unmap the hide windows to uncover the changed
decorations.  Usually, the hide windows stay "invisible" because
htey have no contents and just show what was below them until they
are covered by something else.

> Would it be possible to narrow down the need for 
> that function call to some specific case?

I don't see any way but at the expense of flickering decorations
and subwindows, especially with opaque resizing.

Actually, if applications like xdvi have a below par redraw
algorithm (i.e. they redraw whenexer they receive an Expose
event), that's the applications' problem and not the problem of
the window manager.

Ciao

Dominik ^_^  ^_^

 --
Dominik Vogt, [EMAIL PROTECTED]

Attachment: signature.asc
Description: Digital signature

Reply via email to