home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / system / sphinx.lzh / SPHINX2.5y / Docs / Introduction.doc < prev    next >
Encoding:
Text File  |  1992-01-09  |  10.3 KB  |  229 lines

  1.  
  2.                   Sphinx.doc v2.5b
  3.          ⌐ 1991, Nicolas Dade. All Rights Reserved
  4.  permission is hereby granted for non-commercial duplication and distribution
  5.           doc file for the SPHINX: AmigaDOS device
  6.  last revised: January 9th, 1992
  7.  
  8.    * no guarantee is stated or implied by the author concerning the    *
  9.    * suitability of this program for any purpose what so ever, and the    *
  10.    * author can take no responsability as to any damages, disappoint-    *
  11.    * ments, etc... that follow the (attempted) use of this program.     *
  12.  
  13.    * sometimes cryptic text appears in parenthesis in the middle of the *
  14.    * text. if you do not understand it then ignore it, it is not for    *
  15.    * you (it has to do with programing).                                *
  16.  
  17. SPHINX is a replacement for/complement to the CON: and NEWCON: devices. It is
  18. what I believe NEWCON should have been, although NEWCON could not be like
  19. SPHINX and remain compatible with CON:.
  20.  
  21. In light of this, SPHINX does almost everything NEWCON does (see Incompatibili-
  22. ties & Strange Differences), and a lot more:
  23. It remembers the text that has scroll off the window, and lets you scroll back
  24.   to it with various keystrokes and a scroll gadget.
  25. It allows non-blocking type-ahead.
  26. The line editor has an undo buffer/function.
  27. It has a much more usefull input line comparison algorithms than NEWCON.
  28. It allows a filerequester to be used to insert file paths & names.
  29. It will complete a partially typed word by searching back in saved text for
  30.  words which start in the same way.
  31. It allows the window to iconized even while things are going on without loosing
  32.   any output, and open the window to the full size of the screen w/ one key-
  33.   stroke.
  34. It has an unlimited type-head buffer (NEWCON only allows a max of 256 bytes
  35.   to be typed ahead).
  36. It allows any character to be placed in the input buffer (even null, Ctrl-@).
  37. It allows the window to be resized without loosing any output.
  38. It allows text be clipped from the SPHINX to the input line you are building,
  39.   the clipboard (unit 0), or a file.
  40. It allows the contents of the clipboard (unit 0) or of a file to be inserted
  41.   into the input line you are building, and that input can be parsed as if it
  42.   had been typed in, or just inserted literally at the cursor.
  43. When the file is being inserted, the insertion does not put the rest of SPHINX
  44.   to sleep--you can even type in commands while the insertion is taking place
  45.   and have them be executed without the inserted text ending up in your command
  46.   line. Also this means you can clip text from the result of the insertion
  47.   while the insertion is taking place. So you can start an insertion from
  48.   an "infinitly large" file/device (like AUX:), and still be able to use
  49.   the result from various commands as soon as it is available.
  50. It allows any two fixed-width fonts to be used, one for writes (output), and
  51.   the other for input.
  52. The input text can be drawn in a user configurable color for easy different-
  53.   iation from written text.
  54. It allows any one shot IFF sound sample to be played when the BELL character
  55.   is written and when input is requested.
  56. Ten often used input strings can be programed into C-F1 through C-F10.
  57. Windows are automatically moved, and resized, if they cannot be opened where
  58.   the user specified due to the size of the wbscreen.
  59. Multiple SPHINXs share most of their data and code so that having differently
  60.   named/configured SPHINXs doesn't cost much more memory.
  61. It is written completely in assembler, which ends up making its speed is about
  62.   that of NEWCON, even through it has much more to do, under similar circum-
  63.   stances. With various speedup tricks, and in certain special circumstances,
  64.   SPHINX easily outruns NEWCON.
  65. Etc....
  66.  
  67. SPHINX is an AmigaDOS device, not a shell. To use it as part of a CLI, you
  68. must pair it up with a shell (C='s, ASH, etc...). All SPHINX does from the
  69. point of view of the shell is display text to the user (Write()), return a
  70. line of text when read from (Read()), and set the shell's signals when
  71. Control-C/D/E/F are hit (and a few other minor things).
  72.  
  73. ------------------------------------------------------------------------------
  74.  
  75. the device handler SPHINX-Handler, the icon file SShell.info, SPHINXConfig
  76. and the .doc files in this package are copyright 1991, Nicolas Dade. All
  77. Rights Reserved. Permission is hereby granted for non-commercial duplication
  78. and distribution.
  79.  
  80. I don't care if you distribute the files together, but it is rather stupid to
  81. distribute one without the others.
  82.  
  83. the complete Sphinxv2.5b package consists of:
  84. Sphinx-Handler       the SPHINX device handler (put in L:), version 2.5b
  85. SShell           an empty file here only so that WorkBench can be used on
  86.            SShell.info
  87. SShell.info       an optional icon to use with SPHINX (really just for show;
  88.            this icon just looks better on an interlaced display than
  89.            the CLI/Shell icon distributed by C=)
  90. SPHINXConfig       configuration file editor, version 2.5b
  91. SPHINXConfig.info  icon file for SPHINXConfig
  92. MountList.SPHINX   fragment of a mountlist which should be appended to the
  93.            system MountList (devs:Mountlist)
  94. docs/AlertChart.doc doc files on various aspects of SPHINX
  95. docs/Changes.doc      .
  96. docs/Commands.doc      .
  97. docs/Introduction.doc      .
  98. docs/MountList.doc      .
  99. docs/QuickReference.doc   .
  100. docs/Setup.doc          .
  101. docs/Differences&Bugs.doc .
  102. docs/SPHINXConfig.doc      .
  103. and icon files for the doc files
  104.  
  105.             - - - - - - - - - - - - - - - - - -
  106.  
  107. in order to get started, read Setup.doc and then QuickReference.doc
  108.  
  109. abridged list of commands which set SPHINX apart:
  110. S-UP    search back in old input lines repeatedly, with *x*x*x*...*x*
  111.     or full pattern matching
  112. S-DOWN    abort searching of old input line and restore input line
  113. Am-W    search back for the completion of word at cursor in all text
  114. S-Am-R    insert file path+name from filerequestor
  115. S-A-UP    scroll back to previous input line
  116. A-BS    delete word to the left
  117. A-DEL    delete word to the right
  118. Am-X    undo last deletions
  119. A-RIGHT/LEFT move cursor on word right/left
  120. Am-Z    iconify window
  121. Am-O    open window full size of screen/shrink back
  122. Am-I    insert from clipbaord (unit 0)
  123. S-Am-I    insert from file
  124. Am-A    insert again last insertion
  125. Am-C    open the configuration window
  126. you can clip text from the window using the mouse, and grab words by
  127.     double-clicking
  128. there's a scroll gadget
  129.  
  130.             - - - - - - - - - - - - - - - - - -
  131.  
  132. mail to:
  133.    Nicolas Dade
  134.    405 West Delaware
  135.    Urbana, IL 61801 (USA)
  136. will find me.
  137.  or you can try emailing to nsd20463@uxa.cso.uiuc.edu
  138.  
  139.  
  140.             - - - - - - - - - - - - - - - - - -
  141.  
  142. Glossary:
  143. NOTE: definitions only apply within these SPHINX doc files.
  144. A-        Alternate-
  145. alert (n)       A window which reads: title of window, `Sphinx Alert Code:',
  146.         then the alert code. This window is put up by SPHINX to tell
  147.         the user that something cannot be found/etc... . Cancel by
  148.         pressing `Ok'.
  149. alert (v)       to display an alert.
  150. block        (of text). a string of characters that has been stored in
  151.         order to be able to draw it in the window, seach through it,
  152.         etc...
  153.  write block    the whole set of text in write saves between any two input
  154.         saves, or between the top or bottom of the text and an input
  155.         save.
  156. buffer        a block of memory used to contain a group of characters
  157.  input buffer    stores the line being edited. it always appears at the bottom
  158.         of all other text, and always contains the cursor
  159.  search buffer    stores the string which the user wishes some other input line
  160.         to match
  161.  undo buffer    stores the characters deleted from the input buffer
  162.  wrap buffer    stores the characters being sent to the window by the program
  163.         in the background
  164.  search string    same as search buffer
  165. C-        Control-
  166. CLI        any Command Line Interpretor: C='s CLI and Shell, ASH, etc...
  167. clip (n)        the text being clipped
  168. clip (v)        to use the lmb to define and take text from the window into
  169.         the input buffer, the clipboard or a file (see insert)
  170. cmp        abreviation for comparison or compare
  171. config        abreviation for configuration
  172. CR        carrage return; ascii character $0d
  173. enter (v)
  174.  a character    to type in the character
  175.  a input line    to type RETURN, ENTER, C-M, C-\ or C-Fn, thereby finalizing
  176.         the current input line, making it available to whatever is
  177.         reading from this SPHINX, and starting a new one
  178. EOF        end of file
  179. EOL        end of line (character); i.e. CR, LF, FF
  180. FF        form feed; ascii $0c
  181. Fn        function key number n; i.e. F4 = function key four
  182. free (v)        to deallocated the memory associated with, and thereby
  183.         free up memory, and permanantly forget what was freed.
  184. gadget (or GG)  a rectangular area that, when clicked, on causes some action
  185.         to take place
  186. global        involving all the SPHINXs in the machine, even if differently
  187.         configured (see private, local)
  188. iconize     a state in which a window is shrunk, but the program is still
  189.         active. this is usually used to unclutter a screen
  190. input        text that came in from the keyboard or an insert; the input
  191.         lines. (text read by Read())
  192. insert (n)      the text which is being inserted
  193. insert (v)      to place text in the input buffer at the cursor without
  194.         actually typing the text in (the text comes from a private
  195.         clip, the clipboard or a file)
  196. keymap        a data structure used to convert raw key strokes to ascii
  197.         SPHINX uses the machine's default keymap, which is set by
  198.         the command/program SetMap
  199. LF        line feed; ascii $0a
  200. local        involving SPHINXs sharing the same name and configuration (see
  201.         private, global)
  202. LMB        left mouse button
  203. lock (v)        to fix so that some action cannot take place
  204. private     involving only one SPHINX window (see local, global)
  205. RA-        Right Amiga-
  206. rmb        right mouse button
  207. S-        Shift-
  208. SA-        Shift + Alternate-
  209. SRA-        Shift + Right Amiga-
  210. save (n)        a block of text which SPHINX is saving.
  211.  input save    a block of inputed text, equivalent to an input line
  212.  write save    a subset of a block of text that was written (Write()) to the
  213.         window.
  214. searching    a state in which the input buffer, as drawn in the window,
  215.         contains text from an old input line (and the undo gadget's
  216.         imagery shows an `S'.
  217. spot        (1 through 10) a user selected character in the text that the
  218.         display can be jumped to quickly. (see Fn)
  219. string        a set of characters in a certain order: i.e. `This is string'
  220. strip (v)       to remove, to not keep, to not transfer something
  221. WB        workbench
  222. wording     a state in which the input buffer, as drawn in the window,
  223.         has the end of a word which SPHINX found the last time RA-W
  224.         was pressed, and the next time RA-W is pressed, that end
  225.         of word will be deleted.
  226. writes        blocks of text that were written to the window (Write())
  227.  
  228.  
  229.