wsh/
wsh/binsrc/
wsh/docs/help/
wsh/docs/old/
wsh/etc/
wsh/src/util/
SPLITVT(1)		(NONESSENTIAL UTILITIES)		SPLITVT(1)



NAME
	splitvt - run two shells in a split window

SYNOPSIS
	splitvt [options] [shell]


OPTIONS
	-k kill_char		Sets kill_char to the character that
				will instantly quit splitvt.

	-q quote_char		Sets quote_char to the character that
				will pass the next typed character
				through splitvt to the running shells.

	-s switch_char		Sets 'switch_char' to the character
				that switches between windows.

	-l numlines		Sets 'numlines' to the number of lines
				in the top window.  This number will
				be modified if the screen isn't big
				enough to handle the full size.


DESCRIPTION

	This program splits the screen into two windows, one above 
the other, and runs a shell in each one.  The default shell is taken 
from the SHELL environment variable, or /bin/csh if SHELL isn't in the 
environment, but another shell can be specified on the command line.  
The top window is the default current window, but you can change to 
the other by pressing ^W.  Pressing ^V will quote the next character 
to the current shell.  To exit splitvt, press ^X.  
	The special characters (kill window, switch window, and quote 
next character) can be modified via the command line options.

	Under Sun/OS, splitvt will automatically switch windows when 
the shell in one has exited, and will automatically quit when both 
shells have exited.
	This program is useful if you can't run windows, but need to 
do two things on the same screen.

	If programs like vi are doing strange things to the window 
while in splitvt, you probably need to set the LINES environment 
variable to a correct value, or set the terminal's window sizing correctly.  
This should be done automatically, but may need to be corrected.

	Under certain conditions, resizing the window (assuming you
are running splitvt in a window managed by a window manager) will 
cause splitvt to resize its own split windows.  This will happen under
Sun/OS, HP-UX, ULTRIX, and through rlogin, but not on Apollo DOMAIN_OS
or through telnet or a modem.
	If the -l option is used, the upper window will be bound
to the user defined number of lines even if the screen is resized.
Otherwise, the screen will be split into two equal parts based on
the new size of the screen.

	splitvt will attempt to erase the current utmp entry, and
replace it with entries for the two windows.  This allows you to use
programs such as 'talk' within the splitvt windows.  If you do not
have write permission to the /etc/utmp file, you will not be able to
modify the utmp entries.
	splitvt can be made set-uid root.  splitvt will reset its
user id to that of the person running it, just before it exec()'s the
shell under the window.  The splitvt process remains with root 
permissions, and will change ownership of the pseudo terminals to
that of the person running splitvt, and then reset it to root when
the window is closed..
	SPLITVT IS NOT GUARANTEED TO BE A SAFE SET-UID PROGRAM
I have done all I know to keep splitvt a safely usable set-uid 
program, but I do not know everything, and am not responsible for
any security weaknesses splitvt might posses.



BUGS
	splitvt has been tested on Sun/OS 4.x, HP-UX, AIX, IRIX, 
	Solaris 2.1, and ULTRIX, and is still in the beta testing 
	stage.  

	splitvt takes care to keep the cursor in the current window 
	at all times.  To do this, it uses fast terminal control 
	sequences.  With fast input coming in, splitvt can confuse 
	the terminal, resulting in text being placed at the wrong 
	position on the window, and strange character sequences being 
	printed.  These strange characters are not really in the window; 
	they are just garbage on the screen.

	When used with a certain public domain version of ksh, you 
	have to manually kill -9 on the shell processes after you 
	quit splitvt.  This has to do with a bug in that version of
	ksh (Version 06/03/86a and possibly others).

	The vt100 handling could benefit from improvement.  


CAVEATS
	The screen cannot be refreshed if it is messed up.  

	There may be conflicts between splitvt's characters and 
	other programs (such as emacs).  You can either change 
	splitvt's default characters with command line options, 
	or you can type Ctrl-V (the quote character) within splitvt, 
	and the next character typed will be sent to the current
	window, no matter what it is.

	splitvt can only be used by terminals using vt100 emulation, 
	due to the use of specific vt100 escape codes. 
	(vt300, xterm, etc, emulation also works)


AUTHOR
	Sam Lantinga 	slouken@toadflax.cs.ucdavis.edu