X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Ftint2;a=blobdiff_plain;f=src%2Ftint.c;h=22f67da01d76b7ea5cc4aff2914d976ed646fa06;hp=fd89b8c468a528467ec22347a4913fee61c19894;hb=1aa4d290a90cfc14416f43b205523a6bf401d973;hpb=7a03bbf353324d6803aa84ca8fd41e6c6f4d099c diff --git a/src/tint.c b/src/tint.c index fd89b8c..22f67da 100644 --- a/src/tint.c +++ b/src/tint.c @@ -485,13 +485,21 @@ 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(); - 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(); @@ -500,11 +508,12 @@ void event_property_notify (XEvent *e) } // 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 @@ -538,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 @@ -883,7 +891,7 @@ start: 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) { @@ -903,7 +911,7 @@ start: // 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) {