]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.1199: gvim uses hardcoded xpm icon file v9.1.1199
authorAurelien Gateau <mail@agateau.com>
Wed, 12 Mar 2025 22:16:42 +0000 (23:16 +0100)
committerChristian Brabandt <cb@256bit.org>
Wed, 12 Mar 2025 22:16:42 +0000 (23:16 +0100)
Problem:  Many X11/Wayland desktops support icon themes, and many themes
          provide a gvim icon, but this icon is ignored for the window
          itself because it is hardcoded in the source code.
Solution: Read the icon from the theme instead (Aurelien Gateau).

closes: #16859

Signed-off-by: Aurelien Gateau <mail@agateau.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
src/gui_gtk_x11.c
src/version.c

index 284be308898eb97754ba5d04c64b3ed75c5e67de..f9d593f916d02dd5184edc3de201fbfd70ba37e2 100644 (file)
@@ -2704,10 +2704,6 @@ global_event_filter(GdkXEvent *xev,
     static void
 mainwin_realize(GtkWidget *widget UNUSED, gpointer data UNUSED)
 {
-#include "../runtime/vim32x32.xpm"
-#include "../runtime/vim16x16.xpm"
-#include "../runtime/vim48x48.xpm"
-
     GdkWindow * const mainwin_win = gtk_widget_get_window(gui.mainwin);
 
     // When started with "--echo-wid" argument, write window ID on stdout.
@@ -2725,17 +2721,7 @@ mainwin_realize(GtkWidget *widget UNUSED, gpointer data UNUSED)
        /*
         * Add an icon to the main window. For fun and convenience of the user.
         */
-       GList *icons = NULL;
-
-       icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim16x16));
-       icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim32x32));
-       icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim48x48));
-
-       gtk_window_set_icon_list(GTK_WINDOW(gui.mainwin), icons);
-
-       // TODO: is this type cast OK?
-       g_list_foreach(icons, (GFunc)(void *)&g_object_unref, NULL);
-       g_list_free(icons);
+       gtk_window_set_icon_name(GTK_WINDOW(gui.mainwin), "gvim");
     }
 
 #if !defined(USE_GNOME_SESSION)
index 265081a8350f1bc80ef15a3340fda07f3c648e77..d7ded9f6f135677bc0c68f3aba4fd3ee64f932e1 100644 (file)
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1199,
 /**/
     1198,
 /**/