]> Dogcows Code - chaz/openbox/blobdiff - openbox/client_list_menu.c
fix3
[chaz/openbox] / openbox / client_list_menu.c
index 985cb729267e1fac1b0825ef246cb89ead415048..e2d00bb5e96276120f11a24c591c8b1cdd9eb078 100644 (file)
@@ -23,6 +23,7 @@
 #include "screen.h"
 #include "client.h"
 #include "focus.h"
+#include "config.h"
 #include "gettext.h"
 
 #include <glib.h>
@@ -49,7 +50,7 @@ static void desk_menu_update(ObMenuFrame *frame, gpointer data)
 
     for (it = focus_order[d->desktop], i = 0; it; it = g_list_next(it), ++i) {
         ObClient *c = it->data;
-        if (client_normal(c)) {
+        if (client_normal(c) && !c->skip_taskbar) {
             GSList *acts = NULL;
             ObAction* act;
             ObMenuEntry *e;
@@ -73,7 +74,7 @@ static void desk_menu_update(ObMenuFrame *frame, gpointer data)
             e = menu_add_normal(menu, i,
                                 (c->iconic ? c->icon_title : c->title), acts);
 
-            if ((icon = client_icon(c, 32, 32))) {
+            if (config_menu_client_list_icons && (icon = client_icon(c, 32, 32))) {
                 e->data.normal.icon_width = icon->width;
                 e->data.normal.icon_height = icon->height;
                 e->data.normal.icon_data = icon->data;
@@ -86,10 +87,14 @@ static void desk_menu_update(ObMenuFrame *frame, gpointer data)
 
         GSList *acts = NULL;
         ObAction* act;
+        ObMenuEntry *e;
+
         act = action_from_string("Desktop", OB_USER_ACTION_MENU_SELECTION);
         act->data.desktop.desk = d->desktop;
         acts = g_slist_append(acts, act);
-        menu_add_normal(menu, 0, _("Go there..."), acts);
+        e = menu_add_normal(menu, 0, _("Go there..."), acts);
+        if (d->desktop == screen_desktop)
+            e->data.normal.enabled = FALSE;
     }
 }
 
This page took 0.022488 seconds and 4 git commands to generate.