]> Dogcows Code - chaz/tint2/commitdiff
*fix* maybe issue 212
authorAndreas Fink <andreas.fink85@googlemail.com>
Sat, 30 Jan 2010 23:06:07 +0000 (23:06 +0000)
committerAndreas Fink <andreas.fink85@googlemail.com>
Sat, 30 Jan 2010 23:06:07 +0000 (23:06 +0000)
src/config.c
src/systray/systraybar.c
src/taskbar/taskbar.c
src/tint.c

index c159a30e043da926cfdd4654570ad315401d8c92..b4362147fa1f8adbc49015c1b940275437cd93aa 100644 (file)
@@ -87,9 +87,6 @@ void init_config()
                pango_font_description_free(panel_config.g_task.font_desc);
        }
        memset(&panel_config, 0, sizeof(Panel));
-       int i;
-       for (i=0; i<TASK_STATE_COUNT; ++i)
-               panel_config.g_task.alpha[i] = 100;
        systray.alpha = 100;
        systray.sort = 3;
        old_config_file = 1;
index 2e34f3e63a5353d10035c76387bab190903a7250..edf0706e1a18fca03d6b903b83ee6f72d0898c8e 100644 (file)
@@ -546,9 +546,20 @@ void systray_render_icon_now(void* t)
 
 void systray_render_icon(TrayWindow* traywin)
 {
-       // wine tray icons update whenever mouse is over them, so we limit the updates to 50 ms
-       if (traywin->render_timeout == 0)
-               traywin->render_timeout = add_timeout(50, 0, systray_render_icon_now, traywin);
+       if (real_transparency || systray.alpha != 100 || systray.brightness != 0 || systray.saturation != 0) {
+               // wine tray icons update whenever mouse is over them, so we limit the updates to 50 ms
+               if (traywin->render_timeout == 0)
+                       traywin->render_timeout = add_timeout(50, 0, systray_render_icon_now, traywin);
+       }
+       else {
+               // comment by andreas: I'm still not sure, what exactly we need to do here... Somehow trayicons which do not
+               // offer the same depth as tint2 does, need to draw a background pixmap, but this cannot be done with
+               // XCopyArea... So we actually need XRenderComposite???
+//                     Pixmap pix = XCreatePixmap(server.dsp, server.root_win, traywin->width, traywin->height, server.depth);
+//                     XCopyArea(server.dsp, panel->temp_pmap, pix, server.gc, traywin->x, traywin->y, traywin->width, traywin->height, 0, 0);
+//                     XSetWindowBackgroundPixmap(server.dsp, traywin->id, pix);
+               XClearArea(server.dsp, traywin->tray_id, 0, 0, traywin->width, traywin->height, True);
+       }
 }
 
 
@@ -559,16 +570,6 @@ void refresh_systray_icon()
        for (l = systray.list_icons; l ; l = l->next) {
                traywin = (TrayWindow*)l->data;
                if (traywin->hide) continue;
-               if (real_transparency || systray.alpha != 100 || systray.brightness != 0 || systray.saturation != 0)
-                       systray_render_icon(traywin);
-               else {
-                       // comment by andreas: I'm still not sure, what exactly we need to do here... Somehow trayicons which do not
-                       // offer the same depth as tint2 does, need to draw a background pixmap, but this cannot be done with
-                       // XCopyArea... So we actually need XRenderComposite???
-//                     Pixmap pix = XCreatePixmap(server.dsp, server.root_win, traywin->width, traywin->height, server.depth);
-//                     XCopyArea(server.dsp, panel->temp_pmap, pix, server.gc, traywin->x, traywin->y, traywin->width, traywin->height, 0, 0);
-//                     XSetWindowBackgroundPixmap(server.dsp, traywin->id, pix);
-                       XClearArea(server.dsp, traywin->tray_id, 0, 0, traywin->width, traywin->height, True);
-               }
+               systray_render_icon(traywin);
        }
 }
index feeb18c67d34d98a09c693096acd6ddb1eb122ed..02c5c8eeefbce5b814544ad10058a3507396734b 100644 (file)
@@ -64,7 +64,7 @@ void init_taskbar()
                        panel->g_taskbar.area.bg = panel->g_taskbar.bg;
                }
                if (panel->g_taskbar.bg_active == 0)
-                       panel->g_taskbar.bg_active = &g_array_index(backgrounds, Background, 0);
+                       panel->g_taskbar.bg_active = panel->g_taskbar.bg;
                if (panel->g_task.area.bg == 0)
                        panel->g_task.area.bg = &g_array_index(backgrounds, Background, 0);
 
index 502c7b1812670159cb688471b6e8f06481c21582..fef466a279401b5bc723dbc3ac45dcaa0fc72495 100644 (file)
@@ -821,7 +821,7 @@ int main (int argc, char *argv[])
                                                        XDamageNotifyEvent* de = &event_union.de;
                                                        for (l = systray.list_icons; l ; l = l->next) {
                                                                traywin = (TrayWindow*)l->data;
-                                                               if ( traywin->id == de->drawable && !de->more ) {
+                                                               if ( traywin->id == de->drawable ) {
                                                                        systray_render_icon(traywin);
                                                                        break;
                                                                }
This page took 0.024786 seconds and 4 git commands to generate.