]> Dogcows Code - chaz/tint2/blobdiff - src/tint.c
*fix* warning
[chaz/tint2] / src / tint.c
index 536cbc38e03c6c5e4191efd4efdb4d53df2ca633..db4095985ffa2668afdf23ec237e8b55b13c1d47 100644 (file)
@@ -492,7 +492,32 @@ void event_property_notify (XEvent *e)
 
                // Change name of desktops
                else if (at == server.atom._NET_DESKTOP_NAMES) {
-                       printf("_NET_DESKTOP_NAMES\n");
+                       if (!taskbarname_enabled) return;
+                       GSList *l, *list = server_get_name_of_desktop();
+                       int j;
+                       gchar *name;
+                       Taskbar *tskbar;
+                       for (i=0 ; i < nb_panel ; i++) {
+                               for (j=0, l=list ; j < panel1[i].nb_desktop ; j++) {
+                                       if (l) {
+                                               name = g_strdup(l->data);
+                                               l = l->next;
+                                       }
+                                       else
+                                               name = g_strdup_printf("%d", j+1);
+                                       tskbar = &panel1[i].taskbar[j];
+                                       if (strcmp(name, tskbar->bar_name.name) != 0) {
+                                               g_free(tskbar->bar_name.name);
+                                               tskbar->bar_name.name = name;
+                                               tskbar->bar_name.area.resize = 1;
+                                       }
+                                       else
+                                               g_free(name);
+                               }
+                       }
+                       for (l=list ; l ; l = l->next)
+                               g_free(l->data);
+                       g_slist_free(list);
                        panel_refresh = 1;
                }
                // Change number of desktops
@@ -898,7 +923,7 @@ start:
                                                                break;
                                                        }
                                                }
-                                       break;
+                                               break;
 
                                        case ClientMessage:
                                                ev = &e.xclient;
This page took 0.021978 seconds and 4 git commands to generate.