From 7668e6ae05c0753aabc1614b92352937a99ef474 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 18 Jun 2007 13:38:12 +0000 Subject: [PATCH] less rough skipscroll --- Changes | 2 +- doc/rxvt.1.pod | 28 ++++++++++++++++++++++++---- src/command.C | 2 +- src/init.C | 1 + src/optinc.h | 30 +++++++++++++++--------------- 5 files changed, 42 insertions(+), 21 deletions(-) diff --git a/Changes b/Changes index bdeb07f2..ef93dbd8 100644 --- a/Changes +++ b/Changes @@ -18,13 +18,13 @@ WISH: anyevent mouse notification / manage MotionMask better. WISH: kick out xpm.C, replace by pixbuf DUMB: support tex fonts -TODO: skipscroll option TODO: really enable libafterimage by default (6mb => 10mb rss without using it)? TODO: document -blr units, and possibly fix blur (20 seems to be about 3 pixels, 80 seems to be about 3 pixels, too, just much slower). TODO: when window partially off-screen, -blr does not have any effect anymore. TODO: rid of global dpy variable. 8. + - new option: skipScroll/-ss, enabled by default. - go with the times and expect x11 library files in /usr/lib, not /usr/X11R6/lib. - initial transparency improvement/afterstep support diff --git a/doc/rxvt.1.pod b/doc/rxvt.1.pod index ecae48c0..6dcc08d9 100644 --- a/doc/rxvt.1.pod +++ b/doc/rxvt.1.pod @@ -110,7 +110,11 @@ Turn on/off simulated reverse video; resource B. =item B<-j>|B<+j> -Turn on/off jump scrolling; resource B. +Turn on/off jump scrolling (allow multiple lines per refresh); resource B. + +=item B<-ss>|B<+ss> + +Turn on/off skip scrolling (allow multiple screens per refresh); resource B. =item B<-ip>|B<+ip> | B<-tr>|B<+tr> @@ -609,9 +613,25 @@ B<+rv>. See note in B section. =item B I -B: specify that jump scrolling should be used. When scrolling -quickly, fewer screen updates are performed [default]; option B<-j>. -B: specify that smooth scrolling should be used; option B<+j>. +B: specify that jump scrolling should be used. When receiving lots +of lines, @@RXVT_NAME@@ will only scroll once a whole screen height of lines +has been read, resulting in fewer updates while still displaying every +received line; option B<-j>. + +B: specify that smooth scrolling should be used. @@RXVT_NAME@@ will +force a screen refresh on each new line it received; option B<+j>. + +=item B I + +B: (the default) specify that skip scrolling should be used. When +receiving lots of lines, @@RXVT_NAME@@ will only scroll once in a while +(around 60 times per second), resulting in far fewer updates. This can +result in @@RXVT_NAME@@ not ever displaying some of the lines it receives; +option B<-ss>. + +B: specify that everything is to be displayed, even +if the refresh is too fast for the human eye to read anything (or the +monitor to display anything); option B<+ss>. =item B I diff --git a/src/command.C b/src/command.C index e7ab402e..b47d477e 100644 --- a/src/command.C +++ b/src/command.C @@ -2295,7 +2295,7 @@ rxvt_term::cmd_parse () { refresh_count = 0; - if (!option (Opt_skipScroll) || io_manager::now () > NOW + .1) + if (!option (Opt_skipScroll) || io_manager::now () > NOW + 1. / 60.) { refreshnow = true; ch = NOCHAR; diff --git a/src/init.C b/src/init.C index 8c0f064d..ea882563 100644 --- a/src/init.C +++ b/src/init.C @@ -215,6 +215,7 @@ rxvt_term::init_vars () set_option (Opt_scrollBar); set_option (Opt_scrollTtyOutput); set_option (Opt_jumpScroll); + set_option (Opt_skipScroll); set_option (Opt_secondaryScreen); set_option (Opt_secondaryScroll); set_option (Opt_pastableTabs); diff --git a/src/optinc.h b/src/optinc.h index 319628a5..f72af00b 100644 --- a/src/optinc.h +++ b/src/optinc.h @@ -17,24 +17,24 @@ def(tripleclickwords, 14) def(scrollWithBuffer, 15) def(jumpScroll, 16) - def(skipScroll, 16) - def(mouseWheelScrollPage, 17) + def(skipScroll, 17) + def(mouseWheelScrollPage, 18) #if POINTER_BLANK - def(pointerBlank, 18) + def(pointerBlank, 19) #else nodef(pointerBlank) #endif - def(cursorBlink, 19) - def(secondaryScreen, 20) - def(secondaryScroll, 21) - def(pastableTabs, 22) - def(cursorUnderline, 23) + def(cursorBlink, 20) + def(secondaryScreen, 21) + def(secondaryScroll, 22) + def(pastableTabs, 23) + def(cursorUnderline, 24) #if ENABLE_FRILLS - def(insecure, 24) // insecure esc sequences - def(borderLess, 25) // mwm borderless hints - def(hold, 26) // hold window open after exit - def(override_redirect, 27) - def(skipBuiltinGlyphs, 28) // do not use internal glyphs + def(insecure, 25) // insecure esc sequences + def(borderLess, 26) // mwm borderless hints + def(hold, 27) // hold window open after exit + def(override_redirect, 28) + def(skipBuiltinGlyphs, 29) // do not use internal glyphs def(urgentOnBell, 30) #else nodef(insecure) @@ -45,12 +45,12 @@ nodef(urgentOnBell) #endif #if ENABLE_STYLES - def(intensityStyles, 29) // font styles imply intensity + def(intensityStyles, 31) // font styles imply intensity #else nodef(intensityStyles) #endif #if ISO_14755 - def(iso14755_52, 31) + def(iso14755_52, 32) #else nodef(iso14755_52) #endif -- 2.34.1