X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=inline;f=plugins%2Fmenu%2Fclient_menu.c;h=816de3ec5647d13b1aa28967ecddb21bc76beb78;hb=8173509e90ab97f60af6a81e955df82b3c2157a0;hp=d48d1f053986a0dc81c486149050648667e27e89;hpb=f37a9190959279d0f3c1cd7e62099e74930d36d2;p=chaz%2Fopenbox diff --git a/plugins/menu/client_menu.c b/plugins/menu/client_menu.c index d48d1f05..816de3ec 100644 --- a/plugins/menu/client_menu.c +++ b/plugins/menu/client_menu.c @@ -31,6 +31,13 @@ void client_send_to_update(ObMenu *self) /* check if we have to update. lame */ while (it != NULL) { + if (i == screen_desktop) { + if (((ObMenuEntry *)it->data)->enabled) + break; + } else { + if (!((ObMenuEntry *)it->data)->enabled) + break; + } if (i >= screen_num_desktops) break; if (strcmp(screen_desktop_names[i], @@ -45,10 +52,12 @@ void client_send_to_update(ObMenu *self) ob_debug("update\n"); for (i = 0; i < screen_num_desktops; ++i) { ObMenuEntry *e; - Action *a = action_from_string("sendtodesktop"); + ObAction *a = action_from_string("sendtodesktop"); a->data.sendto.desk = i; a->data.sendto.follow = FALSE; e = menu_entry_new(screen_desktop_names[i], a); + if (i == screen_desktop) + e->enabled = FALSE; menu_add_entry(self, e); } @@ -102,7 +111,7 @@ void plugin_destroy (ObMenu *m) void *plugin_create() /* TODO: need config */ { ObMenu *m = menu_new_full(NULL, "client-menu", NULL, - client_menu_show, NULL, NULL, NULL, NULL); + client_menu_show, NULL, NULL, NULL, NULL, NULL); m->plugin = PLUGIN_NAME; menu_add_entry(m, menu_entry_new_submenu("Send To Workspace", send_to_menu)); @@ -144,7 +153,9 @@ void plugin_startup() ObMenu *t; /* create a Send To Workspace ObMenu */ send_to_menu = menu_new_full(NULL, "send-to-workspace", - NULL, NULL, client_send_to_update, NULL, NULL, NULL); + NULL, NULL, client_send_to_update, + NULL, NULL, NULL, + NULL); layer_menu = menu_new(NULL, "layer", NULL); menu_add_entry(layer_menu, menu_entry_new("Top Layer",