home *** CD-ROM | disk | FTP | other *** search
- 'Liner
- Version 2.00
-
- ---------------------------------------------------------------------------
- 'Liner V2.00 is copyright ©1988, 1989, 1990 by Dave Schreiber. All
- rights reserved. YAFR V1.21 is also copyright ©1989 by Dave Schreiber.
- All rights reserved.
-
- 'Liner may be freely distributed as long as the following terms are
- observed:
-
- 1. 'Liner is distributed without cost, except for the cost of media,
- copying, shipping, labels, and any applicable taxes.
- 2. All copyright messages in 'Liner, its source code, and its
- documentation are not changed.
- 3. If you use code from 'Liner in other programs, please note this
- along with 'Liner's copyright message in the documentation and/or
- source code.
-
- After long deliberation, I've decided to make 'Liner shareware. If you
- use 'Liner, I donation of $10 would be greatly appreciated, as well as
- acting as a motivator for me to enhance the program (see the end of
- this file for ideas I have for future improvements). My address is below,
- and I encourage you to send in suggestions, bug reports, etc. even if you
- don't send in an donation. Thanks.
-
- I also request that if you distribuate 'Liner, you keep the source code
- with the executable program.
-
- I'd like to give special thanks to Chad Netzer, who has tolerated being
- a beta-tester for 'Liner V2.00 for a long time. His thoroughness has
- insured that almost all of 'Liner bugs have been exterminated. I
- appreciate his work very much.
-
- Once upon a time I tried writing a long outline with a word
- processor. It was also the last time. I wrote 'Liner so I could leave
- the mundane parts of writing an outline to the computer. In essence,
- what 'Liner does is to let you type into an outline form, allowing you
- rearrange blocks of text without having to renumber everything. It has
- most of the features of commercial outliners, although it is missing a
- few, like the ability to 'collapse' an outline. It also has a few
- features that I haven't seen on commercial outliners, such as an ARexx
- port.
-
- Before starting 'Liner, you should assign liner: to the directory
- that you have placed 'Liner into. The preferences for 'Liner will also
- be stored in that directory. Once that's done, the program can be
- started from either Workbench or the CLI. From Workbench, double click
- on the icon, or double click on the icon of an outline that you wish to
- work on. From the CLI, type either:
-
- 1> RUN 'LINER
-
- or just:
-
- 1> 'LINER
-
- Once you get in 'Liner, and assuming you haven't double clicked on an
- outline's icon, you are presented with a I.: this is the first line of a
- new outline. You can either load an old outline (see below) or start
- typing a new one. I've included a sample outline for you to practice on,
- called Sample_Outline. If you double clicked on an outline's icon, you
- can go straight to editing, as the old outline will have already been
- loaded.
-
- Editing a document once you typed it in is fairly straightforward.
- The arrows keys work normally when used by themselves, and you can also
- position the cursor by pointing with the pointer and pressing the left
- mouse button. Shift-left-arrow and shift-right-arrow move the cursor a
- word at a time, instead of a letter at a time. Shift-up-arrow moves up
- one screenful of text, while shift-down-arrow moves down the same amount.
- Control-left-arrow and control-right-arrow move the cursor to the
- beginning and end of a line, respectively. Control-up-arrow moves to the
- top of the documents, and control-down-arrow moves to the end. The TAB
- key controls what level the current line of text is in. For example,
- type a line and press TAB. The line moves in and the number or letter in
- front of it changes. For example:
-
- I. This is a test
- would turn into:
- A. This is a test
-
- Shift-TAB has the opposite effect.
-
- Performing operations on blocks of text requires that you highlight
- the text you want to manipulate. There are two forms of highlighting in
- 'Liner: character and line. Character highlighting involves
- highlighting individual characters on one line only. To do it left to
- right, double click on the first character you want to highlight, then
- double click on the character after the last character you want to
- highlight. To do it the other way, just double click on the first and
- last character. Once you have highlighted your text, you can replace it
- with other text (just start typing), cut, copy, and delete it (see the
- Edit menu description below, or press backspace or DEL).
-
- Line highlighting is similar to character highlighting: for both
- directions double click on the first and last lines. There are several
- things you can do with a highlighted block of lines: you can shift the
- entire block of text in and out with TAB and the SHIFT-TAB combination,
- you can delete a block of lines by pressing the backspace key, and you
- can cut and paste (again, see the Edit menu instructions below).
-
- Version 2.00 of 'Liner now supports something version 1.32 didn't:
- multiple lines per number. If you are typing in some text and you reach
- the end of the line, press SHIFT-RETURN to get another line, known as a
- "continuation." A continuation is the same as a regular line, except
- that it has no number before it, and is "attached" to the regular line
- above it; in effect, a parent and its continuations act as a single
- unit. If you TAB a parent line in or out, to change its level, its
- continuation lines will also be TAB'd in or out. You cannot break apart
- a block of continuation lines with a regular line (you can have as many
- continuations attached to a regular line, as you wish). If you highlight
- a block of continuation lines and CUT them, the lines highlighted are
- deleted, but all the continuation lines in that block are put into the
- clipboard (this is to prevent being able to paste continuation lines
- without a parent to control their attributes). Trying to delete a parent
- without deleting its children at the same time isn't allowed. COPYing
- continuation lines will also include the entire block.
-
- 'Liner uses five menus. The first, 'Project', holds what you'd
- expect it to: 'New', 'Open', 'Save', 'Save As', 'Print', 'About', and
- 'Quit'. Functions that could result in a loss of data ('New', 'Open',
- and 'Quit') ask for confirmation before performing their function (they
- will not ask, however, if the outline hasn't been changed since it was
- last saved. Note that you can tell if an outline has been changed by
- looking at the title bar: an asterisk will appear if the file has been
- changed, and will dissappear when the outline is saved).
-
- (Now is a good time to note that the file format of 2.00 is
- different than that of 1.32. The addition of continuations made it a
- necessity; I also took the opportunity to make the format more compact.
- In any case, 'Liner 2.00 can read both 1.32 and 2.00 files, but writes in
- the 2.00 format only (so someone with 1.32 couldn't read a file saved
- with 2.00)).
-
- Of all of the 'Project' menu's items, the 'Print' item is the only
- one that could be ambiguous. It has two sub-items that let you chose
- where you want the printout to go. 'To Printer' sends it, naturally, to
- the printer (the number of lines per page is equal to the value in the
- 'Length' variable in Preferences, minus one. 'To Disk' saves it as an
- ASCII file (please note, however, that 'Liner cannot read in ASCII files
- and convert them into outlines).
-
- The next menu is Edit, which is again fairly standard. 'Cut',
- 'Copy', 'Paste', and 'Erase' do exactly what their names imply. However,
- their operation depends slightly on what is being manipulated. With text
- on just one line, when it's cut, it's put in the Clipboard (pause, while
- the whole Amiga community gasps in shock and surprise...yes, that's
- right, the Clipboard). What this means is that 'Liner can share text
- with any other application that supports the Clipboard, such as NotePad.
- Of course, hardly any programs support the Clipboard, but the text had to
- go somewhere and the Clipboard seemed the best place to put it. (however
- the clipboard is not used when a number of lines is pasted (although an
- ASCII copy of the CUT or COPYed lines is stored in the clipboard)). When
- 'Paste' is selected, what is pasted is whatever was last cut, i.e. if a
- number of lines were cut, they'll be pasted back in again, but if text on
- one line is cut or copied, whatever is in the Clipboard will be pasted
- into the outline ('Liner defaults to text and not line pastes on
- startup).
-
- The next menu is the 'Search' menu. The first item,
- 'Search/Replace', controls the searching and replacing capabilities of
- 'Liner. When selected, a requestor pops up that let you enter the search
- string and the string to replace it with. It also lets you select
- whether the search will be case sensitive, whether the search string can
- be embedded in another word, and whether or not a replace is performed.
- Once finished, clicking on OK does the search. Clicking on Cancel
- cancels the search and replaces what was entered in the requestor with
- what was there before the requestor was brought up (the close gadget has
- the same effect as Cancel). Wait cancels the search as well, but keeps
- the new information entered in the requestor.
-
- There are two other items in the 'Search' menu. 'Next' searches for
- (and replaces if that was selected) the next instance of the search
- string. 'Replace All' does a global search/replace, either with
- verification before doing the replace (where you can chose to go ahead,
- skip that occurance, or cancel altogether), or without verification.
-
- The Prefs menu contains a number of items that let you control
- various aspects of 'Liner and your document. 'Double spacing' switches
- between, surprise, single and double spacing (a check appears next to
- this item when double spacing is selected). 'Interlace" lets you choose
- between an interlaced and non-interlaced display. 'Icons', when
- selected, tells 'Liner to create an associated icon whenever it saves an
- outline and when it saves the preferences. When not selected, no icons
- are created.
-
- 'Starting Level' determines which symbols are used on what level.
- For example, on the default setting of "I.", the first level uses Roman
- numerals, then capital letters, etc. all the way down to small letters
- with parenthesis. If you were to choose "1.", it would go 1. a. 1) a) I.
- A. instead of I. A. 1. a. 1) a). This is to let you do things like lists
- or top-down designs where the information should be numbered with Arabic
- numerals or start with some other symbol.
-
- The next two items control the remaining aspects of the display.
- 'Screen colors' lets you adjust the colors of the screen (a gadget marked
- 'Reset' will undo any color changes you make before you close the color
- selection window). 'Screen size' is used to determine whether or not the
- screen will be overscanned: if 'Standard' is selected, the screen
- display will be 640x200 or 640x400 (depending on the 'Interlace' menu
- item). If 'Workbench' is selected, the screen will be as tall as your
- Workbench screen, so those of you with overscanned Workbenches can have
- an overscanned 'Liner display as well.
-
- 'Define Macros' I will skip for the time being and move on to the
- last two items. 'Load prefs' loads the preferences for 'Liner off the
- disk; its useful for when you've made a bunch of preferences changes to
- 'Liner and want to undo them all. 'Save Prefs' saves the current 'Liner
- settings (which includes the directories used when you last SAVEed or
- OPENed a document, and when you last printed a document to disk) to the
- file liner:liner.prefs, which is read upon startup in order to set the
- default 'Liner preferences.
-
- The final 2.00 feature I've included is a two-way ARexx port. A
- list of the 'Liner ARexx commands, along with descriptions and usage
- guidelines, can be found in the file ARexx_Commands. There are also
- example scripts that can help you get a feel for using ARexx with 'Liner.
-
-
- Not only can 'Liner ARexx macros be run from the CLI; they can be
- run from within 'Liner itself. Up to four macros can be assigned to the
- items under the menu 'ARexx'; they and the names they go under in the
- ARexx menu are defined using the 'Define Macros' item under the 'Prefs'
- menu.
-
- Finally, as a last note, I should explain the file requestor that is
- used by 'Liner. It's called YAFR (for Yet Another File Requestor) and
- was written by me partially as an excercise, partially because I wanted a
- Charlie Heath style file requestor (i.e. one that didn't make you wait
- until it had read all of the directory before letting you make a
- selection) but couldn't figure out how to put the ARP one or any of the
- others into 'Liner. It has a list of 11 buttons that list the first ten
- AmigaDOS volume devices plus the PIPE: device that came with 1.3
- (although it knows not to try and get a directory from that). The list
- displays only what you have; buttons for floppy drives disappear when
- the floppy is removed from that drive and reappear when a floppy is
- inserted. There is a button that lets you choose whether or not to
- display .info files (I'll let you guess which one). The default is not
- to show them. Finally, If you want to display only files that conform to
- a specific file pattern, there is a box for that.
-
- Now that I've explained the operation of the program, it's time for
- a little more technical stuff. 'Liner was compiled with Lattice C V5.04;
- most of the source is included. The source that isn't included is:
- minrexx.o (part of Tomas Rockiki's minrexx distribution), minrexx.h (also
- part of the minrexx package), rexxglue.o (on the commercial ARexx disk
- itself), and YAFR.c (part of a separate distribution called YAFR 1.21,
- which is already out there and should be appearing on Fred Fish and
- elsewhere in the near future). Everything else is present. To compile,
- assign linersrc: to the directory 'Liner is in, CD to that directory, and
- run lmk; the Makefile will take care of everything. If you want to do
- it the hard way, compile all the .c files and blink them using liner.lnk.
-
- Finally, I'd like to outline (!) my future plans for 'Liner. I'm
- expecting to release a version 2.10 by the end of the year that will have
- bug fixes and support for Workbench/Kickstart 2.0 features (such as the
- WB 2.0 file requestor, color requestor and productivity mode). It will
- probably _require_ WB/KS 2.0. In the far future, I'm hoping to add
- support for multiple simultaneous outlines, better highlighting, a less
- kludgy method of multiple-line support, and a scroll bar. Do you have
- any suggestions? My address is below.
-
- That's it! If you have any questions, comments, bug reports
- especially, I can be reached at:
-
- Usenet: davids@slugmail.ucsc.edu
- US Mail: Dave Schreiber
- 1234 Collins Lane
- San Jose, CA 95129-4208 (during the summer, but
- mail that comes to that address will be forwarded
- to me if I'm at school).
-
-
-
-