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;
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;
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);
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)