225 ;;Quote: Acme automatically creates windows in a column with a single mouse click; easily rearranged by dragging a layout box
|
225 ;;Quote: each Acme window, column, and display has a tag that names the window with its file, contains built-in commands, and provides an editable scratch area
|
225 ;;Quote: every Acme command is interpreted in the directory named by the corresponding window tag
|
225 ;;Quote: Acme use a standard left mouse button, a middle button to execute commands, and a right button to locate and select files and text
|
226 ;;Quote: text swept with the middle mouse button is executed on button release; any text may be a command
|
226+;;Quote: Acme binds some actions to chords of mouse buttons
|
226 ;;Quote: Acme executes non-builtin commands in the window's directory; each window has related windows for standard output and standard error output
|
226 ;;Quote: the right mouse button indicates arguments to a generalized search facility that locates files, file locations, and text
|
226 ;;Quote: Acme avoids needless clicking; no click-to-type, no pull-down menus, automatic window placement, context-dependent selection
|
226 ;;Quote: Acme's window placement: new windows created in the active column, 'execute' and 'search' do not change active window, output windows to the right, large blank spaces consumed
|
228 ;;Quote: programmable control of Acme through predefined files for each window: body text, tag text, character address, data at address, control, and events
|
229 ;;Quote: the 'event' file for an Acme window records all changes, execute, and search events for the window
|
229+;;Quote: Acme reports changes to a window/file after the change is made; allows multiple agents to make changes in response to changes
|
229 ;;Quote: if a program opens a file in the 'acme/new' directory, a window is also created
|
232 ;;Quote: Acme is written in Alef, a concurrent object-oriented language similar to C; worked out well
|
232+;;Quote: avoid the clumsy top-level event loop via concurrent processing
|
232+;;Quote: Acme uses a new process for each I/O request; its state encodes the state of the I/O request and removes the need for queues
|
233 ;;Quote: implement 'undo' with an undo transcript, redo transcript, and sequence numbers; e.g., global substitution in reverse order
|
233 ;;Quote: for editing large files, use a temporary file to hold the text of the visible portion
|