all repos — tint2 @ a0cf313f0837d24229d6ddc3fff13102df62cb7d

fork of the tint2 desktop panel for my custom setup - only minimized windows across all desktops for the taskbar

*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
Andreas.Fink85 Andreas.Fink85@121b4492-b84c-0410-8b4c-0d4edfb3f3cc
commit

a0cf313f0837d24229d6ddc3fff13102df62cb7d

parent

3c53d0650630ab1e0e8165bc77d64eb1f5e8ed07

4 files changed, 12 insertions(+), 13 deletions(-)

jump to
M src/panel.csrc/panel.c

@@ -488,17 +488,16 @@ p->area.pix.pmap = XCreatePixmap (server.dsp, server.root_win, p->area.width, p->area.height, server.depth);

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 + } + 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); } - - 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;
M src/systray/systraybar.csrc/systray/systraybar.c

@@ -514,7 +514,7 @@ for (l = systray.list_icons; l ; l = l->next) {

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);
M src/tint.csrc/tint.c

@@ -830,6 +830,7 @@ break;

default: if (e.type == XDamageNotify+damage_event) + // TODO: update only the damaged icon, not all of them systray.area.redraw = 1; } }
M src/util/area.csrc/util/area.c

@@ -110,8 +110,7 @@

// 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;