On Wed, Mar 13, 2002 at 04:24:59PM +0000, Tim Phipps wrote: > [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?
I'm not sure about that yet. > > - 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. Unfortunately that approach doesn't remove the need for additional windows to draw the reliefs - at least for windows with a background pixmap set. We still can't draw into the pixmap itself, and there is no general way to make one big window with transparent holes that show the background pixmap (at least if we don't want to draw on the foreground of the windows). I'm still digging through the documentation of all that gravity stuff. Bye Dominik ^_^ ^_^ -- Dominik Vogt, [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] -- 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]