On Wed, Mar 03, 2004 at 01:03:03AM +1100, scott wrote: > Hi Dominik, > > > ... and possibly people connected to the X server by a phone line. > > What I'm worried about is the latency by grabbing or ungrabbing > > bindings over a slow connection. > > I assume you're talking about grabbing the X server whenever a new > window is created to GrabWindowKey() for each applicable binding?
No, I mean the underlying calls to XGrabKey()/XUngrabKey() in libs/bindings.c. These calls require contacting the X server. If you have lots of bindings that change and/or an application with a frequently changing title, this can be a problem. I vaguely remember an old bug in that area that slowed down startup dramatically because of unnecessary grabs. See below. > Well the latency is increased by 3 matchWildcards() calls for > each window-specific binding. (global bindings have negligible > overhead.) Not much for an irregular event such as the creation of > a toplevel window. > > > Some applications change their > > name very often (e.g. some clocks). > > Yes. How does this relate to my patch? The binding list is > searched when a key/mouse event occurs - not when the window > class/resource/name changes. Hm? Earlier you wrote: > > The patch handles windows that dynamically change name/class/resource. > > I just wrote a small Perl/Tk app to change the window name at the > > click of a button ($mw->configure(-title => ...)) to confirm this. So I assumed that it reacts to name/class/resource changes. Doing so requires redoing the grabs. > And this doesn't require an X server grab. > > > By the way, how does the patch handle PointerKey bindings? > > The CheckTwoBindings() call tries to match bindings on the > window with the focus & the window that the pointer is in. > My patch just extends the check to include the resource/class/name > of both windows. Ciao Dominik ^_^ ^_^ -- 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]