]> Dogcows Code - chaz/tint2/commitdiff
*fix* set _NET_WM_ICON_GEOMETRY (fixes issue 36)
authorAndreas Fink <andreas.fink85@googlemail.com>
Wed, 16 Jun 2010 15:00:48 +0000 (15:00 +0000)
committerAndreas Fink <andreas.fink85@googlemail.com>
Wed, 16 Jun 2010 15:00:48 +0000 (15:00 +0000)
*fix* updated ChangeLog

ChangeLog
src/server.c
src/server.h
src/taskbar/taskbar.c
src/tint.c

index 9f4b2549aeb489eeb5736b41d693164e09d33c34..3d3bd07243e6c7c484ed722a91b5783706b80cf5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,19 @@
+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
 
index db50445133a71426af8039df174c7121ba0bc747..bfff48d9c43582b4549a54536a16e9a8d008e081 100644 (file)
@@ -68,6 +68,7 @@ void server_init_atoms ()
        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);
index 83501c79299682b23bd7c3d5ad5bd17482142393..5d96c3ee563dd7e4426642db2b687ce839b2f5d1 100644 (file)
@@ -49,6 +49,7 @@ typedef struct Global_atom
        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;
index 4bf6db5d095dd27ced81aa729b50033976b3e994..8ba7ac1921b0f868648862d09218094cbcc11fdc 100644 (file)
@@ -302,6 +302,9 @@ void resize_taskbar(void *obj)
                        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 @@ void resize_taskbar(void *obj)
                        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--;
index fbe62ace07d5a19be7cd9f9666c81b469ab1a613..819960866f39a619d659b1885ca8cff7061c3657 100644 (file)
@@ -97,8 +97,8 @@ void init (int argc, char *argv[])
        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);
This page took 0.027514 seconds and 4 git commands to generate.