[net.unix-wizards] Getting the most from 'more'

TAA@MIT-XX.ARPA (01/26/84)

From:  Tim Anderson <TAA@MIT-XX.ARPA>

    A simple pager in the kernel isn't going to work; it would have to know
    the state of the screen. One way to proceed (I'm not really advocating
    this, but it might be interesting) is to absorb termcap into the kernel.
    Then programs would deal with virtual terminals, all of which look the
    same. If done properly, it could be quite elegant; I'm not sure it
    would be Unix.
Now we're getting somewhere.  This has been done, is quite elegant, and
makes life much more pleasant for the user.  To say nothing of the
programmer.  The only reason this isn't Unix is that it violates the
principle of doing everything in C libraries instead of in the kernel;
in this case, it makes a lot more sense because the terminal belongs to
all your processes, instead of just to whoever happens to have the right
library loaded.  Basically, you get better functionality at less cost. 
If that isn't Unix, then so be it.
	-ta
-------

rsp@opus.UUCP (01/28/84)

I'm surprized no one has asked for complete virtual terminal support in the
kernel. Do I hear someone now...?

							Russ Panneton
							NBI Inc.
							Boulder CO
							..!opus!rsp

gwyn%brl-vld@sri-unix.UUCP (01/30/84)

From:      Doug Gwyn (VLD/VMB) <gwyn@brl-vld>

Does anyone with a real UNIX System V have experience with their
virtual terminal support?  How useful is it?  (I know that "shl"
uses it, what else does?)

garys@bunkerb.UUCP (Gary Samuelson) (01/30/84)

Scott Miller write:

	UNIXes grand-pappy (Multics) also has output paging, only
it's in the tty driver.  Wonderous things like page length, line length,
etc. are all selectable (and DE-selectable) via 'stty'.
	I don't agree that such things belong any lower than a user
program, though.  Why hang a bag on the side of the Kernel to save the
extra typing of '|p' ??

	-Scott

OK, make all user programs perform paging if the output is a TTY.
You don't want to change every user program in existence?  Neither
do I.  Let's change something that they all use whenever writing
to a TTY.  Now what is it that all programs use when writing to
a TTY?  The TTY driver.

Is it true that UNIX only has two levels, kernel and user program?
Other OS's have several.  I would not consider a device driver as
part of the kernel, but maybe there is no such distinction in UNIX.

Why make a change to save typing?  Because people don't exist to
reduce the work computers have to do; computers exist to reduce
the work people have to do.

Gary Samuelson
ittvax!bunker!bunkerb!garys

kvm@basservax.SUN (Karlos Mauvtaque) (02/04/84)

I can't believe it!  I remember when a terminal was a simple character-special
device devoid of zillions of beaut features.  A real plus for (untarnished)
UNIX is the lack of spur of the moment features.  If you can't see this perhaps
you should throw away your wizard hat.

rpw3@fortune.UUCP (02/08/84)

#R:sri-arpa:-1597000:fortune:11600062:000:968
fortune!rpw3    Feb  7 20:39:00 1984

Gary Samuelson comes close to a compromise when he suggests
more than two levels: kernel and user. We actually have more
than two levels now, as far as the way the user sees it: kernel,
shell, and user.

For the sake of evoking flames, let me suggest changing another
sacred UNIX object instead of the driver: The Shell!

Let the shell [if the user so chooses with the "stty" builtin :-) ]
fork its children with stdin/stdout being pipes to itself, and let the
shell handle paging. It's fast (already in memory), versatile (shell
escapes whenever you stop output, like 'more'), and convenient
(no "|p" to type). Problems with signals? Use pty's instead of pipes.
Need job control? No problem, start another command while the first
is frozen.

Gee... with a little more work we could add windows...

Rob Warnock

UUCP:	{sri-unix,amd70,hpda,harpo,ihnp4,allegra}!fortune!rpw3
DDD:	(415)595-8444
USPS:	Fortune Systems Corp, 101 Twin Dolphins Drive, Redwood City, CA 94065