]> Dogcows Code - chaz/tint2/blobdiff - src/tint.c
launcher : limit launcher_icon_theme to 1 theme. Add XSETTINGS client and read launch...
[chaz/tint2] / src / tint.c
index b975fecf50a987dde7dc7af203efd3b806aaa630..794aefbefee0ca97efb5ff8f8bfd1ac2a74345c8 100644 (file)
@@ -3,7 +3,7 @@
 * Tint2 panel
 *
 * Copyright (C) 2007 Pål Staurland (staura@gmail.com)
-* Modified (C) 2008 thierry lorthiois (lorthiois@bbsoft.fr)
+* Modified (C) 2008 thierry lorthiois (lorthiois@bbsoft.fr) from Omega distribution
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License version 2
@@ -42,6 +42,7 @@
 #include "panel.h"
 #include "tooltip.h"
 #include "timer.h"
+#include "xsettings-client.h"
 
 
 void signal_handler(int sig)
@@ -135,7 +136,7 @@ void init_X11()
        setlocale (LC_ALL, "");
        // config file use '.' as decimal separator
        setlocale(LC_NUMERIC, "POSIX");
-
+       
        // load default icon
        gchar *path;
        const gchar * const *data_dirs;
@@ -538,8 +539,6 @@ void event_property_notify (XEvent *e)
                                                tskbar->area.resize = 1;
                                        }
                                }
-                               if (panel_mode != MULTI_DESKTOP) 
-                                       visible_taskbar(panel);
                        }
                }
                // Window list
@@ -584,12 +583,13 @@ void event_property_notify (XEvent *e)
 
                // Window title changed
                if (at == server.atom._NET_WM_VISIBLE_NAME || at == server.atom._NET_WM_NAME || at == server.atom.WM_NAME) {
-                       get_title(tsk);
-                       if (g_tooltip.mapped && (g_tooltip.area == (Area*)tsk)) {
-                               tooltip_copy_text((Area*)tsk);
-                               tooltip_update();
+                       if (get_title(tsk)) {
+                               if (g_tooltip.mapped && (g_tooltip.area == (Area*)tsk)) {
+                                       tooltip_copy_text((Area*)tsk);
+                                       tooltip_update();
+                               }
+                               panel_refresh = 1;
                        }
-                       panel_refresh = 1;
                }
                // Demand attention
                else if (at == server.atom._NET_WM_STATE) {
@@ -804,6 +804,9 @@ start:
                if (select(x11_fd+1, &fdset, 0, 0, timeout) > 0) {
                        while (XPending (server.dsp)) {
                                XNextEvent(server.dsp, &e);
+                               if (xsettings_client != NULL) {
+                                       xsettings_client_process_event(xsettings_client, &e);
+                               }
 
                                panel = get_panel(e.xany.window);
                                if (panel && panel_autohide) {
This page took 0.020812 seconds and 4 git commands to generate.