بدون توضیح

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