Schnelligkeit liegt in der Familie: Fluxbox hat die besten Eigenschaften seines Vorfahren Blackbox geerbt und bringt zusätzlich viele weitere Features für den Desktop mit.
deskTOPia
Wie Ihr Linux-Desktop aussieht, bestimmen allein Sie. Mit deskTOPia nehmen wir Sie regelmäßig mit auf die Reise ins Land der Windowmanager und Desktop-Umgebungen, stellen Nützliches und Farbenfrohes, Hingucker und hübsches Spielzeug vor.
Programmieren müsste man können: Ob die Lieblingsanwendung zu blass, zu bunt oder mit zu wenigen Optionen daherkommt, ist egal; mit ein paar Zeilen Code rüstet man die gewünschte Funktionalität einfach nach. In dieser Situation war auch Henrik Kinnunen, der in Blackbox [1] eigentlich den Fenstermanager seiner Wahl gefunden hatte. Einige Optionen fehlten ihm allerdings. Statt nun das Rad neu zu erfinden, nutzte er den Quellcode von Blackbox 0.61.1, fügte einiges an Komfort hinzu und nannte seine Kreation Fluxbox [2] (flux=Wandel).
Woher nehmen?
Am schnellsten gelingt deren Installation mit einem der verfügbaren RPM-Pakete. Dass es für Suse Linux kein passendes Päckchen gibt, ist nicht weiter tragisch. Suse-9.0-Anwender bedienen sich einfach bei den Mandrake-Paketen, die sich problemlos einspielen lassen.
Bei den Selbstkompilierern zeigen diesmal jene, die eine ältere Distribution nutzen, allen anderen eine lange Nase. Fluxbox lässt sich mit dem gcc in Version 3.3 und höher nicht ohne weiteres übersetzen. Wer Suse Linux in Version 8.2 bzw. 9.0 oder Mandrake Linux 9.2 verwendet, liest in Kasten 1 nach, wie er mit ein wenig Handarbeit trotzdem zu einem neuen Fensterverwalter kommt.
Haben Sie gcc 3.2 oder älter installiert (eine Frage, die der Befehl gcc --version beantwortet), ist Fluxbox mit dem Dreisatz
./configure ; make ; su -c make install-strip
schnell installiert. Der Windowmanager selbst zeigt sich von der genügsamen Seite und setzt zum Kompilieren nur die Entwicklerpakete zu XFree86, zur libpng und zu freetype voraus. Wer viel mit KDE-Anwendungen arbeitet, ersetzt ./configure durch ./configure --enable-kde. Diese Option bewirkt, dass Fluxbox im Slit, einer Leiste für WindowMaker-Dockapps, auch KDE-Programme anzeigt, die sich normalerweise im Systembereich des Kicker einnisten. Dazu gehören z. B. die Zwischenablageverwaltung klipper oder kgpg, das GnuPG-Schlüssel verwaltet.
Kasten 1: Fluxbox mit gcc 3.3 oder höher übersetzen
Wer versucht, Fluxbox mit dem gcc 3.3 zu kompilieren, bei dem bricht der make-Aufruf mit einer Fehlermeldung beim Übersetzen der Datei src/fluxbox.cc ab. Ein weiterer Fehlerteufel lauert in utils/fbrun/FbRun.cc im Quellcode-Verzeichnis.
Um zu einem lauffähigen Fluxbox zu kommen, rufen Sie wie gewohnt ./configure auf. Die erste Änderung steht in der Datei config.h im Source-Verzeichnis an. Sie enthält Regeln, wie Fluxbox übersetzt werden soll. Öffnen Sie diese Datei mit einem Editor, und suchen Sie nach dem Wort STRFTIME. Dabei treffen Sie auf einen von /* und */ umschlossenen Kommentarblock. Fügen Sie dahinter eine Zeile mit der Anweisung
#define HAVE_STRFTIME 1
ein.
Die zweite Änderung nehmen Sie an der Datei utils/fbrun/FbRun.cc vor. Damit die Hilfsanwendung fbrun kompiliert, fügen Sie eine zusätzliche #include-Zeile hinzu. Diese sagt dem Compiler, in welcher Datei die Funktionen stehen, die er beim Übersetzen bislang nicht findet. Welche konkrete Dateiangabe Sie im Anschluss an die bereits vorhandenen #include-Zeilen am Dateianfang einfügen müssen, hängt von Ihrer Distribution ab. Wer Suse Linux verwendet, trägt
#include <g++/cassert>
nach (Abbildung 1). Unter Mandrake liegt die Datei cassert in einem davon abweichenden Verzeichnis, so dass dort
#include <g++-3/cassert>
die richtige Wahl ist.
Verwenden Sie eine andere Distribution, suchen Sie einfach mit locate oder find nach der Datei cassert. Für die #include-Zeile brauchen Sie nicht den absoluten, sondern den relativen Pfad vom Verzeichnis /usr/include aus. Liegt die Datei in /usr/include/woauchimmer, lautet die richtige Zeile
#include <woauchimmer/cassert>
Fluxbox am Start
Ist der Fensterherrscher installiert, gilt es, ihn in den Startprozess der grafischen Oberfläche einzubinden. Wer ein Paket seines Distributors eingespielt hat, findet den Neuzugang wahrscheinlich schon im Auswahlmenü seines Login-Managers.
Alle anderen greifen zum passenden Konfigurationsmenü: Für KDM, das Anmeldeprogramm von KDE, sind Sie im Kontrollzentrum unter Systemverwaltung | Anmeldungsmanager | Sitzungen richtig. Der Eintrag /usr/local/bin/fluxbox hinter Neuer Typ integriert den Fensterverwalter in die Auswahlliste. Damit Sie die Einstellungen des KDM anpassen dürfen, wechseln Sie vorher über den Button Systemverwaltungsmodus zum root-Account.
Alle, die sich im Textmodus anmelden, tragen die Zeile
exec /usr/local/bin/fluxbox
in die Datei ~/.xinitrc ein, damit der Befehl startx Fluxbox startet.
Erste Schritte
Bei der ersten Begegnung präsentiert sich Fluxbox aufgeräumt. Am unteren Bildschirmrand liegt die Werkzeugleiste, die eine Uhr und den Umschalter für die standardmäßig vier virtuellen Arbeitsflächen beherbergt (Abbildung 2). Zusätzlich dient sie als Icon-Leiste für minimierte Fenster. Zum nächsten Desktop geht es über die kleinen Pfeiltasten, Eilige verwenden dafür das Rad ihrer Maus.
Mit den Default-Einstellungen müssen Sie sich nicht abfinden. Ein Klick mit der rechten Maustaste öffnet das Konfigurationsmenü. Die Punkte unter Placement stellen die Position der Werkzeugleiste ein. Von “oben links” (Top Left) über “oben zentriert” (Top Center) bis “unten rechts” (Bottom Right) stehen insgesamt sechs Platzierungsmöglichkeiten zur Verfügung (Abbildung 3).
Damit Fenster die Werkzeugleiste nicht versehentlich überlagern, aktivieren Sie Always on top; die Option Auto hide sorgt dafür, dass sich die Toolbar ausblendet, wenn Sie sie nicht benötigen. Erst der Mauszeiger am richtigen Bildschirmrand lockt sie wieder hervor. In Kombination mit Always on top lässt sich so der gesamte Bildschirm mit Anwendungsfenstern belegen; eine Mausbewegung zum Bildschirmrand holt die Toolbar ins Blickfeld.
Um dem aktiven Desktop zur besseren Unterscheidung von den anderen Arbeitsflächen einen aussagekräftigen Namen zu verpassen, verwenden Sie Edit current workspace name. Der Toolbar-Eintrag (one, two usw.) verwandelt sich bei Auswahl des Menüpunkts in ein Eingabefeld.
Alle meine Programme
Die Auswahl einer Anwendung erleichtert das bereits gut gefüllte Kontextmenü des Hintergrunds (Abbildung 4). An oberster Stelle finden sich ein Terminal-Emulator und ein Browser. Welche Einträge das sind, hängt von den auf Ihrem System installierten Programmen ab.
Fluxbox bringt die Hilfsanwendung fluxbox-generate_menu mit, die schon beim Übersetzen des Fenstermanagers den Suchpfad für Programme nach bekannten Anwendungen abgrast. Die Fundstücke packt sie in die Menüdatei, die der Fensterherrscher beim ersten Start automatisch nach ~/.fluxbox/menu kopiert.
Eine Anwendung fehlt nach dem ersten Aufruf: Das Miniprogramm fbrun, das ein Schnellstartfenster für Programme öffnet. Zu der Zeit, als fluxbox-generate_menu das Menü erstellte, war das praktische Helferlein noch nicht installiert. Ein beherztes
fluxbox-generate_menu -p /usr/local/share
integriert fbrun in die oberste Menüebene. Der Zusatz -p /usr/local/share ist wichtig, wenn Sie Fluxbox selbst kompiliert haben. Standardmäßig meint der Windowmanager nämlich, sein Datenverzeichnis mit den Einstellungen und Stilen läge unterhalb von /usr/share. Vergessen Sie die Eingabe des richtigen Pfades, bietet Ihnen Fluxbox keine Themes im Konfigurationsmenü an.
Sind Sie mit der Auswahl des Default-Kommandozeilenfensters und -Browsers nicht zufrieden, ändern Sie dies mit den fluxbox-generate_menu-Parametern -t und -b, gefolgt vom gewünschten Programmnamen:
fluxbox-generate_menu -t konsole -b konqueror -p /usr/local/share
legt z. B. Einträge für das KDE-Kommandozeilenfenster konsole und den Browser Konqueror auf die oberste Menüebene.

