xref: /plan9/usr/glenda/readme.acme (revision 9a747e4fd48b9f4522c70c07e8f882a15030f964)
1*9a747e4fSDavid du ColombierWelcome to acme, the editor/shell/window system hybrid.  Acme is a
2*9a747e4fSDavid du Colombiercomplete environment you can use to edit, run programs, browse the
3*9a747e4fSDavid du Colombierfile system, etc.
4*9a747e4fSDavid du Colombier
5*9a747e4fSDavid du ColombierYou can scroll the text this window by moving the mouse into
6*9a747e4fSDavid du Colombierthe window (no clicking necessary) and typing the up and down
7*9a747e4fSDavid du Colombierarrows.
8*9a747e4fSDavid du Colombier
9*9a747e4fSDavid du ColombierWhen you start Acme, you see several windows layered into two
10*9a747e4fSDavid du Colombiercolumns. Above each window, you can see a ``tag line'' (in blue). The
11*9a747e4fSDavid du Colombierfirst thing to notice is that all the text you see is just that:
12*9a747e4fSDavid du Colombiertext. You can edit anything at will.
13*9a747e4fSDavid du Colombier
14*9a747e4fSDavid du ColombierFor example, in the left column is a directory window.
15*9a747e4fSDavid du ColombierIf you look at the window's tag line, you will see that it contains
16*9a747e4fSDavid du Colombier
17*9a747e4fSDavid du Colombier	/usr/glenda/ Del Snarf Get | Look
18*9a747e4fSDavid du Colombier
19*9a747e4fSDavid du Colombier(This might be truncated if the column is narrow.)
20*9a747e4fSDavid du ColombierThat is just text.
21*9a747e4fSDavid du Colombier
22*9a747e4fSDavid du ColombierEach mouse button (1, 2, 3, from left to right) does a different
23*9a747e4fSDavid du Colombierthing in Acme:
24*9a747e4fSDavid du Colombier
25*9a747e4fSDavid du Colombier *	Button 1 can be used to select text (press it, sweep, release it),
26*9a747e4fSDavid du Colombier	and also to select the point where text would be inserted in the
27*9a747e4fSDavid du Colombier	window. Use it now in your /usr/glenda window.
28*9a747e4fSDavid du Colombier *	Button 2 can be used to execute things.  For example, use button 1
29*9a747e4fSDavid du Colombier	to type "ls -l" before "lib/" in the window showing
30*9a747e4fSDavid du Colombier	/usr/glenda.  Now use button 2 to select "ls -l lib/" (press
31*9a747e4fSDavid du Colombier	it, select, release it).  As you can see, button 2 means
32*9a747e4fSDavid du Colombier	"execute this".
33*9a747e4fSDavid du Colombier *	Button 3 can be used to get things. For example, click button 3 on
34*9a747e4fSDavid du Colombier	"lib/" within the "/usr/glenda" window. Can you see how a new window
35*9a747e4fSDavid du Colombier	shows the contents of "/usr/glenda/lib"? Button 3 can also be used
36*9a747e4fSDavid du Colombier	to search within the body of a window. Just click button 3 on the
37*9a747e4fSDavid du Colombier	thing you want to search. Again, you can select something with
38*9a747e4fSDavid du Colombier	button 1 and then use button 3 on the selection.
39*9a747e4fSDavid du Colombier
40*9a747e4fSDavid du ColombierYou can double-click with button 1 to select words; a double click at
41*9a747e4fSDavid du Colombierthe end or beginning of a line selects the whole line.  Once you have
42*9a747e4fSDavid du Colombiertext selected, you can click on it with button 2 to execute the
43*9a747e4fSDavid du Colombierselected text.  A single click of button 2 would execute the word
44*9a747e4fSDavid du Colombierclicked as a command.
45*9a747e4fSDavid du Colombier
46*9a747e4fSDavid du ColombierNow let's pay attention to the tag line once more. As you can see,
47*9a747e4fSDavid du Colombierthe left part has a path. That is the name for the window and shows
48*9a747e4fSDavid du Colombieralso the directory for the thing shown (file/directory/program
49*9a747e4fSDavid du Colombieroutput). When you execute something using button 2, the current
50*9a747e4fSDavid du Colombierdirectory for the command is the directory shown in the left part of
51*9a747e4fSDavid du Colombierthe tag (if the thing shown is a file, its directory is used).
52*9a747e4fSDavid du Colombier
53*9a747e4fSDavid du ColombierAs you saw before in the example, there are windows labeled
54*9a747e4fSDavid du Colombier"/dir/+Errors", that is where Acme shows the output of a command
55*9a747e4fSDavid du Colombierexecuted in "/dir".
56*9a747e4fSDavid du Colombier
57*9a747e4fSDavid du ColombierAnother thing you can see is that tag lines contain words like "New",
58*9a747e4fSDavid du Colombier"Del", "Snarf", etc. Those are commands understood (implemented) by
59*9a747e4fSDavid du ColombierAcme. When you request execution of one of them, Acme does the job.
60*9a747e4fSDavid du ColombierFor example, click with button 2 on "Del" in the
61*9a747e4fSDavid du Colombier"/usr/glenda/+Errors" window: it's gone.
62*9a747e4fSDavid du Colombier
63*9a747e4fSDavid du ColombierThe commands shown by Acme are just text and by no means special. Try
64*9a747e4fSDavid du Colombierto type "Del" within the body of the window "/usr/glenda", and then
65*9a747e4fSDavid du Colombierclick (button-2) on it.
66*9a747e4fSDavid du Colombier
67*9a747e4fSDavid du ColombierThese are some commands understood by Acme:
68*9a747e4fSDavid du Colombier *	Newcol: create a new column of windows
69*9a747e4fSDavid du Colombier *	Delcol: delete a column
70*9a747e4fSDavid du Colombier *	New: create a new window (edit it's tag to be a file name and you
71*9a747e4fSDavid du Colombier	would be creating a new file; you would need to click on "Put" to
72*9a747e4fSDavid du Colombier	put the file in the file system).
73*9a747e4fSDavid du Colombier *	Put: write the body to disk. The file is the one named in the tag.
74*9a747e4fSDavid du Colombier *	Get: refresh the body (e.g. if it's a directory, reread it and
75*9a747e4fSDavid du Colombier	show it).
76*9a747e4fSDavid du Colombier *	Snarf: What other window systems call "Copy".
77*9a747e4fSDavid du Colombier *	Paste: Can you guess it?
78*9a747e4fSDavid du Colombier *	Exit: exit acme
79*9a747e4fSDavid du Colombier
80*9a747e4fSDavid du ColombierAcme likes to place new windows itself. If you prefer to change the
81*9a747e4fSDavid du Colombierlayout of a window, you only need to drag the layout box at the left
82*9a747e4fSDavid du Colombierof the tag line and drop it somewhere else. The point where you drop
83*9a747e4fSDavid du Colombierit selects the column where the window is to be placed now, as well
84*9a747e4fSDavid du Colombieras the line where the window should start. You can also click the
85*9a747e4fSDavid du Colombierlayout box to enlarge its window a small amount (button 1), as much
86*9a747e4fSDavid du Colombieras possible without obscuring other tag lines in the column (button
87*9a747e4fSDavid du Colombier2), and to fill the whole column (button 3). You can get your other
88*9a747e4fSDavid du Colombierwindows back by button-1- or button-2-clicking the layout box.
89*9a747e4fSDavid du Colombier
90*9a747e4fSDavid du ColombierThis is mostly what you need to get started with Acme. You are
91*9a747e4fSDavid du Colombiermissing a very useful feature: using combinations (chords) of mouse
92*9a747e4fSDavid du Colombierbuttons to do things. You can cut, paste, snarf, and pass arguments
93*9a747e4fSDavid du Colombierto programs using these mouse chords. You can read this in the
94*9a747e4fSDavid du Colombieracme(1) manual page, but it's actually extremely simple: Select a
95*9a747e4fSDavid du Colombierregion with button 1 but don't release the button. Now clicking
96*9a747e4fSDavid du Colombierbutton 2 deletes the selected text (putting it into the snarf
97*9a747e4fSDavid du Colombierbuffer); clicking button 3 replaces the selected text with the snarf
98*9a747e4fSDavid du Colombierbuffer. That's it!
99*9a747e4fSDavid du Colombier
100*9a747e4fSDavid du ColombierFor more information, read /sys/doc/acme/acme.ps (you can just
101*9a747e4fSDavid du Colombierbutton-3 click on that string to view the file).
102*9a747e4fSDavid du Colombier
103