Im Katalog suchen

Linux - Wegweiser zur Installation & Konfiguration, 3. Auflage

Online-Version

Copyright © 2000 by O'Reilly Verlag GmbH & Co.KG

Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Wünschen Sie mehr Informationen zu der gedruckten Version des Buches Linux - Wegweiser zur Installation & Konfiguration oder wollen Sie es bestellen, dann klicken Sie bitte hier.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel

Der Fenster-Manager fvwm

Der Fenster-Manager, für den Sie sich entscheiden, bestimmt in hohem Maße das »Look-and-Feel« Ihrer X-Umgebung. Viele Fenster-Manager bieten auch Menüs an, aus denen heraus Sie mit der Maus andere X-Anwendungen aufrufen können, sowie eine virtuelle Arbeitsfläche, die Ihre Arbeitsfläche insgesamt enorm vergrößern kann.

fvwm ist ein Fenster-Manager für eine virtuelle Arbeitsfläche (Desktop), der von vielen Linux-Benutzern eingesetzt wird. Er beruht zum Teil auf dem Code des twm, dem klassischen Fenster-Manager, der mit der X11-Distribution von MIT ausgeliefert wird. fvwm hat man allerdings so kompakt gestaltet, daß er nur etwa halb soviel Arbeitspeicher benötigt wie twm - ein großer Vorteil für Linux-Systeme mit acht MB physikalischem RAM oder weniger. fvwm kennt viele besondere Möglichkeiten, über die andere Fenster-Manager nicht verfügen; deshalb, und weil er speziell für Linux entwickelt wurde, wollen wir ihn hier besprechen.

Icon

fvwm2(1)

Anders als twm und einige andere Fenster-Manager wird fvwm ständig weiterentwickelt. Das hat zur Folge, daß ein paar der Punkte, die wir hier besprechen, in einer neueren Version der Software eventuell nicht mehr in derselben Form vorhanden sind. In der Manpage zu fvwm können Sie nachlesen, ob die hier besprochenen Features enthalten sind. Wir gehen in diesem Abschnitt auf die neuere Version, fvwm2, ein.

fvwm bietet unter anderem:

Zu den herausragenden Besonderheiten von fvwm gehört der virtuelle Desktop, der die Anordnung von Fenstern auf einer Fläche ermöglicht, die viel größer ist als die sichtbare Bildschirmfläche. Mit der Maus können Sie zwischen verschiedenen Bereichen des virtuellen Desktops hin- und herschalten (blättern). Wenn Sie den Cursor zum Beispiel an den rechten Rand des Bildschirms bewegen, wird die Arbeitsfläche um eine Bildschirmbreite nach links verschoben, so daß weitere Fenster im Blickfeld erscheinen. Auf diese Weise können Sie die Fenster auf einer Fläche anordnen, die größer ist als Ihr Bildschirm, wobei Sie immer einen Ausschnitt aus dem gesamten Desktop vor Augen haben.

Die Abbildung 11-1 im Abschnitt »xinit« zeigt ein Beispiel für eine Arbeitsfläche. Jedes Fenster hat einen dekorativen Rahmen mit konfigurierbaren Schaltflächen (Buttons) darin, der von fvwm erzeugt wird. Später in diesem Abschnitt werden wir zeigen, wie Sie die Rahmen nach Ihren Wünschen gestalten können.

Eines der Fenster verdeckt gerade den Pager, der den gesamten virtuellen Desktop aus der »Vogelperspektive« zeigt. Mit dem Pager können Sie außerdem Fenster auf der virtuellen Arbeitsfläche verschieben und auswählen, welcher Ausschnitt des Desktops gerade angezeigt werden soll.

fvwm konfigurieren

Wenn Sie den fvwm benutzen wollen, müssen Sie in Ihrem Home-Verzeichnis die Konfigurationsdatei .fvwm2rc anlegen. In diesem Abschnitt wollen wir einige der Features des fvwm beschreiben und zeigen, wie Sie diese von .fvwm2rc aus nutzen können.

