// 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
tskbar->area.resize = 1;
}
}
- }
- if (panel_mode != MULTI_DESKTOP) {
- visible_object();
+ if (panel_mode != MULTI_DESKTOP)
+ visible_taskbar(panel);
}
}
// Window list