get_wwindow_image_from_wmhints scale image
authorRodolfo García Peñas (kix) <kix@kix.es>
Wed, 14 Nov 2012 17:36:25 +0000 (14 18:36 +0100)
committerCarlos R. Mafra <crmafra@gmail.com>
Wed, 14 Nov 2012 22:47:26 +0000 (14 22:47 +0000)
The function get_wwindow_image_from_wmhints returns a image from WM Hints,
but the image could be larger than the desired.

Then, the image can be resized using wIconValidateIconSize(). The resize
should be done in get_rimage_icon_from_wm_hints(), not in the function
get_wwindow_image_from_wmhints(). This is because the function
get_wwindow_image_from_wmhints() is used in wIconStore() too. If we resize
the image before save it to disk, then if we change the icon/dock size, then
the image saved will have a different size than the curren icon size. Is
better resize the image when is painted in the screen, not the image saved.

src/icon.c

index 5a18148..166c827 100644 (file)
@@ -756,6 +756,9 @@ static int get_rimage_icon_from_wm_hints(WIcon *icon)
        if (!image)
                return 1;
 
+       /* Resize the icon to the wPreferences.icon_size size */
+       image = wIconValidateIconSize(image, wPreferences.icon_size);
+
        unset_icon_image(icon);
        icon->file_image = image;