]> Dogcows Code - chaz/tint2/blobdiff - src/tint.c
*add* include svn revision in the VERSION_STRING if building with cmake
[chaz/tint2] / src / tint.c
index f88b57fd7f3cb7fb1e549d25fbca40f205ae45d2..23394d9ef5a3f6f64ce35b10c7a9b8321d9b682b 100644 (file)
@@ -31,7 +31,7 @@
 #include <Imlib2.h>
 #include <signal.h>
 
-#include "version.h"
+#include <version.h>
 #include "server.h"
 #include "window.h"
 #include "config.h"
@@ -59,7 +59,9 @@ void init (int argc, char *argv[])
        default_timeout();
        default_systray();
        memset(&server, 0, sizeof(Server_global));
+#ifdef ENABLE_BATTERY
        default_battery();
+#endif
        default_clock();
        default_taskbar();
        default_tooltip();
@@ -128,6 +130,8 @@ void init_X11()
        XSelectInput (server.dsp, server.root_win, PropertyChangeMask|StructureNotifyMask);
 
        setlocale (LC_ALL, "");
+       // config file use '.' as decimal separator
+       setlocale(LC_NUMERIC, "POSIX");
 
        // load default icon
        gchar *path;
@@ -151,7 +155,6 @@ void cleanup()
 {
        cleanup_timeout();
        cleanup_systray();
-       stop_net();
        cleanup_panel();
        cleanup_tooltip();
        cleanup_clock();
@@ -315,7 +318,8 @@ void event_button_press (XEvent *e)
        }
        task_drag = click_task(panel, e->xbutton.x, e->xbutton.y);
 
-       XLowerWindow (server.dsp, panel->main_win);
+       if (panel_layer == BOTTOM_LAYER)
+               XLowerWindow (server.dsp, panel->main_win);
 }
 
 void event_button_motion_notify (XEvent *e)
@@ -380,7 +384,8 @@ void event_button_release (XEvent *e)
 
        if (wm_menu && !tint2_handles_click(panel, &e->xbutton)) {
                forward_click(e);
-               XLowerWindow (server.dsp, panel->main_win);
+               if (panel_layer == BOTTOM_LAYER)
+                       XLowerWindow (server.dsp, panel->main_win);
                task_drag = 0;
                return;
        }
@@ -409,7 +414,8 @@ void event_button_release (XEvent *e)
 
        if ( click_clock(panel, e->xbutton.x, e->xbutton.y)) {
                clock_action(e->xbutton.button);
-               XLowerWindow (server.dsp, panel->main_win);
+               if (panel_layer == BOTTOM_LAYER)
+                       XLowerWindow (server.dsp, panel->main_win);
                task_drag = 0;
                return;
        }
@@ -417,7 +423,8 @@ void event_button_release (XEvent *e)
        Taskbar *tskbar;
        if ( !(tskbar = click_taskbar(panel, e->xbutton.x, e->xbutton.y)) ) {
                // TODO: check better solution to keep window below
-               XLowerWindow (server.dsp, panel->main_win);
+               if (panel_layer == BOTTOM_LAYER)
+                       XLowerWindow (server.dsp, panel->main_win);
                task_drag = 0;
                return;
        }
@@ -439,7 +446,8 @@ void event_button_release (XEvent *e)
        window_action( click_task(panel, e->xbutton.x, e->xbutton.y), action);
 
        // to keep window below
-       XLowerWindow (server.dsp, panel->main_win);
+       if (panel_layer == BOTTOM_LAYER)
+               XLowerWindow (server.dsp, panel->main_win);
 }
 
 
@@ -839,8 +847,8 @@ start:
                                        case UnmapNotify:
                                        case DestroyNotify:
                                                if (e.xany.window == server.composite_manager) {
-                                                       // TODO: Stop real_transparency
-                                                       //signal_pending = SIGUSR2;
+                                                       // Stop real_transparency
+                                                       signal_pending = SIGUSR1;
                                                        break;
                                                }
                                                if (e.xany.window == g_tooltip.window || !systray.area.on_screen)
@@ -857,13 +865,11 @@ start:
                                                ev = &e.xclient;
                                                if (ev->data.l[1] == server.atom._NET_WM_CM_S0) {
                                                        if (ev->data.l[2] == None)
-                                                               // TODO: Stop real_transparency
-                                                               //signal_pending = SIGUSR2;
-                                                               ;
+                                                               // Stop real_transparency
+                                                               signal_pending = SIGUSR1;
                                                        else
-                                                               // TODO: Start real_transparency
-                                                               //signal_pending = SIGUSR2;
-                                                               ;
+                                                               // Start real_transparency
+                                                               signal_pending = SIGUSR1;
                                                }
                                                if (!systray.area.on_screen) break;
                                                if (e.xclient.message_type == server.atom._NET_SYSTEM_TRAY_OPCODE && e.xclient.format == 32 && e.xclient.window == net_sel_win) {
@@ -900,7 +906,7 @@ start:
                        if (signal_pending == SIGUSR1) {
                                // restart tint2
                                // SIGUSR1 used when : user's signal, composite manager stop/start or xrandr
-                               FD_CLR (x11_fd, &fdset);
+                               FD_CLR (x11_fd, &fdset); // not sure if needed
                                goto start;
                        }
                        else {
This page took 0.024282 seconds and 4 git commands to generate.