summaryrefslogtreecommitdiff
path: root/openbox/event.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbox/event.c')
-rw-r--r--openbox/event.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/openbox/event.c b/openbox/event.c
index ba39ef9f..2dde1329 100644
--- a/openbox/event.c
+++ b/openbox/event.c
@@ -1945,8 +1945,15 @@ static gboolean event_handle_menu_input(XEvent *ev)
if (found) {
menu_frame_select(frame, found, TRUE);
- if (num_found == 1)
- frame->press_doexec = TRUE;
+ if (num_found == 1) {
+ if (found->entry->type == OB_MENU_ENTRY_TYPE_SUBMENU) {
+ /* move focus to the child menu */
+ menu_frame_select_next(frame->child);
+ }
+ else {
+ frame->press_doexec = TRUE;
+ }
+ }
ret = TRUE;
}
}