]> Dogcows Code - chaz/tint2/blobdiff - src/tint.c
panel_items : fixed change number of desktop
[chaz/tint2] / src / tint.c
index fd89b8c468a528467ec22347a4913fee61c19894..80a7dd9488592bdef3fa91c376562e9a0af11f63 100644 (file)
@@ -487,19 +487,23 @@ void event_property_notify (XEvent *e)
 
                // 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]);
                                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++) {
@@ -883,7 +887,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 +907,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) {
This page took 0.023458 seconds and 4 git commands to generate.