On Sun, Jan 20, 2002 at 03:02:42AM +0100, Dominik Vogt wrote:
> On Sat, Jan 19, 2002 at 11:24:46PM +0000, Mikhael Goikhman wrote:
> > On 19 Jan 2002 15:33:15 -0600, FVWM CVS wrote:
> > > 
> > > Log message:
> > > * New events enter_window and leave_window in FvwmEvent.
> > 
> > This does not work well with subwindows, even with frame / client window.
> > Execute this config when you run any FvwmButtons:
> > 
> >   *FvwmEvent-AutoRaiseLower: PassId
> >   *FvwmEvent-AutoRaiseLower: enter_window "Silent FuncAutoRaiseLower Raise"
> >   *FvwmEvent-AutoRaiseLower: leave_window "Silent FuncAutoRaiseLower Lower"
> > 
> >   DestroyFunc FuncAutoRaiseLower
> >   AddToFunc   FuncAutoRaiseLower
> >   + I WindowId $1 ("FvwmButtons") $0
> >   + I WindowId $1 ("any-other-app") $0
> > 
> >   FvwmEvent FvwmEvent-AutoRaiseLower
> > 
> > The window is raised/lowered when you move the pointer from borders to the
> > client window or from one buttons bar that contains a subwindow (pixmap,
> > swallowed app) to another, i.e. more enter_window/leave_window are sent
> > than needed.
> 
> It's the same if you have a mousey focus window under the pointer
> that is not focused.
> 
> > Any fix for this?
> 
> I don't think so.  Filtering Enter/LeaveNotify is by no means
> trivial.

... because any mouse press and each release can generate
EnterNotify and LeaveNotify events.  It is not clear which can be
safely ignored (mode == GrabNotify/UngrabNotify).  For example, if
you hava

  mouse 1 2 a movetopage 1 1

 - Window A is atop window B.  A has the focus, SloppyFocus, Page 0 0.
 - Press a mouse button on the close button.
 - EnterNotify on the button window is generated (GrabNotify).
 - Window is moved to a different page, window B becomes visible.
 - Pointer is still grabbed by window A.
 - Release the button.
 - LeaveNotify on window A (UngrabNotify); EnterNotify on window B
   (UngrabNotify).

In this case, the EnterNotify should set the new focus window, but
it's nigh impossible to distinguish that case from others where
the additional EnterNotify would have to be ignored.
 
> If you have raise/lower bound to enter/leave, it's even
> very easy to get two windows competing for the top position on the
> stacking chain until the pointer leaves the area.  It's
> probably easier to enhance FvwmAuto to handle enter/leave instead
> or in addition to focus_change.

Bye

Dominik ^_^  ^_^

-- 
Dominik Vogt, email: [EMAIL PROTECTED]
LifeBits Aktiengesellschaft, Albrechtstr. 9, D-72072 Tuebingen
fon: ++49 (0) 7071/7965-0, fax: ++49 (0) 7071/7965-20
--
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