--- rxvt-unicode/src/command.C 2007/06/26 09:55:22 1.333 +++ rxvt-unicode/src/command.C 2007/08/03 22:40:10 1.340 @@ -521,7 +521,7 @@ } else { -# if ENABLE_OVERLAY +# if ISO_14755 scr_overlay_off (); # endif iso14755buf = 0; @@ -532,7 +532,7 @@ if (!(iso14755buf & ISO_14755_STARTED)) { iso14755buf |= ISO_14755_STARTED; -# if ENABLE_OVERLAY +# if ISO_14755 scr_overlay_new (0, -1, sizeof ("ISO 14755 mode") - 1, 1); scr_overlay_set (0, 0, "ISO 14755 mode"); # endif @@ -730,7 +730,7 @@ strcpy (kbuf, "\033[1~"); break; -#ifdef XK_KP_End +#ifdef XK_KP_Insert case XK_KP_Insert: /* allow shift to override */ if ((priv_modes & PrivMode_aplKP) ? !shft : shft) @@ -936,7 +936,7 @@ if (iso14755buf) if (iso14755buf & ISO_14755_52) { -# if ENABLE_OVERLAY +# if ISO_14755 scr_overlay_off (); # endif # if ISO_14755 @@ -969,7 +969,7 @@ } else if ((ev.state & (ShiftMask | ControlMask)) != (ShiftMask | ControlMask)) { -# if ENABLE_OVERLAY +# if ISO_14755 scr_overlay_off (); # endif if (iso14755buf & ISO_14755_51) @@ -1437,10 +1437,6 @@ } break; - case MappingNotify: - XRefreshKeyboardMapping (&ev.xmapping); - break; - /* * XXX: this is not the _current_ arrangement * Here's my conclusion: @@ -1490,8 +1486,9 @@ { seen_resize = 1; resize_all_windows (ev.xconfigure.width, ev.xconfigure.height, 1); -#ifdef XPM_BACKGROUND - if (!option (Opt_transparent) && bgPixmap.auto_resize) +#ifdef HAVE_BG_PIXMAP + /* TODO: replace with update_pixmap() that should unify transparency and bg image handling ! */ + if (!option (Opt_transparent) && bgPixmap.window_size_sensitive ()) { resize_pixmap (); scr_touch (true); @@ -1785,7 +1782,7 @@ if (iso14755buf) { iso14755buf = 0; -# if ENABLE_OVERLAY +# if ISO_14755 scr_overlay_off (); # endif } @@ -2814,8 +2811,8 @@ int n, ndef; int arg[ESC_ARGS]; - for (nargs = ESC_ARGS; nargs > 0;) - arg[--nargs] = 0; + memset (arg, 0, sizeof (arg)); + nargs = 0; priv = 0; ch = cmd_getc (); @@ -2869,7 +2866,7 @@ case '>': if (ch == CSI_DA) /* secondary device attributes */ { - // first parameter is normally 0 for vt100, 1 for some newer vtxxx, 'R' for rxvt, + // first parameter is normally 0 for vt100, 1 for vt220, 'R' for rxvt, // 'U' for rxvt-unicode != 7.[34] (where it was broken). // // second parameter is xterm patch level for xterm, MMmmpp (e.g. 20703) for rxvt @@ -3449,15 +3446,14 @@ break; #endif +#if XPM_BACKGROUND case Rxvt_Pixmap: { if (*str != ';') { -#if XPM_BACKGROUND - scale_pixmap (""); /* reset to default scaling */ + bgPixmap.handle_geometry (""); /* reset to default scaling */ set_bgPixmap (str); /* change pixmap */ scr_touch (true); -#endif } int changed = 0; @@ -3465,17 +3461,13 @@ while ((str = strchr (str, ';')) != NULL) { str++; -#if XPM_BACKGROUND - changed += scale_pixmap (str); -#endif + changed += bgPixmap.handle_geometry (str); } if (changed) { -#ifdef XPM_BACKGROUND resize_pixmap (); scr_touch (true); -#endif } #if ENABLE_TRANSPARENCY && defined(HAVE_AFTERIMAGE) if (option (Opt_transparent)) @@ -3483,6 +3475,7 @@ #endif } break; +#endif case Rxvt_restoreFG: set_window_color (Color_fg, str);