--- rxvt-unicode/src/command.C 2007/06/11 19:57:28 1.329 +++ rxvt-unicode/src/command.C 2007/06/26 09:55:22 1.333 @@ -1037,7 +1037,7 @@ { flush_ev.stop (); -#ifdef TRANSPARENT +#ifdef ENABLE_TRANSPARENCY if (want_full_refresh) { want_full_refresh = 0; @@ -1112,7 +1112,6 @@ { make_current (); - refresh_limit = 1; refresh_count = 0; flush (); } @@ -1502,7 +1501,7 @@ HOOK_INVOKE ((this, HOOK_CONFIGURE_NOTIFY, DT_XEVENT, &ev, DT_END)); -#ifdef TRANSPARENT +#ifdef ENABLE_TRANSPARENCY if (option (Opt_transparent)) check_our_parents (); #endif @@ -1546,11 +1545,11 @@ HOOK_INVOKE ((this, HOOK_UNMAP_NOTIFY, DT_XEVENT, &ev, DT_END)); break; -#ifdef TRANSPARENT +#ifdef ENABLE_TRANSPARENCY case ReparentNotify: rootwin_cb (ev); break; -#endif /* TRANSPARENT */ +#endif /* ENABLE_TRANSPARENCY */ case GraphicsExpose: case Expose: @@ -1584,7 +1583,7 @@ scrollbar_show (0); } -#ifdef TRANSPARENT +#ifdef ENABLE_TRANSPARENCY if (am_transparent && ev.xany.window == parent[0]) XClearWindow (dpy, ev.xany.window); #endif @@ -1695,7 +1694,6 @@ scr_move_to (scrollbar_position (ev.xbutton.y) - csrO, scrollbar_size ()); want_refresh = 1; - refresh_limit = 0; scrollbar_show (1); } break; @@ -1824,7 +1822,7 @@ #endif } -#if TRANSPARENT || ENABLE_PERL +#if ENABLE_TRANSPARENCY || ENABLE_PERL void rxvt_term::rootwin_cb (XEvent &ev) { @@ -1834,7 +1832,7 @@ && HOOK_INVOKE ((this, HOOK_ROOT_EVENT, DT_XEVENT, &ev, DT_END))) return; -# if TRANSPARENT +# if ENABLE_TRANSPARENCY switch (ev.type) { case PropertyNotify: @@ -2293,13 +2291,16 @@ refresh_count++; - if (!option (Opt_jumpScroll) - || (refresh_count >= refresh_limit * (nrow - 1))) + if (!option (Opt_jumpScroll) || refresh_count >= nrow - 1) { - refreshnow = true; refresh_count = 0; - ch = NOCHAR; - break; + + if (!option (Opt_skipScroll) || io_manager::now () > NOW + 1. / 60.) + { + refreshnow = true; + ch = NOCHAR; + break; + } } // scr_add_lines only works for nlines <= nrow - 1. @@ -2337,21 +2338,14 @@ /* * If there have been a lot of new lines, then update the screen - * What the heck I'll cheat and only refresh less than every page-full. - * the number of pages between refreshes is refresh_limit, which - * is incremented here because we must be doing flat-out scrolling. + * What the heck we'll cheat and only refresh less than every page-full. + * if skipScroll is enabled. */ if (refreshnow) { - if (option (Opt_jumpScroll) && refresh_limit < REFRESH_PERIOD) - refresh_limit++; - else - { - flag = true; - //TODO: due to popular request, implement "skipscroll" option here - scr_refresh (); - want_refresh = 1; - } + flag = true; + scr_refresh (); + want_refresh = 1; } } @@ -2582,7 +2576,7 @@ case 0x9b: /* CSI */ process_csi_seq (); break; - case 0x9d: /* CSI */ + case 0x9d: /* OSC */ process_osc_seq (); break; #endif @@ -3443,7 +3437,7 @@ process_color_seq (op, Color_IT, str, resp); break; #endif -#if TRANSPARENT && TINTING +#if ENABLE_TRANSPARENCY && TINTING case URxvt_Color_tint: process_color_seq (op, Color_tint, str, resp); @@ -3483,7 +3477,7 @@ scr_touch (true); #endif } -#if TRANSPARENT && defined(HAVE_AFTERIMAGE) +#if ENABLE_TRANSPARENCY && defined(HAVE_AFTERIMAGE) if (option (Opt_transparent)) check_our_parents (); #endif