diff -urN I:\lin-src\openbox\dana\openbox.git\openbox/menu.c ./openbox/menu.c --- I:\lin-src\openbox\dana\openbox.git\openbox/menu.c Thu Aug 4 00:01:28 2011 +++ ./openbox/menu.c Mon Sep 12 22:43:44 2011 @@ -469,21 +472,8 @@ if (!menu_frame_show_topmenu(frame, x, y, mouse)) menu_frame_free(frame); else { - if (!mouse) { - /* select the first entry if it's not a submenu and we opened - * the menu with the keyboard, and skip all headers */ - GList *it = frame->entries; - while (it) { - ObMenuEntryFrame *e = it->data; - if (e->entry->type == OB_MENU_ENTRY_TYPE_NORMAL) { - menu_frame_select(frame, e, FALSE); - break; - } else if (e->entry->type == OB_MENU_ENTRY_TYPE_SEPARATOR) - it = g_list_next(it); - else - break; - } - } + if (!mouse) + menu_frame_select_next(frame); /* reset the hide timer */ if (!mouse)