--- rxvt-unicode/src/command.C 2007/08/15 06:48:16 1.346 +++ rxvt-unicode/src/command.C 2007/09/08 20:48:31 1.350 @@ -565,7 +565,7 @@ 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) @@ -1476,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)) @@ -1485,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 (); - 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 (); + if (option (Opt_transparent)) + update_background (); #endif + } + HOOK_INVOKE ((this, HOOK_CONFIGURE_NOTIFY, DT_XEVENT, &ev, DT_END)); } break; @@ -1835,7 +1831,7 @@ || ev.xproperty.atom == xa[XA_ESETROOT_PMAP_ID]) { bgPixmap.set_root_pixmap (); - bgPixmap.render (); + update_background (); } break; } @@ -2801,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; @@ -3436,7 +3431,7 @@ else changed = bgPixmap.unset_tint (); if (changed) - bgPixmap.render (); + update_background (); } break; @@ -3475,10 +3470,7 @@ str = strchr (str, ';'); } if (changed) - { - bgPixmap.render (); - scr_touch (true); - } + update_background (); } break; #endif