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();
- visible_object();
for (i=0 ; i < nb_panel ; i++) {
+ init_taskbar_panel(&panel1[i]);
+ set_panel_items_order(&panel1[i]);
+ visible_taskbar(&panel1[i]);
panel1[i].area.resize = 1;
}
task_refresh_tasklist();
}
// 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
signal_pending = SIGUSR1;
break;
}
- if (e.xany.window == g_tooltip.window || !systray.area.on_screen)
+ if (e.xany.window == g_tooltip.window || !systray_enabled)
break;
for (it = systray.list_icons; it; it = g_slist_next(it)) {
if (((TrayWindow*)it->data)->tray_id == e.xany.window) {
// Start real_transparency
signal_pending = SIGUSR1;
}
- if (systray.area.on_screen && e.xclient.message_type == server.atom._NET_SYSTEM_TRAY_OPCODE && e.xclient.format == 32 && e.xclient.window == net_sel_win) {
+ if (systray_enabled && e.xclient.message_type == server.atom._NET_SYSTEM_TRAY_OPCODE && e.xclient.format == 32 && e.xclient.window == net_sel_win) {
net_message(&e.xclient);
}
else if (e.xclient.message_type == server.atom.XdndPosition) {