]> Dogcows Code - chaz/tint2/blobdiff - src/systray/systraybar.c
*fix* issue 221
[chaz/tint2] / src / systray / systraybar.c
index 6db579783109b64992ce337c64381909ad5e928c..f1a69c423d9dd2f02163b8055e382d39f76b48d1 100644 (file)
@@ -352,7 +352,8 @@ gboolean add_icon(Window id)
        XGetWindowAttributes(server.dsp, id, &attr);
        unsigned long mask = 0;
        XSetWindowAttributes set_attr;
-       if (attr.depth != server.depth || systray.alpha != 100 || systray.brightness != 0 || systray.saturation != 0 ) {
+//     printf("icon with depth: %d\n", attr.depth);
+       if (attr.depth != server.depth ) {
                set_attr.colormap = attr.colormap;
                set_attr.background_pixel = 0;
                set_attr.border_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);
@@ -544,7 +546,7 @@ void systray_render_icon_now(void* t)
        imlib_context_set_image(image);
        imlib_image_set_has_alpha(1);
        DATA32* data = imlib_image_get_data();
-       if (traywin->depth == 24) {
+       if (traywin->depth == 24 && server.depth != 24) {
                createHeuristicMask(data, traywin->width, traywin->height);
        }
        if (systray.alpha != 100 || systray.brightness != 0 || systray.saturation != 0)
This page took 0.021439 seconds and 4 git commands to generate.