]> git.eshelyaron.com Git - emacs.git/commitdiff
* xterm.c (xg_default_icon_file): New variable.
authorChong Yidong <cyd@stupidchicken.com>
Mon, 22 Jun 2009 04:09:14 +0000 (04:09 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Mon, 22 Jun 2009 04:09:14 +0000 (04:09 +0000)
(syms_of_xterm): Initialize it to the Emacs SVG icon file.
(x_bitmap_icon): Under GTK, use xg_default_icon_file.

src/ChangeLog
src/xterm.c

index c6378077d5c3d96010a5c3f5980851765546f04a..580a6b0c0c657d78912d8bb94a0abde835c1fb42 100644 (file)
@@ -7,6 +7,9 @@
        * xterm.c (x_draw_glyph_string): Use the glyph string's width
        rather than its background_width for drawing the overline and
        underline (Bug#489).
+       (xg_default_icon_file): New variable.
+       (syms_of_xterm): Initialize it to the Emacs SVG icon file.
+       (x_bitmap_icon): Under GTK, use xg_default_icon_file.
 
        * xdisp.c (Qbefore_string, Qafter_string): Add externs.
        (load_overlay_strings): Remove externs.
index f09a02c2f04909712adc4ecff5a6dfaa08e7f127..2c946c7a1266a713a4539653e831968620bb9b63 100644 (file)
@@ -320,6 +320,11 @@ static Lisp_Object Qalt, Qhyper, Qmeta, Qsuper, Qmodifier_value;
 static Lisp_Object Qvendor_specific_keysyms;
 static Lisp_Object Qlatin_1;
 
+#ifdef USE_GTK
+/* The name of the Emacs icon file.  */
+static Lisp_Object xg_default_icon_file;
+#endif
+
 /* Used in x_flush.  */
 
 extern Lisp_Object Vinhibit_redisplay;
@@ -7617,16 +7622,19 @@ x_bitmap_icon (f, file)
        {
          int rc = -1;
 
-#if defined (HAVE_XPM) && defined (HAVE_X_WINDOWS)
 #ifdef USE_GTK
-         if (xg_set_icon_from_xpm_data (f, gnu_xpm_bits))
+
+         if (xg_set_icon (f, xg_default_icon_file)
+             || xg_set_icon_from_xpm_data (f, gnu_xpm_bits))
            return 0;
-#else
+
+#elif defined (HAVE_XPM) && defined (HAVE_X_WINDOWS)
+
          rc = x_create_bitmap_from_xpm_data (f, gnu_xpm_bits);
          if (rc != -1)
            FRAME_X_DISPLAY_INFO (f)->icon_bitmap_id = rc;
-#endif /* USE_GTK */
-#endif /* defined (HAVE_XPM) && defined (HAVE_X_WINDOWS) */
+
+#endif
 
          /* If all else fails, use the (black and white) xbm image. */
          if (rc == -1)
@@ -10914,6 +10922,11 @@ syms_of_xterm ()
   staticpro (&last_mouse_press_frame);
   last_mouse_press_frame = Qnil;
 
+#ifdef USE_GTK
+  xg_default_icon_file = build_string ("icons/hicolor/scalable/apps/emacs.svg");
+  staticpro (&xg_default_icon_file);
+#endif
+
   DEFVAR_BOOL ("x-use-underline-position-properties",
               &x_use_underline_position_properties,
      doc: /* *Non-nil means make use of UNDERLINE_POSITION font properties.