[comp.sys.amiga.misc] lines per screen in Handshake

atul@cadence.com (Atul Srinivasan) (05/15/91)

Uhm.. silly question, but when using Handshake in vt52 emulation
mode, with 48 lines per screen, I can't seem to to set the
page size to double what it is in lo res mode. That is to
say, I am logging in to a unix machine, and when I use utilities
like more/vi they recognize the page size correctly as 24 lines.
If I switch to 48 lines per screen, more still halts pages every
24 lines. Same for vi. Is there a way to control this  from
Handshake ?

Please email, as I am sure absolutely noone else would ever want
to know this.

Atul
atul@cadence.com

johnhlee@CS.Cornell.EDU (John H. Lee) (05/16/91)

In article <1991May14.223503.24260@cadence.com> atul@cadence.com (Atul Srinivasan) writes:
>Uhm.. silly question, but when using Handshake in vt52 emulation
>mode, with 48 lines per screen, I can't seem to to set the
>page size to double what it is in lo res mode. That is to
>say, I am logging in to a unix machine, and when I use utilities
>like more/vi they recognize the page size correctly as 24 lines.
>If I switch to 48 lines per screen, more still halts pages every
>24 lines. Same for vi. Is there a way to control this  from
>Handshake ?
>
>Please email, as I am sure absolutely noone else would ever want
>to know this.

	Well, I decided to post this since this is probably close to #1 on
the List of Commonly Asked Questions that I get.  My answer will be relevant
only for BSD-derived systems (i.e., BSD or SUN OS) since I have little to no
experience with System-V or POSIX tty drivers.

	If you're using a recent flavor of BSD Unix (4.3'ish), you may be
able set the number of rows and columns the system thinks your terminal has
with the "stty" command and the "rows" and "columns" attributes.  For
instance:

	% stty rows 48

for a 48-line terminal.  Another example:

	% stty rows 48 columns 132

for a 48-line, 132-column terminal.  From this point on, "vi" and "more" will
think your terminal has 48-lines.

	If you're not so lucky, you'll have to set your environment variable,
TERMCAP, to reflect the size of your terminal.  Xterm users use the program
"resize" to do this, but since you're on a real terminal, you'll have to do
this manually.  (Aside:  Why in the world are you using VT52 emulation?
VT100 is much better.)  You'll need to change the fields "li#" and "co#" to
the number of lines and columns of your terminal, respectively.  One way to
do this is to copy the vt52 entry from /etc/termcap and put it into some file
called, say, termcap.vt52 in your home directory.  Edit this file and change
the name 'vt52' on the first line to 'vt52-48', and change the "li#" and
"co#" entries.  Oh heck, I'll just include the contents of termcap.vt52:


dw|vt52-48|dec vt52 with 48 lines:\
	:do=^J:le=^H:bs:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :co#80:li#48:\
	:nd=\EC:pt:sr=\EI:up=\EA:ku=\EA:kd=\EB:kr=\EC:kl=\ED:kb=^H:


Now to get the system to use this entry instead, from csh do this:

	% setenv TERMCAP $HOME/termcap.vt52	# Full pathname of file
	% set noglob; eval `tset -s vt52-48`

From sh, do this:

	$ export TERMCAP
	$ TERMCAP=$HOME/termcap.vt52
	$ eval `tset -s vt52-48`

Note the back-single-quotes used for the "eval" command.  You'll probably
want to put this into a script file or your .login (or .profile if you're
using the Bourne shell.)

	Finally, set Handshake to 48-line mode.  If you're already in 48-line
mode, the terminal's scrolling region may still be set for 24 lines.  Just
select 24-line mode and then back to 48-lines from Handshake's menus to reset
the scrolling region.  vi and more should now be using all 48-lines!  Now
wasn't that easy?  :-)

-------------------------------------------------------------------------------
The DiskDoctor threatens the crew!  Next time on AmigaDos: The Next Generation.
	John Lee		Internet: johnhlee@cs.cornell.edu
The above opinions are those of the user, and not of this machine.

kherron@ms.uky.edu (Kenneth Herron) (05/16/91)

johnhlee@CS.Cornell.EDU (John H. Lee) writes:

>In article <1991May14.223503.24260@cadence.com> atul@cadence.com (Atul Srinivasan) writes:
>>I am logging in to a unix machine, and when I use utilities
>>like more/vi they recognize the page size correctly as 24 lines.
>>If I switch to 48 lines per screen, more still halts pages every
>>24 lines. Same for vi.

>	Well, I decided to post this since this is probably close to #1 on
>the List of Commonly Asked Questions that I get.  My answer will be relevant
>only for BSD-derived systems (i.e., BSD or SUN OS) since I have little to no
>experience with System-V or POSIX tty drivers.

For System V flavors of unix, try setting an environment variable LINES
to the number of lines, eg "LINES=48;export LINES".  There's a similar
variable COLUMNS for wide screens.

If this doesn't work, you have to create a custom terminfo description,
which is no big deal if your system has the untic utility.
-- 
Kenneth Herron                                            kherron@ms.uky.edu
University of Kentucky                                       +1 606 257 2975
Department of Mathematics       "So this won't be a total loss, can you make
         it so guys get to throw their mothers-in-law in?"  "Sure, why not?"

dave@cs.arizona.edu (Dave Schaumann) (05/16/91)

>>>I am logging in to a unix machine, and when I use utilities
>>>like more/vi they recognize the page size correctly as 24 lines.
>>>If I switch to 48 lines per screen, more still halts pages every
>>>24 lines. Same for vi.
>

I had this same problem.  I solve it by running a program called "resize"
(which lives in the X-windows executable directory -- but hey, it works...)

Just do a "find resize", and that should tell you if you have it on your
system.

-- 
Dave Schaumann      | There is no cause so right that one cannot find a fool
dave@cs.arizona.edu | following it.	- Niven's Law # 16

jet@karazm.math.uh.edu (J Eric Townsend) (05/17/91)

One thing you might want to try (if you have X11R4 installed), is
the "resize" command.


--
J. Eric Townsend - jet@uh.edu - bitnet: jet@UHOU - vox: (713) 749-2126
Skate(UNIX || Amiga);

johnhlee@CS.Cornell.EDU (John H. Lee) (05/18/91)

In article <1991May16.234203.26919@menudo.uh.edu> jet@karazm.math.uh.edu (J Eric Townsend) writes:
>One thing you might want to try (if you have X11R4 installed), is
>the "resize" command.

"resize" doesn't seem to work for Handshake (at least for the version of
Handshake I have.)  It seems to expect an xterm response and misinterprets
Handshake's response, setting the number of lines and columns to 1.  Not
very pleasant.

I don't know if this is because xterm's reply is different from of a VT100,
or if "resize" uses an xterm-private, non-VT100 sequence.  In any case,
it won't work for Handshake in VT52 emulation mode.

-------------------------------------------------------------------------------
The DiskDoctor threatens the crew!  Next time on AmigaDos: The Next Generation.
	John Lee		Internet: johnhlee@cs.cornell.edu
The above opinions are those of the user, and not of this machine.