diff --git a/ChangeLog b/ChangeLog index 107862d..befc5e8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5046,3 +5046,8 @@ font list in parallel with the normal font list. Also tweaked the default fonts to be less error-prone. ---------------------------------------------------------------------- +Mon May 12 22:07:45 2003 Michael Jennings (mej) + +Use icon window instead of icon pixmap only if strict ICCCM compliance +is requested via ./configure --enable-strict-icccm +---------------------------------------------------------------------- diff --git a/acconfig.h b/acconfig.h index d7cde5a..92f9d78 100644 --- a/acconfig.h +++ b/acconfig.h @@ -364,6 +364,7 @@ #undef HAVE_SAVED_UIDS #undef MOUSEWHEEL #undef ESCREEN +#undef STRICT_ICCCM /* Leave that blank line there!! Autoheader needs it. diff --git a/configure.in b/configure.in index 2483e48..d3d12d5 100644 --- a/configure.in +++ b/configure.in @@ -302,6 +302,16 @@ if test "x$HAVE_SAVED_UIDS" = "x"; then AC_MSG_RESULT(no) fi fi +AC_MSG_CHECKING(if strict ICCCM compliance should be enabled) +AC_ARG_ENABLE(strict-icccm, +[ --enable-strict-icccm compile with strict ICCCM compliant WM icon support], [ + if test "$enableval" = "yes"; then + AC_MSG_RESULT(yes) + AC_DEFINE(STRICT_ICCCM) + else + AC_MSG_RESULT(no) + fi +], AC_MSG_RESULT(no)) dnl# dnl# X LIBRARIES diff --git a/src/pixmap.c b/src/pixmap.c index ed61009..2bd86f7 100644 --- a/src/pixmap.c +++ b/src/pixmap.c @@ -2197,14 +2197,14 @@ set_icon_pixmap(char *filename, XWMHints * pwm_hints) imlib_context_set_dither(1); imlib_context_set_blend(0); imlib_render_pixmaps_for_whole_image_at_size(&wm_hints->icon_pixmap, &wm_hints->icon_mask, w, h); - if (check_for_enlightenment()) { - wm_hints->flags |= IconPixmapHint | IconMaskHint; - } else { - wm_hints->icon_window = XCreateSimpleWindow(Xdisplay, TermWin.parent, 0, 0, w, h, 0, 0L, 0L); - shaped_window_apply_mask(wm_hints->icon_window, wm_hints->icon_mask); - XSetWindowBackgroundPixmap(Xdisplay, wm_hints->icon_window, wm_hints->icon_pixmap); - wm_hints->flags |= IconWindowHint; - } +#ifdef STRICT_ICCCM + wm_hints->icon_window = XCreateSimpleWindow(Xdisplay, TermWin.parent, 0, 0, w, h, 0, 0L, 0L); + shaped_window_apply_mask(wm_hints->icon_window, wm_hints->icon_mask); + XSetWindowBackgroundPixmap(Xdisplay, wm_hints->icon_window, wm_hints->icon_pixmap); + wm_hints->flags |= IconWindowHint; +#else + wm_hints->flags |= IconPixmapHint | IconMaskHint; +#endif imlib_free_image_and_decache(); /* Only set the hints ourselves if we were passed a NULL pointer for pwm_hints */ if (!pwm_hints) {