rem: if (image && (abs(image->width - iconWidth) > 4 || abs(image->height - iconWidth) > 4)) {
add: if (image && (abs(image->width - iconWidth) > 2 || abs(image->height - iconWidth) > 2)) {
context: static void addIconForWindow(WSwitchPanel *panel, WWindow *wwin, int iconWidth){  WMLabel *label= WMCreateLabel(panel->hbox);  WMAddBoxSubviewAtEnd(panel->hbox, WMWidgetView(label), False, True, iconWidth + ICON_EXTRASPACE, 0, 0);  RImage *image = NULL;  WMPixmap *pixmap;  WMScreen *wscr = WMWidgetScreen(label);    if (!WFLAGP(wwin, always_user_icon) && wwin->net_icon_image)      image = RRetainImage(wwin->net_icon_image);  if (!image)    image = wDefaultGetImage(panel->scr, wwin->wm_instance, wwin->wm_class);  if (!image)  if (image && (abs(image->width - iconWidth) > 4 || abs(image->height - iconWidth) > 4)) {    RImage *nimage;    nimage= RScaleImage(image, iconWidth, (image->height * iconWidth / image->width));    RReleaseImage(image);    image= nimage;  }    if (image) {    pixmap= WMCreatePixmapFromRImage(wscr, image, 100);    RReleaseImage(image);  } else {    if (!panel->defIcon)    {      char *file = wDefaultGetIconFile(panel->scr, NULL, NULL, False);      if (file) {        char *path = FindImage(wPreferences.icon_path, file);        if (path) {          image = RLoadImage(panel->scr->rcontext, path, 0);          wfree(path);                    panel->defIcon= WMCreatePixmapFromRImage(wscr, image, 100);          RReleaseImage(image);        }      }    }    if (panel->defIcon)      pixmap= WMRetainPixmap(panel->defIcon);    else      pixmap= NULL;  }  if (pixmap) {    WMSetLabelImage(label, pixmap);    WMSetLabelImagePosition(label, WIPImageOnly);    WMReleasePixmap(pixmap);  }  WMAddToArray(panel->icons, label);}