X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=openbox%2Fclient_menu.c;h=6fa744c41b8545790886c873251a921e4b4f7b6a;hb=9451205cf172d088948d40999e85ad07c3d430dd;hp=499bb9128ad8375d8ce414731c3d43fca1cfee3f;hpb=11df262d7eb56ae6af98af86cbfee8226107114d;p=chaz%2Fopenbox diff --git a/openbox/client_menu.c b/openbox/client_menu.c index 499bb912..6fa744c4 100644 --- a/openbox/client_menu.c +++ b/openbox/client_menu.c @@ -24,6 +24,7 @@ #include "openbox.h" #include "frame.h" #include "moveresize.h" +#include "event.h" #include "prop.h" #include "gettext.h" @@ -90,7 +91,7 @@ static gboolean client_menu_update(ObMenuFrame *frame, gpointer data) *en = c->functions & OB_CLIENT_FUNC_CLOSE; break; case CLIENT_DECORATE: - *en = client_normal(c); + *en = c->functions & OB_CLIENT_FUNC_UNDECORATE; break; default: *en = TRUE; @@ -118,15 +119,19 @@ static void client_menu_execute(ObMenuEntry *e, ObMenuFrame *f, break; case CLIENT_RESTORE: client_maximize(c, FALSE, 0); + event_ignore_queued_enters(); break; case CLIENT_MAXIMIZE: client_maximize(c, TRUE, 0); + event_ignore_queued_enters(); break; case CLIENT_SHADE: client_shade(c, !c->shaded); + event_ignore_queued_enters(); break; case CLIENT_DECORATE: client_set_undecorated(c, !c->undecorated); + event_ignore_queued_enters(); break; case CLIENT_MOVE: /* this needs to grab the keyboard so hide the menu */ @@ -212,6 +217,8 @@ static void layer_menu_execute(ObMenuEntry *e, ObMenuFrame *f, g_assert_not_reached(); } + event_ignore_queued_enters(); + /* update the menu cuz stuff can have changed */ if (f) { layer_menu_update(f, NULL);