     SPLITVT(1)          NONESSENTIAL UTILITIES         SPLITVT(1)

     NAME
            splitvt - run two shells in a split window

     SYNOPSIS
            splitvt [options] [shell]

     OPTIONS
            -upper command               Runs 'command' in the upper window

            -lower command               Runs 'command' in the lower window

            -s 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.

            -t title               Sets an xterm title bar to 'title'

            -login Runs  the programs under each window as though they
     were  login  shells.   This  is  useful  to  have  csh               source
     it's .login file, bash source .profile, etc.

            -nologin               Ovverrides any "set   login   on"   statement
     in  the               startup file.

            -rcfile file               Loads   'file'   as   the   startup  file
     instead   of               ~/.splitvtrc.  If %s is present in the filename,
     it                will   be  replaced   by   your  home  directory.   (E.g.
                    %s/.splitvtrc is equivalent to the default  startup
     file)

            -norc  Suppresses loading your ~/.splitvtrc

            -v     Print out the version number of splitvt

     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. Pressing
            ^O will put splitvt into command mode.

     SPLITVT                 1/5/95                          1

     SPLITVT(1)          NONESSENTIAL UTILITIES         SPLITVT(1)

            These special characters (command mode, switch window, and
            quote  next  character)  can  be modified from within the
            .splitvtrc file.

            When in command mode, splitvt will  read one  non-numeric
            character,  perform the requested command, and then revert
            to normal operations.  Numeric characters are  interpreted
            as  a  parameter for the specified command.  The currently
            supported commands are:

            'h'    Print a help window for the escape commands

            '-'    Shrink the current window

            '+'    Expand the current window

            'c'    Select a block of text in the current window

            'p'    Paste the selected text to the current window

            'k'    Kill the current window (hangup signal)

            'x'    Lock the screen, after prompting for password

            'r'    Repaint the screen (clearing screen garbage)

            'q'    Quickly quit splitvt, killing the running shells

            More functions may be added in the future.

            If the -s command line 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.

            The environment variable SPLITVT is  set  in  the  shells
            forked by splitvt.  In the shell running in the upper win-
            dow, this variable is set to the value "upper", while  the
            shell running in the lower window has this variable set to
            the value "lower".  This is useful  in  shell  scripts  to
            provide  different  behavior depending on which window the
            script is running in.  An example of this is shown in  the
            file  "menu" in the examples directory in the splitvt dis-
            tribution.

     SPLITVT                 1/5/95                          2

     SPLITVT(1)          NONESSENTIAL UTILITIES         SPLITVT(1)

            When splitvt starts up, it looks in  your  home  directory
            for a file named .splitvtrc You can set a number of param-
            eters from within this file, including all of the  special
            characters,  the default number of lines in the upper win-
            dow, whether or not to run the commands as  login  shells,
            and even default commands to run in each window.

            Here is an example of a .splitvtrc file:

                  #  This  is  an  example  .splitvtrc  file.                set
     command_char    ^O               set  quote_char         ^V             set
     switch_char      ^W             set  upper_lines       12               run
     -upper          /bin/sh             run -lower          top             set
     login           on             # This next line would  override  the  above
     run statements             #run /bin/tcsh

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

            If  you  are  running under an xterm window, the title bar
            will probably be updated to show the  version  of  splitvt
            that  you are running.  Under a true xterm window, you can
            also switch which half of the window you are  typing  into
            by  clicking  the mouse in the half of the window in which
            you want to type.  You can also drag and drop the  separa-
            tor bar by pressing down on the mouse button over the sep-
            arator bar, holding it down, moving the mouse to where you
            want the bar to end up, and then releasing the button.

            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 win-
            dows.   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

     SPLITVT                 1/5/95                          3

     SPLITVT(1)          NONESSENTIAL UTILITIES         SPLITVT(1)

            set-uid  program, but I do not know everything, and am not
            responsible for  any  security  weaknesses  splitvt  might
            posess.

     BUGS
            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).

            If splitvt is compiled with xterm support, when run  under
            an xterm, the cut and paste feature is semi-disabled.  The
            title bar may also be reset to the  string  "xterm"  after
            splitvt  quits.  See the comments at the top of splitvt.c
            for how to disable xterm support.

            Ansi colors are not repainted on screen refresh.

     CAVEATS
            There may be conflicts between  splitvt's  characters  and
            other  programs. 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 emula-
            tion, due to the use  of  specific  vt100  escape  codes.
            (vt300, xterm, Linux console, etc, emulation also works)

            When running in an xterm, if you press the escape key, you
            will have to type  another  character  in  order for  the
            escape to be seen by the running program.

     AUTHOR
            Sam Lantinga   slouken@cs.ucdavis.edu

     SPLITVT                 1/5/95                          4