Application name: UsrGroup
Function
This is the Interleaf application:
|
file name
|
Application
|
Description
|
|
usrgroup.idu
|
UsrGroup
|
User Group Tools And Templates
|
Application "UsrGroup" Version 2.0 is a collection of Lisp scripts,
templates, and tools contributed by the members of various user groups
and from Interleaf's bulletin board LeafLine. It was compiled by the Arizona
Interleaf Users Group (AIUG) and packaged as this application, which works in
conjunction with the Interleaf Tool Manager. The application UsrGroup
has been registered with Interleaf.
This application was developed for Interleaf 5, hence the references
below to "ileaf5" and "System5". Many of the scripts are known to function
with newer versions of Interleaf, but some may not and newer Interleaf
versions may have better methods of performing the tasks represented here.
The application is not a real "product" and is not
supported or guaranteed to operate as expected and without side effects.
This compilation is not product of the AIUG or Interleaf, Inc.
Use at your own risk.
Install
This application is made available in
Interleaf Desktop Utility (IDU) format to make it more portable
to the various machines on which Interleaf may be found.
To reduce download time, the version in the online repository has been
"zipped". You will need to "unzip" it and possibly rename it "usrgroup.idu"
before proceeding with the install instructions.
To use the application, transfer the corresponding ".idu" file
this media to your Interleaf "apps" directory. (On UNIX systems,
this often is located at /interleaf/ileaf5/apps or
/opt/ileaf/ileaf5/apps, on MS DOS or Windows systems,
it probably is in a place such as c:\Ileaf5\Apps or
c:\Ileaf7.ileaf\Apps.) Then use the Interleaf
Desktop Utility "idu" to expand the file into its corresponding
directory (the name prior to the "." in the idu file name).
On UNIX systems, this usually is done by executing something such as:
/interleaf/ileaf5/bin/idu -xf usrgroup.idu
to expand the application.
On DOS systems, you would execute something such as:
c:\ileaf5\bin\idu.exe -xf usrgroup.idu
Or, on the newer versions of Interleaf, you can use the command
Tools>IDU>Expand from the menu bar with the IDU file selected.
After expansion, the ".idu" file may be deleted, everything needed is
contained in the new directory, "usrgroup" in this case.
Complete installation using the Interleaf Tool Manager, which you should
find in the menus as something like Tools>Admin>ToolManager.
User Group Tools And Templates
CAUTION:
These are not guaranteed to be error free and may be platform specific. Some
may yield undesirable results. Use at your own risk. (NOT A PRODUCT OF THE
AIUG OR INTERLEAF, INC.)
Submenu:
- The Create>Tools>UsrGroup menu provides templates and Lisp scripts
as described in the Create section. On some
platforms, a link in the Create cabinet provides access to this application's
executable Lisp scripts. Some Lisp scripts may be most useful when placed in
the Profile drawer of your System5 cabinet. Read the comments in each Lisp
script to find out its applicability and operation.
- The Custom>Tools>UsrGroup menu provides new commands via Lisp scripts. Those
requiring a document to be selected prior to operation are described below
in the Select section.
Those which do not are described in the No Select section.
In many cases, these define new operations bound to particular keystrokes.
You may make your own copies of the items below. Access these items via the
menu: Create>Tools>UsrGroup>nameshown
Documents and Clip Art
- Graphics>GoSuns>SunsBw
-
Unofficial Phoenix Suns logo.
- Graphics>GoSuns>SunsColr
-
Unofficial Phoenix Suns logo, in color.
- Graphics>NAU_Logo
-
Unofficial Northern Arizona University logo.
- Graphics>UofAriz
-
Unofficial University of Arizona logo.
- Graphics>desert
-
Line drawings of various cactus and desert items.
- Templates>AIUGform
-
Application form to join the Arizona Interleaf Users Group.
- Templates>IM_memo
-
A memo template intended for use with the Information Mapping, Inc. documentation
methods. It also provides ideas for other applications, such as the subject
repeated on the second and subsequent pages.
Other Miscelaneous Files
- Other>cleanup.sh
-
An executable UNIX(TM) System 5 Bourne shell script to remove backup files from
Interleaf directories. Create a copy and execute it from your UNIX command
line - not from within Interleaf.
Lisp Scripts
After making your own copy of one of these Lisp scripts, you may select it,
then execute it via the Interleaf menu: Custom>Load. Alternatively, you may
place it in the Profile drawer of your System5 cabinet, so it will take effect
each time you reenter Interleaf. (This is appropriate for Lisp scripts that
define new key strokes or set up certain Interleaf options, but not for other
instances such as those under Lisp>ThisApp>Selection.)
Key binding abbreviations:
It is recommended that you open each new Lisp script and read any comments
and cautions it may contain before proceeding to use it. Remember, you may
access these items via the menu: Create>Tools>UsrGroup>nameshown
Some scripts contain comments describing changes you may make. If you want
to customize a script, please use caution, particularly if
you are not a programmer.
Erroneous Lisp scripts may damage your documents or cause other problems to
Interleaf operation.
- Lisp>README
-
A simple text file containing more hints and cautions relating to the Lisp
scripts.
- Lisp>ThisApp> or Lisp>VMSnoselect and Lisp>VMSselect
-
This submenu attempts to provide links into the Selection and No Selection
Lisp cabinets described below. Through it, you may make your own copies of
these scripts so you may examine them more carefully or place them into your
Profile drawer for repetitive activation. Attempts have been made to provide
appropriate links for UNIX, DOS, and VMS(TM) systems. Since link operations are
platform and site-specific, you may find that these will not function properly.
In that event, have your site administrator help you re-establish the proper
links for your system.
Note that due to the restriction of 8 directories deep for VMS, these links
have been implemented slightly differently for those systems. Customize them
if you wish to.
- Lisp>cmpn-grp
-
Create a set of components with a single keystroke. You may edit the component
names below to customize this for your own documents, then save it under a
name of your choice. Note that the masters of the components named must already
exist in the document or you will get a Lisp error.
Bound to Esc-g. Load this or place it in your Profile drawer.
- Lisp>doubleclick
-
Allow double click on icon with select button to open.
(This script may not operate properly.)
- Lisp>no-copyright
-
Remove the copyright notice at the start of session. This script is only useful
if it is placed in your Profile drawer.
- Lisp>timesave
-
Keys found to be a BIG time saver when working on Lisp with the Developer's
Toolkit (DTK) on a DEC system.
- Map F9 to CUSTOM>TOOLS>DTK>METHODS>EDIT
- Map F10 to CUSTOM>TOOLS>DTK>METHODS>LOAD
- Map F12 to CUSTOM>TOOLS>DTK>LISP>COMPILE
Notes: Only works if user has DTK licensed and loaded. Future enhancement might
be to check for DTK first.
Place into profile drawer of System 5 Custom cabinet.
The items below require an object to be selected first. Access them via the
menu: Custom>Tools>UsrGroup>nameshown
- Filter>emac
-
Uses lisp to solve a problem that can probably be solved in non-lisp ways,
but it seems to work. Files from emacs, when opened in Interleaf 5, have the
last word on a line joined with the first word on the next line. This mini-filter
inserts a space after every word-wrapped line and two line feeds to indicate
paragraph end. It turns filename "foo" into "foo.doc".
- Filter>textfilt
-
This enriched Text Filter strips masters and graphics but leaves markup, so
components are still identified, and autonumbers, font changes, etc. aren't
lost. The resulting Interleaf ASCII document has the right component names,
but you have to reformat them since they'll all have the default format. Useful
for transferring documents to a word processor and back, or for simple e-mailing.
- Misc>frame_micro_size
-
Reduce the size of text in a micro document and increase the room for the text
to live. This will help with font change problems in frames caused by conversion
from TPS 4 to Interleaf 5, but you may still need to "tweak" the document by
hand.
- SaveAs>ASCII
-
Save all selected files as ASCII files.
- SaveAs>Binary
-
Save all selected files as binary (fast) files.
- ShowPath
-
Show pathname of the selected document.
The items below require that no object be selected. Access them via the menu:
Custom>Tools>UsrGroup>nameshown
Caution: Some scripts redefine the same keys used by others.
- Admin>License_Stat
-
Show Interleaf INL (network) license status.
This assumes INL license information is in the standard location and is accessible
via a UNIX-style pathname.
- Admin>Machine_Info
-
Determine machine-specific information for the user to report to Admins. It
does NOT make any changes to your system, it only interrogates it. The resulting
"stayup" may be saved or printed.
- Admin>eval_lisp
-
Evaluates selected text in an Interleaf document. i.e., tries to run the selected
code. If no text is selected, it tries to evaluate the entire component.
Bound to ^Xv.
- Admin>unopenable_document
-
Allow open of document at 5.3.1 which gets SIGSEGV error due to a straddle
component located at the bottom of a page break. Once open, put a non-straddle
component below the problem one and set its Page properties for "Allow Break
Before" to "No".
Assumes Interleaf 5.3.1.
- Closes>close_all
-
Close an object and all its ancestors.
Bound to Esc-b.
- Closes>close_and_open
-
Close an object and open its parent. Used with open_and_close, object opens
don't leave a trail of windows.
Bound to ^B.
- Closes>open_and_close
-
Open the object under the mouse cursor and close its parent so object opens
but doesn't leave a trail of windows.
Bound to ^A.
- Closes>push_pop
-
"Remember" a container directory before you close it so you can open it with
a single keystroke later.
Remember is bound to ^U and restore to ^P.
- Component>AlterBar
-
Stickup to change the width of component bar.
- Component>CreateNext
-
Creates a component named in the present component's "nextcmpn" attribute.
If there is no such attribute, it creates another of this component (from the
master, not from the current copy of this component).
Bound to Esc-j.
- Component>CutCmpn
-
Cut the component the cursor is in, while in text area.
Bound to Esc-c.
- Component>ShowName
-
Show component's name in the document message bar. Useful if component bar
is narrow.
Bound to ^Xn.
- Component>keycmpn
-
Change a component from the keyboard. Cycles through the other components in
the document, starting from the current insertion point, and changes the current
component into the previous ones. (Or, can look from insertion point towards
the end of the doc.)
Bound to ^Xx (looking up the doc from current component)
and ^XX (looking down the doc).
- Component>keycmpn2
-
Change a component into another component from the keyboard. Type ^Qa and it
will cycle through the component masters that begin with "A" or "a" (if any),
etc.
Can be combined with keypcmpn.lsp which moves forward (or backward) through
a document, changing components into previous (or next) component type.
- Component>outline
-
A "figure-it-outliner." Shows various levels of document structure (outline
view). Collapse and expand based on dumb "heuristics" that attempt to figure
out document structure based on formatting cues such as font size. It always
hides tables.
Binds ^X- to shrink doc, ^X+ to expand, ^X= to unhide all.
Consider this just a prototype. Be especially careful if cutting components
while document is in the reduced state. You may want to try to improve the
"defun" is-lesser-than to improve heuristics.
- Component>selectpg
-
Select all the components on a page. Especially usefull in multi-column documents.
(Comments explain how this can be modified to make it cut all components on
a page.)
Bound to ^Xp.
- Fonts>DownCase
-
Convert selected text to lower case (DownCase it).
Bound to ^Xl.
- Fonts>alterfnt
-
Prop sheet allows you to change base font of a document. E.g., change all fonts
to Swiss while preserving individual bold faces, etc. Works only on font properties
of components and inlines, so if you've change a font by selecting text, those
changes are preserved.
CAN HAVE DESTRUCTIVE RESULTS:
i.e, you can't restore fonts to original state automatically. (There's room
for improvement in this script. E.g., it could do some more checking of input,
especially the font size type-in field, etc.)
- Fonts>word-tog
-
Esc-F5 toggles current word to and from italics and leaves text caret at end
of word, so that you can toggle the next word. Esc-F4 does the same for bold,
Esc-F6 for underline.
Due to how :word-endings is interpreted, may handle punctuation in
unanticipated ways.
- Games>blakjack
-
Plays blackjack in the status bar of a document window or (on some platforms)
of the Interleaf desktop window (so your boss won't catch you).
This takes over function keys F1-F3 and does not return them!
- IndexTkn>LowCNdx
-
Create an index token containing the selected text in lower case. Only works
in Interleaf 5.3!
Bound to ^Xi.
- IndexTkn>SamCNdx
-
Create an index token containing the selected text preserved in its original
case. Only works in Interleaf 5.3!
Bound to ^XI.
- Misc>CtrlExpr
-
Turn control expression (effectivity) on or off in a document.
Bound to ^XO and ^Xo.
- Misc>PopUps>big_popups
-
Make popup font size larger than normal.
CAUTION: The arrows on submenus may disappear. Your submenus will still be
available, but you will not see an arrow indicating that its there!! USE WITH
CAUTION!!
- Misc>PopUps>normal_popups
-
Change popup font size back to normal.
- Misc>SkipPage
-
Move ahead (or back) two pages, not one.
Bound to ^X-Next and ^X-Prior (if your keyboard has these).
- Misc>WrdCount>SimpleWC
-
When executed from the desktop, provides a "stick#up" showing the number of
words in the open document. Lisp error if no document is open. Frames and inlines
are skipped.
- Misc>WrdCount>WrdCntMenu
-
Adds a Wordcount command to your text popup menus. When you execute it, you
get a (rough) count of the words from the current caret to the end of the document.
An empty component counts as a word. Frames are skipped.
- Misc>abbrev
-
Expands abbreviations to save typing. When you hit the special key (Esc-s)
Interleaf gets the current word (looks back to first space to the left), looks
it up on an abbreviation list, and replaces the word with the longer version.
If doesn't find an abbreviation, it prompts for one. It builds a file called
"abbrevs.lsp" in your Profile drawer.
BE SURE this abrevs.lsp comes AFTER abbrev.lsp!
- Misc>centerpg
-
Center the page (the way "Current" does on the Page Box pulldown). So, if you've
scrolled your document so that the top of the page isn't at the top of the
window, center-page puts the top of the page at the top of the window.
Bound to ^L
- Misc>dt-notes
-
Attaches note to desktop icon. Builds text list of documents and notes.
Select a document and press ^N to bring up the Note interface.
This alters the close method for ALL documents! Among other things, your close
stickup will look different.
- Misc>fractions
-
This little fractionizer lisp script is NOT of professional quality but it
seems to work most of the time. It takes selected text and, if there is a slash
in it, turns it into a fraction, superscripting the first number, replacing
the backslash with the fraction virgule (char 0x120), and subscripting the
second number. It does not check to see if there are any non-char tokens (like
a frame) in the selection.
The Lisp code contains instructions describing how to change the script to
define a key (^Xf) to do this if you wish. If so, you would want to create
a copy of this script and place it in your Profile drawer. Otherwise, select
the desired text, move your cursor to the desktop area, and run this script
from the Custom>Tools menu.
- Misc>frame_micro_size
-
Reduce the size of text in a micro doc and increase the room for the text to
live. With the document open, move your cursor to the desktop area and execute
this script via the Custom menu. This will help with font change problems in
frames caused by conversion from TPS 4 to Interleaf 5, but you may still need
to "tweak" the document by hand.
- Misc>ins_date
-
Inserts date into every component or inline named "date".
Bound to ^Xd.
This erases all current data in those components or inlines!
- Misc>kbd-over
-
A "hack" to provide overstrike mode. Try it, use it if you like it, toss it
or modify it if you don't. Only implements overstrike mode for "standard" keys.
It could be extended to other keys. More comments are in the Lisp code.
Bound to ^X^T in kbd-doc-map. Also binds all keys that are bound to kbd-self-insert
in kbd-global-map, thereby shadowing the global binding in documents.
- Misc>kbd-typo
-
This changes three key bindings to try to automatically encourage better typography.
The double quote key (") will create a left quote (") when typed at the start
of a word and a normal right quote at other locations. The dash or minus sign
key (-) will create a true hyphen (-), but a second hit on that key without
moving the cursor will convert the character to a minus sign (-). A third hit
converts to a long dash (-), then it re-cycles to the hyphen again. Finally,
if you type two consecutive spaces, a warning is displayed in the document
status bar.
- Misc>pin-text
-
Select text in a document and post it in a stayup so you can refer to it as
you work. Stayup's title gives the document name and page number.
Bound to ^XN.
- Misc>timer
-
Set a timer for some number of minutes, then post your desired message in a
stickup.
- Opens>ClipArt
-
Open Arrow folder of standard clip art library through a keystroke while you
are in a frame. (You may want to make your own copy and change which container
gets opened.) Open your own library at another keystroke. Part of this script
is platform dependant.
- Opens>DblClick
-
Allow double click on icon with select button to open.
If you're running a layered applications that sends mid:select
messages to desktop objects, it may inadvertently start opening those objects
if this file has been loaded. See comments in this file.
- Opens>OpenHelp
-
Open file called "myhelp" in your System5 cabinet - "myhelp" should probably
be a host file.
- Screen>VGA
-
Sets some props useful for working on a VGA screen.
Bound to ^Xv.
- Screen>iconify
-
^Xi shrinks a document window so only its name box (+ a little more) is visible,
and stacks all such shrunken documents in a diagonal line from the upper left.
^XI expands a window to "normal" size. This is especially useful on small screens,
e.g., VGA. ^Xz sizes window to page size. ^Xi while on the desktop gives a
popup list of shrunken documents.
When running Interleaf 5 in a windowing system (not fullscreen), you may sometimes
size a window so that it is partially cut off by the desktop window. If this
happens, just manually drag the window back. (If reduced too much and saved,
document crashes on open, due to an ileaf bug that has been reported.)
- ShowPath
-
Display pathname of the open container.
- Tables>Calc1Col
-
Calculate one user specified column of a table.
Implmentation Notes:
- This script ASSUMES the first and last rows of the table are special and
will always have Show = Yes.
- The first row is ignored and the total of the column replaces the last row,
destroying whatever was there.
- The attributes for the row probably really should be defined and checked
to a greater extent.
- Tables>tab-sort
& Tables>tablesort
-
These sort a table based on the contents of a user-specified column. They don't
work on cells converted into frames - ignores their contents. Does peculiar
things to vertically-straddled rows - sometimes works, sometimes duplicates
the combined rows.
Limitations
To the best of our knowledge, all items are in the public domain (unless otherwise
specified within the individual files.)
Disclaimer
*** THIS LISP IS NOT SUPPORTED - USE AT YOUR OWN RISK ***
These are unsupported and may yield undesirable results. Use at your own risk.
(Not a product of the AIUG or Interleaf, Inc.)
Trademarks mentioned on this page are belong to their respective companies.
This script is available on the AIUG Web site at:
(Updated 09 FEB 2001)