From 202d5dc4265584deada53c1ea1b7db26d47ca179 Mon Sep 17 00:00:00 2001 From: Andreas Fink Date: Wed, 11 Nov 2009 18:25:55 +0000 Subject: [PATCH] *fix* finally fixed issue 145 --- src/tint.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/tint.c b/src/tint.c index ece6dbc..d33ea38 100644 --- a/src/tint.c +++ b/src/tint.c @@ -480,14 +480,19 @@ void event_property_notify (XEvent *e) else { tsk = task_get_task (win); if (!tsk) { - // some stupid wm send _NET_WM_STATE after the window was minimized to tray??? if (at != server.atom._NET_WM_STATE) return; - else if (!window_is_skip_taskbar(win)) { - if (tsk = add_task(win)) - panel_refresh = 1; - else - return; + else { + // xfce4 sends _NET_WM_STATE after minimized to tray, so we need to check if window is mapped + // if it is mapped and not set as skip_taskbar, we must add it to our task list + XWindowAttributes wa; + XGetWindowAttributes(server.dsp, win, &wa); + if (wa.map_state == IsViewable && !window_is_skip_taskbar(win)) { + if ( (tsk = add_task(win)) ) + panel_refresh = 1; + else + return; + } } } //printf("atom root_win = %s, %s\n", XGetAtomName(server.dsp, at), tsk->title); -- 2.44.0