- Subject: Re: enable_menu_keys patch
- From: Thei Wijnen <t.wijnen@xxxxxxxxx>
- Date: Thu, 23 Mar 2006 00:49:25 +0100 (CET)
Hi,
I am also in favor of having menu keys that are only bound to
Alt-* or Esc-*. I also like to see the bindings to the keypad
keys removed so that the user can bind them to whatever he likes.
E.g. I use keypad keys for the EDT mode.
My version of menus.sl (tested on Windows and Linux) can be found
on my "jed" webpage:
www.hef.ru.nl/~thei/JED/
Thei.
On Fri, 17 Mar 2006, G. Milde wrote:
> Dear John and Jed Users,
>
> the latest discussion about the brief mode on this list lead to my suggstion
> of a new version of the enable_menu_keys() function in menus.sl. One that
> only changes the minimum of bindings to let the user access the menus with
> Alt-* hot-keys. This way, an emulations binding to e.g. Alt-M or F10 remains
> untouched even if jed.rc contained
>
> require("brief");
> enable_menu_keys();
>
> I put my version on the list for discussion in the hope of an eventual
> inclusion in a future version of menus.sl.
>
> Guenter
>
>
>
> % A "non-invasive" version of enable_menu_keys()
> % only Alt-* Hotkeys, no "invisible" bindings like Alt-M or F10.
> % The binding of the generic "select_menubar" should be done by the
> % emulation mode, e.g.
> %
> % require("keydefs");
> % unset_setkey ("select_menubar", Key_F10);
> %
> % This version also honours the value of ALT_CHAR.
> %
> % Under Win/DOS, if ALT_CHAR is 0 the string sent by Esc <key> differs
> % from the string sent by Alt-<key>. In this case, only Alt-<key> is
> % rebound, leaving the emulation's bindings of Esc-<key> intact.
>
>
> % duplicate from menus.sl to enable evaluation
> private define unset_setkey (fun, key)
> {
> unsetkey (key);
> setkey (fun, key);
> }
>
>
> %!%+
> %\function{enable_menu_keys}
> %\synopsis{}
> %\usage{enable_menu_keys ()}
> %\description
> % Some emulations set keys that conflict with access to the menubars. For
> % example, emacs uses ESC-f to move by words.
> %
> % \sfun{enable_menu_keys} re-binds the Alt-F ... Alt-H hot-keys to activate
> % the menus.
> %\example
> % Put (or uncomment) the line
> %#v+
> % enable_menu_keys();
> %#v-
> % in your jed.rc file to let the menu hot-keys override the emulation
> % bindings.
> %\seealso{menu_select_menu, menu_load_popups}
> %!%-
> define enable_menu_keys ()
> {
> variable fun = "menu_select_menu(\"Global.%s\")";
> #ifdef IBMPC_SYSTEM
> if (ALT_CHAR == 0)
> {
> unset_setkey(sprintf(fun, "&File"), "^@!"); % Alt-F
> unset_setkey(sprintf(fun, "&Edit"), "^@^R"); % Alt-E
> unset_setkey(sprintf(fun, "M&ode"), "^@^X"); % Alt-O
> unset_setkey(sprintf(fun, "&Search"), "^@^_"); % Alt-S
> unset_setkey(sprintf(fun, "&Buffers"), "^@0"); % Alt-B
> unset_setkey(sprintf(fun, "W&indows"), "^@^W"); % Alt-I
> unset_setkey(sprintf(fun, "&Help"), "^@^U"); % Alt-Y
> unset_setkey(sprintf(fun, "S&ystem"), "^@#"); % Alt-H
> return;
> }
> #endif
> unset_setkey(sprintf(fun, "&File"), sprintf("%cf", ALT_CHAR));
> unset_setkey(sprintf(fun, "&Edit"), sprintf("%ce", ALT_CHAR));
> unset_setkey(sprintf(fun, "M&ode"), sprintf("%co", ALT_CHAR));
> unset_setkey(sprintf(fun, "&Search"), sprintf("%cs", ALT_CHAR));
> unset_setkey(sprintf(fun, "&Buffers"), sprintf("%cb", ALT_CHAR));
> unset_setkey(sprintf(fun, "W&indows"), sprintf("%ci", ALT_CHAR));
> unset_setkey(sprintf(fun, "&Help"), sprintf("%cy", ALT_CHAR));
> unset_setkey(sprintf(fun, "S&ystem"), sprintf("%ch", ALT_CHAR));
> }
>
> --------------------------
> To unsubscribe send email to <jed-users-request@xxxxxxxxxxx> with
> the word "unsubscribe" in the message body.
> Need help? Email <jed-users-owner@xxxxxxxxxxx>.
>
--
Thei.
+-------------------------------------------------------------------+
| T.A.M. Wijnen www.hef.ru.nl/~thei/
| Radboud Universiteit Nijmegen Exp. Hoge Energie Fysica, (N3019)
| Toernooiveld 1, Tel.: +31 24 365 2100
| 6525 ED Nijmegen (NL) Fax : +31 24 365 2191
+-------+-------+-------+-------+-------+-------+-------+-------+---+
--------------------------
To unsubscribe send email to <jed-users-request@xxxxxxxxxxx> with
the word "unsubscribe" in the message body.
Need help? Email <jed-users-owner@xxxxxxxxxxx>.
[2006 date index]
[2006 thread index]
[Thread Prev] [Thread Next]
[Date Prev] [Date Next]