--- rxvt-unicode/src/command.C 2007/08/26 18:16:52 1.349 +++ rxvt-unicode/src/command.C 2007/09/17 08:31:54 1.356 @@ -549,6 +549,7 @@ if (keysym >= 0xFF00 && keysym <= 0xFFFF) { { + bool kp = priv_modes & PrivMode_aplKP ? !shft : shft; newlen = 1; switch (keysym) { @@ -561,14 +562,14 @@ 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) + if (kp) { strcpy (kbuf, "\033On"); break; @@ -576,7 +577,7 @@ /* FALLTHROUGH */ # endif case XK_Delete: - strcpy (kbuf, key_delete); + strcpy (kbuf, rs[Rs_delete_key]); break; #endif case XK_Tab: @@ -601,7 +602,7 @@ case XK_KP_Down: /* \033Or or standard */ case XK_KP_Right: /* \033Ov or standard */ case XK_KP_Left: /* \033Ot or standard */ - if ((priv_modes & PrivMode_aplKP) ? !shft : shft) + if (kp) { strcpy (kbuf, "\033OZ"); kbuf[2] = "txvr"[keysym - XK_KP_Left]; @@ -634,7 +635,7 @@ # ifdef XK_KP_Prior case XK_KP_Prior: /* allow shift to override */ - if ((priv_modes & PrivMode_aplKP) ? !shft : shft) + if (kp) { strcpy (kbuf, "\033Oy"); break; @@ -647,7 +648,7 @@ # ifdef XK_KP_Next case XK_KP_Next: /* allow shift to override */ - if ((priv_modes & PrivMode_aplKP) ? !shft : shft) + if (kp) { strcpy (kbuf, "\033Os"); break; @@ -660,7 +661,7 @@ #endif case XK_KP_Enter: /* allow shift to override */ - if ((priv_modes & PrivMode_aplKP) ? !shft : shft) + if (kp) { strcpy (kbuf, "\033OM"); break; @@ -713,7 +714,7 @@ case XK_KP_8: /* "\033Ox" : "8" */ case XK_KP_9: /* "\033Oy" : "9" */ /* allow shift to override */ - if ((priv_modes & PrivMode_aplKP) ? !shft : shft) + if (kp) { strcpy (kbuf, "\033Oj"); kbuf[2] += (keysym - XK_KP_Multiply); @@ -732,7 +733,7 @@ #ifdef XK_KP_Insert case XK_KP_Insert: /* allow shift to override */ - if ((priv_modes & PrivMode_aplKP) ? !shft : shft) + if (kp) { strcpy (kbuf, "\033Op"); break; @@ -755,7 +756,7 @@ #ifdef XK_KP_End case XK_KP_End: /* allow shift to override */ - if ((priv_modes & PrivMode_aplKP) ? !shft : shft) + if (kp) { strcpy (kbuf, "\033Oq"); break; @@ -768,7 +769,7 @@ #ifdef XK_KP_Home case XK_KP_Home: /* allow shift to override */ - if ((priv_modes & PrivMode_aplKP) ? !shft : shft) + if (kp) { strcpy (kbuf, "\033Ow"); break; @@ -1036,15 +1037,6 @@ { flush_ev.stop (); -#ifdef ENABLE_TRANSPARENCY - if (want_full_refresh) - { - want_full_refresh = 0; - scr_clear (); - scr_touch (false); - } -#endif - if (want_refresh) { if (SHOULD_INVOKE (HOOK_LINE_UPDATE)) @@ -1491,8 +1483,8 @@ } else { -#ifdef ENABLE_TRANSPARENCY - if (option (Opt_transparent)) +#ifdef HAVE_BG_PIXMAP + if (bgPixmap.window_position_sensitive ()) update_background (); #endif } @@ -1537,12 +1529,6 @@ HOOK_INVOKE ((this, HOOK_UNMAP_NOTIFY, DT_XEVENT, &ev, DT_END)); break; -#ifdef ENABLE_TRANSPARENCY - case ReparentNotify: - rootwin_cb (ev); - break; -#endif /* ENABLE_TRANSPARENCY */ - case GraphicsExpose: case Expose: if (ev.xany.window == vt) @@ -1745,13 +1731,10 @@ #if ENABLE_FRILLS if (option (Opt_urgentOnBell)) { - XWMHints *h; - - h = XGetWMHints(dpy, parent[0]); - if (h != NULL) + if (XWMHints *h = XGetWMHints(dpy, parent[0])) { h->flags &= ~XUrgencyHint; - XSetWMHints(dpy, parent[0], h); + XSetWMHints (dpy, parent[0], h); } } #endif @@ -3437,7 +3420,7 @@ break; #endif -#if XPM_BACKGROUND +#if BG_IMAGE_FROM_FILE case Rxvt_Pixmap: if (!strcmp (str, "?")) { @@ -4010,7 +3993,6 @@ { free (v_buffer); v_buffer = 0; - v_buflen = 0; pty_ev.set (EVENT_READ); return;