\input texinfo
@setfilename uit.info
@settitle UIT, UNIX Interactive Tools
@ifinfo
@node Top, Introduction, (dir), (dir)

This file documents the UNIX Interactive Tools package.

Copyright (c) 1993, 1994 Tudor Hulubei & Andrei Pitis

@menu
* Introduction::
* Installing UIT::
* Configuration Files::
* uit::
* uitps::
* uitview::
* uitcmp::
* Starting uit/uitps/uitview::
* Canceling Operations::
* Mouse Support::
* Minuses::
* Bugs::
* Copyright::
* Authors::
@end menu


@end ifinfo

@setchapternewpage odd
@titlepage
@center @titlefont{UIT}
@sp 1
@center UNIX Interactive Tools
@sp 4
@center Version 4.2b
@sp 1
@center May 1994
@sp 5
@center Tudor Hulubei & Andrei Pitis

@vskip 0pt plus 1filll
Copyright @copyright{} 1993, 1994 Tudor Hulubei & Andrei Pitis

Permission to use, copy, modify, and distribute this software and its
documentation for any non-commercial purpose and without fee is hereby
granted, provided that the above copyright notice appear in all copies and
that both that copyright notice and this permission notice appear in
supporting documentation.

This program is provided AS IS with no warranties of any kind. The author
shall have no liability with respect to the infringement of copyrights,
trade secrets or any patents by this program or any part thereof. In no
event will the author be liable for any lost revenue or profits or other
special, indirect and consequential damages.
@end titlepage


@node Introduction, Installing UIT, Top, Top
@section Introduction

This document presents some basic information that users should know in
order to use UIT effectively. Any questions, comments, or bug reports,
should be emailed to the authors. Please be sure to include the version
number. The email addresses are:

@display
                   tudor@@ulise.cs.pub.ro
                   tudor@@habarnam.cs.pub.ro
@end display

@node Installing UIT, Configuration Files, Introduction, Top
@section Installing UIT


1. There are three main configuration files in UIT 4.2b:

@display
	a.	.uitrc.console - Linux console configuration file
	b.	.uitrc.vt100   - vt100 configuration file
	c.	.uitrc.vt102   - vt102 configuration file (same as vt100)
	d.	.uitrc.xterm   - xterm configuration file (X window system)
@end display


@noindent
When uit/uitps/uitview are started, they search a file named .uitrc.TERM in the
user's home directory. TERM is the value of your 'TERM' environment variable,
e.g vt102. If TERM=vt102 your configuration file shoud be .uitrc.vt102 . The
package contains three predefined configuration files but, if you are using a
different terminal type then you can easy create a configuration file for it
renaming / modifying one of them. Put a suitable configuration file in your
home directory.

@xref{Configuration Files}.

2. Compile the sources. The Makefile is configured for Linux but you can very
simply configure it for ULTRIX or other UNIX systems. Just read it.
@noindent
    a) compiling UIT 4.2b for Linux:
@noindent
- if you are not using SLACKWARE Linux 1.2.0 you need to comment out 
the definition of the function yywrap() in the file termcap.l. This is due
to the fact that with older versions of flex yywrap() was already defined.
Starting with SLACKWARE Linux 1.2.0 flex doesn't define yywrap() anymore so I
had to do it myself in order to get UIT correctly compiled (linked). Sorry, not
my fault :-)
@noindent
- if you want to use UIT at the console just do

@display
			make clean
			make dep
			make
			make man
			make info
@end display

@noindent
and then copy the .uitrc.TERM file in your home directory. If your monitor is
monochrome, in the [Setup] section of .uitrc.TERM set ColorMonitor to OFF.

@noindent
- for those users running UIT with a b/w tty, copy the .uitrc.TERM file in
their home directory seting in the [Setup] section LinuxConsole to OFF (if
LinuxConsole is OFF, ColorMonitor is ignored). 

@noindent
    b) compiling UIT 4.2b for other Unix systems:
