From f97b997f382f466e40c851575bbb971f64db2d3b Mon Sep 17 00:00:00 2001 From: "Carlos R. Mafra" Date: Thu, 21 Jun 2012 16:51:12 +0100 Subject: [PATCH] Skip no_appicon apps in the application icon list We want to avoid having to consider the position of an appicon whose application has no_appicon set. The appicon is not "painted" so it does not appear on the screen. But if the appicon is still added to the list of application icons, the wArrangeIcons() function gets confused and ends up creating holes in the icon positions which correspond to the no_appicon apps. Signed-off-by: Carlos R. Mafra --- src/appicon.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/appicon.c b/src/appicon.c index 39994580..6e6b87a9 100644 --- a/src/appicon.c +++ b/src/appicon.c @@ -247,12 +247,17 @@ static WAppIcon *wAppIconCreate(WWindow * leader_win) aicon->yindex = -1; aicon->xindex = -1; - aicon->prev = NULL; - aicon->next = scr->app_icon_list; - if (scr->app_icon_list) - scr->app_icon_list->prev = aicon; + /* When no_appicon is set we want to avoid having it on the list + * because otherwise there will be a hole when the icons are + * arranged with wArrangeIcons() */ + if (!WFLAGP(leader_win, no_appicon)) { + aicon->prev = NULL; + aicon->next = scr->app_icon_list; + if (scr->app_icon_list) + scr->app_icon_list->prev = aicon; - scr->app_icon_list = aicon; + scr->app_icon_list = aicon; + } if (leader_win->wm_class) aicon->wm_class = wstrdup(leader_win->wm_class);