home *** CD-ROM | disk | FTP | other *** search
/ Fish 'n' More 2 / fishmore-publicdomainlibraryvol.ii1991xetec.iso / disks / disk394.lzh / 'Liner / Docs / 'Liner.doc < prev    next >
Text File  |  1990-10-28  |  15KB  |  276 lines

  1.                  'Liner
  2.                   Version 2.00
  3.  
  4. ---------------------------------------------------------------------------
  5. 'Liner V2.00 is copyright ©1988, 1989, 1990 by Dave Schreiber.  All
  6. rights reserved.  YAFR V1.22 is also copyright ©1989 by Dave Schreiber.
  7. All rights reserved.
  8.  
  9. 'Liner may be freely distributed as long as the following terms are
  10. observed:
  11.  
  12.    1.  'Liner is distributed without cost, except for the cost of media,
  13.        copying, shipping, labels, and any applicable taxes.
  14.    2.  All copyright messages in 'Liner, its source code, and its
  15.        documentation are not changed.
  16.    3.  If you use code from 'Liner in other programs, please note this
  17.        along with 'Liner's copyright message in the documentation and/or
  18.        source code.
  19.  
  20. After long deliberation, I've decided to make 'Liner shareware.  If you
  21. use 'Liner, I donation of $10 would be greatly appreciated, as well as
  22. acting as a motivator for me to enhance the program (see the end of
  23. this file for ideas I have for future improvements).  My address is below,
  24. and I encourage you to send in suggestions, bug reports, etc. even if you
  25. don't send in an donation.  Thanks.
  26.  
  27.      I also request that if you distribuate 'Liner, you keep the source code
  28. with the executable program.
  29.  
  30.    I'd like to give special thanks to Chad Netzer, who has tolerated being
  31. a beta-tester for 'Liner V2.00 for a long time.  His thoroughness has
  32. insured that almost all of 'Liner bugs have been exterminated.  I
  33. appreciate his work very much.
  34.  
  35.      Once upon a time I tried writing a long outline with a word
  36. processor.  It was also the last time.    I wrote 'Liner so I could leave
  37. the mundane parts of writing an outline to the computer.  In essence,
  38. what 'Liner does is to let you type into an outline form, allowing you
  39. rearrange blocks of text without having to renumber everything.  It has
  40. most of the features of commercial outliners, although it is missing a
  41. few, like the ability to 'collapse' an outline.  It also has a few
  42. features that I haven't seen on commercial outliners, such as an ARexx
  43. port.
  44.  
  45.      Before starting 'Liner, you should assign liner: to the directory
  46. that you have placed 'Liner into.  The preferences for 'Liner will also
  47. be stored in that directory.  Once that's done, the program can be
  48. started from either Workbench or the CLI.  From Workbench, double click
  49. on the icon, or double click on the icon of an outline that you wish to
  50. work on.  From the CLI, type either:
  51.  
  52.      1> RUN 'LINER
  53.  
  54. or just:
  55.  
  56.      1> 'LINER
  57.  
  58. Once you get in 'Liner, and assuming you haven't double clicked on an
  59. outline's icon, you are presented with a I.:  this is the first line of a
  60. new outline.  You can either load an old outline (see below) or start
  61. typing a new one.  I've included a sample outline for you to practice on,
  62. called Sample_Outline.    If you double clicked on an outline's icon, you
  63. can go straight to editing, as the old outline will have already been
  64. loaded.
  65.  
  66.      Editing a document once you typed it in is fairly straightforward.
  67. The arrows keys work normally when used by themselves, and you can also
  68. position the cursor by pointing with the pointer and pressing the left
  69. mouse button.  Shift-left-arrow and shift-right-arrow move the cursor a
  70. word at a time, instead of a letter at a time.    Shift-up-arrow moves up
  71. one screenful of text, while shift-down-arrow moves down the same amount.
  72.  Control-left-arrow and control-right-arrow move the cursor to the
  73. beginning and end of a line, respectively.  Control-up-arrow moves to the
  74. top of the documents, and control-down-arrow moves to the end.    The TAB
  75. key controls what level the current line of text is in.  For example,
  76. type a line and press TAB.  The line moves in and the number or letter in
  77. front of it changes.  For example:
  78.  
  79.     I.    This is a test
  80. would turn into:
  81.      A.  This is a test
  82.  
  83. Shift-TAB has the opposite effect.
  84.  
  85.      Performing operations on blocks of text requires that you highlight
  86. the text you want to manipulate.  There are two forms of highlighting in
  87. 'Liner:  character and line.  Character highlighting involves
  88. highlighting individual characters on one line only.  To do it left to
  89. right, double click on the first character you want to highlight, then
  90. double click on the character after the last character you want to
  91. highlight.  To do it the other way, just double click on the first and
  92. last character.  Once you have highlighted your text, you can replace it
  93. with other text (just start typing), cut, copy, and delete it (see the
  94. Edit menu description below, or press backspace or DEL).
  95.  
  96.      Line highlighting is similar to character highlighting:  for both
  97. directions double click on the first and last lines.  There are several
  98. things you can do with a highlighted block of lines:  you can shift the
  99. entire block of text in and out with TAB and the SHIFT-TAB combination,
  100. you can delete a block of lines by pressing the backspace key, and you
  101. can cut and paste (again, see the Edit menu instructions below).
  102.  
  103.      Version 2.00 of 'Liner now supports something version 1.32 didn't:
  104. multiple lines per number.  If you are typing in some text and you reach
  105. the end of the line, press SHIFT-RETURN to get another line, known as a
  106. "continuation."  A continuation is the same as a regular line, except
  107. that it has no number before it, and is "attached" to the regular line
  108. above it;  in effect, a parent and its continuations act as a single
  109. unit.  If you TAB a parent line in or out, to change its level, its
  110. continuation lines will also be TAB'd in or out.  You cannot break apart
  111. a block of continuation lines with a regular line (you can have as many
  112. continuations attached to a regular line, as you wish).  If you highlight
  113. a block of continuation lines and CUT them, the lines highlighted are
  114. deleted, but all the continuation lines in that block are put into the
  115. clipboard (this is to prevent being able to paste continuation lines
  116. without a parent to control their attributes).    Trying to delete a parent
  117. without deleting its children at the same time isn't allowed.  COPYing
  118. continuation lines will also include the entire block.
  119.  
  120.      'Liner uses five menus.  The first, 'Project', holds what you'd
  121. expect it to:  'New', 'Open', 'Save', 'Save As', 'Print', 'About', and
  122. 'Quit'.  Functions that could result in a loss of data ('New', 'Open',
  123. and 'Quit') ask for confirmation before performing their function (they
  124. will not ask, however, if the outline hasn't been changed since it was
  125. last saved.  Note that you can tell if an outline has been changed by
  126. looking at the title bar:  an asterisk will appear if the file has been
  127. changed, and will dissappear when the outline is saved).
  128.  
  129.      (Now is a good time to note that the file format of 2.00 is
  130. different than that of 1.32.  The addition of continuations made it a
  131. necessity;  I also took the opportunity to make the format more compact.
  132. In any case, 'Liner 2.00 can read both 1.32 and 2.00 files, but writes in
  133. the 2.00 format only (so someone with 1.32 couldn't read a file saved
  134. with 2.00)).
  135.  
  136.      Of all of the 'Project' menu's items, the 'Print' item is the only
  137. one that could be ambiguous.  It has two sub-items that let you chose
  138. where you want the printout to go.  'To Printer' sends it, naturally, to
  139. the printer (the number of lines per page is equal to the value in the
  140. 'Length' variable in Preferences, minus one.  'To Disk' saves it as an
  141. ASCII file (please note, however, that 'Liner cannot read in ASCII files
  142. and convert them into outlines).
  143.  
  144.      The next menu is Edit, which is again fairly standard.  'Cut',
  145. 'Copy', 'Paste', and 'Erase' do exactly what their names imply. However,
  146. their operation depends slightly on what is being manipulated.    With text
  147. on just one line, when it's cut, it's put in the Clipboard (pause, while
  148. the whole Amiga community gasps in shock and surprise...yes, that's
  149. right, the Clipboard).    What this means is that 'Liner can share text
  150. with any other application that supports the Clipboard, such as NotePad.
  151. Of course, hardly any programs support the Clipboard, but the text had to
  152. go somewhere and the Clipboard seemed the best place to put it.  (however
  153. the clipboard is not used when a number of lines is pasted (although an
  154. ASCII copy of the CUT or COPYed lines is stored in the clipboard)).  When
  155. 'Paste' is selected, what is pasted is whatever was last cut, i.e. if a
  156. number of lines were cut, they'll be pasted back in again, but if text on
  157. one line is cut or copied, whatever is in the Clipboard will be pasted
  158. into the outline ('Liner defaults to text and not line pastes on
  159. startup).
  160.  
  161.      The next menu is the 'Search' menu.  The first item,
  162. 'Search/Replace', controls the searching and replacing capabilities of
  163. 'Liner.  When selected, a requestor pops up that let you enter the search
  164. string and the string to replace it with.  It also lets you select
  165. whether the search will be case sensitive, whether the search string can
  166. be embedded in another word, and whether or not a replace is performed.
  167. Once finished, clicking on OK does the search.    Clicking on Cancel
  168. cancels the search and replaces what was entered in the requestor with
  169. what was there before the requestor was brought up (the close gadget has
  170. the same effect as Cancel).    Wait cancels the search as well, but keeps
  171. the new information entered in the requestor.
  172.  
  173.      There are two other items in the 'Search' menu.  'Next' searches for
  174. (and replaces if that was selected) the next instance of the search
  175. string.  'Replace All' does a global search/replace, either with
  176. verification before doing the replace (where you can chose to go ahead,
  177. skip that occurance, or cancel altogether), or without verification.
  178.  
  179.      The Prefs menu contains a number of items that let you control
  180. various aspects of 'Liner and your document.  'Double spacing' switches
  181. between, surprise, single and double spacing (a check appears next to
  182. this item when double spacing is selected).  'Interlace" lets you choose
  183. between an interlaced and non-interlaced display.  'Icons', when
  184. selected, tells 'Liner to create an associated icon whenever it saves an
  185. outline and when it saves the preferences.  When not selected, no icons
  186. are created.
  187.  
  188.      'Starting Level' determines which symbols are used on what level.
  189. For example, on the default setting of "I.", the first level uses Roman
  190. numerals, then capital letters, etc. all the way down to small letters
  191. with parenthesis.  If you were to choose "1.", it would go 1. a. 1) a) I.
  192. A. instead of I. A. 1. a. 1) a).  This is to let you do things like lists
  193. or top-down designs where the information should be numbered with Arabic
  194. numerals or start with some other symbol.
  195.  
  196.      The next two items control the remaining aspects of the display.
  197. 'Screen colors' lets you adjust the colors of the screen (a gadget marked
  198. 'Reset' will undo any color changes you make before you close the color
  199. selection window).  'Screen size' is used to determine whether or not the
  200. screen will be overscanned:  if 'Standard' is selected, the screen
  201. display will be 640x200 or 640x400 (depending on the 'Interlace' menu
  202. item).    If 'Workbench' is selected, the screen will be as tall as your
  203. Workbench screen, so those of you with overscanned Workbenches can have
  204. an overscanned 'Liner display as well.
  205.  
  206.      'Define Macros' I will skip for the time being and move on to the
  207. last two items.  'Load prefs' loads the preferences for 'Liner off the
  208. disk;  its useful for when you've made a bunch of preferences changes to
  209. 'Liner and want to undo them all.  'Save Prefs' saves the current 'Liner
  210. settings (which includes the directories used when you last SAVEed or
  211. OPENed a document, and when you last printed a document to disk) to the
  212. file liner:liner.prefs, which is read upon startup in order to set the
  213. default 'Liner preferences.
  214.  
  215.      The final 2.00 feature I've included is a two-way ARexx port.  A
  216. list of the 'Liner ARexx commands, along with descriptions and usage
  217. guidelines, can be found in the file ARexx_Commands.  There are also
  218. example scripts that can help you get a feel for using ARexx with 'Liner.
  219.  
  220.  
  221.      Not only can 'Liner ARexx macros be run from the CLI;  they can be
  222. run from within 'Liner itself.  Up to four macros can be assigned to the
  223. items under the menu 'ARexx';  they and the names they go under in the
  224. ARexx menu are defined using the 'Define Macros' item under the 'Prefs'
  225. menu.
  226.  
  227.      Finally, as a last note, I should explain the file requestor that is
  228. used by 'Liner.  It's called YAFR (for Yet Another File Requestor) and
  229. was written by me partially as an excercise, partially because I wanted a
  230. Charlie Heath style file requestor (i.e. one that didn't make you wait
  231. until it had read all of the directory before letting you make a
  232. selection) but couldn't figure out how to put the ARP one or any of the
  233. others into 'Liner.  It has a list of 11 buttons that list the first ten
  234. AmigaDOS volume devices plus the PIPE: device that came with 1.3
  235. (although it knows not to try and get a directory from that).  The list
  236. displays only what you have;  buttons for floppy drives disappear when
  237. the floppy is removed from that drive and reappear when a floppy is
  238. inserted.  There is a button that lets you choose whether or not to
  239. display .info files (I'll let you guess which one).  The default is not
  240. to show them.  Finally, If you want to display only files that conform to
  241. a specific file pattern, there is a box for that.
  242.  
  243.      Now that I've explained the operation of the program, it's time for
  244. a little more technical stuff.    'Liner was compiled with Lattice C V5.04;
  245. most of the source is included.  The source that isn't included is:
  246. minrexx.o (part of Tomas Rockiki's minrexx distribution), minrexx.h (also
  247. part of the minrexx package), rexxglue.o (on the commercial ARexx disk
  248. itself), and YAFR.c (part of a separate distribution called YAFR 1.22,
  249. which is already out there and should be appearing on Fred Fish and
  250. elsewhere in the near future).    Everything else is present.  To compile,
  251. assign linersrc: to the directory 'Liner is in, CD to that directory, and
  252. run lmk;  the Makefile will take care of everything.  If you want to do
  253. it the hard way, compile all the .c files and blink them using liner.lnk.
  254.  
  255.      Finally, I'd like to outline (!) my future plans for 'Liner.  I'm
  256. expecting to release a version 2.10 by the end of the year that will have
  257. bug fixes and support for Workbench/Kickstart 2.0 features (such as the
  258. WB 2.0 file requestor, color requestor and productivity mode).    It will
  259. probably _require_ WB/KS 2.0.  In the far future, I'm hoping to add
  260. support for multiple simultaneous outlines, better highlighting, a less
  261. kludgy method of multiple-line support, and a scroll bar.  Do you have
  262. any suggestions?  My address is below.
  263.  
  264.      That's it!  If you have any questions, comments, bug reports
  265. especially, I can be reached at:
  266.  
  267. Usenet:    davids@slugmail.ucsc.edu
  268. US Mail:   Dave Schreiber
  269.        1234 Collins Lane
  270.        San Jose, CA   95129-4208 (during the summer, but
  271.        mail that comes to that address will be forwarded
  272.        to me if I'm at school).
  273.  
  274.  
  275.  
  276.