暂无描述

Spenser Truex 51ee387dd3 Fix typo: "the fist place" 5 年之前
.gitignore d1c2d2ad0e ignore config.h in repository 5 年之前
LICENSE 708ce2abd9 Move license to LICENSE 5 年之前
Makefile 0a2d1a06a9 add test file to dist target 5 年之前
README 51ee387dd3 Fix typo: "the fist place" 5 年之前
TODO 177976ae00 Support scroll back after clear screen 5 年之前
config.def.h 7c010c6353 fix spacing 5 年之前
config.mk 117d7db63f Add version option 5 年之前
perf.sh b539656abd perf: replace jot by $seq and set posix var for getopt(3) 5 年之前
ptty.c 58c58743d8 Fix warning for too many arguments for format 5 年之前
scroll.1 7a2762d0c1 add option -h for usage 5 年之前
scroll.c 708ce2abd9 Move license to LICENSE 5 年之前
up.log dda4e05544 fix test 5 年之前
up.sh c4b7051d0a better quoting in scrollup testing shell script 5 年之前

README

This program provides a scroll back buffer for a terminal like st(1). It
should run on any Unix-like system.

At the moment it is in an experimental state. Its not recommended for
productive use.

The initial version of this program is from Roberto E. Vargas Caballero:
https://lists.suckless.org/dev/1703/31256.html

What is the state of scroll?

The project is faced with some hard facts, that our original plan is not doable
as we thought in the first place:

1. [crtl]+[e] is used in emacs mode (default) on the shell to jump to the end
of the line. But, its also used so signal a scroll down mouse event from
terminal emulators to the shell an other programs.

- A workaround is to use vi mode in the shell.
- Or to give up mouse support (default behavior)

2. scroll could not handle backward cursor jumps and editing of old lines
properly. We just handle current line editing and switching between
alternative screens (curses mode). For a proper end user experience we
would need to write a completely new terminal emulator like screen or tmux.

What is the performance impact of scroll?

indirect OpenBSD
-------------------------------
0x 7.53 s
1x 10.10 s
2x 12.00 s
3x 13.73 s