[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/xmenu.c
From: |
Jan Djärv |
Subject: |
[Emacs-diffs] Changes to emacs/src/xmenu.c |
Date: |
Mon, 27 Dec 2004 10:36:53 -0500 |
Index: emacs/src/xmenu.c
diff -c emacs/src/xmenu.c:1.273 emacs/src/xmenu.c:1.274
*** emacs/src/xmenu.c:1.273 Tue Dec 7 13:11:59 2004
--- emacs/src/xmenu.c Mon Dec 27 15:24:12 2004
***************
*** 1243,1248 ****
--- 1243,1253 ----
&& dpyinfo->display == event.xbutton.display)
{
KeySym keysym = XLookupKeysym (&event.xkey, 0);
+
+ /* Pop down on C-g. */
+ if (keysym == XK_g && (event.xkey.state & ControlMask) != 0)
+ popup_activated_flag = 0;
+
if (!IsModifierKey (keysym)
&& x_any_window_to_frame (dpyinfo, event.xany.window) != NULL)
popup_activated_flag = 0;
***************
*** 2226,2231 ****
--- 2231,2239 ----
}
else
{
+ char menuOverride[] = "Ctrl<KeyPress>g: MenuGadgetEscape()";
+ XtTranslations override = XtParseTranslationTable (menuOverride);
+
menubar_widget = lw_create_widget ("menubar", "menubar", id, first_wv,
f->output_data.x->column_widget,
0,
***************
*** 2234,2239 ****
--- 2242,2250 ----
popup_deactivate_callback,
menu_highlight_callback);
f->output_data.x->menubar_widget = menubar_widget;
+
+ /* Make menu pop down on C-g. */
+ XtOverrideTranslations (menubar_widget, override);
}
{
***************
*** 3155,3160 ****
--- 3166,3174 ----
}
}
}
+ else
+ /* Make "Cancel" equivalent to C-g. */
+ Fsignal (Qquit, Qnil);
return Qnil;
}
***************
*** 3500,3506 ****
--- 3514,3526 ----
case XM_FAILURE:
*error = "Can't activate menu";
case XM_IA_SELECT:
+ entry = Qnil;
+ break;
case XM_NO_SELECT:
+ /* Make "Cancel" equivalent to C-g unless this menu was popped up by
+ a mouse press. */
+ if (! for_click)
+ Fsignal (Qquit, Qnil);
entry = Qnil;
break;
}