LoaferDocumentation title
Version 1.2
Copyright © 1997-98 ElegantSoft, all rights reserved.

What is it?

Loafer is a Macintosh software developer macro tool. It is an extension of "copy-paste" technique in source code writing. It will not write source code instead of you but it will save you from part of routine work.

Loafer's macro-engine inputs text fragments into editing document's by hitting a particular key combination or by choosing item of contextual menu (MacOS 8.0+ only). Each key combination or contextual menu item is assigned to a particular text fragment. It is known as macros. So, Loafer is a macro tool which could be used with software developer's text editor. It has the ability to generate not just text fragments, but mix these fragments with keyboard events. In other words, it can simulate typing. At the same time Loafer has the ability to change sets of macros on the fly and even disable all macros - turn the macro-engine off.

System requirements: PowerPC CPU, MacOS 7.5+

What is new in version 1.2?

Feedback and defect reports.

We would be grateful for any comments about the product and defect reports. You could also browse known defects list.

1. Installation.

Run the installer and it will create following files:

Loafer folder will be created with following files:

To complete installation you should restart your Macintosh. After the restart run the Loafer application and learn what macro could be executed. Open some document with your text editor, set cursor and than hit any hot-key or choose a macro from contextual menu (cmd + click in your document). Contextual menu could be invoked just with MacOS 8.0+, of cours.

2. Using Loafer.

To work with Loafer is quite easy. It allows you to use Drag & Drop whenever possible. It supports balloon help, so you may turn it on and learn what you can do with a particular user interface element.

2.1 How-To.
To enable/disable macro/layer
To change (setup new) set of macros
To create new macro/layer
To change a macro
To make a macro event-macro
To make a macro paste-macro
To check syntax of a macro
To change name of a macro/layer
To show/hide hot-key of macros
To change hot-key of a macro
To clean hot-key of a macro
To add macro to contextual menu
To delete macro/layer
To turn Loafer off/on
To save macro/layer in a file
To enable/disable macro/layer
Each layer/macro has enable/disable check box (first check box in each row). Use this check box to make layer (all macros inside it) or a macro enabled/disabled. Disabled macro can not be used. All changes become valid just after you click the setup button.
To change (setup new) set of macros
To change set of enabled macros you should make up particular macros/layers enabled/disabled and click the setup button which locates in the left bottom corner of the MacroManager window.
To create new macro/layer
Top of the MacroManager window - New Layer, New Macro. Drag it to the window area when you need to create a new layer or macro.
To change a macro
Double click on macro's row - open macro editor window for the macro.
To make a macro event-macro
You can use "Paste it" check box to make a macro event-macro.
The macro-engine will simulate typing for event-macro. It means that macro-engine will transform each character of the macro to keyboard event and sends it to front application. However, each event explanation in event sections will be transformed to one keyboard event.
To make a macro paste-macro
You can use "Paste it" check box to make a macro event-macro.
The macro-engine will generate whole macro in to internal buffer and pass it to front application via clipboard. However, any event explanation in event sections will be skipped. Just value-keywords and date&time-keywords could be useful.
To check syntax of a macro
Click on check syntax button of the macro editor window and if syntax of the macro is wrong first problem will be hilighted by selection.
To change name of a macro/layer
Click on macro/layer's name starts in-place name editor.
To show/hide hot-key of macros
Button at the right top corner of the window - show/hide hot-keys button. The button has two states narrow - just name of macros are visible and wide(pushed) - both hot-key and name of macros are visible.
To change hot-key of a macro
Click on macro's hot-key starts hot-key in-place editor. To change the hot-key just hit desired key combination. Hot-key editor can not accept key combinations without modifiers. Moreover combinations with just one modifier - command will not be accepted as well. You can also disable any hot-key for particular macro.
All changes become valid after you click the setup button.
To clean hot-key of a macro
To disable any hot-key for particular macro start hot-key editor and hit backspace key. "CM only" text will appear.
All changes become valid after you click the setup button.
To add macro to contextual menu
Each layer has enable/disable contextual menu check box. Use this check box to make all enabled macros in this layer accessible from contextual menu.
To delete macro/layer
To delete macro/layer simply drag it to the Trash. You can of course put deleted macro/layer back in. Just open it as a clip-file (drag from Trash to desktop or some folder and double-click on it) and drag the deleted item back.
To turn Loafer off/on
On/Off button near the setup button can make disabled all macros (turn the macro engine off).
To save macro/layer in a file
When you drag a macro or layer to some folder or to the desktop, a clip-file will be created. You can open clip-file window by double-clicking on it. You can drag (copy) macro/layer from MacroManager window to clip-file window or back. You can create new macro/layer in clip-file window using New macro/New layer from MacroManager window (just drag it to the clip-file window).

