[EMAIL PROTECTED] wrote:
Here is a simple solution to all problems with flickering that
does not even require all these additional windows: Draw behind
the scenes.
- Create a sub window of the frame that has background_pixmap set
to None.
And BackingStore: NotUseful to save server memory
- Stack it above all the decorative windows, but below the title
bar windows and the parent.
- Before an animation step, resize it to a size that covers both,
the old and new size of the frame window.
- Map it. Because of the "None" background pixmap, it just gets
the contents of the windows that it covered.
- Draw the new border and title windows behind that 'invisible'
window (as background pixmaps).
Is the title window above or below the magic window?
- Give the 'invisible' window UnmapGravity and set the proper
gravities of the decoration windows.
- Resize the frame. Said window is automagically unmapped and
uncovers the windows below it.
- The X server automatically draws the now exposed parts with the
background pixmaps of these windows.
Sounds great, I never knew about UnmapGravity.
The only unwanted side effect is that the X server draws the
complete border in each step, although it does that without any
additional client/server communication.
It shouldn't be a problem at all, it should be just tiling from the
backing pixmap so it should be done by the graphics hardware.
Cheers,
Tim.
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]