summaryrefslogtreecommitdiff
path: root/openbox/event.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-05-19 20:58:10 +0000
committerDana Jansens <danakj@orodu.net>2007-05-19 20:58:10 +0000
commit83da4ec9398d197f39461cd7305163b2676840c8 (patch)
tree6c31a2cac15d607198558d87627fbc23564b71d8 /openbox/event.c
parentea272a93efe26bb6c0b0d9278cee4a67cc9c872e (diff)
fix escape's behavior in menus. make static stuff that shouldnt be used by others
Diffstat (limited to 'openbox/event.c')
-rw-r--r--openbox/event.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/openbox/event.c b/openbox/event.c
index 8f211202..ace548a6 100644
--- a/openbox/event.c
+++ b/openbox/event.c
@@ -1482,8 +1482,11 @@ static gboolean event_handle_menu_keyboard(XEvent *ev)
ret = FALSE;
else if (keycode == ob_keycode(OB_KEY_ESCAPE) && state == 0) {
- /* Escape closes the active menu */
- menu_frame_hide(frame);
+ /* Escape goes to the parent menu or closes the last one */
+ if (frame->parent)
+ menu_frame_select(frame, NULL, TRUE);
+ else
+ menu_frame_hide_all();
}
else if (keycode == ob_keycode(OB_KEY_RETURN) && (state == 0 ||