Abbildung 4: Das Menü stimmt Fluxbox beim Kompilieren auf das jeweilige System ab.
Gruppenbildung
Die Arbeit mit Fenstern gestaltet sich ähnlich wie unter anderen Windowmanagern: Einzelne Fenster holt ein Mausklick in den Vordergrund. Die Fensterleisten bringen die wohlbekannte Button-Kollektion mit, die (von links nach rechts gesehen) ein Fenster festpinnen, minimieren, maximieren und schließen.
Eine Besonderheit sind die kleinen Laschen, die oben links auf jeder Fensterleiste sitzen (Abbildung 5). Dabei handelt es sich um Tabs oder Registerreiter, mit deren Hilfe Sie mehrere Anwendungen in einen gemeinsamen Container bannen. Das funktioniert wie unter pwm[3]: Packen Sie einen Registerreiter mit gedrückt gehaltener mittlerer Maustaste, ziehen Sie ihn auf das Zielfenster und lassen Sie ihn dort fallen: Schon bewohnen zwei Anwendungen dasselbe Fenster. Der Wechsel zwischen den beiden gelingt per Linksklick auf einen der Reiter. Um die Verbindung wieder zu trennen, reicht es, eins der Tabs über einer freien Stelle des Desktops abzuwerfen.
Auf die Dauer ist es lästig, Anwendungen, die man in einem Fenster haben will, manuell zusammenzuführen. Dafür bieten die Tabs eine praktische Abkürzung: Ein Rechtsklick auf einen der Reiter öffnet das Hauptmenü mit allen Anwendungen. Starten Sie von hier aus ein Programm, erscheint kein eigenes Fenster; stattdessen gesellt es sich zu dem dazu, aus dessen Tab-Menü Sie es gestartet haben.
Das ist Ihnen noch nicht komfortabel genug? Wer will, dass sich bestimmte Anwendungen auf demselben Desktop grundsätzlich ein Fenster teilen, ohne dass der Anwender dies explizit in Auftrag geben muss, erstellt einfach die Datei .fluxbox/groups im Home-Verzeichnis. Dort hinein gehören die Fensterklassennamen der Anwendungen, die Sie zusammensperren wollen, je eine Zeile pro Gruppe.
Die Klassennamen bekommen Sie mit dem Programm xprop heraus. Geben Sie den Befehl
xprop WM_CLASS
ein, verwandelt sich der Mauszeiger in ein Fadenkreuz. Damit klicken Sie das Fenster an, dessen Klasse Sie wissen wollen. Für den HTML-Editor Quanta lautet die Ausgabe
WM_CLASS(STRING) = "quanta", "quanta"
für Konqueror
WM_CLASS(STRING) = "konqueror", "konqueror"
Probleme bereitet lediglich Mozilla, für den xprop “Klasse unbekannt”, unknown, meldet. Damit sich Konqueror und Quanta automatisch ein Fenster teilen, reicht die Zeile
quanta konqueror
in der groups-Datei. Jetzt müssen Sie Fluxbox nur noch sagen, dass dieses File die Gruppendefinition enthält. Der richtige Ort dafür ist die Datei ~/.fluxbox/init. In deren letzter Zeile steht bereits sessiongroupFile:, dahinter gehört der Pfad zur eben erstellten groups-Datei:
sessiongroupFile: /home/andi/.fluxbox/groups
Über fluxbox-menu | Reload Config des Fluxbox-Menüs weisen Sie den Windowmanager an, seine Konfiguration erneut einzulesen, so dass er die Änderungen ohne Neustart berücksichtigt.
Einstellungssache
Der Hauptmenü-Eintrag fluxbox-menu ist auch der richtige Ort, um das Verhalten des Windowmanagers anzupassen. Liebhaber des Sloppy-Focus-Modells sorgen über Configure | Focus Model | Sloppy Focus dafür, dass Fluxbox einem Fenster den Fokus gibt, sobald sich der Mauszeiger darüber befindet. Soll ein so aktiviertes Fenster automatisch in den Vordergrund kommen, setzen Sie zusätzlich ein Häkchen vor Auto Raise.
Das Menü Tab Placement bietet 16 Positionen für die Registerreiter zur Auswahl. Interessant sind die Einträge, die das Wort Relative enthalten und für jeden der vier Fensterränder zur Verfügung stehen. Die Auswahl von Left Relative verteilt die Tabs über die volle Höhe des linken Fensterrands; statt der Reiter ziert alle Fenster nun eine linksbündige Leiste. Gruppieren Sie zwei Anwendungen, nimmt jede der beiden Laschen 50 Prozent der Fensterhöhe ein.
Wer mit den Tabs gar nichts anfangen kann, deaktiviert sie über Use Tabs. Der Menüpunkt Opaque Window Moving ist für jene das richtige, die beim Verschieben von Fenstern gerne deren Inhalt sehen.
Stilsicher
Unterhalb von fluxbox-menu | Styles ändern Sie per Mausklick das Äußere des Windowmanagers. Über 20 Stile bringt Fluxbox von Haus aus mit. Blackbox-Liebhaber dürften sich über den Stil Artwiz freuen, Frühlingsgefühle verbreitet Lemon Space, Blue kommt eher futuristisch daher. Wer bei der Standardausstattung nichts Passendes findet, sollte einen Blick auf [4] werfen, wo einige besonders schöne Themes warten (Abbildung 6).
Der richtige Ort für eigene Styles ist das Verzeichnis ~/.fluxbox/styles, das Sie zunächst anlegen müssen – manche Stile aus dem Internet erledigen das automatisch beim Entpacken. Bringt ein Theme ein eigenes Hintergrundbild mit, legen Sie zusätzlich ~/.fluxbox/backgrounds an. Sobald Sie ein eigenes Stil-Verzeichnis haben, bietet das Fluxbox-Menü die beiden Punkte fluxbox-menu | System Styles und fluxbox-menu | User Styles an.
Tastenwirbel
Auch Tastaturliebhaber sind mit Fluxbox gut bedient. Per Default gibt es zwar nur einige wenige Tastenkombinationen, wie etwa [Alt-Tab] zum Fenster- und [Alt-F1] bis [Alt-F12] zum Arbeitsflächenwechsel, die in der Datei ~/.fluxbox/keys stehen. Mit einem Editor bohren Sie diese aber so auf, dass Sie die wichtigsten Funktionen über die Tastatur erreichen.
Jede Tastenkombination kommt in eine eigene Zeile, die dem Muster
Tastenkombination :Aktion
folgt. Die Tastenkombination besteht aus mindestens einer Modifikationstaste wie [Alt] (in der Konfigurationsdatei Mod1 genannt) oder [Strg] (Control) und einer weiteren Taste. Welche Aktionen Fluxbox kennt, steht in der Manpage des Fenstermanagers im Abschnitt KEYS FILE. Die kommentierte Beispielkonfiguration in Listing 1 zeigt einige Einträge, die die keys-Datei bereichern können.
Listing 1
Beispiel für Tastaturkombinationen in ~/.fluxbox/keys
# Mit [Alt-Strg-Pfeil rechts] und [Alt-Strg-Pfeil links] # zwischen den Arbeitsflächen wechseln Mod1 Control Right :NextWorkspace Mod1 Control Left :PrevWorkspace # [Alt-Strg-Enter] öffnet ein xterm-Kommandozeilenfenster Mod1 Control Return :ExecCommand xterm # [Alt-x] schließt das aktive Fenster Mod1 x :Close # [Alt-m] maximiert und stellt Fenster wieder her Mod1 m :MaximizeWindow # [Alt-s] reduziert ein Fenster auf die Titelleiste Mod1 s :ShadeWindow # [Alt-d] entfernt die Fensterdekoration und stellt sie wieder her Mod1 d :ToggleDecor # Für Emacs-Liebhaber: Fluxbox beherrscht auch # Tastatur-Sequenzen. [Alt-y] [Alt-c] öffnet Mozilla Mod1 y Mod1 c :ExecCommand mozilla
Applet-Aufmarsch
Das Slit, die Leiste, die WindowMaker-Dockapps [5], Afterstep- [6] und KDE-Applets aufnimmt, erwähnten wir zwar anfangs schon, gesehen haben Sie davon aber noch nichts. Trotzdem ist es immer da und wartet in der rechten unteren Bildschirmecke nur darauf, dass Sie eine passende Anwendung starten. Rufen Sie z. B. den Systemmonitor bubblemon[7] und den KDE-ACPI-Monitorakpi[9] auf, reihen sich beide brav im Slit ein.
Sagt Ihnen die vertikale Lage unten rechts nicht zu, verbirgt sich im Kontextmenü der Leiste für Miniprogramme eine passende Konfigurationsmöglichkeit. Unter Direction fällt die Entscheidung zwischen waagerecht oder senkrecht; unter Placement, das dieselbe Auswahl wie das gleichnamige Menü in der Werkzeugleiste bietet, legen Sie die Position auf dem Bildschirm fest. Das praktische Auto hide-Feature fehlt natürlich ebensowenig wie die Option Always on top.
Mit all diesem Komfort ist Fluxbox nicht nur etwas für Liebhaber einfacher Fenstermanager, sondern hat das Potential, auch überzeugte KDE- und Gnome-Nutzer in Versuchung zu führen.
Glossar
-
gcc
-
Der C-Compiler aus der GNU Compiler Collection GCC. Er übersetzt den menschenlesbaren Quelltext eines Programms in eine maschinenlesbare Form. Aus einer Textdatei mit dem Code wird dadurch ein ausführbares Programm.
-
WindowMaker-Dockapps
-
Auf den Fenstermanager WindowMaker (http://www.windowmaker.org/) zugeschnittene Desktop-Applikationen [5], die immer im Hintergrund laufen und über Icons in einer Dock genannten Werkzeugleiste zugänglich sind.
-
GnuPG-Schlüssel
-
Der “GNU Privacy Guard” ist eine Applikation, mit der sich E-Mails und andere Daten u. a. sicher verschlüsseln und nur von berechtigten Personen wieder entziffern lassen. Er bietet Schutz vor unerwünschten “Mitlesern” bei der E-Mail-Kommunikation ähnlich dem Briefumschlag bei der klassischen Briefpost. Zum Ver- und Entschlüsseln benötigt man entsprechende, mit GnuPG erzeugte Schlüssel [8].
-
Login-Manager
-
Das Programm, das den Benutzer auf der grafischen Oberfläche mit der Frage nach Usernamen und Passwort konfrontiert. Erst wenn diese Angaben stimmen, startet der jeweilige Windowmanager.
-
Kontextmenü
-
Menü, das erscheint, wenn man mit der rechten Maustaste in eine bestimmte Umgebung einer Anwendung hineinklickt. Abhängig davon, welche Aufgabe dieser Teil der grafischen Benutzerschnittstelle erfüllt, ändert sich der Inhalt des Menüs.
-
Themes
-
Möglichkeit, das generelle Aussehen des Desktops und der darin gestarteten Applikationen zu ändern. Themes bieten sozusagen eine Kleiderkollektion für den Windowmanager.
-
ACPI-Monitor
-
Ein Programm, das zum Beispiel den Batterieladestatus oder die Temperatur eines Notebooks anzeigt. Voraussetzung ist, dass das Gerät ACPI (“Advanced Configuration and Power Interface”) unterstützt, und dass eine möglichst neue, entsprechend konfigurierte Linux-Version zum Einsatz kommt.
Infos
[1] Blackbox: http://sourceforge.net/projects/blackboxwm/
[2] Fluxbox: http://fluxbox.sourceforge.net/
[3] PWM: Joachim Moskalewski, “Schlicht ausgeklügelt”, LinuxUser 01/2002, S. 57 ff., http://www.linux-user.de/ausgabe/2002/01/057-desktopia/desktopia-pwm-4.html
[4] Fluxbox-Stile: http://fluxbox.sourceforge.net/themes.php
[5] WindowMaker-Dockapps: Joachim Moskalewski, “Dockapps”, LinuxUser 10/2000, S.82 f. , http://www.linux-user.de/ausgabe/2000/10/082-desktopia/dockapps.html
[6] Afterstep-Applets: Andrea Müller, “Angedockt”, LinuxUser 03/2004, S. 54 f.
[7] Bubblemon: Andrea Müller, “Nützliches Seegetier”, LinuxUser 05/2003, S. 64 f.
[8] GnuPG: Patricia Jung, “Signier-Party”, LinuxUser 06/2003, S. 71 ff., http://www.linux-user.de/ausgabe/2003/06/071-answergirl/
[9] Akpi: http://akpi.scmd.at/





