Acme (Texteditor)
Acme ist ein Hybride aus Textfenstersystem, _Unicode-Texteditor, Befehlsinterpreter (Shell) und einer Art von _Dateiserver, der von Rob Pike für das Betriebssystem Plan_9 entwickelt und geschrieben wurde. Kennzeichnend für Acme ist der hohe Grad der Integration textorientierter Anwendungen. Serverfunktionen ermöglichen das Schreiben eigener _Clients.
Details
Außer bei Text- und Befehlseingaben wird Acme exklusiv mit einer dreitastigen Maus bedient. Die Maustasten, aber auch Maustastenakkorde,
sind - zum Teil _überladen - mit Funktionen belegt. Die mittlere Maustaste
interpretiert das Wort unter dem Mauscursor als Namen eines ausführbaren Programms. Die rechte Maustaste interpretiert das Wort als in einem neuen Fenster von Acme zu öffnende Datei aus dem Verzeichnis, das
dem aktuellen Fenster zugeordnet ist. Existiert eine solche Datei nicht,
wird das Wort als Suchwort interpretiert und die Suche
ausgeführt.
Acmes Fenster sind in Spalten angeordnet, deren Breite variabel ist. Auch die Höhe der Fenster ist variabel, wobei jedes Fenster dauerhaft oder vorübergehend die ganze Spalte in Anspruch nehmen kann. Jedes Fenster besitzt eine eigene Kopfzeile, in der z.B. der Dateiname der dem Fenster zugeordneten Datei steht und eine Reihe von fensterrelativen Befehlen,
die beliebig erweitert werden kann.
Wird in Acme ein Programm gestartet, wird die Ausgabe bzw. die Fehlerausgabe in ein neues, automatisch erzeugtes Fenster geschrieben.
In Acme kann mit _regulären_Ausdrücken gearbeitet werden. Die Anweisungen des Texteditors Sam sind vollständig implementiert.
Acme unterhält für jedes Fenster eine "Ereignisdatei", die von programmierbaren Acme-Clients manipuliert werden kann. Ein "Ereignis"
in einem Fenster ist dabei z.B. ein Mausklick mit einer der Maustasten,
eine Tastatureingabe oder eine Textauswahl mit einer der Maustasten.
Mit einem Client-Programm lässt sich definieren, wie auf ein bestimmtes
Ereignis reagiert werden soll. Zum Beispiel kann man bestimmen, dass
die Markierung einer IP-Adresse mit der rechten Maustaste unmittelbar
eine Whois-Abfrage auslösen soll, wobei die Antwort des Whois-Servers in einem neuen Acme-Fenster ausgegeben wird. Verfügbare Clients sind u.a.
ein Wörterbuch-Browser und ein E-Mail-Programm.
Geschichte
Eine Inspiration für das Textfenstersystem von Acme bildete das Design
des Oberon-Systems.
Zitate
* "... Acme shows that typescripts may not be the most productive interface to a time-sharing system." (Rob Pike)
Weblinks
• Acme: A User Interface for Programmers (Rob Pike)
• Acme Handbuchseite (generell)
• Acme Handbuchseite (Servereigenschaften)
• Plan 9 from User Space - Portierung von Plan 9 nach UNIX, incl. Acme.
• Acme SAC (Stand Alone Complex) - Portierung nach Windows

