Next: unlockvars() Up: MacAnova Help File Previous: unique()   Contents

unix

Keywords: general
                              Unix versions
Two Unix/Linux versions are distributed.  One runs in the command or
shell window where it was launched (usually an xterm or equivalent).
The other (the Carapace version) uses multiple command windows, high
resolution graphics windows, the mouse, menus, etc.

               Features common to all Unix/Linux versions
Various command line arguments are recognized.  These allow automatic
restoring of a workspace, suppressing the startup message, etc.  See
topic 'launching'.

MacAnova recognizes options, file names and path names specified in
environmental variable MACANOVA.  See topic 'customize'.

The startup file is Macanova.ini.txt in ~/MyMacAnovaFiles unless
flag -f has been used on the command line (see 'launching') or in
environmental variable MACANOVA.  See topic 'customize'.

The size of variables is limited only by the amount of memory and disk
space available.

Unless you use command line option -home (see 'launching') or include
-home in environmental variable MACANOVA (see 'customize'), MacAnova
pre-defines CHARACTER variable HOME to contain the user's home
directory.  HOME is used to expand file names of the form "~/path" by
substituting the value of HOME for '~'.  This allows you to refer to
files in your home directory such as stuff.data as "~/stuff.data"
regardless of the current directory.  When you redefine HOME, it changes
the expansion of "~/".  See topic 'files'.

File names starting with "~name/" are expanded similarly to the shell. 
That is, name is taken to be a Unix/Linux user name and "~name" is
expanded to the path name of the home directory of that user.  Redefining
HOME has no effect on this expansion.  See topic 'files'.

Pre-defined variables DATAPATHS, and DATAPATH are initialized with path
names that are installation dependent (see topic 'DATAPATHS').  You can
override these using options -path or -appdir on the command line (see
'launching') or in environmental variable MACANOVA (see 'customize').

                            Non-Windowed Version
High resolution graphics are implemented by emitting codes appropriate
for plotting on a Tektronix 4014 graphics terminal.  When this is not
appropriate, you are limited to displaying "dumb" plots and should use
setoptions(dumbplot:T).  See topic setoptions(), subtopic
'options:"dumbplot"'.

When MacAnova is running in an xterm, the graphics commands open a
pseudo Tektronix 4014 graphics window and draw in it, switching back to
the text window when <RETURN> is hit after the plot.  Be aware that
certain vendor replacements for xterm (for example, hpterm and dterm)
don't support Tektronix emulation.  To use high resolution graphics you
need to start up an xterm window.

You can execute Unix/Linux commands by prefixing the line with '!' in
the first position after the prompt or by using command shell().
Keyword phrase keep:T on shell() is recognized.  You must use keyword
phrase interact:T if the program being invoked expects any input from
you.  A line of the form '!command ...  ' is equivalent to
shell("command ...", interact:F).  See shell().

A pre-defined macro edit() is available which allows you to edit macros
and data from within MacAnova.

                              Key bindings
Depending on how it was compiled on a particular system, keyboard line
editing and history may be available as implemented using the GNU
Readline Library.  If so, the default editing mode is based on Emacs.
You can customize key bindings by creating a special file named
".inputrc" in your MyMacAnovaFiles directory.  This will be read each
time MacAnova starts up.  To enable editing based on Vi commands
instead of Emacs, put the following lines in this file:
   set editing-mode vi
   "k": previous-history
   "j": next-history
   "H": beginning-of-history
   "G": end-of-history

On some systems a standard environmental variable INPUTRC is defined and
keyboard bindings are taken from file $INPUTRC and not from .inputrc.
If that is the case and you want to customize key bindings, you will
need to define INPUTRC in your .profile or .cshrc file.  For csh, tcsh
or derivatives use
  setenv INPUTRC $HOME/.inputrc
For sh, ksh, bash and other similar shells, use
  export INPUTRC=$HOME/.inputrc

                      History of previsous commands
When keyboard line editing is implemented, a "history" mechanism is also
available.  A certain number (default is 100) of previous commands are
saved.  Using the emacs editing mode, you can scroll backward by
pressing Ctrl+P (possibly also an up-arrow key) and scroll forward by
pressing Ctrl+N (down-arrow).  Under the vi editing mode, the
corresponding keys (when in vi command mode) are 'k' amd 'j'.  See
setoptions() for information on how to change the number of lines saved.

As part of this facility you also may have so-called file name
completion.  When you have partially typed a file name, press the Tab
key or press the Esc key twice and an attempt will be made to complete
it.  Press Tab twice or Esc four times and you will get a list of
possible completions.  See Readline documentation for information on
modifying key bindings using file .inputrc.  If you want to use the Tab
key as a regular key, but the following line in the .inputrc file:
"C-i": self-insert

                               Carapace Version
This version is compiled using the Carapace library which in turn uses
the WxWidgets library. It allows multiple command/output and high
resolution graphics windows and uses menus, dialogs, the mouse, and
so forth in the usual way.  Commands are typed into the lower pane of
a command window, and output appears in the upper pane.  Output and
graphics windows can be printed and/or saved to files. 

Text in a command window can be copied to the clipboard.  Content of
a graphics window can be copied to the clipboard as a bitmap.  The
MacAnova variable CLIPBOARD is connected to text on the clipboard in
the sense that accessing CLIPBOARD returns a MacAnova string containing 
the text content of the clipboard, and assigning to CLIPBOARD writes
text to the clipboard.

                            Cross references
See topic 'carapace' for details on the Carapace version.


Gary Oehlert 2006-01-30