all repos — tint2 @ 99dc929a7c90d5072d3e6f5052dd43968e1114e1

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

fixed bad background with fake transparency+hidden panel

git-svn-id: http://tint2.googlecode.com/svn/trunk@350 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
thilor77 thilor77@121b4492-b84c-0410-8b4c-0d4edfb3f3cc
commit

99dc929a7c90d5072d3e6f5052dd43968e1114e1

parent

961229a64b9a0c432f8f797dde4a168836c62d5f

2 files changed, 13 insertions(+), 6 deletions(-)

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

@@ -551,6 +551,12 @@ {

if (p->area.pix) XFreePixmap (server.dsp, p->area.pix); p->area.pix = XCreatePixmap (server.dsp, server.root_win, p->area.width, p->area.height, server.depth); + int xoff=0, yoff=0; + if (panel_horizontal && panel_position & BOTTOM) + yoff = p->area.height-p->hidden_height; + else if (!panel_horizontal && panel_position & RIGHT) + xoff = p->area.width-p->hidden_width; + if (real_transparency) { clear_pixmap(p->area.pix, 0, 0, p->area.width, p->area.height); }

@@ -560,7 +566,12 @@ // copy background (server.root_pmap) in panel.area.pix

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) ; + if (panel_autohide && p->is_hidden) { + x -= xoff; + y -= yoff; + } + //printf("x %d, y %d\n", x, y); + XSetTSOrigin(server.dsp, server.gc, -x, -y); XFillRectangle(server.dsp, p->area.pix, server.gc, 0, 0, p->area.width, p->area.height); }

@@ -576,11 +587,6 @@

if (panel_autohide) { if (p->hidden_pixmap) XFreePixmap(server.dsp, p->hidden_pixmap); p->hidden_pixmap = XCreatePixmap(server.dsp, server.root_win, p->hidden_width, p->hidden_height, server.depth); - int xoff=0, yoff=0; - if (panel_horizontal && panel_position & BOTTOM) - yoff = p->area.height-p->hidden_height; - else if (!panel_horizontal && panel_position & RIGHT) - xoff = p->area.width-p->hidden_width; XCopyArea(server.dsp, p->area.pix, p->hidden_pixmap, server.gc, xoff, yoff, p->hidden_width, p->hidden_height, 0, 0); }
M src/tint.csrc/tint.c

@@ -263,6 +263,7 @@ Taskbar *tskbar = click_taskbar(panel, e->x, e->y);

if (tskbar && e->button == 1 && panel_mode == MULTI_DESKTOP) return 1; if (click_clock(panel, e->x, e->y)) { + printf("ici 1 : %d\n", e->button); if ( (e->button == 1 && clock_lclick_command) || (e->button == 3 && clock_rclick_command) ) return 1; else