2.2 MacroManager window.

This is the main window of the application. It provides control of the macro-engine and allows you to create, remove, add existing macros. You can also select the macros to be used, editing hot keys and names of a macros.

2.3 MacroEditor window.

The window provides the ability to edit and to check the syntax of macro's body. It also posable to change method which will be used to insert macro in to editing document. There are two options: transform macro's text to chain of keyboard events or generate whole text of the macro and put it in to editing document by cmd + 'v' (paste) event. The last method will be used if Paste it check box is checked.

If paste method was chosen any event explanations in event section of the macro's body will be ignored, nevertheless, value-keywords and date&time-keywords will work.

Button at the left bottom corner of the window - check syntax button. If syntax of the macro is wrong first problem will be hilighted by selection. If no problem with macro's syntax - special sound will be played.

2.4 Error window.

The window is opened automatically if even an error was found during setup.

The window can have two layers - Syntax errors and Hot-key conflicts. Syntax error layer contains all macros where syntax error occurred during setup process. Hot-key conflicts layer contains sub layers where conflicted macros are grouped by hot key.

You should correct an error or made up a macro disabled to exclude it from setup process.

2.5 Macro-body format.

The body of a macro is a text which can include no one, one, or many event sections. An event section begins with '\*' and ends with '*\'. Each event section could contain no one, one or many event explanations. Each event explanation must be completed with ';' symbol. Text outside event sections will be used to generate keyboard events when the macro is executed. The macro-engine will simulate typing to reproduce the same characters that in macro's body.
For example:

\* cmd + 'x'; *\()\* left; cmd + 'v'; right; *\
Macro has two event sections. The first event section contains one event explanation (Cut-event). The second - three event explanations (move cursor left, Paste-event, move cursor right). The macro will put current selection into brackets.

The symbol '+' must be used to explain "complex" events.
For example:

\* shift + control + option + command + 'c'; *\
The 'c' in the last example is explanation of the C-key of the keyboard. You can use, however, only one symbol of the Latin alphabet to explain particular key of the keyboard. Special keys of the keyboard could be explained with key-keywords.

keywords meaning synonyms
up arrow up
down arrow down dn
left arrow left lt
right arrow right rt
return return key ret
enter enter key
tab tab key
backspace backspace key bspc, bs, bk
del delete key
space space key spc
control control modifier key cntl
option option modifier key opt
command command modifier key cmd
shift shift modifier key sh

An event explanation may have the repeater.
For example:

\* command + 'v'(205); *\
The Paste-event in the last example will be generated 205 times, so text in the clipboard will paste 205 times.

There are few keywords which provides additional functionality could be used in an event section.

keywords meaning synonyms
filename name of the top window file
classname name of class(1) class, name
scrap scrap containment(2) clipboard

keywords meaning
weekday day of week
wday day of week (short form)
day day (1..31)
month month
mth month (short form)
monthnum month number (1...12)
year year
yr year (2 digit)
hour hours (0...23)
min minutes (0...59)


part of a name of the top window before first symbol '.' (dot).
containment of the scrap before macro starts.

3. Known defects:

