X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Ftint.c;h=22f67da01d76b7ea5cc4aff2914d976ed646fa06;hb=1aa4d290a90cfc14416f43b205523a6bf401d973;hp=2ba8727d05297a8b5188db4e1dcb812773f27e2a;hpb=928fc258ac46f2cc098f714921c028351b07ec31;p=chaz%2Ftint2 diff --git a/src/tint.c b/src/tint.c index 2ba8727..22f67da 100644 --- a/src/tint.c +++ b/src/tint.c @@ -485,27 +485,35 @@ void event_property_notify (XEvent *e) server.got_root_win = 1; } + // Change name of desktops + else if (at == server.atom._NET_DESKTOP_NAMES) { + printf("_NET_DESKTOP_NAMES\n"); + 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 (); cleanup_taskbar(); init_taskbar(); for (i=0 ; i < nb_panel ; i++) { - set_panel_items(&panel1[i]); + init_taskbar_panel(&panel1[i]); + set_panel_items_order(&panel1[i]); + visible_taskbar(&panel1[i]); panel1[i].area.resize = 1; } - visible_object(); task_refresh_tasklist(); active_task(); panel_refresh = 1; } // Change desktop else if (at == server.atom._NET_CURRENT_DESKTOP) { + if (!taskbar_enabled) return; int old_desktop = server.desktop; server.desktop = server_get_current_desktop (); for (i=0 ; i < nb_panel ; i++) { Panel *panel = &panel1[i]; - if (panel_mode == MULTI_DESKTOP && panel->g_taskbar.use_active) { + if (panel_mode == MULTI_DESKTOP && panel->g_taskbar.bg != panel->g_taskbar.bg_active) { // redraw both taskbar if (server.nb_desktop > old_desktop) { // can happen if last desktop is deleted and we've been on the last desktop @@ -539,9 +547,8 @@ void event_property_notify (XEvent *e) tskbar->area.resize = 1; } } - } - if (panel_mode != MULTI_DESKTOP) { - visible_object(); + if (panel_mode != MULTI_DESKTOP) + visible_taskbar(panel); } } // Window list