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 <[email protected]>
---
 src/appicon.c |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/appicon.c b/src/appicon.c
index d236313..594721c 100644
--- a/src/appicon.c
+++ b/src/appicon.c
@@ -248,12 +248,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);
-- 
1.7.7


-- 
To unsubscribe, send mail to [email protected].

Reply via email to