Created attachment 7268
A screenshot of the issue
Some packages only provide icons in sizes much bigger than the standard
GTK menu size of 16px.
The clipboard manager qlipper for example provides the following icon:
In GTK 3.22.18 the function gtk_image_new_from_icon_name when given
GTK_ICON_SIZE_MENU as second argument still returns an image with 128x128.
The patch I have supplied uses existing code to scale such an image.
diff --git a/garcon-gtk/garcon-gtk-menu.c b/garcon-gtk/garcon-gtk-menu.c
index 41990f2..f31a1ed 100644
@@ -650,7 +650,11 @@ garcon_gtk_menu_load_icon (const gchar *icon_name)
gtk_icon_size_lookup (GTK_ICON_SIZE_MENU, &w, &h);
size = MIN (w, h);
- if (! gtk_icon_theme_has_icon (icon_theme, icon_name))
+ if (gtk_icon_theme_has_icon (icon_theme, icon_name))
+ pixbuf = gtk_icon_theme_load_icon (icon_theme, icon_name, size, 0, NULL);;
if (g_path_is_absolute (icon_name))
@@ -684,22 +688,23 @@ garcon_gtk_menu_load_icon (const gchar *icon_name)
- /* Turn the pixbuf into a gtk_image */
- if (G_LIKELY (pixbuf))
- /* scale the pixbuf down if it needs it */
- GdkPixbuf *tmp = gdk_pixbuf_scale_simple (pixbuf, w, h, GDK_INTERP_BILINEAR);
- g_object_unref (pixbuf);
- pixbuf = tmp;
+ /* Turn the pixbuf into a gtk_image */
+ if (G_LIKELY (pixbuf))
+ /* scale the pixbuf down if it needs it */
+ GdkPixbuf *pixbuf_scaled = gdk_pixbuf_scale_simple (pixbuf, w, h, GDK_INTERP_BILINEAR);
+ g_object_unref (G_OBJECT (pixbuf));
- image = gtk_image_new_from_pixbuf (pixbuf);
- g_object_unref (G_OBJECT (pixbuf));
+ image = gtk_image_new_from_pixbuf (pixbuf_scaled);
+ g_object_unref (G_OBJECT (pixbuf_scaled));
+ /* display the placeholder at least */
+ image = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_MENU);
- if (image == NULL)
- image = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_MENU);
Created attachment 7269
The patch for scaling the icons
It's probably better here than in the comments.
Stefan Berzl referenced this bugreport in commit 4387496fe332a50945e7db76bc2196b419656fe3
fix: some menu icons are too big (Bug #13785)
Pushed your patch, thanks!
(In reply to Eric Koegel from comment #3)
> Pushed your patch, thanks!
This patch breaks quicklaunch default applications icons (buttons have disappeared).
(In reply to Olivier Duchateau from comment #4)
> (In reply to Eric Koegel from comment #3)
> > Pushed your patch, thanks!
> This patch breaks quicklaunch default applications icons (buttons have
I find workaround for Xfdashboard (where quicklaunch buttons have disappeared) and now everything works fine!
How do you suppose the scalling of the images has anything to do with the new return type
from libxfconf? The change in still hasn't permeated into every part of the software.
The settings-editor for example can't display arrays because it also assumes the old type.
I upgraded my system from Xubuntu 18.04 64 bit x86 to version 18.10. Since version 18.10 I have this issue :(
On the same system I also have this issue: https://bugzilla.xfce.org/show_bug.cgi?id=14774.
Here is some information which may help to reproduce my problem. I have not installed Firefox via Synaptic but instead downloaded it via the mozilla page. I only had to extract the compressed file and then launch the executable. So my Firefox is installed under /home/myname/bin/firefox-release/. Then I created a .desktop file under /home/myname/.local/share/applications/ and set the icon name to "firefox quantum". This icon can be found under /home/myname/.local/share/icons/hicolor/128x128/apps/ and has a width and height of 128 pixels.