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]

Reply via email to