Perhaps I have a poor attention span, but I've long had a problem with
keeping my key mappings and functions-present-in-menus in sync; I would
generally like to be able to do most things with a keystroke, and would
still like every such action available in a menu if brain fade prevents
me remembering the magic keystoke.

Thus today's exercise. Two functions, KeyFn and MouseFn to set a key or
mouse mapping and also record it in a menu:

        # KeyFn menu desc keyname context mods "cmd-and-args"
        DestroyFunc KeyFn
        AddToFunc KeyFn         "I"             Key $2 $3 $4 $5
        +                       "I"             AddToMenu $0 "$1" $5

        # MouseFn menu desc button context mods "cmd-and-args"
        DestroyFunc MouseFn
        AddToFunc MouseFn       "I"             Mouse $2 $3 $4 $5
        +                       "I"             AddToMenu $0 "$1" $5

Now my menu definitions are a bit wordier, but nothing will
slip through the cracks:

        DestroyMenu WinOps
        AddToMenu WinOps        "Window Ops"    Title
        KeyFn WinOps "Desk Windows"             L A M           "WindowList 
(CurrentDesk) Alphabetic SelectOnRelease
        [...]
        KeyFn WinOps "Raise"                    H W CS          "Raise"
        KeyFn WinOps "Lower"                    H W CS          "Lower"
        MouseFn WinOps "Resize"                 1 W M           "Resize"
        MouseFn WinOps "Move"                   2 W M           "Move"
        Mouse                                   3 W M           Move
        [...]

Remark on that last: I often have mouse 3 do what mouse 2 does because I
switch keyboards a lot. So one incantation for M2 to put it in the menu,
and a conventional binding for M3 to match.

Cheers,
-- 
Cameron Simpson, DoD#743        [EMAIL PROTECTED]    http://www.zip.com.au/~cs/

The wages of sin are death, but the benefits include dental, major medical,
two week paid vacation, pension fund, and stock options.  Actually, taken as
a package, it's a rather attractive deal.
        - Tim Mefford, [EMAIL PROTECTED]
--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]

Reply via email to