On Sat, Jul 03, 2004 at 10:52:49AM +0100, Tavis Ormandy wrote: > [sorry if this comes twice, my last reply never reached the list] > > On Fri, Jul 02, 2004 at 02:44:02PM +0200, Dominik Vogt wrote: > > > Is it worth submiting the patch? > > > > Yes. > > Thanks for the reply Dominik, This is the patch I've been using, I'm > sure it's horribly wrong, but it does seem to get Swallowed transparent > windows updated correctly :)
No, the patch is fine (but see below). > Maybe it will at least help demonstrate what I was talking about :) > > Example configuration (requires rxvt >=2.7.3, I think): > > Colorset 34 fg black, bg white, RootTransparent buffer > DestroyModuleConfig FvwmTest: * > *FvwmTest: Geometry 634x384 > *FvwmTest: Colorset 34 > *FvwmTest: Rows 2 > *FVwmTest: Columns 2 > *FvwmTest: (1x1, Swallow TransTerm `Exec exec rxvt -tr -name TransTerm -e > rain -d 200`) > *FvwmTest: (1x1, Swallow TransTerm `Exec exec rxvt -tr -name TransTerm -e > rain -d 200`) > *FvwmTest: (2x1, Title "Close", Action `Current Close`) > > -- > ------------------------------------- > [EMAIL PROTECTED] | finger me for my gpg key. > ------------------------------------------------------- > Index: FvwmButtons.c > =================================================================== > RCS file: /home/cvs/fvwm/fvwm/modules/FvwmButtons/FvwmButtons.c,v > retrieving revision 1.186 > diff -u -w -r1.186 FvwmButtons.c > --- FvwmButtons.c 29 Jun 2004 18:05:55 -0000 1.186 > +++ FvwmButtons.c 3 Jul 2004 09:39:30 -0000 > @@ -1070,7 +1070,43 @@ > else if (Event.xconfigure.window == MyWindow && > Event.xconfigure.send_event) > { > + button=-1; > + ub=UberButton; > + > update_root_transparency(&Event); > + while(NextButton(&ub,&b,&button,0)) > + { > + if ((b->flags & b_Swallow) && SwallowedWindow(b)) > + { > + Window swin = SwallowedWindow(b), br; > + XEvent BEvent; > + unsigned int bx, by, bw, bh, bbw, bd; > + > + if (!XGetGeometry(Dpy, swin, &br, &bx, &by, &bw, &bh, > &bbw, &bd)) > + { > + continue; > + } > + > +#ifdef DEBUG_EVENTS > + fprintf (stderr, "Sending ConfigureNotify to Button: > %#9x\n" > + "New Position: %ux%u\n", > + (int) swin, > + Event.xconfigure.x+b->x, > + Event.xconfigure.y+b->y); > +#endif > + Add fev_make_null_event(&Bevent, Dpy); > + BEvent.type = ConfigureNotify; > + BEvent.xconfigure.display = Dpy; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Remove this line. > + BEvent.xconfigure.event = swin; > + BEvent.xconfigure.window = swin; > + BEvent.xconfigure.x = Event.xconfigure.x+bx; > + BEvent.xconfigure.y = Event.xconfigure.y+by; > + BEvent.xconfigure.width = bw; > + BEvent.xconfigure.height = bh; > + BEvent.xconfigure.border_width = bbw; Add BEvent.xconfigure.above = None; BEvent.override_redirect = False; > + FSendEvent(Dpy, swin, False, StructureNotifyMask, > &BEvent); > + } > + } > } > } > break; Ciao Dominik ^_^ ^_^ -- Dominik Vogt, [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED]
pgpQgATHcIHg7.pgp
Description: PGP signature