X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Ftint.c;h=5c96d54f1ca921c5713991d8f6546068bddce471;hb=f49c9bee1c435275576a25e1a99141bf553c8c3a;hp=536cbc38e03c6c5e4191efd4efdb4d53df2ca633;hpb=b984f3f3b26d76ba6bf7488ac9737cd69413031c;p=chaz%2Ftint2 diff --git a/src/tint.c b/src/tint.c index 536cbc3..5c96d54 100644 --- a/src/tint.c +++ b/src/tint.c @@ -492,13 +492,41 @@ 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 else if (at == server.atom._NET_NUMBER_OF_DESKTOPS) { if (!taskbar_enabled) return; server.nb_desktop = server_get_number_of_desktop (); + if (server.nb_desktop <= server.desktop) { + server.desktop = server.nb_desktop-1; + } cleanup_taskbar(); init_taskbar(); for (i=0 ; i < nb_panel ; i++) { @@ -559,7 +587,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 +876,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 +886,7 @@ start: } case LeaveNotify: - if (g_tooltip.enabled) - tooltip_trigger_hide(); + tooltip_trigger_hide(); break; case Expose: @@ -898,7 +924,7 @@ start: break; } } - break; + break; case ClientMessage: ev = &e.xclient;