Wir müssen darauf hinweisen, daß die verschiedenen Versionen von fvwm für einige der Optionen eine unterschiedliche Syntax benutzen; falls Sie auf Probleme stoßen, sollten Sie die Manpage lesen. Vielleicht fällt der Start leichter, wenn Sie die Systemdatei .fvwm2rc als Ausgangspunkt benutzen (steht in der Regel in /usr/lib/ X11/fvwm2/system.fvwmrc).

Die grundlegendsten Anpassungen für fvwm beziehen sich auf die Farben und Fonts der Fensterrahmen und Menüs. Sie könnten in Ihre Datei .fvwm2rc zum Beispiel folgendes eintragen:

# Farben einstellen Style "*" Color White/Midnightblue HilightColor White Red WindowFont -adobe-helvetica-bold-r-normal-*-*-120-*

Die Wirkung einiger Befehle hängt davon ab, welches Fenster im Fokus ist, das heißt, welches Fenster gerade Eingaben entgegennimmt. (Meistens bewegen Sie einfach die Maus in ein Fenster, um es in den Fokus zu bringen.) Für die Fenster außerhalb des Fokus, für Menüs und den Pager werden die Farben benutzt, die mit Style "*" Color eingestellt werden; das Fenster im Fokus hat die Farben, die mit HilightColor eingestellt werden. Die Vordergrundfarbe wird in der Regel für den Text benutzt (also für Fensternamen usw.), die Hintergrundfarbe für den Fensterrahmen selbst. Seien Sie kreativ! WindowFont bezeichnet den Font in der Titelzeile der Fenster. Beachten Sie, daß keine dieser Optionen die Farben innerhalb der Fenster setzt; das ist Aufgabe der Applikationen (Clients). Die Optionen gelten nur für Fensterrahmen, Menüs und Icons, denn diese Elemente werden von fvwm verwaltet.

Mit dem Befehl

eggplant$ showrgb | more

erhalten Sie eine Liste der auf Ihrem System definierten Farben.

Die meisten fvwm-Benutzer arbeiten auch mit dem virtuellen Desktop. Um diese Arbeitsfläche zu konfigurieren, sollten Sie etwa folgende Zeilen in Ihre .fvwm2rc einfügen:

# Virtuellen Desktop konfigurieren DeskTopSize 3x3 AddToFunc InitFunction "I" Module FvwmPager 0 0 Style "FvwmPager" Sticky, NoTitle, WindowListSkip *FvwmPagerGeometry -10 -10 EdgeScroll 100 100

Damit legen wir fest, daß die virtuelle Arbeitsfläche (DeskTopSize) je drei Bildschirme hoch und breit sein soll. Mit der AddToFunc-Zeile wird beim Starten des fvwm auch der Pager gestartet. Die Style-Zeile legt fest, daß der Pager auf jedem virtuellen Desktop zu sehen ist (Sticky), daß er keine Titelzeile haben soll (NoTitle) und daß er nicht in der Fensterliste angezeigt werden soll (WindowListSkip). Außerdem wird der Pager in die linke obere Ecke des Bildschirms gestellt. Das Pager-Fenster gewährt uns den Blick auf den kompletten virtuellen Desktop; ein Mausklick im Pager-Fenster bringt den entsprechenden Ausschnitt der Arbeitsfläche auf den Bildschirm. In der Version 2 des fvwm ist der Pager nicht mehr fest in den Fenster-Manager eingebaut wie in der Version 1, sondern ist ein eigenes Modul. Daher wird der Pager auch nicht mehr mit fvwm-Optionen wie Pager wie in den früheren Versionen konfiguriert, sondern über die Einstellungen für das Modul FvwmPager. Ein Modul ist eine Erweiterung des Fenster-Managers, die nicht allein laufen kann. Einige häufig verwendete Module, wie eben der Pager, werden mit fvwm2 ausgeliefert.

EdgeScroll gibt den Prozentsatz an, um den der Bildschirm scrollen soll, wenn der Cursor den Bildschirmrand erreicht. Die Angabe EdgeScroll 100 100 bewirkt, daß der Cursor am Bildschirmrand die Arbeitsfläche um eine Bildschirmgröße weiterbewegt; das sieht dann so aus, als ob auf einen völlig anderen Bildschirm umgeschaltet würde. Auf diese Weise können Sie Ihre Fenster auf der gesamten virtuellen Arbeitsfläche anordnen und die Maus benutzen, um zwischen den Fenstern umzuschalten.