@noindent
- if your C compiler supports the 'const' keyword, define HAVE_CONST.
- if your system supports the statfs() system call define HAVE_STATFS
(optional, UIT 4.2b works fine without it). If UIT fails to compile, just
forget about HAVE_STATFS (undefine it and try again).
- an example: (this should be in the Makefile for a system with a compiler
that supports the 'const' keyword but does't have a statfs() system call)

@display
			SYSCONFIG = -DHAVE_CONST
@end display

@noindent
- if your system use terminfo instead of termcap (System V i.e.) you must copy
the .uittermcap file in your home directory, modifying it to suit your terminal
type (.uittermcap is a termcap like database).
- older versions of the lex utility may require additional configuration
options: %a, %e, %n, %p, %k ... etc. If lex fails to generate the termcap.c
file from termcap.l try to configure it consulting the lex manual page.
- to compile just do

@display
			make clean
			make
			make man
			make info
@end display

3. Copy  uit, uitcmp, uitps and  uitview  somewhere in the path
(/usr/bin or /usr/local/bin).

@display
@xref{uit},
@xref{uitps},
@xref{uitview},
@xref{uitcmp}.
@end display

4. Copy the uit.1 file in /usr/man/preformat/cat1 (or whatever it is your
manual utility main directory), compressing it if necessary.
uit.1 is the pre-formatted version of the manual page; the manual page is
available in un-formatted state and its name is uit.man. Do a 'make man' if
you want to re-format the manual page. You can do that only if you have the
nroff utility installed on your system.

5. Change the uit.1 (or uit.1.gz) file mode to 644 (make it readable
for all the users).

6. Replace     '/home'    in    the    ^Wh    key    description    with 
/home/user_home_directory_name. (This is not really important, but users
can reach very fast their home directory this way).

@xref{Configuration Files}.

7. Install the Info documentation. I suppose you already did it :-).


@node Configuration Files, UIT, Installing UIT, Top
@section Configuration Files


There are two configuration files in uit/uitps/uitview: .uitrc.TERM and
uittermcap. Their place is in the user's HOME directory. UIT 4.2b allows
each terminal type to have its own configuration file (TERM is the value of
the 'TERM' environment variable (e.g vt102). For the Linux console the
configuration file is .uitrc.console). You can run uit/uitps/uitview without
.uittermcap but on systems with very large termcap databases, copying the
definitions of the most used terminals in .uittermcap will result in
uit/uitps/uitview starting faster. For even faster access, you may put in
.uittermcap only the terminal capabilities that uit/uitps/uitview uses.
These capabilities are 'cm', 'us', 'ue', 'so', 'mr', 'se', 'cl', 'md', 'me'
and, of course, 'tc'. uit/uitps/uitview doesn't use termcap key definitions.
You must define the keys you want directly in the .uit.TERM file in
sections [UITxxx-Keys].

The .uittermcap is a local termcap database, which allows uit/uitps/uitview
to find very fast the termcap description of the terminal specified in the
TERM environment variable. You can copy your terminal description from
/etc/termcap and put it in the .uittermcap because /etc/termcap is ussualy
a very large and hard to search file.

uit uses .uittermcap to find a terminal description *BEFORE* trying to read
/etc/termcap. If .uittermcap is found in the user's HOME directory,
/etc/termcap will be ignored. The main advantage of the .uittermcap file is
that it allows faster access and can be modified without special permission.
You can use only one of .uittermcap and /etc/termcap at a time. Take care:
if you are using .uittermcap and your terminal description can't be found
there, uit will fail because the /etc/termcap database won't be searched.

The configuration file .uitrc.TERM is the file uit searches each time it
is started, trying to configure itself reading it. uit searches it in the
home directory. The configuration file is structured on sections, each
section containing variables in the following format:

	variable_name = first_field;second_field; ...

After the 'variable_name' at least one space or tab is required. All
characters after a '#' are ignored and if you comment a section name, the
whole section is ignored.

The default configuration file $HOME/.uitrc.TERM supports most of the usual
commands. To find out more about them please read it. uit allows you to
change both the utility used to perform a particular operation (using compress
instead of gzip :-) ) and the key associated with it. There is also possible
to remove/add new commands.


