]> Dogcows Code - chaz/tint2/blobdiff - src/tint.c
*add* remove of tooltip = En/Disabled. it's renamed to task_tooltip to enable/disable...
[chaz/tint2] / src / tint.c
index 536cbc38e03c6c5e4191efd4efdb4d53df2ca633..bc915eb3f3a51f31cbf110e6e7744376c46efe3e 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
@@ -559,7 +584,7 @@ void event_property_notify (XEvent *e)
                        active_task();
                        panel_refresh = 1;
                }
-               else if (at == server.atom._XROOTPMAP_ID) {
+               else if (at == server.atom._XROOTPMAP_ID || at == server.atom._XROOTMAP_ID) {
                        // change Wallpaper
                        for (i=0 ; i < nb_panel ; i++) {
                                set_panel_background(&panel1[i]);
@@ -848,7 +873,6 @@ start:
                                                if (e.xmotion.state & button_mask)
                                                        event_button_motion_notify (&e);
 
-                                               if (!g_tooltip.enabled) break;
                                                Panel* panel = get_panel(e.xmotion.window);
                                                Area* area = click_area(panel, e.xmotion.x, e.xmotion.y);
                                                if (area->_get_tooltip_text)
@@ -859,8 +883,7 @@ start:
                                        }
 
                                        case LeaveNotify:
-                                               if (g_tooltip.enabled)
-                                                       tooltip_trigger_hide();
+                                               tooltip_trigger_hide();
                                                break;
 
                                        case Expose:
@@ -898,7 +921,7 @@ start:
                                                                break;
                                                        }
                                                }
-                                       break;
+                                               break;
 
                                        case ClientMessage:
                                                ev = &e.xclient;
This page took 0.021305 seconds and 4 git commands to generate.