481 lines
28 KiB
HTML
481 lines
28 KiB
HTML
<head>
|
|
<title>acme(1) - Plan 9 from User Space</title>
|
|
<meta content="text/html; charset=utf-8" http-equiv=Content-Type>
|
|
</head>
|
|
<body bgcolor=#ffffff>
|
|
<table border=0 cellpadding=0 cellspacing=0 width=100%>
|
|
<tr height=10><td>
|
|
<tr><td width=20><td>
|
|
<tr><td width=20><td><b>ACME(1)</b><td align=right><b>ACME(1)</b>
|
|
<tr><td width=20><td colspan=2>
|
|
<br>
|
|
<p><font size=+1><b>NAME </b></font><br>
|
|
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
|
|
|
|
acme, win, awd – interactive text windows<br>
|
|
|
|
</table>
|
|
<p><font size=+1><b>SYNOPSIS </b></font><br>
|
|
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
|
|
|
|
<tt><font size=+1>acme</font></tt> [ <tt><font size=+1>−f</font></tt> <i>varfont</i> ] [ <tt><font size=+1>−F</font></tt> <i>fixfont</i> ] [ <tt><font size=+1>−c</font></tt> <i>ncol</i> ] [ <tt><font size=+1>−br</font></tt> ] [ <tt><font size=+1>−l</font></tt> <i>file</i>
|
|
| <i>file</i> ... ]
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
|
|
|
|
<tt><font size=+1>win</font></tt> [ <i>command</i> ]
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
|
|
|
|
<tt><font size=+1>awd</font></tt> [ <i>label</i> ]<br>
|
|
|
|
</table>
|
|
<p><font size=+1><b>DESCRIPTION </b></font><br>
|
|
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
|
|
|
|
<i>Acme</i> manages windows of text that may be edited interactively
|
|
or by external programs. The interactive interface uses the keyboard
|
|
and mouse; external programs use a set of files served by <i>acme</i>;
|
|
these are discussed in <a href="../man4/acme.html"><i>acme</i>(4)</a>.
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
|
|
|
|
Any named <i>files</i> are read into <i>acme</i> windows before <i>acme</i> accepts
|
|
input. With the <tt><font size=+1>−l</font></tt> option, the state of the entire system is loaded
|
|
from <i>file</i>, which should have been created by a <tt><font size=+1>Dump</font></tt> command (q.v.),
|
|
and subsequent <i>file</i> names are ignored. Plain files display as
|
|
text; directories display as columnated lists of the
|
|
names of their components, as in <tt><font size=+1>ls −p directory|mc</font></tt> except that
|
|
the names of subdirectories have a slash appended.
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
|
|
|
|
The <tt><font size=+1>−f</font></tt> (<tt><font size=+1>−F</font></tt>) option sets the main font, usually variable-pitch
|
|
(alternate, usually fixed-pitch); the default is <tt><font size=+1>/usr/local/plan9/font/lucidasans/euro.8.font</font></tt>
|
|
(<tt><font size=+1>.../lucm/unicode.9.font</font></tt>). Tab intervals are set to the width
|
|
of 4 (or the value of <tt><font size=+1>$tabstop</font></tt>) numeral zeros in the appropriate
|
|
font.
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
|
|
|
|
<p><font size=+1><b>Windows </b></font><br>
|
|
<i>Acme</i> windows are in two parts: a one-line <i>tag</i> above a multi-line
|
|
<i>body</i>. The body typically contains an image of a file, as in <a href="../man1/sam.html"><i>sam</i>(1)</a>,
|
|
or the output of a program, as in an <a href="../man1/rio.html"><i>rio</i>(1)</a> window. The tag contains
|
|
a number of blank-separated words, followed by a vertical bar
|
|
character, followed by anything. The first word is the
|
|
name of the window, typically the name of the associated file
|
|
or directory, and the other words are commands available in that
|
|
window. Any text may be added after the bar; examples are strings
|
|
to search for or commands to execute in that window. Changes to
|
|
the text left of the bar will be ignored, unless the result is
|
|
to change the name of the window.
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
|
|
|
|
If a window holds a directory, the name (first word of the tag)
|
|
will end with a slash.<br>
|
|
<p><font size=+1><b>Scrolling </b></font><br>
|
|
Each window has a scroll bar to the left of the body. The scroll
|
|
bar behaves much as in <a href="../man1/sam.html"><i>sam</i>(1)</a> or <a href="../man1/rio.html"><i>rio</i>(1)</a> except that scrolling
|
|
occurs when the button is pressed, rather than released, and continues
|
|
as long as the mouse button is held down in the scroll bar. For
|
|
example, to scroll slowly through a file, hold button 3
|
|
down near the top of the scroll bar. Moving the mouse down the
|
|
scroll bar speeds up the rate of scrolling. (The experimental
|
|
option <tt><font size=+1>−r</font></tt> reverses the scrolling behavior of buttons 1 and 3,
|
|
to behave more like <a href="../man1/xterm.html"><i>xterm</i>(1)</a>.)<br>
|
|
<p><font size=+1><b>Layout </b></font><br>
|
|
<i>Acme</i> windows are arranged in columns. By default, it creates two
|
|
columns when starting; this can be overridden with the <tt><font size=+1>−c</font></tt> option.
|
|
Placement is automatic but may be adjusted using the <i>layout box</i>
|
|
in the upper left corner of each window and column. Pressing and
|
|
holding any mouse button in the box drags the
|
|
associated window or column. For windows, just clicking in the
|
|
layout box grows the window in place: button 1 grows it a little,
|
|
button 2 grows it as much as it can, still leaving all other tags
|
|
in that column visible, and button 3 takes over the column completely,
|
|
temporarily hiding other windows in the column. (They
|
|
will return <i>en masse</i> if any of them needs attention.) The layout
|
|
box in a window is normally white; when it is black in the center,
|
|
it records that the file is ‘dirty’: <i>acme</i> believes it is modified
|
|
from its original contents.
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
|
|
|
|
Tags exist at the top of each column and across the whole display.
|
|
<i>Acme</i> pre-loads them with useful commands. Also, the tag across
|
|
the top maintains a list of executing long-running commands.<br>
|
|
<p><font size=+1><b>Typing </b></font><br>
|
|
The behavior of typed text is similar to that in <a href="../man1/rio.html"><i>rio</i>(1)</a> except
|
|
that the characters are delivered to the tag or body under the
|
|
mouse; there is no ‘click to type’. (The experimental option <tt><font size=+1>−b</font></tt>
|
|
causes typing to go to the most recently clicked-at or made window.)
|
|
The usual backspacing conventions apply. As in <a href="../man1/sam.html"><i>sam</i>(1)</a> but not
|
|
<i>rio</i>, the ESC key selects the text typed since the last mouse action,
|
|
a feature particularly useful when executing commands. A side
|
|
effect is that typing ESC with text already selected is identical
|
|
to a <tt><font size=+1>Cut</font></tt> command (<i>q.v.</i>).
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
|
|
|
|
Most text, including the names of windows, may be edited uniformly.
|
|
The only exception is that the command names to the left of the
|
|
bar in a tag are maintained automatically; changes to them are
|
|
repaired by <i>acme</i>.<br>
|
|
<p><font size=+1><b>Directory context </b></font><br>
|
|
Each window’s tag names a directory: explicitly if the window
|
|
holds a directory; implicitly if it holds a regular file (e.g.
|
|
the directory <tt><font size=+1>/adm</font></tt> if the window holds <tt><font size=+1>/adm/users</font></tt>). This directory
|
|
provides a <i>context</i> for interpreting file names in that window.
|
|
For example, the string <tt><font size=+1>users</font></tt> in a window labeled <tt><font size=+1>/adm/</font></tt> or
|
|
<tt><font size=+1>/adm/keys</font></tt> will be interpreted as the file name <tt><font size=+1>/adm/users</font></tt>. The
|
|
directory is defined purely textually, so it can be a non-existent
|
|
directory or a real directory associated with a non-existent file
|
|
(e.g. <tt><font size=+1>/adm/not−a−file</font></tt>). File names beginning with a slash are
|
|
assumed to be absolute file names.
|
|
<p><font size=+1><b>Errors </b></font><br>
|
|
Windows whose names begin with <tt><font size=+1>−</font></tt> or <tt><font size=+1>+</font></tt> conventionally hold diagnostics
|
|
and other data not directly associated with files. A window labeled
|
|
<tt><font size=+1>+Errors</font></tt> receives all diagnostics produced by <i>acme</i> itself. Diagnostics
|
|
from commands run by <i>acme</i> appear in a window named <i>directory</i><tt><font size=+1>/+Errors</font></tt>
|
|
where <i>directory</i> is
|
|
identified by the context of the command. These error windows
|
|
are created when needed.<br>
|
|
<p><font size=+1><b>Mouse button 1 </b></font><br>
|
|
Mouse button 1 selects text just as in <a href="../man1/sam.html"><i>sam</i>(1)</a> or <a href="../man1/rio.html"><i>rio</i>(1)</a><i>,</i> including
|
|
the usual double-clicking conventions.<br>
|
|
<p><font size=+1><b>Mouse button 2 </b></font><br>
|
|
By an action similar to selecting text with button 1, button 2
|
|
indicates text to execute as a command. If the indicated text
|
|
has multiple white-space-separated words, the first is the command
|
|
name and the second and subsequent are its arguments. If button
|
|
2 is ‘clicked’--indicates a null string--<i>acme expands</i> the
|
|
indicated text to find a command to run: if the click is within
|
|
button-1-selected text, <i>acme</i> takes that selection as the command;
|
|
otherwise it takes the largest string of valid file name characters
|
|
containing the click. Valid file name characters are alphanumerics
|
|
and <tt><font size=+1>_ . − + /</font></tt>. This behavior is similar to double-clicking
|
|
with button 1 but, because a null command is meaningless, only
|
|
a single click is required.
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
|
|
|
|
Some commands, all by convention starting with a capital letter,
|
|
are <i>built-ins</i> that are executed directly by <i>acme</i>:<br>
|
|
<tt><font size=+1>Cut</font></tt> Delete most recently selected text and place in snarf buffer.<br>
|
|
<tt><font size=+1>Del</font></tt> Delete window. If window is dirty, instead print a warning;
|
|
a second <tt><font size=+1>Del</font></tt> will succeed.<br>
|
|
<tt><font size=+1>Delcol<br>
|
|
</font></tt>
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
|
|
|
|
Delete column and all its windows, after checking that windows
|
|
are not dirty.<br>
|
|
|
|
</table>
|
|
<tt><font size=+1>Delete<br>
|
|
</font></tt>
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
|
|
|
|
Delete window without checking for dirtiness.<br>
|
|
|
|
</table>
|
|
<tt><font size=+1>Dump</font></tt>Write the state of <i>acme</i> to the file name, if specified, or
|
|
<tt><font size=+1>$home/acme.dump</font></tt> by default.<br>
|
|
<tt><font size=+1>Edit</font></tt>Treat the argument as a text editing command in the style
|
|
of <a href="../man1/sam.html"><i>sam</i>(1)</a>. The full <tt><font size=+1>Sam</font></tt> language is implemented except for the
|
|
commands <tt><font size=+1>k</font></tt>, <tt><font size=+1>n</font></tt>, <tt><font size=+1>q</font></tt>, and <tt><font size=+1>!</font></tt>. The <tt><font size=+1>=</font></tt> command is slightly different:
|
|
it includes the file name and gives only the line address unless
|
|
the command is explicitly <tt><font size=+1>=#</font></tt>. The ‘current window’ for the
|
|
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
|
|
|
|
command is the body of the window in which the <tt><font size=+1>Edit</font></tt> command is
|
|
executed. Usually the <tt><font size=+1>Edit</font></tt> command would be typed in a tag; longer
|
|
commands may be prepared in a scratch window and executed, with
|
|
<tt><font size=+1>Edit</font></tt> itself in the current window, using the 2-1 chord described
|
|
below.
|
|
|
|
</table>
|
|
<tt><font size=+1>Exit</font></tt>Exit <i>acme</i> after checking that windows are not dirty.<br>
|
|
<tt><font size=+1>Font</font></tt>With no arguments, change the font of the associated window
|
|
from fixed-spaced to proportional-spaced or <i>vice versa</i>. Given
|
|
a file name argument, change the font of the window to that stored
|
|
in the named file. If the file name argument is prefixed by <tt><font size=+1>var</font></tt>
|
|
(<tt><font size=+1>fix</font></tt>), also set the default proportional-spaced
|
|
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
|
|
|
|
(fixed-spaced) font for future use to that font. Other existing
|
|
windows are unaffected.<br>
|
|
|
|
</table>
|
|
<tt><font size=+1>Get</font></tt> Load file into window, replacing previous contents (after checking
|
|
for dirtiness as in <tt><font size=+1>Del</font></tt>). With no argument, use the existing file
|
|
name of the window. Given an argument, use that file but do not
|
|
change the window’s file name.<br>
|
|
<tt><font size=+1>ID</font></tt> Print window ID number (<i>q.v.</i>).<br>
|
|
<tt><font size=+1>Incl</font></tt>When opening ‘include’ files (those enclosed in <tt><font size=+1><></font></tt>) with button
|
|
3, <i>acme</i> searches in directories <tt><font size=+1>/$objtype/include</font></tt> and <tt><font size=+1>/sys/include</font></tt>.
|
|
<tt><font size=+1>Incl</font></tt> adds its arguments to a supplementary list of include directories,
|
|
analogous to the <tt><font size=+1>−I</font></tt> option to the compilers. This list is per-window
|
|
and is inherited when
|
|
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
|
|
|
|
windows are created by actions in that window, so <i>Incl</i> is most
|
|
usefully applied to a directory containing relevant source. With
|
|
no arguments, <i>Incl</i> prints the supplementary list. This command
|
|
is largely superseded by plumbing (see <a href="../man7/plumb.html"><i>plumb</i>(7)</a>).<br>
|
|
|
|
</table>
|
|
<tt><font size=+1>Kill</font></tt>Send a <tt><font size=+1>kill</font></tt> note to <i>acme</i>-initiated commands named as arguments.<br>
|
|
<tt><font size=+1>Local<br>
|
|
</font></tt>
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
|
|
|
|
In the Plan 9 <i>acme</i>, this prefix causes a command to be run in
|
|
<i>acme</i>’s<i>own</i> file name space and environment variable group. On Unix
|
|
this is impossible. <tt><font size=+1>Local</font></tt> is recognized as a prefix, but has no
|
|
effect on the command being executed.<br>
|
|
|
|
</table>
|
|
<tt><font size=+1>Load</font></tt>Restore the state of <i>acme</i> from a file (default <tt><font size=+1>$home/acme.dump</font></tt>)
|
|
created by the <tt><font size=+1>Dump</font></tt> command.<br>
|
|
<tt><font size=+1>Look</font></tt>Search in body for occurrence of literal text indicated by
|
|
the argument or, if none is given, by the selected text in the
|
|
body.<br>
|
|
<tt><font size=+1>New</font></tt> Make new window. With arguments, load the named files into
|
|
windows.<br>
|
|
<tt><font size=+1>Newcol<br>
|
|
</font></tt>
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
|
|
|
|
Make new column.<br>
|
|
|
|
</table>
|
|
<tt><font size=+1>Paste<br>
|
|
</font></tt>
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
|
|
|
|
Replace most recently selected text with contents of snarf buffer.<br>
|
|
|
|
</table>
|
|
<tt><font size=+1>Put</font></tt> Write window to the named file. With no argument, write to
|
|
the file named in the tag of the window.<br>
|
|
<tt><font size=+1>Putall<br>
|
|
</font></tt>
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
|
|
|
|
Write all dirty windows whose names indicate existing regular
|
|
files.<br>
|
|
|
|
</table>
|
|
<tt><font size=+1>Redo</font></tt>Complement of <tt><font size=+1>Undo</font></tt>.<br>
|
|
<tt><font size=+1>Send</font></tt>Append selected text or snarf buffer to end of body; used
|
|
mainly with <i>win</i>.<br>
|
|
<tt><font size=+1>Snarf<br>
|
|
</font></tt>
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
|
|
|
|
Place selected text in snarf buffer.<br>
|
|
|
|
</table>
|
|
<tt><font size=+1>Sort</font></tt>Arrange the windows in the column from top to bottom in lexicographical
|
|
order based on their names.<br>
|
|
<tt><font size=+1>Tab</font></tt> Set the width of tab stops for this window to the value of
|
|
the argument, in units of widths of the zero character. With no
|
|
arguments, it prints the current value.<br>
|
|
<tt><font size=+1>Undo</font></tt>Undo last textual change or set of changes.<br>
|
|
<tt><font size=+1>Zerox<br>
|
|
</font></tt>
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
|
|
|
|
Create a copy of the window containing most recently selected
|
|
text.
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
|
|
|
|
|
|
</table>
|
|
A common place to store text for commands is in the tag; in fact
|
|
<i>acme</i> maintains a set of commands appropriate to the state of the
|
|
window to the left of the bar in the tag.
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
|
|
|
|
If the text indicated with button 2 is not a recognized built-in,
|
|
it is executed as a shell command. For example, indicating <tt><font size=+1>date</font></tt>
|
|
with button 2 runs <a href="../man1/date.html"><i>date</i>(1)</a>. The standard and error outputs of
|
|
commands are sent to the error window associated with the directory
|
|
from which the command was run, which will be created if
|
|
necessary. For example, in a window <tt><font size=+1>/etc/passwd</font></tt> executing <tt><font size=+1>pwd</font></tt>
|
|
will produce the output <tt><font size=+1>/etc</font></tt> in a (possibly newly-created) window
|
|
labeled <tt><font size=+1>/etc/+Errors</font></tt>; in a window containing <tt><font size=+1>/home/rob/sam/sam.c</font></tt>
|
|
executing <tt><font size=+1>mk</font></tt> will run <a href="../man1/mk.html"><i>mk</i>(1)</a> in <tt><font size=+1>/home/rob/sam</font></tt>, producing output
|
|
in a window labeled
|
|
<tt><font size=+1>/home/rob/sam/+Errors</font></tt>. The environment of such commands contains
|
|
the variable <tt><font size=+1>$%</font></tt> with value set to the filename of the window in
|
|
which the command is run, and <tt><font size=+1>$winid</font></tt> set to the window’s id number
|
|
(see <a href="../man4/acme.html"><i>acme</i>(4)</a>).<br>
|
|
<p><font size=+1><b>Mouse button 3 </b></font><br>
|
|
Pointing at text with button 3 instructs <i>acme</i> to locate or acquire
|
|
the file, string, etc. described by the indicated text and its
|
|
context. This description follows the actions taken when button
|
|
3 is released after sweeping out some text. In the description,
|
|
<i>text</i> refers to the text of the original sweep or, if it was null,
|
|
the
|
|
result of applying the same expansion rules that apply to button
|
|
2 actions.
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
|
|
|
|
If the text names an existing window, <i>acme</i> moves the mouse cursor
|
|
to the selected text in the body of that window. If the text names
|
|
an existing file with no associated window, <i>acme</i> loads the file
|
|
into a new window and moves the mouse there. If the text is a
|
|
file name contained in angle brackets, <i>acme</i> loads the
|
|
indicated include file from the directory appropriate to the suffix
|
|
of the file name of the window holding the text. (The <tt><font size=+1>Incl</font></tt> command
|
|
adds directories to the standard list.)
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
|
|
|
|
If the text begins with a colon, it is taken to be an address,
|
|
in the style of <a href="../man1/sam.html"><i>sam</i>(1)</a>, within the body of the window containing
|
|
the text. The address is evaluated, the resulting text highlighted,
|
|
and the mouse moved to it. Thus, in <i>acme</i>, one must type <tt><font size=+1>:/regexp</font></tt>
|
|
or <tt><font size=+1>:127</font></tt> not just <tt><font size=+1>/regexp</font></tt> or <tt><font size=+1>127</font></tt>. (There is an easier
|
|
way to locate literal text; see below.)
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
|
|
|
|
If the text is a file name followed by a colon and an address,
|
|
<i>acme</i> loads the file and evaluates the address. For example, clicking
|
|
button 3 anywhere in the text <tt><font size=+1>file.c:27</font></tt> will open <tt><font size=+1>file.c</font></tt>, select
|
|
line 27, and put the mouse at the beginning of the line. The rules
|
|
about Error files, directories, and so on all combine
|
|
to make this an efficient way to investigate errors from compilers,
|
|
etc.
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
|
|
|
|
If the text is not an address or file, it is taken to be literal
|
|
text, which is then searched for in the body of the window in
|
|
which button 3 was clicked. If a match is found, it is selected
|
|
and the mouse is moved there. Thus, to search for occurrences
|
|
of a word in a file, just click button 3 on the word. Because
|
|
of the rule of
|
|
using the selection as the button 3 action, subsequent clicks
|
|
will find subsequent occurrences without moving the mouse.
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
|
|
|
|
In all these actions, the mouse motion is not done if the text
|
|
is a null string within a non-null selected string in the tag,
|
|
so that (for example) complex regular expressions may be selected
|
|
and applied repeatedly to the body by just clicking button 3 over
|
|
them.<br>
|
|
<p><font size=+1><b>Chords of mouse buttons </b></font><br>
|
|
Several operations are bound to multiple-button actions. After
|
|
selecting text, with button 1 still down, pressing button 2 executes
|
|
<tt><font size=+1>Cut</font></tt> and button 3 executes <tt><font size=+1>Paste</font></tt>. After clicking one button, the
|
|
other undoes the first; thus (while holding down button 1) 2 followed
|
|
by 3 is a <tt><font size=+1>Snarf</font></tt> that leaves the file undirtied; 3
|
|
followed by 2 is a no-op. These actions also apply to text selected
|
|
by double-clicking because the double-click expansion is made
|
|
when the second click starts, not when it ends.
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
|
|
|
|
Commands may be given extra arguments by a mouse chord with buttons
|
|
2 and 1. While holding down button 2 on text to be executed as
|
|
a command, clicking button 1 appends the text last pointed to
|
|
by button 1 as a distinct final argument. For example, to search
|
|
for literal <tt><font size=+1>text</font></tt> one may execute <tt><font size=+1>Look text</font></tt> with
|
|
button 2 or instead point at <tt><font size=+1>text</font></tt> with button 1 in any window,
|
|
release button 1, then execute <tt><font size=+1>Look</font></tt>, clicking button 1 while 2
|
|
is held down.
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
|
|
|
|
When an external command (e.g. <a href="../man1/echo.html"><i>echo</i>(1)</a>) is executed this way,
|
|
the extra argument is passed as expected and an environment variable
|
|
<tt><font size=+1>$acmeaddr</font></tt> is created that holds, in the form interpreted by button
|
|
3, the fully-qualified address of the extra argument.<br>
|
|
<p><font size=+1><b>Support programs </b></font><br>
|
|
<i>Win</i> creates a new <i>acme</i> window and runs a <i>command</i> (default <tt><font size=+1>$SHELL</font></tt>)
|
|
in it, turning the window into something analogous to an <a href="../man1/rio.html"><i>rio</i>(1)</a>
|
|
window. Executing text in a <i>win</i> window with button 2 is similar
|
|
to using <tt><font size=+1>Send</font></tt>.
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
|
|
|
|
<i>Awd</i> loads the tag line of its window with the directory in which
|
|
it’s running, suffixed <tt><font size=+1>−</font></tt><i>label</i> (default <tt><font size=+1>rc</font></tt>); it is intended to
|
|
be executed by a <tt><font size=+1>cd</font></tt> function for use in <i>win</i> windows. An example
|
|
definition is<br>
|
|
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
|
|
|
|
<tt><font size=+1>fn cd { builtin cd $1 && awd $sysname }<br>
|
|
</font></tt>
|
|
</table>
|
|
<p><font size=+1><b>Applications and guide files </b></font><br>
|
|
In the directory <tt><font size=+1>/acme</font></tt> live several subdirectories, each corresponding
|
|
to a program or set of related programs that employ <i>acme’s</i> user
|
|
interface. Each subdirectory includes source, binaries, and a
|
|
<tt><font size=+1>readme</font></tt> file for further information. It also includes a <tt><font size=+1>guide</font></tt>,
|
|
a text file holding sample commands to invoke the
|
|
programs. The idea is to find an example in the guide that best
|
|
matches the job at hand, edit it to suit, and execute it.
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
|
|
|
|
Whenever a command is executed by <i>acme</i>, the default search path
|
|
includes the directory of the window containing the command and
|
|
its subdirectory <tt><font size=+1>$cputype</font></tt>. The program directories in <tt><font size=+1>/acme</font></tt> contain
|
|
appropriately labeled subdirectories of binaries, so commands
|
|
named in the guide files will be found
|
|
automatically when run. Also, <i>acme</i> binds the directories <tt><font size=+1>/acme/bin</font></tt>
|
|
and <tt><font size=+1>/acme/bin/$cputype</font></tt> to the end of <tt><font size=+1>/bin</font></tt> when it starts; this
|
|
is where <i>acme</i>-specific programs such as <i>win</i> and <i>awd</i> reside.<br>
|
|
|
|
</table>
|
|
<p><font size=+1><b>FILES </b></font><br>
|
|
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
|
|
|
|
<tt><font size=+1>$home/acme.dump</font></tt> default file for <tt><font size=+1>Dump</font></tt> and <tt><font size=+1>Load</font></tt>; also where state
|
|
is written if <i>acme</i> dies or is killed unexpectedly, e.g. by deleting
|
|
its window.<br>
|
|
<tt><font size=+1>/acme/*/guide</font></tt> template files for applications<br>
|
|
<tt><font size=+1>/acme/*/readme</font></tt> informal documentation for applications<br>
|
|
<tt><font size=+1>/acme/*/src</font></tt> source for applications<br>
|
|
<tt><font size=+1>/acme/*/mips</font></tt> MIPS-specific binaries for applications<br>
|
|
|
|
</table>
|
|
<p><font size=+1><b>SOURCE </b></font><br>
|
|
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
|
|
|
|
<tt><font size=+1>/usr/local/plan9/src/cmd/acme<br>
|
|
/usr/local/plan9/src/cmd/9term/win.c<br>
|
|
/usr/local/plan9/bin/awd<br>
|
|
</font></tt>
|
|
</table>
|
|
<p><font size=+1><b>SEE ALSO </b></font><br>
|
|
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
|
|
|
|
<a href="../man4/acme.html"><i>acme</i>(4)</a><br>
|
|
Rob Pike, <i>Acme: A User Interface for Programmers.<br>
|
|
</i>
|
|
</table>
|
|
<p><font size=+1><b>BUGS </b></font><br>
|
|
|
|
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
|
|
|
|
With the <tt><font size=+1>−l</font></tt> option or <tt><font size=+1>Load</font></tt> command, the recreation of windows
|
|
under control of external programs such as <i>win</i> is just to rerun
|
|
the command; information may be lost.<br>
|
|
|
|
</table>
|
|
|
|
<td width=20>
|
|
<tr height=20><td>
|
|
</table>
|
|
<!-- TRAILER -->
|
|
<table border=0 cellpadding=0 cellspacing=0 width=100%>
|
|
<tr height=15><td width=10><td><td width=10>
|
|
<tr><td><td>
|
|
<center>
|
|
<a href="../../"><img src="../../dist/spaceglenda100.png" alt="Space Glenda" border=1></a>
|
|
</center>
|
|
</table>
|
|
<!-- TRAILER -->
|
|
</body></html>
|