The configuration file contains the following sections:


@menu
* Section [Setup]::
* Section [UIT-Setup]::
* Section [UITPS-Setup]::
* Section [UITVIEW-Setup]::
* Sections [UITxxx-Color] / [UITxxx-Monochrome]::
* Sections [UITxxx-Keys]::
@end menu


@node Section [Setup], Section [UIT-Setup], , Configuration Files
@section Section [Setup]


In this section the variables have only one field.


a. TempDirectory

- this variable specifies the location of the temporary files created by uit.


b. LinuxConsole

- this variable should be set to ON on Linux systems if you are working on a
Linux virtual tty. If you are connected to a Linux system with a serial b/w
tty, you should set this to OFF. LinuxConsole is meaningless if uit was
compiled without 'HAVE_LINUX'.


c. ColorMonitor

- this variable should be set to ON on Linux systems if you are working on a
Linux virtual tty and you have a color monitor. If your monitor is monochrome,
you should set this to OFF. ColorMonitor is meaningless if uit was compiled
without 'HAVE_LINUX' or LinuxConsole is OFF.

If LinuxConsole and ColorMonitor are both ON, [UITxxx-Color] sections will be
used in the configuration file .uitrc.TERM . Otherwise, uit will use the
[UITxxx-Monochrome] sections. The discussion above applies to uit, uitps
and uitview utilities.

@xref{Sections [UITxxx-Color] / [UITxxx-Monochrome]}.


@node Section [UIT-Setup], Section [UITPS-Setup], Section [Setup], Configuration Files
@subsection Section [UIT-Setup]

In this section the variables have only one field.


a. StartupFileDisplayMode

- this variable specifies the file specific information displayed at startup.
It can be any of OwnerGroup, DateTime, Size, Mode or FullName.

-  this value initially affects both panels but it can be changed separately
afterwards.


b. StartupLeftPanelPath

c. StartupRightPanelPath

- those variables specifies the startup path for each panel.


d. NormalModeHelp

e. CommandLineModeHelp

- those variables describe the status bar contents for each uit mode when no
errors occurred.

@xref{<ShowTty>}.


f. InfoDisplay

- if this variable is OFF, auxiliary file informations are not displayed. This
can be useful if you are using a very slow terminal.


g. FrameDisplay

- if this variable is OFF, the uit frame is not displayed. This can be useful
if you are using a very slow terminal.

@xref{uit}.

@node Section [UITPS-Setup], Section [UITVIEW-Setup], Section [UIT-Setup], Configuration Files
@subsection Section [UITPS-Setup]

In this section the variables have only one field.


a. UitPsModeHelp

- this variable describe the uitps status bar contents.

@xref{uitps}.

@node Section [UITVIEW-Setup], Sections [UITxxx-Color] / [UITxxx-Monochrome], Section [UITPS-Setup], Configuration Files
@subsection Section [UITVIEW-Setup]

In this section the variables have only one field.


a. UitViewModeHelp

- this variable describe the uitview status bar contents.

@xref{uitview}.

@node Sections [UITxxx-Color] / [UITxxx-Monochrome], Sections [UITxxx-Keys], Section [UITVIEW-Setup], Configuration Files
@subsection Sections [UITxxx-Color] / [UITxxx-Monochrome]

In this sections the variables have only one field.

These sections permits you to customize the colors of uit, uitps and uitview.
Reading the .uitrc.TERM configuration file should be self explanatory.

@display
@xref{Section [Setup]},
@xref{Configuration Files}.
@end display


@node Sections [UITxxx-Keys], , Sections [UITxxx-Color] / [UITxxx-Monochrome], Configuration Files
@subsection Sections [UITxxx-Keys]


These sections describe the actions uit/uitps/uitview takes when a specified
key is pressed. In this sections a variable can have up to 6 fields separated
by ';'. Each line in this section looks like:

key_sequence = command_name;formatted_command;new_dir;
               save_screen;pause;hide

@noindent
WARNING: you can't continue the variable fields description on the next line.