4. Version history:

Version 1.2
Contextual menu access to macros is added.
Whole macro could be pasted at once (Paste it flag of MacroEditor window).
Few defects in tables and event generation are fixed.
Version 1.1
Data and time keywords are added to macros.
Few defects in tables are fixed.

5. Registration.

Loafer is shareware. If you decide to use it, you must pay for it. A single user license costs US$ 15. A site license costs US$ 150 and covers all locations for your organization within a 160 km (100 mile) radius of your site. A world-wide license costs US$ 250 and covers all locations for your organization on the planet earth.

You can pay for Loafer on line via Kagi On line Order Processing. If you need some explanation, the Step-by-step procedure for paying for products via Kagi On line Order Processing could be helpful.

Paying for Loafer using Register program, which accompanies the software, is fairly simple. Open the Register program and enter your name, your email address, and the number of single user licenses you desire for each program you wish to purchase (or Site or Word Wide licenses). Save or Copy or Print the data from the Register program and send the data and payment to Kagi. More specifics on the Register program to follow. Kagi handles Loafer's payment processing.

If paying with Credit Card or First Virtual, you can email or fax the data to Kagi. Their email address is sales@kagi.com and their fax number is

+1 510 652-6589

You can either Copy the data from Register and paste into the body of an email message or you can Save the data to a file and you can attach that file to an email message.

Payments sent via email are processed within 3 to 4 days. You will receive an email acknowledgement when it is processed. Payments sent via fax take up to 10 days and if you provide a correct internet email address you will receive an email acknowledgement.

If you are paying with Cash or USD Check you should print the data using the Register application and send it to the address shown on the form, which is:

1442-A Walnut Street #392-3UZ
Berkeley, California 94709-1405

You can pay with a wide variety of cash from different countries but at present if you pay via check, it must be a check drawn in US Dollars. Kagi cannot accept checks in other currencies, the conversion rate for non-USD checks is around US$ 15 per check and that is just not practical.

More details about payment could be found on Kagi WEB-site.

You will receive a license number by email within 4 days after an email acknowledgement.

6. Legal stuff


You may use the binary software for trial period of forty five (45) days from the date you download the software. At the end of this period, you must pay shareware fees or immediately stop using and destroy the software.
The software may contain a mechanism which disables the software at the end of the trial period or advises the end user that the license has expired.

The software is owned by ElegantSoft and the authors of the software, and its structure, organization and code are the valuable trade secrets. You agree not to modify, adapt, translate, reverse engineer, decompile, disassemble or otherwise attempt to discover the source code of the software.

The software and accompanying instructions are provided 'as is' without warranty of any kind. The ElegantSoft and the authors do not warrant, guarantee, or make any representations regarding the use, or the results of the use of the software or accompanying instructions in terms of correctness, accuracy, reliability, currentness, or otherwise. The entire risk as to the results and performance of the software is assumed by you. If the software or instructions are defective, you, and not the ElegantSoft or/and the authors, assume the entire cost of all necessary servicing, repair or correction.

The software and accompanying instructions may be included on magazine cover disks or/and CD-ROMs without prior permission of the ElegantSoft or/and the authors. If you want to distribute it with a commercial product, contact the ElegantSoft by E-mail: loafer@elegantsoft.com. Commercial distribution of the software is not permitted.

7. Thanks to:

Marco Piovanelli for WASTE text engine, which helps Loafer's users to edit macros.

WASTE text engine 1993-1996 Marco Piovanelli

MindVision Software for possibility to use Installer VISE Lite freely.
The installer for this product was created using Installer VISE Lite from MindVision Software. For more information on Installer VISE Lite, contact:
MindVision Software
Voice:(402) 477-3269E-mail: mindvision@mindvision.com
Fax:(402) 477-1395Website: www.mindvision.com
7201 North 7th Street
Lincoln, NE 68521-8913

ElegantSoft LoaferHome Feedback DefectReport DefectsList