Mit der Anweisung Style können Sie eine ganze Reihe von Attributen für Ihre Fenster setzen. Wenn zum Beispiel xbiff immer die anderen Fenster auf dem Bildschirm überlagern soll, tragen Sie ein:

Style "XBiff" StaysOnTop

Danach hat kein anderes Fenster mehr die Chance, xbiff zu verdecken. Neben StaysOnTop kennt Style andere Optionen, darunter:

NoTitle
NoTitle, das die Titelzeile des Fensters und den Fensternamen darin unterdrückt. Diese Option wird oft für kleine Fenster wie xclock und xbiff benutzt - insbesondere, wenn es wenig wahrscheinlich ist, daß die Fenster verschoben oder in der Größe verändert werden.
NoBorder
NoBorder, das den Fensterrahmen unterdrückt.
Sticky
Sticky, das ein Fenster immer an derselben Stelle auf dem Bildschirm erscheinen läßt, wenn Sie auf einen anderen Bereich der Arbeitsfläche wechseln.
BoundaryWidth
BoundaryWidth, das die Breite (in Pixel) der Fensterrahmen von fvwm bestimmt. Die Voreinstellung ist sechs Pixel, was einen ziemlich breiten Rahmen ergibt.

Style kann zum Beispiel die Namen der Fenster oder Anwendungsklassen als Argument mitbekommen. Ältere Versionen von fvwm kennen die Anweisung Style nicht. Statt dessen benutzen sie eine Reihe von Anweisungen wie StaysOnTop, NoTitle usw. Diese haben folgendes Format:

StaysOnTop XBiff

Etliche der Anweisungen in .fvwm2rc beziehen sich auf Icons. Wie bei anderen Fenster-Managern auch, können Sie unter fvwm ein Fenster zu einem Icon verkleinern, das ein kleines Sinnbild mit dem Namen des Fensters und eventuell dem Fenstertyp anzeigt. fvwm unterstützt sowohl schwarzweiße als auch farbige Icons. In einer Bitmap gibt es nur ein Bit pro dargestelltem Pixel, weswegen diese auf eine Vorder- und eine Hintergrundfarbe beschränkt sind (auch wenn Sie eine Mischung oder Grautöne durch das Abwechseln von Pixeln, dem sogenannten Dithering, erreichen können). In Pixmaps gibt es dagegen mehrere Bits pro Pixel, weswegen viele Farben möglich sind:

IconFont -adobe-helvetica-medium-r-*-*-*-120-* IconPath /usr/include/X11/bitmaps/ PixmapPath /usr/include/X11/pixmaps/ Style IconBox 700 0 1080 50 Style "*" Icon unknown.xpm Style "XTerm" Icon xterm.xpm Style "Netscape" Icon netscape.xpm

IconFont bezeichnet den Font, der für Icons benutzt wird. IconPath und PixmapPath enthalten durch Doppelpunkte getrennte Pfadnamen, unter denen Icons abgelegt sind. Dabei verweist IconPath auf Bitmaps (XBM), und PixmapPath zeigt auf farbige Pixmaps (XPM).

Style IconBox gibt einen Bereich an, in dem die Icons dargestellt werden sollen; Sie können bis zu vier IconBoxes definieren. In diesem Fall wollen Sie die Icons in einem unsichtbaren Bereich unterbringen, dessen obere linke Ecke die Koordinaten (700,0) und dessen untere rechte Ecke die Koordinaten (1080,50) hat.

Unter Style IconBox stehen verschiedene Style-Anweisungen, die Icons mit Fenstern verknüpfen. Für unser Beispiel wollen wir alle XTerm-Fenster die Datei xterm.xpm und Netscape die Datei netscape.xpm benutzen lassen. Der Name der Icon-Datei kann als kompletter Pfadname oder relativ zu IconPath oder PixmapPath angegeben werden. Mit dem Befehl