@menu
* key_sequence::
* command_name::
* formatted_command::
* new_dir::
* save_screen::
* pause::
* hide::
@end menu


@node key_sequence, command_name, , Sections [UITxxx-Keys]
@subsection key_sequence

- 'key_sequence' is the key sequence associated with the given command. You can
*se any key sequence wich doesn't start with an ascii character (0x20 to 0x7e).
You can specify the ESC character as ^[ , the ^ character as ^^ and space as
^@ . Ascii characters are used by the command line.


@node command_name, formatted_command, key_sequence, Sections [UITxxx-Keys]
@subsection command_name

- 'command_name' is a command generic name. Even if it is not always used, the
'command_name' must be present (if a command is associated with 'key_sequence')
. If it is not, no action will be taken when pressing 'key_sequence'. There are
two types of commands in uit: built-in commands and user defined commands.
Built-in commands are specified between <> (<Copy>, <RenameMove>, <MkDir> etc)
and if the 'command_name' section contains a built-in command specification,
the other fields are ignored.


uitps and uitview are using only built-in commands. These are all the
built-in commands used by uit, uitps and uitview:


The BUILT-IN COMMANDS are:

@menu

* <Copy>::				Available in: uit
* <RenameMove>::			Available in: uit
* <MkDir>::				Available in: uit
* <Delete>::				Available in: uit
* <Exit>::				Available in: uit, uitps, uitview
* <HistoryBack>::			Available in: uit
* <ShowTty>::				Available in: uit
* <Refresh>::				Available in: uit, uitps, uitview
* <GotoRoot>::				Available in: uit
* <SwitchPanels>::			Available in: uit
* <HistoryNext>::			Available in: uit
* <FileDisplayMode>::			Available in: uit
* <DeleteCmdLn>::			Available in: uit
* <FileSelect>::			Available in: uit
* <CopyFileToCmdLn>::			Available in: uit
* <Home>::				Available in: uit, uitps, uitview
* <End>::				Available in: uit, uitps, uitview
* <PageUp>::				Available in: uit, uitps, uitview
* <PageDown>::				Available in: uit, uitps, uitview
* <CursorLeft>::			Available in: uit
* <CursorRight>::			Available in: uit
* <CursorUp>::				Available in: uit, uitps, uitview
* <CursorDown>::			Available in: uit, uitps, uitview
* <ChangePanel>::			Available in: uit
* <ChangeDir>::				Available in: uit
* <NextSignal>::			Available in: uitps
* <SIGHUP>::				Available in: uitps
* <SIGINT>::				Available in: uitps
* <SIGQUIT>::				Available in: uitps
* <SIGILL>::				Available in: uitps
* <SIGFPE>::				Available in: uitps
* <SIGKILL>::				Available in: uitps
* <SIGUSR1>::				Available in: uitps
* <SIGSEGV>::				Available in: uitps
* <SIGUSR2>::				Available in: uitps
* <SIGPIPE>::				Available in: uitps
* <SIGALRM>::				Available in: uitps
* <SIGTERM>::				Available in: uitps
* <SIGCHLD>::				Available in: uitps
* <SIGCONT>::				Available in: uitps
* <KillProcess>::			Available in: uitps
@end menu


@display
@xref{uit},
@xref{uitps},
@xref{uitview}.
@end display


@node <Copy>, <RenameMove>, , command_name
@subsection <Copy>

in uit:

- copies files from one panel to another.

@node <RenameMove>, <MkDir>, <Copy>, command_name
@subsection <RenameMove>

in uit:

- moves files from one panel to another.

@node <MkDir>, <Delete>, <RenameMove>, command_name
@subsection <MkDir>

in uit:

- makes directories.

@node <Delete>, <Exit>, <MkDir>, command_name
@subsection <Delete>

in uit:

- deletes files and empty directories.

@node <Exit>, <HistoryBack>, <Delete>, command_name
@subsection <Exit>

- exits.

@node <HistoryBack>, <ShowTty>, <Exit>, command_name
@subsection <HistoryBack>

in uit:

- copies to the command line the previous command in the history list.

@node <ShowTty>, <Refresh>, <HistoryBack>, command_name
@subsection <ShowTty>

in uit:

- switches between the two uit modes (starting with Linux 0.99.12 this option 
is completely used only if you are super user because normal users can't do a
screen dump).

@node <Refresh>, <GotoRoot>, <ShowTty>, command_name
@subsection <Refresh>

in uit:

- refreshes the contents of the current panel.

in uitps:

- refresh the processes list by recalling ps(1).

in uitview:

- refresh the screen by re-reading the file.

@node <GotoRoot>, <SwitchPanels>, <Refresh>, command_name
@subsection <GotoRoot>

in uit:

- changes the current directory to root.

@node <SwitchPanels>, <HistoryNext>, <GotoRoot>, command_name
@subsection <SwitchPanels>

in uit:

- switches the left panel with the right one.

@node <HistoryNext>, <FileDisplayMode>, <SwitchPanels>, command_name
@subsection <HistoryNext>

in uit:

- copies the next command in the history list to the command line.

@node <FileDisplayMode>, <DeleteCmdLn>, <HistoryNext>, command_name
@subsection <FileDisplayMode>

in uit:

- changes the file display mode.

@node <DeleteCmdLn>, <FileSelect>, <FileDisplayMode>, command_name
@subsection <DeleteCmdLn>

in uit:

- deletes the command line contents.

@node <FileSelect>, <CopyFileToCmdLn>, <DeleteCmdLn>, command_name
@subsection <FileSelect>

in uit:

- selects/unselects files. All the files can be selected by pressing '+' (and
ENTER) or unselected by pressing '-'. By pressing '*' selected files becomes
unselected and unselected files becomes selected.

@node <CopyFileToCmdLn>, <Home>, <FileSelect>, command_name
@subsection <CopyFileToCmdLn>

in uit:

- copies to the command line the current file name.

@node <Home>, <End>, <CopyFileToCmdLn>, command_name
@subsection <Home>

in uit:

- puts the cursor onto the first entry in the current directory list.

in uitps:

- moves to the first process in the processes list.

in uitview:

- moves to the beginning of the file.

@node <End>, <PageUp>, <Home>, command_name
@subsection <End>

in uit:

- puts the cursor onto the last entry in the current directory list.

in uitps:

- moves to the last process in the processes list.

in uitview:

- moves to the end of the file.

@node <PageUp>, <PageDown>, <End>, command_name
@subsection <PageUp>

in uit:

- puts the cursor up one page in the current directory file list.

in uitps:

- moves one page up in the processes list.

in uitview:

- moves one page up (0x100 bytes) in the file.

@node <PageDown>, <CursorLeft>, <PageUp>, command_name
@subsection <PageDown>

in uit:

- puts the cursor down one page in the current directory file list.

in uitps:

- moves one page down in the processes list.

in uitview:

- moves one page down (0x100 bytes) in the file.

@node <CursorLeft>, <CursorRight>, <PageDown>, command_name
@subsection <CursorLeft>

in uit:

- acts like <PageUp>.

@node <CursorRight>, <CursorUp>, <CursorLeft>, command_name
@subsection <CursorRight>

in uit:

- acts like <PageDown>.

@node <CursorUp>, <CursorDown>, <CursorRight>, command_name
@subsection <CursorUp>

in uit:

- puts the cursor up one entry in the current directory file list.

in uitps:

- moves to the previous process in the processes list.

in uitview:

- moves to the previous line (16 bytes) in the file.

@node <CursorDown>, <ChangePanel>, <CursorUp>, command_name
@subsection <CursorDown>

in uit:

- puts the cursor down one entry in the current directory file list.

in uitps:

- moves to the next process in the processes list.

in uitview:

- moves to the next line (16 bytes) in the file.

@node <ChangePanel>, <ChangeDir>, <CursorDown>, command_name
@subsection <ChangePanel>

in uit:

- puts the cursor in the other panel.


@node <ChangeDir>, <NextSignal>, <ChangePanel>, command_name
@subsection <ChangeDir>

in uit:

- changes the current directory to a user specified directory.


@node <NextSignal>, <SIGHUP>, <ChangeDir>, command_name
@subsection <NextSignal>

in uitps:

- sets the next signal in the signals list as the current signal.

@node <SIGHUP>, <SIGINT>, <NextSignal>, command_name
@subsection <SIGHUP>

in uitps:

- sets the SIGHUP signal as the current signal.

@node <SIGINT>, <SIGQUIT>, <SIGHUP>, command_name
@subsection <SIGINT>

in uitps:

- sets the SIGINT signal as the current signal.

@node <SIGQUIT>, <SIGILL>, <SIGINT>, command_name
@subsection <SIGQUIT>

in uitps:

- sets the SIGQUIT signal as the current signal.

@node <SIGILL>, <SIGFPE>, <SIGQUIT>, command_name
@subsection <SIGILL>

in uitps:

- sets the SIGILL signal as the current signal.

@node <SIGFPE>, <SIGKILL>, <SIGILL>, command_name
@subsection <SIGFPE>

in uitps:

- sets the SIGFPE signal as the current signal.

@node <SIGKILL>, <SIGUSR1>, <SIGFPE>, command_name
@subsection <SIGKILL>

in uitps:

- sets the SIGKILL signal as the current signal.

@node <SIGUSR1>, <SIGSEGV>, <SIGKILL>, command_name
@subsection <SIGUSR1>

in uitps:

- sets the SIGUSR1 signal as the current signal.

@node <SIGSEGV>, <SIGUSR2>, <SIGUSR1>, command_name
@subsection <SIGSEGV>

in uitps:

- sets the SIGSEGV signal as the current signal.

@node <SIGUSR2>, <SIGPIPE>, <SIGSEGV>, command_name
@subsection <SIGUSR2>

in uitps:

- sets the SIGUSR2 signal as the current signal.

@node <SIGPIPE>, <SIGALRM>, <SIGUSR2>, command_name
@subsection <SIGPIPE>

in uitps:

- sets the SIGPIPE signal as the current signal.

@node <SIGALRM>, <SIGTERM>, <SIGPIPE>, command_name
@subsection <SIGALRM>

in uitps:

- sets the SIGALRM signal as the current signal.

@node <SIGTERM>, <SIGCHLD>, <SIGALRM>, command_name
@subsection <SIGTERM>

in uitps:

- sets the SIGTERM signal as the current signal.

@node <SIGCHLD>, <SIGCONT>, <SIGTERM>, command_name
@subsection <SIGCHLD>

in uitps:

- sets the SIGCHLD signal as the current signal.

@node <SIGCONT>, <KillProcess>, <SIGCHLD>, command_name
@subsection <SIGCONT>

in uitps:

- sets the SIGCONT signal as the current signal.

@node <KillProcess>, , <SIGCONT>, command_name
@subsection <KillProcess>

in uitps:

- sends the current signal to the current process.



@node formatted_command, new_dir, command_name, Sections [UITxxx-Keys]
@subsection formatted_command

- 'formatted_command' is a shell command which can contain some scanf like
format specifiers. With their help you can get the current directory entry
name (the directory entry under the cursor), owner, group and mode.

Note that using uppercase format specifiers you will be able to access the
other panel path, file and directory names.

These are the available format specifiers:

@menu
* %s::
* %f::
* %d::
* %l::
* %t::
* %z::
* %a::
* %m::
* %g::
* %o::
* %p::
* %b::
@end menu

@node %s, %f, , formatted_command
@subsection %s

The format of the %s parameter is:  %s@{question,default_answer@}

When uit encounters a %s in the 'formatted_command' asks the user the question
'question' whose default answer is 'default_answer' and replaces the %s@{ , @}
with the user answer. Both 'question' and 'default_answer' can contain any
other format specifiers except %s.

WARNING: no spaces between %s and '@{'.

@node %f, %d, %s, formatted_command
@subsection %f

uit will replace %f with the current directory entry name only if it is a
file (not a directory).

@node %d, %l, %f, formatted_command
@subsection %d

uit will replace %d with the current directory entry name only if it is a
directory (not a file).

@node %l, %t, %d, formatted_command
@subsection %l

uit will replace %l with the current directory entry name only if it is a
symbolic link.

@node %t, %z, %l, formatted_command
@subsection %t

uit will replace %t with the current directory entry name only if it is a
named pipe.

@node %z, %a, %t, formatted_command
@subsection %z

uit will replace %z with the current directory entry name only if it is a
socket.

@node %a, %m, %z, formatted_command
@subsection %a

uit will always replace %a with the current directory entry name.

@node %m, %g, %a, formatted_command
@subsection %m

uit will always replace %m in the 'formatted_command' with the current file
mode.

@node %g, %o, %m, formatted_command
@subsection %g

uit will always replace %g in the 'formatted_command' with the current file
group.

@node %o, %p, %g, formatted_command
@subsection %o

uit will always replace %o in the 'formatted_command' with the current file
owner.

@node %p, %b, %o, formatted_command
@subsection %p

uit will always replace %p in the formatted_command with the current panel
path.

@node %b, , %p, formatted_command
@subsection %b

uit will always replace %b in the 'formatted_command' with the current panel
directory name.


@node new_dir, save_screen, formatted_command, Sections [UITxxx-Keys]
@subsection new_dir

- if the 'formatted_command' successfully exits (exit code = 0) and this field
is present then 'new_dir' will become the current panel directory.


@node save_screen, pause, new_dir, Sections [UITxxx-Keys]
@subsection save_screen

- this field is an integer (usually 0 or 1) who tells uit to save (1) or not to
save (0) the terminal screen after executing the 'formatted_command'. Saving
the screen is not necessary while editing or viewing a file because the
information left after the editor or the viewer exits is not important. Saving
the screen means that that screen will be restored before the execution of the
next command. This field is used only if you are super user under Linux
and you are working on a virtual console. By default this field is 1.


@node pause, hide, save_screen, Sections [UITxxx-Keys]
@subsection pause

- for some commands you may wish to read their results before repainting the
panels. If this field is present uit will wait for a key to be pressed before
restoring the panels. By default this field is 0.


@node hide, , pause, Sections [UITxxx-Keys]
@subsection hide

- there are some commands that aren't displaying any useful information if
successfully complete their execution: mount, chmod, chown, chgrp, sync ...
and if an error occurs then a line or two are sended to stderr. If this
option is 1, the stdout and stderr will be redirected to some files
(stdout.pid and stderr.pid, where pid is uit pid) and only if the command
exit code is not 0, the stderr.pid file will be displayed, line by line,
onto the status bar. This way the panels will not be deleted and then 
repainted and the command appears to be built-in. stdout.pid and stderr.pid
are created in the TempDirectory specified in the [Setup] section. By default
this field is 0.



@node uit, uitps, Configuration Files, Top
@section uit


uit is a file system browser with some shell facilities which was designed
to make your work much easier and much efficient. uit is made of two panels.
The left one and the right one. Each one contains a file system directory.
You can browse the directory tree with the usual cursor keys and pressing
ENTER when you want to enter or leave a directory. You may change the panels
by pressing TAB.

Under the two panels there is a shell like command line which you can use to
type normal shell commands. The command line supports up to 256 characters
and 32 commands in the history list.

Under the command line there is a status bar. You can see there the status of
the currently executed command, the warnings and errors and you will be
prompted if a decision has to be taken.


@node uitps, uitview, uit, Top
@section uitps

uitps is an interactive process viewer/killer. It calls internally the ps(1)
utility so that's the reason why uitps parameters are in fact ps(1) ones.
Running uitps it is self explanatory. Use the arrows, PageUp, PageDown,
Home, End, ^Y, ^B, ^Ku, ^Kv to move in the list, ^R to refresh it and F10 or
^C to leave. You can change these keys, just read the sections [UITPS-Setup],
[UITPS-Color], [UITPS-Monochrome] and [UITPS-Keys] in the configuration file
.uitrc.TERM.


@node uitview, uitcmp, uitps, Top
@section uitview

uitview is an hex/ascii file viewer. Too simple to need a separate manual page.
Use the arrows, PageUp, PageDown, Home, End, ^Y, ^B, ^Ku, ^Kv to move in the
file, ^R to refresh the screen and F10 or ^C to leave. You can change those
keys, just read the sections [UITVIEW-Setup], [UITVIEW-Color],
[UITVIEW-Monochrome] and [UITVIEW-Keys] in the configuration file .uitrc.TERM.


@node uitcmp, Starting uit/uitps/uitview, uitview, Top
@section uitcmp

uitcmp is a file compare utility. It outputs to stderr, uit catching its error
messages this way. uitcmp was designed to be used in $HOME/.uitrc.TERM (uit
configuration file) and should not be used as a stand alone program.

@display
@xref{Configuration Files},
@xref{uit},
@xref{uitps},
@xref{uitview}.
@end display

@node Starting uit/uitps/uitview, Canceling Operations, uitcmp, Top
@section Starting uit/uitps/uitview


These are the command line parameters supported by the programs in the UIT
package:

@display
       uit
       uitps   [ps(1) like parameters]
       uitview filename
       uitcmp  file1 file2
@end display

@node Canceling Operations, Mouse Support, Starting uit/uitps/uitview, Top
@section Canceling Operations



Built-in cyclic operations can be stopped by pressing ^C. uit can be suspended
by pressing ^Z.

@xref{command_name}.


@node Mouse Support, Minuses, Canceling Operations, Top
@section Mouse Support



uit doesn't use the mouse, but, if you are running Linux, you can use the 
selection utility to get characters from the screen and insert them in the
terminal keyboard queue.

@node Minuses, Bugs, Mouse Support, Top
@section Minuses



1. Files can't be moved from a file system to another. You have to
copy/delete them instead. Before trying to make a link from the destination
file to the source file, uit deletes the destination file (if existent), so
take care not to lose some data trying to move files in a wrong way.

2. Background execution is not fully supported. That means you may specify
an & terminated command line in the configuration file but the result of the
background executed command (stdout and stderr redirection, as explained
before) will be overwritten by the result of newer commands and, if an error
occurs, you will not see it.

3. No command line editing is provided. You can only modify the contents of
the command line by appending new characters or deleting them with backspace.

4. When uit is compiled for Linux, the default built-in color descriptions
are for color monitors, so you can't (decently) run uit on a b/w monitor
without the .uitrc.TERM file corectly configured. .uitrc.TERM should be
configured with ColorMonitor = OFF. If you are working on a serial b/w tty,
LinuxConsole should be OFF too.

5. Only POSIX terminals are supported.

6. No terminfo support is provided. No problems, you can use the .uittermcap
file to get termcap support.


@node Bugs, Copyright, Minuses, Top
@section Bugs

1. Only the ANSI 'cm' terminal capability is supported. So, if your 'cm'
capability is not \E[%i%d;%dH, uit won't work. In order to make uit work
with a different 'cm' definition a small modification is required in tty.c
(tty_cursormove(int, int)) to suit your 'cm' definition.

Please send bug reports to

@display
	tudor@@ulise.cs.pub.ro 		or to
	tudor@@habarnam.cs.pub.ro.
@end display


@node Copyright, Authors, Bugs, Top
@section Copyright



@noindent
UIT is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.

@noindent
UIT is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
details .

@noindent
You should have received a copy of the GNU General Public License along with
UIT; see the file COPYING. If not, write to the Free Software Foundation,
675 Mass Ave, Cambridge, MA 02139, USA.



@node Authors, , Copyright, Top
@section Authors



     Tudor Hulubei, Politechnic University of Bucharest, Romania

@display
                                  tudor@@ulise.cs.pub.ro
                                  tudor@@habarnam.cs.pub.ro
@end display

     Andrei Pitis,  Politechnic University of Bucharest, Romania

@display
                                  pink@@ulise.cs.pub.ro
                                  pink@@habarnam.cs.pub.ro
@end display


@bye
