*fix* maybe issue 212
git-svn-id: http://tint2.googlecode.com/svn/trunk@385 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
parent
fa9521ca40
commit
d70f267780
4 changed files with 17 additions and 19 deletions
|
@ -87,9 +87,6 @@ void init_config()
|
|||
pango_font_description_free(panel_config.g_task.font_desc);
|
||||
}
|
||||
memset(&panel_config, 0, sizeof(Panel));
|
||||
int i;
|
||||
for (i=0; i<TASK_STATE_COUNT; ++i)
|
||||
panel_config.g_task.alpha[i] = 100;
|
||||
systray.alpha = 100;
|
||||
systray.sort = 3;
|
||||
old_config_file = 1;
|
||||
|
|
|
@ -546,9 +546,20 @@ void systray_render_icon_now(void* t)
|
|||
|
||||
void systray_render_icon(TrayWindow* traywin)
|
||||
{
|
||||
// wine tray icons update whenever mouse is over them, so we limit the updates to 50 ms
|
||||
if (traywin->render_timeout == 0)
|
||||
traywin->render_timeout = add_timeout(50, 0, systray_render_icon_now, traywin);
|
||||
if (real_transparency || systray.alpha != 100 || systray.brightness != 0 || systray.saturation != 0) {
|
||||
// wine tray icons update whenever mouse is over them, so we limit the updates to 50 ms
|
||||
if (traywin->render_timeout == 0)
|
||||
traywin->render_timeout = add_timeout(50, 0, systray_render_icon_now, traywin);
|
||||
}
|
||||
else {
|
||||
// comment by andreas: I'm still not sure, what exactly we need to do here... Somehow trayicons which do not
|
||||
// offer the same depth as tint2 does, need to draw a background pixmap, but this cannot be done with
|
||||
// XCopyArea... So we actually need XRenderComposite???
|
||||
// Pixmap pix = XCreatePixmap(server.dsp, server.root_win, traywin->width, traywin->height, server.depth);
|
||||
// XCopyArea(server.dsp, panel->temp_pmap, pix, server.gc, traywin->x, traywin->y, traywin->width, traywin->height, 0, 0);
|
||||
// XSetWindowBackgroundPixmap(server.dsp, traywin->id, pix);
|
||||
XClearArea(server.dsp, traywin->tray_id, 0, 0, traywin->width, traywin->height, True);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -559,16 +570,6 @@ void refresh_systray_icon()
|
|||
for (l = systray.list_icons; l ; l = l->next) {
|
||||
traywin = (TrayWindow*)l->data;
|
||||
if (traywin->hide) continue;
|
||||
if (real_transparency || systray.alpha != 100 || systray.brightness != 0 || systray.saturation != 0)
|
||||
systray_render_icon(traywin);
|
||||
else {
|
||||
// comment by andreas: I'm still not sure, what exactly we need to do here... Somehow trayicons which do not
|
||||
// offer the same depth as tint2 does, need to draw a background pixmap, but this cannot be done with
|
||||
// XCopyArea... So we actually need XRenderComposite???
|
||||
// Pixmap pix = XCreatePixmap(server.dsp, server.root_win, traywin->width, traywin->height, server.depth);
|
||||
// XCopyArea(server.dsp, panel->temp_pmap, pix, server.gc, traywin->x, traywin->y, traywin->width, traywin->height, 0, 0);
|
||||
// XSetWindowBackgroundPixmap(server.dsp, traywin->id, pix);
|
||||
XClearArea(server.dsp, traywin->tray_id, 0, 0, traywin->width, traywin->height, True);
|
||||
}
|
||||
systray_render_icon(traywin);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -64,7 +64,7 @@ void init_taskbar()
|
|||
panel->g_taskbar.area.bg = panel->g_taskbar.bg;
|
||||
}
|
||||
if (panel->g_taskbar.bg_active == 0)
|
||||
panel->g_taskbar.bg_active = &g_array_index(backgrounds, Background, 0);
|
||||
panel->g_taskbar.bg_active = panel->g_taskbar.bg;
|
||||
if (panel->g_task.area.bg == 0)
|
||||
panel->g_task.area.bg = &g_array_index(backgrounds, Background, 0);
|
||||
|
||||
|
|
|
@ -821,7 +821,7 @@ int main (int argc, char *argv[])
|
|||
XDamageNotifyEvent* de = &event_union.de;
|
||||
for (l = systray.list_icons; l ; l = l->next) {
|
||||
traywin = (TrayWindow*)l->data;
|
||||
if ( traywin->id == de->drawable && !de->more ) {
|
||||
if ( traywin->id == de->drawable ) {
|
||||
systray_render_icon(traywin);
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue