]> Dogcows Code - chaz/tint2/commitdiff
*fix* set window background on trayicon parents
authorAndreas Fink <andreas.fink85@googlemail.com>
Sat, 16 Jan 2010 18:58:31 +0000 (18:58 +0000)
committerAndreas Fink <andreas.fink85@googlemail.com>
Sat, 16 Jan 2010 18:58:31 +0000 (18:58 +0000)
src/systray/systraybar.c

index 87e20ec7f1772677ff0290da8d8bb86adbf8ece9..c07ae74c717343c094b406e3e27673d45dd2439b 100644 (file)
@@ -553,6 +553,7 @@ void systray_render_icon(TrayWindow* traywin)
 
 void refresh_systray_icon()
 {
+       Panel* panel = systray.area.panel;
        TrayWindow *traywin;
        GSList *l;
        for (l = systray.list_icons; l ; l = l->next) {
@@ -560,7 +561,11 @@ void refresh_systray_icon()
                if (traywin->hide) continue;
                if (real_transparency || systray.alpha != 100 || systray.brightness != 0 || systray.saturation != 0)
                        systray_render_icon(traywin);
-               else
+               else {
+                       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);
                        XClearArea(server.dsp, traywin->tray_id, 0, 0, traywin->width, traywin->height, True);
+                       XSetWindowBackgroundPixmap(server.dsp, traywin->id, pix);
+               }
        }
 }
This page took 0.024376 seconds and 4 git commands to generate.