BACK TO THE ROOTS

Fenstermanager JWM

01.06.2005
Konfiguration durch Editieren einer Textdatei und Konzentration auf das Wesentliche: genau das Richtige für Linux-Anwender, die die grafische Oberfläche effizient benutzen wollen und dafür auch zum Editor greifen. Der ressourcenschonende JWM bietet das und noch einiges mehr.

Über eine zu geringe Auswahl an Window Managern kann sich unter Linux wohl niemand beschweren. Installieren Sie eine der großen Distributionen mit den Vorgabeeinstellungen, bekommen Sie KDE oder GNOME als Oberfläche vorgesetzt. Eifrige Leser dieser Rubrik wissen jedoch, dass diese beiden Platzhirsche nicht gerade für den sparsamen Umgang mit CPU- und Speicher-Ressourcen bekannt sind. Auf schwachbrüstigeren Systemen lohnt sich daher die Suche nach einer Alternative:

Eine solche stellt beispielsweise JWM (Joe's Window Manager) [1] dar. Seinen Namen verdankt der Fensterherrscher seinem Entwickler Joe Wingbermuehle. Beim Programmieren von JWM legte er besonderen Wert darauf, dass das Programm nicht von unzähligen Bibliotheken abhängt, sondern sich darauf beschränkt, die des X Window Systems zu nutzen.

Installation

Fertige Pakete des schlanken Fensterherrschers finden Sie nicht. Das Übersetzen aus dem Quellcode gestaltet sich aufgrund der geringen Anforderungen jedoch sehr einfach. Sie benötigen lediglich den Compiler gcc und die Entwicklerpakete der libxpm und der grafischen Oberfläche. Unter Suse Linux 9.2 enthält xorg-x11-devel die Header-Dateien von X. Setzen Sie noch eine Distribution ein, die statt Xorg das XFree86-Paket installiert, finden Sie die Entwicklerdateien im Paket Xfree86-devel.

Entpacken Sie den Quellcode von der Projekt-Homepage oder unserer Heft-CD und wechseln Sie in das dabei entstandene Verzeichnis jwm-0.21. Mit den Befehlen ./configure, make und su -c "make install" übersetzen Sie den Quellcode in ein ausführbares Programm, das der make-install-Aufruf nach /usr/local/bin kopiert.

Am einfachsten gelingt der Start des Window Managers, wenn Sie sich im Textmodus anmelden und mit dem Befehl startx in den grafischen Modus wechseln. Damit Sie dort JWM begrüßt, tragen Sie die Zeile

exec /usr/local/bin/jwm

in die Datei .xinitrc in Ihrem Home-Verzeichnis ein.

Verwenden Sie einen grafischen Login-Manager wie KDM oder GDM, erfahren Sie unter [2] wie Sie JWM in dessen Auswahlmenü integrieren.

Erste Schritte

Für einen ersten Start von JWM sollten Sie zumindest eine eigene Konfigurationsdatei verwenden und dort den Menüeintrag zum Start eines Terminals anpassen. Die systemweite Konfiguration landet bei der Installation im Ordner /usr/local/etc. Kopieren Sie die Datei system.jwmrc unter dem Namen .jwmrc in Ihre Home-Verzeichnis. Öffnen Sie diese Datei in einem Editor und ändern Sie in Zeile 7 den Programmnamen xwsh in den Befehl zum Aufruf Ihres Lieblingterminals, also etwa in xterm oder konsole.

Nach diesen Vorbereitungen können Sie JWM erstmals in der Grundkonfiguration starten (Abbildung 1).

Abbildung 1: So präsentiert sich JWM in der Standardkonfiguration.

Die Anwendung beweist, dass Sie auch bei ressourcenschonenden Programmen nicht auf ein wenig Komfort verzichten müssen. Am unteren Bildschirmrand befindet sich eine Startleiste mit Menü, Pager, einer Anzeige der CPU-Last und einer Uhr. Im mittleren Bereich zeigt JWM später die Liste der gerade laufenden Programme an.

Wenn Sie aus dem Menü den Eintrag Terminal auswählen, startet die zuvor in der Konfigurationdatei eingestellte Applikation. Die Fensterdekoration erinnert stark an FVWM [2]. In der Fensterleiste befinden sich Icons zum Minimieren, Maximieren und Schließen des Fensters sowie ein Symbol ganz links, das bei einem Rechtsklick das Fenstermenü öffnet. Mit dessen Hilfe verschieben Sie ein Fenster auf einen anderen virtuellen Desktop oder bugsieren es auf dem aktuellen in den Hintergrund. Liegt Ihnen die Bedienung per Maus nicht, greifen Sie auf die vordefinierten Tastenkürzel zurück: Diese orientieren sich stark an den KDE-Shortcuts. So wechseln Sie mit [Alt]+[Tab] zwischen den Fenstern des aktuellen Desktops und schließen eine Anwendung mit dem Shortcut [Alt]+[F4].

Menü anpassen

In der eben kopierten Konfigurationsdatei passen Sie JWM an Ihre Bedürfnisse an, da die Standardkonfiguration wohl nur den Entwickler zufrieden stellen dürfte. Zuerst gilt es, das Menü so einzurichten, dass dort auch die auf Ihrem System installierten Anwendungen zur Auswahl stehen. Das Menü kann Untermenüs, Programmstarter, Trennlinien und JWM-interne Aufrufe enthalten. Letztere dienen etwa dazu, JWM zu beenden. Der Neustart des Fenstermanagers über das Menü gelingt in der aktuellen Version jedoch nicht. Bei der Auswahl des Eintrags stürzt JWM reproduzierbar ab. Listing 1 zeigt ein einfaches Beispiel, das das Menü in Abbildung 2 erzeugt.

Listing 1

JWM-Beispielmenü

<\<>RootMenu label="Start" icon="start.xpm"<\>>
        <\<>Program icon="konsole.xpm" label="xterm"<\>>xterm<\<>/Program<\>>
                <\<>Menu icon="folder.xpm" label="Internet"<\>>
        <\<>Program icon="mozilla.xpm" label="Firefox"<\>>firefox<\<>/Program<\>>
        <\<>Program icon="mozilla-mail.xpm" label="Thunderbird"<\>>thunderbird<\<>/Program<\>>
        <\<>Program icon="licq.xpm" label="Licq"<\>>licq<\<>/Program<\>>
        <\<>/Menu<\>>
        <\<>Separator/<\>>
        <\<>Restart icon="reload.xpm"/<\>>
        <\<>Exit icon="exit.xpm"/<\>>
<\<>/RootMenu<\>>
<\<>Icons<\>>
        <\<>IconPath<\>>$HOME/.jwm_pics<\<>/IconPath<\>>
<\<>/Icons<\>>

Die erste Zeile signalisiert JWM, dass nun die Menü-Definition beginnt. In der nächsten Zeile folgt der Eintrag zum Start eines xterm. Sie enthält neben dem Text, der im Menü erscheint (label="xterm") auch die Festlegung eines Icons – icon="konsole.xpm". Damit JWM die Minibildchen auch findet, müssen sie im Icon-Pfad – hier $HOME/.jwm_pics – liegen. Der Fenstermanager kann allerdings nur mit Grafiken im xpm-Format umgehen. Um schon installierte Icons zu nutzen, können Sie die PNG-Symbole im Ordner /usr/share/icons mit convert in das passende Format konvertieren und im Verzeichnis /home/benutzername/.jwm_pics speichern. Die Zeile <\<>Separator/<\>> fügt eine Trennlinie in das Menü ein.

Abbildung 2: Das in Listing 1 definierte Startmenü.

Das Beispiel-Listing ändert ebenfalls den Text des Menü-Buttons, ursprünglich JWM. Der Eintrag label="Start" in der Menüdefinition bewirkt, dass dort nun der Text Start erscheint (Abbildung 3).

Optisch aufpoliert

Die Ausrichtung, Größe und Farbe der Startleiste passen Sie in der .jwmrc zwischen den Einträgen <\<>Tray<\>> und <\<>/Tray<\>> an. Wie die Anweisungen für die in Abbildung 4 dargestellte Startleiste lauten, entnehmen Sie Listing 2.

Abbildung 3: JWM mit einem angepassten Menüknopf in der Startleiste.

Listing 2

Konfiguration der Startleiste

        <\<>Tray autohide="false"<\>>
                <\<>Font antialias="true"<\>>-adobe-helvetica-*-r-*-*-12-*-*-*-*-*-*-*<\<>/Font<\>>
                <\<>Width<\>>500<\<>/Width<\>> <\<>!-- Breite der Startleiste  (Default 1024) --<\>>
                <\<>Height<\>>20<\<>/Height<\>> <\<>!-- Höhe der Startleiste (Default 28) --<\>>
                <\<>Alignment<\>>center<\<>/Alignment<\>>
                <\<>Foreground<\>>black<\<>/Foreground<\>>
                <\<>Background<\>>#DCDAD5<\<>/Background<\>>
                <\<>ActiveForeground<\>>black<\<>/ActiveForeground<\>>
                <\<>ActiveBackground<\>>#8899AA<\<>/ActiveBackground<\>>
        <\<>/Tray<\>>

Die Definition autohide="false" in der ersten Zeile bewirkt, dass die Startleiste omnipräsent ist. Sie ändern das mit der Anweisung autohide="true". Mit diesem Befehl verkrümelt sich die Leiste in den Hintergrund, wenn Sie sich mit dem Mauszeiger nicht am unteren Bildschirmrand befinden. Font legt die Schriftart fest. Die kryptische Schriftnamen bekommen Sie am schnellsten mit dem Tool xfontsel heraus. Width definiert die Breite (minimal 320), Height die Höhe (minimal 8 Punkte, maximal 128 Punkte) und Alignment die vertikale Ausrichtung (left, center, oder right) der Startleiste.

Entscheiden Sie sich bei der Breite für den Wert 0, erstreckt sich die Leiste über die gesamte Bildschirmbreite. Die Farbangaben zur Schriftfarbe – Foreground – bzw. Hintergrundfarbe – Background – geben Sie wie in HTML-Dateien durch hexadezimale Zahlen oder mit dem Farbnamen an. Alle dem System bekannten Namen verrät der Befehl showrgb | less. Die hexadezimalen Zahlen erfahren Sie am leichtesten mit einem Programm wie kcolorchooser.

Abbildung 4: Die Einstellungen in Listing 2 erzeugen diese modifizierte Startleiste.

Desktop-Komfort

Per Default aktiviert JWM das Fenster, über dem Sie sich gerade mit der Maus befinden. Möchten Sie Fenster lieber mit einem Mausklick den Fokus geben, ersetzen Sie in der Zeile

<\<>FocusModel<\>>sloppy<\<>/FocusModel<\>>

sloppy durch click. Reichen Ihnen vier virtuelle Desktops nicht aus, erhöhen Sie die Anzahl in der Zeile <\<>DesktopCount<\>>4<\<>/DesktopCount<\>>. Der Wert muss dabei zwischen 1 und 8 liegen.

JWM kommt von Hause aus mit einigen wenigen Tastenkürzeln. Die geringe Auswahl erweitern Sie am Ende der .jwmrc leicht um eigene Shortcuts. Um ein zusätzliches Tastenkürzel zu definieren, benötigen Sie eine Zeile der Form <\<>Key mask="Modifier" key="Taste"<\>>Aktion<\<>/Key<\>>. Als Modifier stehen unter anderem A für [Alt], C für [Strg] und S für die Umschalttaste zur Verfügung. So sorgt die Zeile <\<>Key mask="A" key="F4"<\>>close<\<>/Key<\>> in der .jwmrc dafür, dass ein Druck auf [Alt]+[F4] ein Fenster schließt.

Der Anwendungsstart per Tastendruck gelingt mit der Aktion exec: gefolgt vom Programmnamen. So weist die Zeile <\<>Key mask="C" key="T"<\>>exec:xterm<\<>/Key<\>> dem Shortcut [Strg]+[T] die Aufgabe zu, ein xterm zu starten.

Fazit

JWM präsentiert sich als schlanker Window Manager, der trotzdem mit einigen Komfortfunktionen aufwartet. Wenn Sie die Konfiguration mit dem Text-Editor nicht schreckt, passen Sie den Fensterherrscher optimal an Ihre Bedürfnisse an. Da JWM aktiv weiterentwickelt wird, stehen die Chancen gut, dass auch der Absturz beim Neustart über das Menü bald der Vergangenheit angehört.

Der Autor

Hagen Höpfner hat an der Otto-von-Guericke Universität Magdeburg Informatik studiert und dort auch seine Promotion zum Dr.-Ing. inzwischen erfolgreich abgeschlossen. Seit kurzem ist er Lecturer für Datenbanken und Informationssysteme an der International University in Germany (http://www.i-u.de) in Bruchsal.

Infos

[1] Homepage von JWM: http://joewing.net/programs/jwm/index.shtml

[2] KDM und GDM konfigurieren: Hagen Höpfner, "Hereinspaziert!", LinuxUser 11/2004, S. 42 ff.

[3] FVWM-Artikel: Rene van Bevern, "Verwandlungskünstler", LinuxUser 08/2004, S. 44 ff.

[4] JWM-Konfiguration: http://joewing.net/programs/jwm/config.shtml

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Related content

Kommentare