Subject: CVS domivogt: * Rewrote module interface to allow more than 32 message types with minimal

From: FVWM CVS <[email-masked]>
Date: Sat, 19 Jan 2002 15:33:15 -0600

CVSROOT:	/home/cvs/fvwm
Module name:	fvwm
Changes by:	domivogt	02/01/19 15:33:15

Modified files:
	.              : ChangeLog NEWS 
	fvwm           : events.c focus.c fvwm.h fvwm2.1 modconf.c 
	                 module_interface.c module_interface.h style.c 
	                 style.h update.c window_flags.h 
	libs           : Module.h 
	modules        : ChangeLog 
	modules/FvwmDebug: FvwmDebug.c 
	modules/FvwmEvent: FvwmEvent.1 FvwmEvent.c 
	modules/FvwmGtk: FvwmGtk.c 
	modules/FvwmIconBox: FvwmIconBox.c 
	modules/FvwmIconMan: FvwmIconMan.c fvwm.c 
	modules/FvwmPager: FvwmPager.c 
	modules/FvwmTaskBar: FvwmTaskBar.c 
	modules/FvwmWinList: FvwmWinList.c 

Log message:
* Rewrote module interface to allow more than 32 message types with minimal
changes in the code.
* Introduced new messages MX_ENTER_WINDOW and MX_LEAVE_WINDOW.
* New events enter_window and leave_window in FvwmEvent.
* New styles MouseFocusClickIgnoreMotion nad MouseFocusClickIgnoreMotionOff.
* A bug fix in the button mask handling for more than 5 buttons.

--
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-masked].
To report problems, send mail to [email-masked]

---

From: Mikhael Goikhman <[email-masked]>
Date: Sat, 19 Jan 2002 23:24:46 +0000

> * 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. Any fix for this?

Regards,
Mikhael.

---

From: Dominik Vogt <[email-masked]>
Date: Sun, 20 Jan 2002 03:02:42 +0100

On Sat, Jan 19, 2002 at 11:24:46PM +0000, Mikhael Goikhman wrote:
> 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.  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-masked]
Reply-To: [email-masked]
--
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-masked].
To report problems, send mail to [email-masked]

---

From: Dominik Vogt <[email-masked]>
Date: Mon, 21 Jan 2002 10:50:21 +0100

On Sun, Jan 20, 2002 at 03:02:42AM +0100, Dominik Vogt wrote:
> 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

Bye

Dominik ^_^  ^_^

-- 
Dominik Vogt, email: [email-masked]
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-masked].
To report problems, send mail to [email-masked]