Style "*" Icon unknown.xpm

wird das Icon unknown.xpm als Standard-Icon gewählt.

Falls Ihr fvwm die Anweisung Style nicht unterstützt, benutzen Sie solche Anweisungen wie:

Icon "" unknown.xpm Icon "XTerm" xterm.xpm Icon "Netscape" netscape.xpm

Weitere Anpassungen

Die meisten Benutzer von fvwm haben mindestens die hier vorgestellten Optionen in ihrer Datei .fvwm2rc. fvwm hat aber darüber hinaus die Fähigkeit, die Menüs auf dem Desktop zu konfigurieren, Funktionen über die Schaltflächen in der Fenstertitelzeile aufzurufen usw. Wir werden in diesem Abschnitt einige dieser erweiterten Möglichkeiten vorstellen.

Wir wollen damit beginnen, daß wir die Popup-Menüs des fvwm konfigurieren, die nach einem Mausklick auf das Hauptfenster erscheinen. Aus diesen Menüs heraus können Sie Befehle ausführen, die Fenster verändern usw. Beachten Sie, daß manche Distributionen wie Debian und SuSE automatisch die Menüs Ihres Window-Managers aktualisieren können, wenn neue Pakete im System installiert werden.

AddToMenu xclients "Xclients" Title + "Netscape" Exec netscape + "xterm" Exec xterm + "emacs" Exec emacs -w + "" Nop + "eggplant" Exec xterm -e rlogin eggplant + "papaya" Exec xterm -e rlogin papaya + "" Nop + "screensaver" Exec xscreensaver-command -activate + "xcalc" Exec xcalc + "xman" Exec xman + "xlock" Exec xlock -mode roto EndPopup

Ein Menü wird mit dem Befehl AddToMenu definiert. Es gibt keinen Befehl zum Beenden des Menüs; die Menüeinträge müssen nicht einmal direkt beieinanderstehen. Jedes Menü bekommt einen Namen, unter dem es später angesprochen wird (in diesem Beispiel xclients).

Das Format ist ziemlich leicht zu durchschauen. Der Titel wird bereits in der AddToMenu-Zeile gesetzt; Nop bewirkt eine Leerzeile zwischen Menüeinträgen. Die Funktion Exec führt einen Befehl aus, wenn dieser Menüpunkt gewählt wird. Die Argumente von Exec legen fest, welcher Befehl ausgeführt werden soll. Vor den Befehlen steht jeweils in doppelten Anführungszeichen ein String, der im Menü für den jeweiligen Punkt angezeigt wird.

Wir wollen ein zweites Menü namens fvwm erstellen, das die Funktionen zur Manipulation der fvwm-Fenster enthält.

AddtoMenu fvwm "Window Ops" Title + "Move Window" Move + "Resize Window" Resize + "Raise Window" Raise + "Lower Window" Lower + "Iconify Window" Iconify + "Stick Window" Stick + "" Nop + "Xclients" Popup Xclients + "" Nop + "Destroy Window" Destroy + "Delete Window" Delete + "" Nop + "Load Xdefaults" Exec xrdb -load $HOME/.Xdefaults + "Restart Fvwm" Restart fvwm2 + "Start twm" Restart twm + "Quit Fvwm" Quit EndPopup

Die internen Funktionen Move, Resize, Lower usw. werden in der Manpage zu fvwm beschrieben. Eine wichtige Funktion ist Popup, mit der ein vorab definiertes Popup-Menü als Untermenü des aktuellen Menüs geöffnet wird. Wir benutzen im Beispiel das oben definierte xclients als Untermenü.

Wir haben außerdem Befehle eingefügt, mit denen der fvwm erneut gestartet oder statt dessen ein anderer Fenster-Manager (twm) aufgerufen wird.

Unter dem fvwm haben Sie auch die Möglichkeit, die Funktion der Maustasten in Abhängigkeit vom Kontext zu ändern. Das übernimmt die Anweisung Mouse, die folgendes Format hat:

Mouse Taste Kontext Sondertasten Funktion

