diff --git a/src/icon.c b/src/icon.c index 8b8d7a0..415b758 100644 --- a/src/icon.c +++ b/src/icon.c @@ -36,6 +36,7 @@ #include "window.h" #include "icon.h" #include "actions.h" +#include "dock.h" #include "stacking.h" #include "application.h" #include "defaults.h" @@ -95,7 +96,13 @@ static void tileObserver(void *self, WMNotification *notif) update_icon_pixmap(icon); - wm_backend->window_clear(icon->core->window); + /* For clip/drawer icons, repaint the workspace number/name text. + * update_icon_pixmap → wIconPaint renders the generic icon; the clip + * overlay (text) requires an additional clip_icon_paint call. */ + WScreen *scr = icon->core->screen_ptr; + if (scr->clip_icon && scr->clip_icon->icon == icon) { + wClipIconPaint(scr->clip_icon); + } } /************************************/