]> Dogcows Code - chaz/tint2/commitdiff
*add* strut_policy = none
authorAndreas Fink <andreas.fink85@googlemail.com>
Sat, 20 Feb 2010 10:08:56 +0000 (10:08 +0000)
committerAndreas Fink <andreas.fink85@googlemail.com>
Sat, 20 Feb 2010 10:08:56 +0000 (10:08 +0000)
src/config.c
src/panel.c
src/panel.h
src/systray/systraybar.c

index b4362147fa1f8adbc49015c1b940275437cd93aa..f825d5b9ce44d045690964234fbf2d9aa3c0f9a9 100644 (file)
@@ -596,6 +596,8 @@ void add_entry (char *key, char *value)
        else if (strcmp(key, "strut_policy") == 0) {
                if (strcmp(value, "follow_size") == 0)
                        panel_strut_policy = STRUT_FOLLOW_SIZE;
+               else if (strcmp(value, "none") == 0)
+                       panel_strut_policy = STRUT_NONE;
                else
                        panel_strut_policy = STRUT_MINIMUM;
        }
index b271b23601c625277bee5db9328de63ba8ecae54..b6a0fd6d582317fbb120f101b56c95113cf9e274 100644 (file)
@@ -433,6 +433,12 @@ void visible_object()
 
 void update_strut(Panel* p)
 {
+       if (panel_strut_policy == STRUT_NONE) {
+               XDeleteProperty(server.dsp, p->main_win, server.atom._NET_WM_STRUT);
+               XDeleteProperty(server.dsp, p->main_win, server.atom._NET_WM_STRUT_PARTIAL);
+               return;
+       }
+
        // Reserved space
        unsigned int d1, screen_width, screen_height;
        Window d2;
index f51211bbca73486e9ab086c63f8be0a67dbbd555..9e38fe08082cfae5f712d6576a0019959739dcb0 100644 (file)
@@ -52,7 +52,7 @@ extern int panel_refresh;
 extern int task_dragged;
 
 //panel autohide
-enum { STRUT_MINIMUM, STRUT_FOLLOW_SIZE };
+enum { STRUT_MINIMUM, STRUT_FOLLOW_SIZE, STRUT_NONE };
 extern int panel_autohide;
 extern int panel_autohide_show_timeout;
 extern int panel_autohide_hide_timeout;
index 6db579783109b64992ce337c64381909ad5e928c..e6ca1661d3b4598314ef5783b8e24789b4c78285 100644 (file)
@@ -352,6 +352,7 @@ gboolean add_icon(Window id)
        XGetWindowAttributes(server.dsp, id, &attr);
        unsigned long mask = 0;
        XSetWindowAttributes set_attr;
+//     printf("icon with depth: %d\n", attr.depth);
        if (attr.depth != server.depth || systray.alpha != 100 || systray.brightness != 0 || systray.saturation != 0 ) {
                set_attr.colormap = attr.colormap;
                set_attr.background_pixel = 0;
@@ -508,6 +509,7 @@ void net_message(XClientMessageEvent *e)
 
 void systray_render_icon_now(void* t)
 {
+       // we end up in this function only in real transparency mode or if systray_task_asb != 100 0 0
        TrayWindow* traywin = t;
        traywin->render_timeout = 0;
 
@@ -526,7 +528,7 @@ void systray_render_icon_now(void* t)
        else if (traywin->depth == 32)
                f = XRenderFindStandardFormat(server.dsp, PictStandardARGB32);
        else {
-               printf("Strange tray icon found...\n");
+               printf("Strange tray icon found with depth: %d\n", traywin->depth);
                return;
        }
        Picture pict_image = XRenderCreatePicture(server.dsp, traywin->tray_id, f, 0, 0);
This page took 0.02176 seconds and 4 git commands to generate.