From: "Rodolfo García Peñas (kix)" <[email protected]>

The function appearanceObserver() is now faster, because don't
re-create the icon. Now only draw the icon pixmap.
---
 src/icon.c |   13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/icon.c b/src/icon.c
index ff29484..d4268c1 100644
--- a/src/icon.c
+++ b/src/icon.c
@@ -72,15 +72,20 @@ static void unset_icon_image(WIcon *icon);
 
 /****** Notification Observers ******/
 
-static void appearanceObserver(void *self, WMNotification * notif)
+static void appearanceObserver(void *self, WMNotification *notif)
 {
        WIcon *icon = (WIcon *) self;
        uintptr_t flags = (uintptr_t)WMGetNotificationClientData(notif);
 
-       if ((flags & WTextureSettings) || (flags & WFontSettings))
-               icon->force_paint = 1;
+       printf("appearanceObserver\n");
 
-       wIconPaint(icon);
+       if ((flags & WTextureSettings) || (flags & WFontSettings)) {
+               /* If the rimage exists, update the icon, else create it */
+               if (icon->file_image)
+                       update_icon_pixmap(icon);
+               else
+                       wIconPaint(icon);
+       }
 
        /* so that the appicon expose handlers will paint the appicon specific
         * stuff */
-- 
1.7.10.4


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

Reply via email to