Die Taste steht für 1, 2, 3 oder 0 (0 hat die Bedeutung »beliebige Taste«). Der Kontext gibt an, für welchen Bereich diese Tastendefinition gelten soll, und kann folgende Werte annehmen:

Der Kontext TSIF zum Beispiel steht für Titelzeilen, Rahmen, Rahmenecken sowie Icon-Fenster.

Die Ziffern 0 bis 9 im Kontext verknüpfen eine Funktion mit einer Schaltfläche (Button) in der Titelzeile des Fensters. Als Standard sind zwei Buttons vorhanden - je einer links und rechts in der Titelzeile. Wenn Sie weitere Funktionen auf Buttons legen, werden auch diese Schaltflächen sichtbar. Die Buttons links in der Titelzeile tragen ungerade Nummern (1, 3, 5, 7 und 9), die Buttons rechts haben gerade Nummern (2, 4, 6, 8, 0). Abbildung 11-2 zeigt ein Fenster, in dem alle Schaltflächen mit den entsprechenden Nummern sichtbar sind. Die meisten Buttons bleiben unsichtbar, solange keine Funktion mit ihnen verknüpft ist.

Screenshot

Abbildung 11-2: Buttons in der fvwm-Titelzeile

Die Sondertasten definieren einige Tastenkombinationen, die zusammen mit einem Mausklick benutzt werden. Gültige Werte für Sondertasten sind C für Control, M für Meta, S für SHIFT, N für »keine Taste« und A für »beliebige Taste«. Ein Beispiel: Wenn Sie C als Sondertaste definieren, müssen Sie die Taste STRG mit dem Klicken der Maustaste gedrückt halten.

Hier einige Beispiele für die Belegung von Maustasten:

# Button Context Modifi Function Mouse 1 R N PopUp "Fvwm" Mouse 2 R N PopUp "Xclients" Mouse 3 R N WindowList

Diese Zeilen verknüpfen die Maustasten mit den oben beschriebenen Popup-Menüs (fvwm bzw. xclients) oder mit dem Befehl WindowList, hinter dem sich ein Popup-Menü mit Einträgen für alle Fenster auf der Arbeitsfläche verbirgt.

# Window titlebar buttons Mouse 1 1 N Popup "Fvwm" Mouse 1 3 N Iconify Mouse 1 4 N Destroy Mouse 1 2 N Resize

Hier haben wir die Schaltflächen 1, 2, 3 und 4 in der Titelzeile (je zwei Buttons links und rechts) mit Funktionen belegt. Die Schaltfläche ganz links öffnet das fvwm-Menü, die Schaltfläche daneben verkleinert das Fenster zum Icon usw. In der Manpage zu fvwm finden Sie alle vorhandenen Funktionen, wie zum Beispiel Resize, Move und RaiseLower, beschrieben.

Mit der Anweisung Key können Sie auch die Tasten der Tastatur mit Funktionen belegen. Die Syntax ist ähnlich wie bei den Maustasten:

Key Taste Kontext Sondertaste Funktion

Kontext und Sondertaste haben dieselbe Bedeutung, wie oben beschrieben. Hier einige Beispiele:

Key Up A C Scroll +0 -100 Key Down A C Scroll +0 +100 Key Left A C Scroll -100 0 Key Right A C Scroll +100 +0

Diese Verknüpfungen bewirken, daß Sie sich mit STRG-Pfeiltaste auf dem Desktop um eine volle Seite in die angegebene Richtung bewegen. Sie können auf diese Weise beliebige Tasten mit fvwm-Funktionen belegen; die Funktionstasten zum Beispiel heißen F1, F2 usw.

Lesen Sie auf jeden Fall die Manpage zu fvwm2. Die Syntax für die Konfiguration kann sich in neuen Versionen geringfügig ändern, und gelegentlich kommen neue Fähigkeiten hinzu.



vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel


Weitere Informationen zum Linux - Wegweiser zur Installation & Konfiguration

Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center


O'Reilly Home | O'Reilly-Partnerbuchhandlungen | Bestellinformationen | Kontaktieren Sie uns
International | Über O'Reilly | Tochterfirmen

© 2000, O'Reilly Verlag