X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fclient_menu.c;h=e9922bdd30e0274629b19de1a815643aa25f7e05;hb=5f7ffb00ba0050de28e915f6dcbd711b03eec938;hp=083341ca4bac832c27d50e8b96f0b2b728bd1e78;hpb=133ce865f72a0cdf374d9c2a5514da72f85281e4;p=chaz%2Fopenbox diff --git a/openbox/client_menu.c b/openbox/client_menu.c index 083341ca..e9922bdd 100644 --- a/openbox/client_menu.c +++ b/openbox/client_menu.c @@ -72,13 +72,16 @@ static void client_update(ObMenuFrame *frame, gpointer data) e->data.normal.enabled = frame->client->functions & OB_CLIENT_FUNC_ICONIFY; e = menu_find_entry_id(menu, CLIENT_MAXIMIZE); - e->data.normal.label = frame->client->max_vert || frame->client->max_horz ? - _("Restore") : _("Maximize"); + g_free(e->data.normal.label); + e->data.normal.label = + g_strdup(frame->client->max_vert || frame->client->max_horz ? + _("Restore") : _("Maximize")); e->data.normal.enabled =frame->client->functions & OB_CLIENT_FUNC_MAXIMIZE; e = menu_find_entry_id(menu, CLIENT_SHADE); - e->data.normal.label = frame->client->shaded ? - _("Roll down") : _("Roll up"); + g_free(e->data.normal.label); + e->data.normal.label = g_strdup(frame->client->shaded ? + _("Roll down") : _("Roll up")); e->data.normal.enabled = frame->client->functions & OB_CLIENT_FUNC_SHADE; e = menu_find_entry_id(menu, CLIENT_MOVE); @@ -89,6 +92,9 @@ static void client_update(ObMenuFrame *frame, gpointer data) e = menu_find_entry_id(menu, CLIENT_CLOSE); e->data.normal.enabled = frame->client->functions & OB_CLIENT_FUNC_CLOSE; + + e = menu_find_entry_id(menu, CLIENT_DECORATE); + e->data.normal.enabled = client_normal(frame->client); } static void layer_update(ObMenuFrame *frame, gpointer data) @@ -122,6 +128,7 @@ static void send_to_update(ObMenuFrame *frame, gpointer data) guint i; GSList *acts; ObAction *act; + ObMenuEntry *e;; menu_clear_entries(menu); @@ -147,13 +154,10 @@ static void send_to_update(ObMenuFrame *frame, gpointer data) act->data.sendto.desk = desk; act->data.sendto.follow = FALSE; acts = g_slist_prepend(NULL, act); - menu_add_normal(menu, desk, name, acts); + e = menu_add_normal(menu, desk, name, acts); - if (frame->client->desktop == desk) { - ObMenuEntry *e = menu_find_entry_id(menu, desk); - g_assert(e); + if (frame->client->desktop == desk) e->data.normal.enabled = FALSE; - } } }