This distribution delivers origami folding editor version 1.7.1. This program is free software. It comes without any warranty nor any support. You can redistribute it and/or modify it as long as you include the following acknowledgement paragraph. Origami was originally developed by Martin Green, Ferranti Ltd, Cheadle Heath, Stockport, England. The Pascal code was converted to C and modified by Charlie Lawrence, Eastman Kodak Co. Keymap-helpfiles and other modifications were added by Johan Sunter, University of Twente, Netherlands. It was upgraded with new facilities and many bugs were removed by Vedat Demiralp, University of Kent, UK. NEW FEATURES IN VERSION 1.7.1 ----------------------------- - The editor buffer is automatically saved to a temporary file each time the amount of changes exceed a certain limit. The temporary file disappears after each successful saving of the original file, but remains intact when a crash happens (due to system failure, electricity cut off, or although very rarely now, origami itself). The temporary filename is derived by inserting the '#' character both to the beginning and to the end of the original filename, e.g. #myfile#. - Before any save operation modifies the original file it is copied to a backup file automatically. Origami derives the backup filename by adding the '~' character to the end of the original filename. - origami starts in the BROWSE mode if the original edit file is read-only. You are allowed to undo the BROWSING and save any changes to a different file ( or you can change the write permission of the file before attempting to save). - If you attempt to save to an un-writable file then the editor buffer is saved to the temporary file and a warning is displayed. - If you start origami with no filename then all the editings are saved to the temporary file '##'. Be careful that it overwrites if a file with the name '##' already exists in the directory. - fold creation also in backward direction is now possible. - fold creation is cancelled if you press [CREATE FOLD] on the same line where you initiated create fold. - COMMENT folds cannot be removed, you have to UN-COMMENT first. - Maximum size of search and replace strings are increased to 64 characters. - More informative display line WHAT THIS DISTRIBUTION DELIVER ------------------------------ When the 'origami.tar' file is extracted the C source files are placed into the 'origami/src' directory relative to where tar command is run. The executable file 'origami-sparc-sunos4.1.3' compiled for Sparcstation under SunOS 4.1.3 is extracted into the 'origami/bin' directory. A makefile is available in the 'origami/src' directory in order to recompile the source files if you are using a different Unix* machine. Alternatively compile the source files in a suitable way for your machine. In the makefile default pathnames are defined for the executable origami code and for the keymap files. If the default directory names are not suitable for you then change the values of 'bindir' and/or 'libdir' as they suit you. This distribution also delivers a Unix manual page file 'origami.1' and a tutorial file 'tutor.doc'. They are extracted into the directories 'origami/man' and 'origami/doc' respectively. You may copy them into suitable directories in your local environment. Origami functions are performed by pressing special keys. The mapping of keys-to-functions is terminal dependant. An environment variable '$ORIGAMITERM' may be set to a terminal type you work on. If origami cannot find '$ORIGAMITERM' then it reads the built-in environment variable '$TERM' in order to decide on the terminal type. Origami uses a number of function and arrow keys that are non standard on different terminals. This is why a new keymap is needed for each different terminal. For each terminal type a help file describing the layout of the function keys on is useful. You will have noticed that this distribution provides the keymaps of only a limited number of terminal types. They are 'vt100', 'vt220', 'sun', 'ncd' and 'PC-NFS' network terminals. For each terminal type a keymap file with the '.key' extension, a help file with the '.hlp' extension and a kermit initialisation file with the '.ini' extension are provided. The help files can be displayed on-line or printed on paper. Origami needs to know where it can find the keymap files. When you extract the tar files the keyboard related files are placed 'origami/keys' directory relevant to the directory. As described in the INSTALLATION section below you can copy them into the directory defined by the 'libdir' in the makefile. The value of 'libdir' is also used to define the value of ORIGAMIHOME. When compiling the source files ORIGAMIHOME is supplied as a definition with '-D' option to the compiler. Thus the directory of the keymap files is passed on to the origami code as defined in ORIGAMIHOME. If you place the keymap files in a directory other than the default one then change the value of the 'libdir' and recompile the source files 'editor.c', 'edtutil.c' and 'misc.c' which use the value of ORIGAMIHOME and rebuild the origami executable code with the new object files. INSTALLATION ------------ a) In the makefile $(bindir) defines the directory where executable origami code is to be installed and $(libdir) defines the directory where the keymap files and keyboard layout help files are to be placed. If you prefer different pathnames rather than the default ones then modify $(bindir) and $(libdir) as appropriate. b) "make" compiles origami source files using the gcc compiler. If you have a different C compiler then change the setting of $(CC) in the file 'default.mk' to the name of your compiler. You need to recompile the source files only if your machine cannot run executable binary file bundled in this distribution. c) "make install" installs origami into the $(bindir) and places the keymap files and keyboard layout help files into the $(libdir). Check whether or not the keyboard related files are placed in the directory pointed by ORIGAMIHOME which is indeed defined by the value of $(libdir). d) Finally decide on how origami is to find out the terminal type. Either set $ORIGAMITERM as an environment variable with the value of the terminal type you work on or do nothing and origami will read the built-in environment variable $TERM in order to find out the terminal type. The definition of $ORIGAMITERM may be included in the '.login' file. For example, with the following setting origami ignores the value of $TERM and assumes that you are on a vt220 type terminal: setenv ORIGAMITERM vt220 SIMPLE TROUBLESHOOTING ---------------------- If origami does not function properly check the followings first: a) are the keymap files placed in the directory pointed by ORIGAMIHOME? b) if $ORIGAMITERM is set, does its value match one of the supported terminal names? If $ORIGAMITERM is not set then does the value of $TERM match one of the supported terminal names? The supported terminal names are the basenames of the keymap files, e.g. 'vt220.key' is the keymap file for a 'vt220' type terminal (case sensitive string). c) if a particular function of origami is impaired then check whether or not the code sequence defined for that function in the keymap file matches the code generated by the key mapped to that function on your terminal. Make appropriate changes to match the defined and generated code sequences (a byte stream in hex format). INTRODUCING A NEW TERMINAL ------------------------------ In order to introduce another terminal type, if the new terminal keyboard can generate codes similar to the code generated by a supported terminal then a symbolic link would suffice. For example, ln -s vt220.key myterm.key makes the origami to assume that the terminal 'myterm' keyboard generates code sequences compatible with the codes defined in the file 'vt220.key'. Note that this does not require that all the code sequences on the 'myterm' keyboard are generated when pressing exactly the similar keys as on the 'vt220' keyboard. Some codes may be generated by pressing different keys. Hence the 'myterm.hlp' file may be different from 'vt220.hlp' file. In that case prepare a 'myterm.hlp' yourself rather than creating a symbolic link for the helpfiles as well. If the terminal type cannot generate keyboard codes similar to any available one then define the code sequences in a new '.key' file and place it in the keymap files directory. An easy way of doing this is to copy an existing keymap file and change the hex values which define the codes for the functions. Also prepare a help file. LEARNING TO USE ORIGAMI ----------------------- When you start origami with the tutorial file 'tutor.doc' it teaches you how to use various functions of the editor. The file 'tutor.doc' is modified when working with the tutorial thus it is advised that each user copies 'tutor.doc' into their personal directories and works there. In a Unix environment the following command starts the tutorial: origami tutor.doc In order to help the development of the future releases any bug reports and suggestions may be sent to 'S.V.Demiralp@ukc.ac.uk'. As mentioned before the software comes with no support. Thus no response is guaranteed for any mail sent to the above address. Vedat Demiralp, University of Kent, Canterbury, UK. Date: 9 May 1995 * Unix is a registered trademark of AT&T Information Systems.