[net.unix-wizards] Manuals, windows, auto-newlines

mike@BRL.ARPA (Mike Muuss) (04/15/86)

We all agree that better manuals would be nice.  AT&T is trying,
but I had expected more from their commercialization of UNIX.

For the big window, on 4.3 BSD, just say "stty rows 62 columns 116".

Auto-newline would need a hack to the tty driver;  I'm not convinced
of the general utility of this.
	-Mike

mike@whuxl.UUCP (BALDWIN) (04/17/86)

> For the big window, on 4.3 BSD, just say "stty rows 62 columns 116".

On System V say "LINES=62 COLUMNS=116; export LINES COLUMNS".
-- 
						Michael Baldwin
			(not the opinions of)	AT&T Bell Laboratories
						{at&t}!whuxl!mike

gwyn@brl-smoke.ARPA (Doug Gwyn ) (04/19/86)

In article <1098@whuxl.UUCP> mike@whuxl.UUCP (BALDWIN) writes:
>> For the big window, on 4.3 BSD, just say "stty rows 62 columns 116".
>
>On System V say "LINES=62 COLUMNS=116; export LINES COLUMNS".

Note that the semicolon is optional.

This is a lossage, though; when I reshape a layer on my DMD
the environment variables are not updated.

mike@whuxl.UUCP (BALDWIN) (04/21/86)

>>> For the big window, on 4.3 BSD, just say "stty rows 62 columns 116".
>>
>>On System V say "LINES=62 COLUMNS=116; export LINES COLUMNS".
> 
>This is a lossage, though; when I reshape a layer on my DMD
>the environment variables are not updated.  [D.Gwyn]

True; it is better that rows/columns be in the terminal
ioctl structure (termio/sgttyb).  Has 4.3 also moved $TERM
there?  TERM (and LINES and COLUMNS) are per-port variables,
not per-process.

Then there's the problem of cu'ing from a window.  Not much
can be done in that case if you reshape.  What happens with
remote shells?  Do they see the change or SIGWINCH?
-- 
						Michael Baldwin
			(not the opinions of)	AT&T Bell Laboratories
						{at&t}!whuxl!mike

gwyn@brl-smoke.ARPA (Doug Gwyn ) (04/24/86)

In article <1101@whuxl.UUCP> mike@whuxl.UUCP (BALDWIN) writes:
>True; it is better that rows/columns be in the terminal
>ioctl structure (termio/sgttyb).  Has 4.3 also moved $TERM
>there?  TERM (and LINES and COLUMNS) are per-port variables,
>not per-process.

No $TERM in the kernel, but using shell functions I can solve this
(so long as the functions can be passed in the environment a la
8th Edition UNIX; otherwise one needs to source a "function
definition file" when a shell starts up).  Just make the command
that downloads a terminal emulator a shell function that first
adjusts $TERM.

>Then there's the problem of cu'ing from a window.  Not much
>can be done in that case if you reshape.  What happens with
>remote shells?  Do they see the change or SIGWINCH?

"cu", "rlogin", etc. just have the problem that not enough
terminal state/control information is passed in their protocols.
With stream i/o networking, and suitable protocols, it should
be possible to have the "terminal handler" on the remote end
completely aware of the terminal state.  Occasionally we even
get that here using 4.2+BSD "rlogin", so far as initial window
size is concerned.  (I don't think window changes are passed
along, but they could be and should be.)

chris@umcp-cs.UUCP (Chris Torek) (04/27/86)

In article <238@brl-smoke.ARPA>, gwyn@brl-smoke.ARPA (Doug Gwyn) writes:
>With stream i/o networking, and suitable protocols, it should
>be possible to have the "terminal handler" on the remote end
>completely aware of the terminal state.

This is clearly the way to go.  It would solve all those little
glitches in rlogin.  Sigh.

>Occasionally we even get that here using 4.2+BSD "rlogin", so far as
>initial window size is concerned.  (I don't think window changes are
>passed along, but they could be and should be.)

They are passed along from our Suns to our Vaxen (I moved the 4.3
rlogin to the Suns).  There is, however, a bug in the 4.3 rlogin.
The server and client must do a tiny bit of negotiation to agree
to pass window sizes: the client should not do it unless the server
understands it.  This was done by passing an out of band data byte
with the high bit set.  Unfortunately, this depends on the timing
of an F_SETOWN ioctl, and works on Vaxen and not on Suns.  To fix
it requires rewriting rcmd(), or expanding it in line (or a kernel
change to start sockets owned by their creators).  I left it unfixed,
so that our Suns always pass window size changes, even if the server
does not understand them.  Sigh.
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 1415)
UUCP:	seismo!umcp-cs!chris
CSNet:	chris@umcp-cs		ARPA:	chris@mimsy.umd.edu