Note: this thread moved to fvwm-workers list.

:   - Key binding in the Root context won't work, for example
:     Key F1      R    M    Exec exec rxvt
:     it won't start rxvt but pop up the default menu instead.
:   - StrokeFunc in the Root crashes X, for example:
:     Mouse 1     R    N    StrokeFunc DrawMotion FeedBack StrokeWidth 2
:     now when you click the Root, you'll exit X and there is no error msg.

I've not used Stroke, but I changed the mouse binding to:

Mouse 1 R N Echo myMouse1BindingInvoked

for testing.

In both instances I found the bindings to be ignored. This was because
FVWM defines default bindings for the F1 key & left mouse button. They are:

Key F1 R A Popup MenuFvwmRoot
Mouse 1 R A Menu MenuFvwmRoot

If I do a:

Key F1 R A -
Mouse 1 R A -

Both bindings are successfully invoked when expected.

So the question is: what's changed?

The binding list used to use the _earliest_ matching binding. The
current implementation uses the _latest_ matching binding. It would be
trivial to make it utilise the _earliest_ binding, however I am undecided
if this is really the behaviour we want.

The current & previous implementation match on (in this example)
F1 bindings with 'A' (any) modifier or 'M' (meta) modifier.

ie. they match on _both_ bindings, its just which one appears first/last
(depending on implementation) in the internal binding list that gets invoked.

Should I extend the binding-comparison code to discrimiate on the
modifiers further? (Dominik, I hope you're reading this? :)

ie. choose 'M' modifier bindings (if they exist) before 'A' modifier
bindings if the 'M' modifier is actually pressed.

I should have renamed this thread "degrees of matchingness"! :)

SCoTT. :)
--
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