diff options
| -rw-r--r-- | openbox/event.c | 11 |
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; } } |
