From ec7c992608dbbaaf0acaf6ae54c525f98cede22e Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 22 Jun 2009 04:09:14 +0000 Subject: [PATCH] * xterm.c (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. --- src/ChangeLog | 3 +++ src/xterm.c | 23 ++++++++++++++++++----- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index c6378077d5c..580a6b0c0c6 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -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. diff --git a/src/xterm.c b/src/xterm.c index f09a02c2f04..2c946c7a126 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -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. -- 2.39.2