Ein Fenstermanager ist in erster Linie dafür zuständig, den Anwendungsprogrammen einer Desktop-Umgebung das Verschieben, Minimieren, Vergrößern und Schließen von Fenstern zu ermöglichen. Im Gegensatz zu den Betriebssystemen von Apple und Microsoft hat man sich beim X Window System bewusst dafür entschieden, diese Funktionen getrennt zur Verfügung zu stellen. Somit kann der Benutzer zwischen einer Vielzahl von Alternativen wählen, um die beste Lösung für seine Bedürfnisse zu finden.
Viele Anwender sind sich gar nicht bewusst, dass sie hier eine Wahl haben. Deswegen werden im Folgenden die möglichen Funktionen und Bestandteile eines Fenstermanagers vorgestellt.
In Ubuntu / GNOME kommt standardmäßig Compiz oder Metacity als Fenstermanager zum Einsatz - je nachdem, ob die Desktop-Effekte aktiviert sind oder nicht. Kubuntu setzt auf KWin, Xubuntu auf Xfwm und Lubuntu auf Openbox.
Siehe auch 3D-Desktop.
Compiz - beeindruckende Effekte, Standard unter Ubuntu bei geeigneter Grafikkarte
Desktop-Effekte - einfache Aktivierung von Compiz unter GNOME
Compiz Fusion - zusätzliche Plugins für Compiz, Ergebnis der Fusion von Beryl und Compiz
CompizConfig Einstellungs-Manager - umfangreiches Tool zur Konfiguration von Compiz
Arbeitsflächeneffekte - 3D-Effekte für KDE mit Kwin
Xfce Composite-Effekte - 3D-Effekte für Xfce
Cairo Composite Manager - 3D-Effekte für LXDE (Openbox) und andere Fenstermanager
E16 - der alte stylische Enlightenment
E17 - moderner Neubau
Fluxbox - der etwas "andere" Fenstermanager
Openbox - ein aus Fluxbox entstandener Minimalist
IceWM - der "Coole"
Pekwm - schlanker, funktionsreicher Fensterverwalter
WindowMaker - ein NeXTStep ähnlicher Nachbau
UWM - neuartiges, eigenständiges Bedienkonzept
bedeutet nicht überlappende Fenster - diese werden immer neben- bzw. untereinander angeordnet. Siehe Tiling.
Awesome - modern und erweiterbar
herbstluftwm - vereint Eigenschaften von Ion3, WMII und anderen
Ion3 - durch Lua leicht erweiterbar
WMII - organisiert die Fenster mit Tags
DWM - ein WMII-Ableger für Profis
Ratpoison - minimalistisch und schlicht
Devil's Pie - Fenstereigenschaften dauerhaft beeinflussen
Brightside - die Ecken und Kanten von GNOME und Xfce nutzen (edge flipping)
WMIface - Kommandozeilenwerkzeug zur Interaktion mit dem Fenstermanager
GTK Design anpassen - das GTK-Design unabhängig vom Fenstermanager anpassen
Bei fast allen Fenstermanagern kann man das Aussehen ändern, indem man ein neues Design auswählt. Dadurch werden meist mindestens die vorherrschenden Farben, der Stil der Fensterdekoration und die Schriftart ausgewechselt.
Nahezu jeder Fenstermanager bietet die Möglichkeit, den verfügbaren Platz für Fenster virtuell zu erweitern. So kann man einen überfüllten Desktop besser vermeiden als nur mit dem Minimieren von Fenstern. Man kann sogar soweit gehen, diesen Bereichen bestimmte Funktionen zuzuweisen - beispielsweise liegt auf Desktop 1 der Dateimanager, auf 2 der Browser und auf 3 der Chat. Hierbei gibt es mehrere Ansätze, die im folgenden erläutert werden.
Die am häufigsten anzutreffende Umsetzung der erweiterten Arbeitsfläche sind virtuelle Desktops. Hierbei werden einfach mehrere Arbeitsflächen zur Verfügung gestellt. Falls die Oberfläche, auf der man startet, aufgrund der vielen geöffneten Fenster zu unübersichtlich wird, kann man so bequem auf eine andere Arbeitsfläche ausweichen.
Ein anderer Ansatz, der sich kaum von den virtuellen Desktops unterscheidet, sind die Viewports (zu Deutsch etwa "Sichtfeld"). Hier gibt es nicht mehrere Arbeitsflächen, sondern die eine Arbeitsfläche wird vergrößert, sodass sie nun über den sichtbaren Ausschnitt des Bildschirms hinausgeht. Diese Technik hat mit Compiz gewissermaßen eine Renaissance erlebt, denn beim Desktop-Würfel wird gewissermaßen eine große Arbeitsfläche um den Würfel herum gewickelt. Bei KWin wird der Würfel jedoch ohne das Konzept der Viewports realisiert, hier wird auf jeder Seite des Würfels ein virtueller Desktop gezeichnet.
Ein etwas abstrakterer Ansatz, der seltener und vor allem bei Tiling-Fenstermanagern zum Einsatz kommt, ist der der Tags. Hier können jedem Fenster ein oder mehrere Tags zugewiesen werden. Durch Auswahl eines oder mehrerer Tags werden dann alle Fenster mit diesen Tags angezeigt. Wenn einem Fenster nicht bewusst ein Tag zugeordnet wird, bekommt es automatisch das aktuell aktive Tag.
Es ist nicht nötig, Programme per Mausklick zu starten oder Funktionen des Fenstermanagers über die grafische Oberfläche auszulösen. Beides kann auch über die Tastatur erledigt werden. Einige Fenstermanager verfolgen dieses Konzept konsequenter als andere – Awesome, IceWM, Ion3 und WMII beispielsweise lassen sich auch komplett per Tastatur steuern.
Alle Desktop-Umgebungen bieten ein wie auch immer geartetes System, um gewünschte Programme automatisch zu starten. Die meisten Fenstermanager bieten diese Möglichkeit auch. Eine Ausnahme stellt Openbox vor Version 3.4 dar - in einem solchen Fall müssten die Programme dann über die im Homeverzeichnis liegende .xinitrc gestartet werden.
Composite nennt man die Fähigkeit, Fenster und Effekte auf dem Desktop miteinander zu kombinieren, meist mithilfe des Grafikkartentreibers. In manchen Fenstermanagern ist ein Composite-Manager integriert, andere können nachträglich mit einem solchen kombiniert werden. Dies ermöglicht Desktop-Effekte wie Schatten und Transparenz. Erklärungen, welche Fenstermanager diese Funktionen bieten und welche Hardwarevoraussetzung man erfüllen muss, stehen im Artikel 3D-Desktop.
Einige Fenstermanager haben ein Panel integriert, andere setzen auf externe Alternativen. Ein Panel kann mehrere Funktionen übernehmen:
Zugriff auf ein Menü
Schnellstart von Programmen über Anwendungsstarter
Steuern von virtuellen Desktops, z.B. durch einen Pager
aktive bzw minimierte Fenster anzeigen (Fensterliste)
Trayicons im Benachrichtigungsfeld darstellen
Bietet ein Fenstermanager nicht alle dieser Funktionen oder hat wie Openbox gar kein Panel, kann natürlich eine Alternative aus Desktop Panels gewählt werden.
Tiling (vom englischen "tile", was soviel wie Kachel/Fliese bedeutet und "tiling" somit "Kachelung" - der mathematischere Ausdruck ist "Parkettierung") bezeichnet die Flächenaufteilung einer Ebene ohne Überlappungen. Dieses Prinzip gehörte bei Fenstermanagern eigentlich schon zum alten Eisen (es kam bereits in den 80ern zum Einsatz), bis im Jahr 2000 – mit LarsWM und Ion – gleich zwei Fenstermanager veröffentlicht wurden (und damit viele weitere inspirierten), die mit dem verbreiteten Prinzip der Fensterverschiebung, und der damit einhergehenden ständigen Suche nach hintereinander liegenden Fenstern, brechen wollten.
Bei dieser Art von Fenstermanager hat man alle aktiven Fenster neben- bzw. untereinander angeordnet, sodass jedes komplett zu sehen ist. Die Benutzung der Maus beschränkt sich somit allein auf das Fokussieren - ein Vorteil liegt gerade darin, dass man prinzipiell alles mit der Tastatur steuern könnte, da man keinerlei Fenster mehr über den Desktop verschieben muss. Die meisten Fenstermanager mit Tiling-Funktion verzichten daher auch komplett auf Fensterlisten (im Panel), da diese nur wertvollen Platz verbrauchen.
Die dritte Generation der Tiling-Fenstermanager leitete ab 2007 Awesome ein, der neben hohem Funktionsumfang und hoher Konfigurierbarkeit auch viele neue Standards unterstützt und momentan wohl der modernste Tiling-Fenstermanager ist.
Dies dürfte den meisten durch den eigenen Browser bekannt sein. Tabbing meint das Zusammenziehen mehrerer beliebiger Fenster in eines, zwischen dessen Inhalten dann schnell hin- und hergeschaltet werden kann. Das Umschalten geht meistens durch Reiter am Fensterrand oder durch in der Titelleiste positionierte Schaltflächen. Bekannte Manager mit dieser Funktion sind Fluxbox und Ion3.
Fenstermanager lassen sich mit Hilfe externer Skripte beeinflussen. Dies ermöglicht beispielsweise, eine Anwendung immer auf dem gleichen Desktop zu starten. Für NetWM-kompatible Fenstermanager gibt es zum Beispiel das Kommandozeilen-Werkzeug WMIface.
The Window Manager Report - Übersicht zum Thema Fenstermanager
Window Managers for X - umfangreiche Liste von Fenstermanagern