X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fclient_menu.c;h=11e31965d68f5ce5a7e792af193c5eb71b86e029;hb=370b5ba27d77c3eecb984f2efa64a4263d454112;hp=8375d396819bd189937fd00d884786149ad270a9;hpb=fa332cc31474cf1337a0aba5b7d2e9bdd028d87c;p=chaz%2Fopenbox diff --git a/openbox/client_menu.c b/openbox/client_menu.c index 8375d396..11e31965 100644 --- a/openbox/client_menu.c +++ b/openbox/client_menu.c @@ -173,26 +173,8 @@ static void desktop_change_callback(ObClient *c, gpointer data) { ObMenuFrame *frame = data; if (c == frame->client) { - /* adding/removing entries while it's shown is not fun, so just hide - the menu and reshow it */ - if (frame->parent) { - ObMenuEntryFrame *me = frame->parent_entry; - ObMenuFrame *parent = frame->parent; - gint sel = - g_list_position(frame->entries, - g_list_find(frame->entries, frame->selected)); - menu_frame_select(parent, NULL, TRUE); - menu_frame_select(parent, me, TRUE); - - frame = parent->child; - /* reselect the same spot or the last one if it got shorter */ - sel = MIN(sel, (gint)g_list_length(frame->entries)); - if (sel >= 0) - menu_frame_select(frame, - g_list_nth(frame->entries, sel)->data, - TRUE); - } else - menu_frame_hide(frame); + /* the client won't even be on the screen anymore, so hide the menu */ + menu_frame_hide_all(); } }