Mercurial > emacs
changeset 64937:9ac98d57e0e7
* xterm.c (x_wm_set_icon_pixmap): Call xg_get_pixbuf_from_pix_and_mask
to get an GTK icon and set it with GTK functions to avoid having GTK
override an icon set with just X functions.
author | Jan Djärv <jan.h.d@swipnet.se> |
---|---|
date | Sat, 13 Aug 2005 09:48:36 +0000 |
parents | d5e998f50c2d |
children | 8355c7d6253c |
files | src/xterm.c |
diffstat | 1 files changed, 15 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xterm.c Sat Aug 13 09:48:17 2005 +0000 +++ b/src/xterm.c Sat Aug 13 09:48:36 2005 +0000 @@ -9250,7 +9250,19 @@ #endif } -#ifdef USE_X_TOOLKIT /* same as in x_wm_set_window_state. */ + +#ifdef USE_GTK + { + GdkDisplay *gdpy = gdk_x11_lookup_xdisplay (FRAME_X_DISPLAY (f)); + GdkPixmap *gpix = gdk_pixmap_foreign_new_for_display (gdpy, icon_pixmap); + GdkPixmap *gmask = gdk_pixmap_foreign_new_for_display (gdpy, icon_mask); + GdkPixbuf *gp = xg_get_pixbuf_from_pix_and_mask (gpix, gmask, NULL); + + gtk_window_set_icon (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), gp); + return; + } + +#elif defined (USE_X_TOOLKIT) /* same as in x_wm_set_window_state. */ { Arg al[1]; @@ -9260,12 +9272,12 @@ XtSetValues (f->output_data.x->widget, al, 1); } -#else /* not USE_X_TOOLKIT */ +#else /* not USE_X_TOOLKIT && not USE_GTK */ f->output_data.x->wm_hints.flags |= (IconPixmapHint | IconMaskHint); XSetWMHints (FRAME_X_DISPLAY (f), window, &f->output_data.x->wm_hints); -#endif /* not USE_X_TOOLKIT */ +#endif /* not USE_X_TOOLKIT && not USE_GTK */ } void