# Ion (Fenstermanager)

Ion ist ein Fenstermanager für das X11-Fenstersystem. Der ab Version 2 unter der LGPL (ab Version 3 modifiziert) lizenzierte Windowmanager ist der Nachfolger von PWM. Die Entwicklung begann im Jahr 2000 und wurde 2009 eingestellt. Mit notion existiert ein Community-Fork des letzten Releases unter der LGPL-Lizenz, der aktiv weiterentwickelt wird.

## Fensterverwaltung

Die auffälligste Besonderheit Ions liegt darin, dass Fenster sich im Regelfall niemals überlappen. Der Bildschirm wird dazu in verschiedene Areale (Frames) aufgeteilt, wobei sich in einem Areal ein oder mehrere Fenster befinden können. So ist stets der gesamte Bildschirm durch Fenster ausgenutzt. Befinden sich in einem Areal mehr als ein Fenster, so ist dies durch Registerreiter gekennzeichnet.
Alternativ bietet Ion auch einen Modus, in dem Fenster frei verschieb- und gruppierbar sind. Die Oberfläche verhält sich in diesem Fall wie PWM oder Fluxbox und ist für Anwendungen gedacht, die sich in einer normalen Ion-Umgebung nicht so gut bedienen lassen, wie zum Beispiel GIMP.

## Bedienung

Ein Vorteil der Fensterorganisation, wie sie Ion betreibt, ist die Möglichkeit der einfachen Tastaturbedienung. Operationen, die ein Fenster in den Vordergrund holen oder in den Hintergrund stellen, entfallen und der Anwender kann direkt mit Richtungsangaben die Areale oder mit Zahlenangaben ein Fenster eines Areals wählen.
Ion bietet integrierte Eingabezeilen, die dem Minibuffer von Emacs ähneln. Diese können verwendet werden, um Anwendungen zu starten, Ion-Kommandos auszuführen oder um einen Fensternamen einzugeben, zu dem Ion springen soll. All diese Eingabezeilen unterstützen automatische Vervollständigung und die Bearbeitung der Zeile.

## Erweiterung

Lediglich der Kern des Fenstermanagers ist in der Programmiersprache C geschrieben. Weite Teile des Programms liegen in der Sprache Lua vor. Alle Elemente des Windowmanagers stehen in einer objektorientierten Schnittstelle zur Verfügung und sind in Skripten anwendbar. Dadurch lässt sich Ion umfangreich erweitern, wie die Skriptsammlung auf der Ion-Homepage zeigt.
Ähnliche Fenstermanager: Larswm, WMI

## Lizenzprobleme

Die Lizenz von Ion3 zwingt die Anbieter von Paketquellen, die nicht die letzte Release Version des Urhebers anbieten, spätestens 28 Tage nach dem letzten Release ihre Pakete als veraltet und unsupported zu markieren. Außerdem erlaubt sie nur unter Einschränkungen die Veränderung des Quellcodes:
   „Versions not based on the copyright holder’s latest release (on the corresponding “branch”, such as Ion3(tm)), must within 28 days of this release, be prominently marked as (potentially) obsolete and unsupported.
   Significantly altered versions may be provided only if the user explicitly requests for those modifications to be applied, and is prominently notified that the software is no longer considered the standard version, and is not supported by the copyright holder. The version string displayed by the program must describe these modifications and the “support void” status.“
Nachdem der Entwickler von Ion3 damit gedroht hatte, rechtliche Schritte zur Durchsetzung dieser Lizenz einzuleiten, entfernten u. a. die Projekte Arch Linux, FreeBSD und NetBSD die Pakete von Ion3 aus ihren Repositorys. Auch Gentoo Linux bietet wegen der Lizenzprobleme nur noch die erste Version an.