Commit a0cf313f authored by Andreas.Fink85's avatar Andreas.Fink85

*fix* broke systray with last checkin for fake transparency

*fix* some real transparency stuff fixed... it seems as if it is done now



git-svn-id: http://tint2.googlecode.com/svn/trunk@312 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
parent 3c53d065
......@@ -488,17 +488,16 @@ void set_panel_background(Panel *p)
if (real_transparency) {
clear_pixmap(p->area.pix.pmap, 0, 0, p->area.width, p->area.height);
return; // no need for background pixmap, a transparent one is enough
}
get_root_pixmap();
// copy background (server.root_pmap) in panel.area.pix.pmap
Window dummy;
int x, y;
XTranslateCoordinates(server.dsp, p->main_win, server.root_win, 0, 0, &x, &y, &dummy);
XSetTSOrigin(server.dsp, server.gc, -x, -y) ;
XFillRectangle(server.dsp, p->area.pix.pmap, server.gc, 0, 0, p->area.width, p->area.height);
else {
get_root_pixmap();
// copy background (server.root_pmap) in panel.area.pix.pmap
Window dummy;
int x, y;
XTranslateCoordinates(server.dsp, p->main_win, server.root_win, 0, 0, &x, &y, &dummy);
XSetTSOrigin(server.dsp, server.gc, -x, -y) ;
XFillRectangle(server.dsp, p->area.pix.pmap, server.gc, 0, 0, p->area.width, p->area.height);
}
// draw background panel
cairo_surface_t *cs;
......
......@@ -514,7 +514,7 @@ void refresh_systray_icon()
traywin = (TrayWindow*)l->data;
if (traywin->hide) continue;
if (real_transparency) systray_render_icons(traywin);
else XClearArea(server.dsp, traywin->id, 0, 0, traywin->width, traywin->height, False);
else XClearArea(server.dsp, traywin->id, 0, 0, traywin->width, traywin->height, True);
}
if (real_transparency)
XFlush(server.dsp);
......
......@@ -830,6 +830,7 @@ int main (int argc, char *argv[])
default:
if (e.type == XDamageNotify+damage_event)
// TODO: update only the damaged icon, not all of them
systray.area.redraw = 1;
}
}
......
......@@ -110,8 +110,7 @@ void draw (Area *a, int active)
// add layer of root pixmap (or clear pixmap if real_transparency==true)
if (real_transparency)
clear_pixmap(*pmap, 0 ,0, a->width, a->height);
else
XCopyArea (server.dsp, ((Panel *)a->panel)->temp_pmap, *pmap, server.gc, a->posx, a->posy, a->width, a->height, 0, 0);
XCopyArea (server.dsp, ((Panel *)a->panel)->temp_pmap, *pmap, server.gc, a->posx, a->posy, a->width, a->height, 0, 0);
cairo_surface_t *cs;
cairo_t *c;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment