Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!utgpu!water!watmath!clyde!rutgers!princeton!udel!rochester!bbn!uwmcsd1!ig!jade!ucbvax!hplabs!hpcea!hpfcdc!hpfclp!diamant
From: diamant@hpfclp.UUCP
Newsgroups: comp.windows.x
Subject: Re: hacking on uwm (V11)
Message-ID: <9740006@hpfclp.HP.COM>
Date: Thu, 3-Dec-87 01:59:06 EST
Article-I.D.: hpfclp.9740006
Posted: Thu Dec  3 01:59:06 1987
Date-Received: Thu, 10-Dec-87 03:19:53 EST
References: <6037@jade.BERKELEY.EDU>
Organization: HP, Fort Collins, CO
Lines: 31

> EnterNotify is the way to go.  You can select this on each of the client
> windows when you get the MapRequest; no need to re-parent.  You will have
> to be careful when you have both titlebars and autoraise (you no longer
> want EnterNotify on the children).  You'll also have to be careful about
> the `oscillating menu syndrome' which will occur when you map the uwm
> menu.

I don't have a good feel for how the focus events have changed with X11, but
this seems like it can't be right.  It would make it impossible to correctly
implement a click listener model rather than the tracked one (one where
you have to perform an action to force input to move to a new window).

This is something that always bothered me about X10 applications too (like
xterm).  For instance, I seem to remember xterm having a highlighted border
on entry and exit even if the listener model was not tracked.  This is
WRONG.  It gave the user feedback that the input focus had changed, when
in fact it hadn't.  Using EnterNotify can't be the right answer, because
it will always lead to incorrect behavior when in a non-tracked listener.
Maybe some combination of EnterNotify and FocusIn would do the trick, but
EnterNotify by itself won't do it.

If I'm missing something here, please let me know, but if not, what we
are talking about is pretty important.  The whole idea of having focus events
and being able to select a tracked versus explicit listener is to remain
policy free.  If the code is written to assume one model, it is
no longer policy free, because it is biased towards a tracked listener.


John Diamant 				 UUCP: {hplabs,hpfcla}!hpfclp!diamant
Hewlett Packard Co.		ARPA Internet: diamant%hpfclp@hplabs.HP.COM
Fort Collins, CO