From f6b78ad09485ac570798b091a458287d652e3e0a Mon Sep 17 00:00:00 2001 From: o9000 Date: Fri, 20 Mar 2015 22:15:56 +0000 Subject: [PATCH] Changed icon rendering to fix issue 432 git-svn-id: http://tint2.googlecode.com/svn/trunk@734 121b4492-b84c-0410-8b4c-0d4edfb3f3cc --- src/launcher/launcher.c | 10 +++------- src/systray/systraybar.c | 4 +++- src/taskbar/task.c | 10 +++------- 3 files changed, 9 insertions(+), 15 deletions(-) diff --git a/src/launcher/launcher.c b/src/launcher/launcher.c index 59ff335..8b346ce 100644 --- a/src/launcher/launcher.c +++ b/src/launcher/launcher.c @@ -348,13 +348,9 @@ void draw_launcher_icon(void *obj, cairo_t *c) Imlib_Image icon_scaled = launcherIcon->icon_scaled; // Render imlib_context_set_image (icon_scaled); - if (server.real_transparency) { - // TODO with compton this does not work with Firefox and Chrome but it works with the other icons ?! - render_image(launcherIcon->area.pix, 0, 0, imlib_image_get_width(), imlib_image_get_height() ); - } else { - imlib_context_set_drawable(launcherIcon->area.pix); - imlib_render_image_on_drawable (0, 0); - } + imlib_context_set_blend(1); + imlib_context_set_drawable(launcherIcon->area.pix); + imlib_render_image_on_drawable(0, 0); } Imlib_Image scale_icon(Imlib_Image original, int icon_size) diff --git a/src/systray/systraybar.c b/src/systray/systraybar.c index f4637f2..0f5eec5 100644 --- a/src/systray/systraybar.c +++ b/src/systray/systraybar.c @@ -600,7 +600,9 @@ void systray_render_icon_now(void* t) adjust_asb(data, traywin->width, traywin->height, systray.alpha, (float)systray.saturation/100, (float)systray.brightness/100); imlib_image_put_back_data(data); XCopyArea(server.dsp, render_background, systray.area.pix, server.gc, traywin->x-systray.area.posx, traywin->y-systray.area.posy, traywin->width, traywin->height, traywin->x-systray.area.posx, traywin->y-systray.area.posy); - render_image(systray.area.pix, traywin->x-systray.area.posx, traywin->y-systray.area.posy, traywin->width, traywin->height); + imlib_context_set_blend(1); + imlib_context_set_drawable(systray.area.pix); + imlib_render_image_on_drawable(traywin->x-systray.area.posx, traywin->y-systray.area.posy); XCopyArea(server.dsp, systray.area.pix, panel->main_win, server.gc, traywin->x-systray.area.posx, traywin->y-systray.area.posy, traywin->width, traywin->height, traywin->x, traywin->y); imlib_free_image_and_decache(); XFreePixmap(server.dsp, tmp_pmap); diff --git a/src/taskbar/task.c b/src/taskbar/task.c index 1d591a0..86a2d4a 100644 --- a/src/taskbar/task.c +++ b/src/taskbar/task.c @@ -343,13 +343,9 @@ void draw_task_icon (Task *tsk, int text_width) // Render imlib_context_set_image (tsk->icon[tsk->current_state]); - if (server.real_transparency) { - render_image(tsk->area.pix, pos_x, panel->g_task.icon_posy, imlib_image_get_width(), imlib_image_get_height() ); - } - else { - imlib_context_set_drawable(tsk->area.pix); - imlib_render_image_on_drawable (pos_x, panel->g_task.icon_posy); - } + imlib_context_set_blend(1); + imlib_context_set_drawable(tsk->area.pix); + imlib_render_image_on_drawable(pos_x, panel->g_task.icon_posy); }