-- Leo's gemini proxy
-- Connecting to git.thebackupbox.net:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini
repo: rxvt-unicode-sixel action: commit revision: path_from: revision_from: b2568330e3795ac80d9aa8cc1ce8c23d5a0bc317: path_to: revision_to:
commit b2568330e3795ac80d9aa8cc1ce8c23d5a0bc317 Author: Marc Lehmann <schmorp@schmorp.de> Date: Mon Jun 18 12:53:26 2007 +0000 initial rough-cut skipscroll diff --git a/src/command.C b/src/command.C
--- a/src/command.C +++ b/src/command.C @@ -1112,7 +1112,6 @@ rxvt_term::flush_cb (time_watcher &w) { make_current (); - refresh_limit = 1; refresh_count = 0; flush (); } @@ -1695,7 +1694,6 @@ rxvt_term::x_cb (XEvent &ev) scr_move_to (scrollbar_position (ev.xbutton.y) - csrO, scrollbar_size ()); want_refresh = 1; - refresh_limit = 0; scrollbar_show (1); } break; @@ -2293,13 +2291,16 @@ rxvt_term::cmd_parse () 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) + { + refreshnow = true; + ch = NOCHAR; + break; + } } // scr_add_lines only works for nlines <= nrow - 1. @@ -2337,21 +2338,14 @@ rxvt_term::cmd_parse () /* * 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; } } diff --git a/src/command.h b/src/command.h
--- a/src/command.h +++ b/src/command.h @@ -10,9 +10,6 @@ #define ESC_ARGS 32 /* max # of args for esc sequences */ -/* a large REFRESH_PERIOD causes problems with `cat' */ -#define REFRESH_PERIOD 1 - #ifndef MULTICLICK_TIME # define MULTICLICK_TIME 500 #endif diff --git a/src/init.C b/src/init.C
--- a/src/init.C +++ b/src/init.C @@ -201,7 +201,6 @@ rxvt_term::init_vars () saveLines = SAVELINES; numpix_colors = TOTAL_COLORS; - refresh_limit = 1; refresh_type = SLOW_REFRESH; oldcursor.row = oldcursor.col = -1; diff --git a/src/optinc.h b/src/optinc.h
--- a/src/optinc.h +++ b/src/optinc.h @@ -17,6 +17,7 @@ def(tripleclickwords, 14) def(scrollWithBuffer, 15) def(jumpScroll, 16) + def(skipScroll, 16) def(mouseWheelScrollPage, 17) #if POINTER_BLANK def(pointerBlank, 18) diff --git a/src/rsinc.h b/src/rsinc.h
--- a/src/rsinc.h +++ b/src/rsinc.h @@ -22,6 +22,7 @@ #endif def (loginShell) def (jumpScroll) + def (skipScroll) #ifdef HAVE_SCROLLBARS def (scrollBar) def (scrollBar_right) diff --git a/src/rxvt.h b/src/rxvt.h
--- a/src/rxvt.h +++ b/src/rxvt.h @@ -955,7 +955,6 @@ struct rxvt_term : zero_initialized, rxvt_vars, rxvt_screen { mouse_slip_wheel_speed, #endif refresh_count, - refresh_limit, last_bot, /* scrollbar last bottom position */ last_top, /* scrollbar last top position */ last_state, /* scrollbar last state */ diff --git a/src/xdefaults.C b/src/xdefaults.C
--- a/src/xdefaults.C +++ b/src/xdefaults.C @@ -95,6 +95,7 @@ optList[] = { BOOL (Rs_reverseVideo, "reverseVideo", "rv", Opt_reverseVideo, 0, "reverse video"), BOOL (Rs_loginShell, "loginShell", "ls", Opt_loginShell, 0, "login shell"), BOOL (Rs_jumpScroll, "jumpScroll", "j", Opt_jumpScroll, 0, "jump scrolling"), + BOOL (Rs_skipScroll, "skipScroll", "ss", Opt_skipScroll, 0, "skip scrolling"), BOOL (Rs_pastableTabs, "pastableTabs", "ptab", Opt_pastableTabs, 0, "tab characters are pastable"), #if HAVE_SCROLLBARS RSTRG (Rs_scrollstyle, "scrollstyle", "mode"),
-----END OF PAGE-----
-- Response ended
-- Page fetched on Sun Jun 2 12:14:06 2024