*fix* set _NET_WM_ICON_GEOMETRY (fixes issue 36) *fix* updated ChangeLog git-svn-id: http://tint2.googlecode.com/svn/trunk@508 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
Andreas.Fink85 Andreas.Fink85@121b4492-b84c-0410-8b4c-0d4edfb3f3cc
5 files changed,
23 insertions(+),
2 deletions(-)
M
ChangeLog
→
ChangeLog
@@ -1,5 +1,18 @@
+2010-06-16 +- Set _NET_WM_ICON_GEOMETRY for every task + +2010-06-12 +- strut_policy=minimum is possible even if autohide is disabled + +2010-06-11 +- Added icons and a *.desktop file for tint2conf +- BSD fixes + 2010-06-09 - Add cmake build system + +2010-06-08 +- Xrandr and Nvidia problems fixed 2010-05-17 - Fix installation of examples
M
src/server.c
→
src/server.c
@@ -68,6 +68,7 @@ server.atom._NET_WM_VISIBLE_NAME = XInternAtom (server.dsp, "_NET_WM_VISIBLE_NAME", False);
server.atom._NET_WM_NAME = XInternAtom (server.dsp, "_NET_WM_NAME", False); server.atom._NET_WM_STRUT = XInternAtom (server.dsp, "_NET_WM_STRUT", False); server.atom._NET_WM_ICON = XInternAtom (server.dsp, "_NET_WM_ICON", False); + server.atom._NET_WM_ICON_GEOMETRY = XInternAtom(server.dsp, "_NET_WM_ICON_GEOMETRY", False ); server.atom._NET_CLOSE_WINDOW = XInternAtom (server.dsp, "_NET_CLOSE_WINDOW", False); server.atom.UTF8_STRING = XInternAtom (server.dsp, "UTF8_STRING", False); server.atom._NET_SUPPORTING_WM_CHECK = XInternAtom (server.dsp, "_NET_SUPPORTING_WM_CHECK", False);
M
src/server.h
→
src/server.h
@@ -49,6 +49,7 @@ Atom _NET_WM_NAME;
Atom _NET_WM_VISIBLE_NAME; Atom _NET_WM_STRUT; Atom _NET_WM_ICON; + Atom _NET_WM_ICON_GEOMETRY; Atom _NET_CLOSE_WINDOW; Atom UTF8_STRING; Atom _NET_SUPPORTING_WM_CHECK;
M
src/taskbar/taskbar.c
→
src/taskbar/taskbar.c
@@ -302,6 +302,9 @@ if (!tsk->area.on_screen) continue;
tsk->area.posx = x; set_task_redraw(tsk); // always redraw task, because the background could have changed (taskbar_active_id) tsk->area.width = pixel_width; + long value[] = { panel->posx+x, panel->posy, pixel_width, panel->area.height }; + XChangeProperty (server.dsp, tsk->win, server.atom._NET_WM_ICON_GEOMETRY, XA_CARDINAL, 32, PropModeReplace, (unsigned char*)value, 4); + if (modulo_width) { tsk->area.width++; modulo_width--;@@ -340,6 +343,9 @@ if (!tsk->area.on_screen) continue;
tsk->area.posy = y; set_task_redraw(tsk); // always redraw task, because the background could have changed (taskbar_active_id) tsk->area.height = pixel_height; + long value[] = { panel->posx, panel->posy+y, panel->area.width, pixel_height }; + XChangeProperty (server.dsp, tsk->win, server.atom._NET_WM_ICON_GEOMETRY, XA_CARDINAL, 32, PropModeReplace, (unsigned char*)value, 4); + if (modulo_height) { tsk->area.height++; modulo_height--;
M
src/tint.c
→
src/tint.c
@@ -97,8 +97,8 @@ sigaction(SIGTERM, &sa, 0);
sigaction(SIGHUP, &sa, 0); // signal(SIGCHLD, SIG_IGN); // don't have to wait() after fork() - // BSD is too stupid to support pselect(), therefore we have to use select and hope that we do not - // end up in a race condition there + // BSD does not support pselect(), therefore we have to use select and hope that we do not + // end up in a race condition there (see 'man select()' on a linux machine for more information) // block all signals, such that no race conditions occur before pselect in our main loop // sigset_t block_mask; // sigaddset(&block_mask, SIGINT);