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.

Acme


Screenshot von Acme
Basisdaten

Entwickler Rob Pike
Betriebssystem Plan 9, Inferno, BSD, Linux, MacOS, Solaris, Unix, Windows
Programmier­sprache C
Kategorie Texteditor
Lizenz LPL (Lucent Public License)
http://acme.cat-v.org/

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

Bearbeiten

Eine Inspiration für das Textfenstersystem von Acme bildete das Design des Oberon-Systems.

“… Acme shows that typescripts may not be the most productive interface to a time-sharing system.”

Rob Pike
Bearbeiten