--- rxvt-unicode/src/command.C 2007/08/10 22:10:36 1.343 +++ rxvt-unicode/src/command.C 2007/09/09 10:14:40 1.351 @@ -97,7 +97,6 @@ XK_Shift_Lock, 0x21eb, XK_ISO_Lock, 0x21eb, - XK_ISO_Lock, 0x21eb, XK_Caps_Lock, 0x21ec, XK_Num_Lock, 0x21ed, XK_ISO_Level3_Shift, 0x21ee, @@ -562,11 +561,11 @@ kbuf[1] = '\0'; } else - strcpy (kbuf, key_backspace); + strcpy (kbuf, rs[Rs_backspace_key]); break; #endif #ifndef NO_DELETE_KEY -# ifdef XK_KP_Prior +# ifdef XK_KP_Delete case XK_KP_Delete: /* allow shift to override */ if ((priv_modes & PrivMode_aplKP) ? !shft : shft) @@ -577,7 +576,7 @@ /* FALLTHROUGH */ # endif case XK_Delete: - strcpy (kbuf, key_delete); + strcpy (kbuf, rs[Rs_delete_key]); break; #endif case XK_Tab: @@ -1477,6 +1476,9 @@ break; case ConfigureNotify: +/* fprintf (stderr, "ConfigureNotify for %X, parent is %X, geom is %dx%d%+d%+d, old geom was %dx%d\n", + ev.xconfigure.window, parent[0], ev.xconfigure.width, ev.xconfigure.height, ev.xconfigure.x, ev.xconfigure.y, + szHint.width, szHint.height);*/ if (ev.xconfigure.window == parent[0]) { while (XCheckTypedWindowEvent (dpy, ev.xconfigure.window, ConfigureNotify, &ev)) @@ -1486,22 +1488,15 @@ { seen_resize = 1; resize_all_windows (ev.xconfigure.width, ev.xconfigure.height, 1); -#ifdef XPM_BACKGROUND - /* TODO: replace with update_pixmap() that should unify transparency and bg image handling ! */ - if (!option (Opt_transparent) && bgPixmap.window_size_sensitive ()) - { - bgPixmap.render_background (); - scr_touch (true); - } -#endif } - - HOOK_INVOKE ((this, HOOK_CONFIGURE_NOTIFY, DT_XEVENT, &ev, DT_END)); - + else + { #ifdef ENABLE_TRANSPARENCY - if (option (Opt_transparent)) - bgPixmap.render_background (); + if (option (Opt_transparent)) + update_background (); #endif + } + HOOK_INVOKE ((this, HOOK_CONFIGURE_NOTIFY, DT_XEVENT, &ev, DT_END)); } break; @@ -1579,11 +1574,6 @@ scrollBar.setIdle (); scrollbar_show (0); } - -#ifdef ENABLE_TRANSPARENCY - if (am_transparent && ev.xany.window == parent[0]) - XClearWindow (dpy, ev.xany.window); -#endif } break; @@ -1841,7 +1831,7 @@ || ev.xproperty.atom == xa[XA_ESETROOT_PMAP_ID]) { bgPixmap.set_root_pixmap (); - bgPixmap.render_background (); + update_background (); } break; } @@ -2807,9 +2797,8 @@ unicode_t ch, priv, i; unsigned int nargs, p; int n, ndef; - int arg[ESC_ARGS]; + int arg[ESC_ARGS] = { }; - memset (arg, 0, sizeof (arg)); nargs = 0; priv = 0; @@ -3442,11 +3431,7 @@ else changed = bgPixmap.unset_tint (); if (changed) - { - bgPixmap.render_background (); - if (am_transparent) - want_full_refresh = want_refresh = 1; - } + update_background (); } break; @@ -3485,10 +3470,7 @@ str = strchr (str, ';'); } if (changed) - { - bgPixmap.render_background (); - scr_touch (true); - } + update_background (); } break; #endif @@ -3623,12 +3605,10 @@ int state; static const struct - { - const int argval; - const unsigned long bit; - } - - argtopriv[] = { + { + const int argval; + const unsigned long bit; + } argtopriv[] = { { 1, PrivMode_aplCUR }, { 2, PrivMode_vt52 }, { 3, PrivMode_132 },