Mit Unterstützung durch Saxonia Systems    
Druckversion
 
   Anfang
   Inhalt
   Einleitung
   Erste Schritte
   Die Bash
   Das Dateisystem
   Nutzerkommandos
   Installation
   Shells
   Unix-Werkzeuge
   System-Administration
   X Window System
     Geschichte
     Client & Server
     Steuerung
     Login-Manager
     Fvwm2
     KDE
     Gnome
   Der Kernel
   Netzwerk Grundlagen
   Netzwerk Clients
   Netzwerk Server
   Netzwerk Sicherheit
   Anhang
   Register

Der Windowmanager Fvwm2

Übersicht

Dem originalen Entwickler Rob Nation ist leider die Bedeutung des »f« in seiner Wortschöpfung entfallen. Die gewitzten Betreuer des Projektes benennen den fvwm so: »Fill_in_the_blank_with_whatever_f_word_you_like_at_the_time Virtual Window Manager«.

Der Windowmanager fvwm2 als Nachfolger des »fvwm« war vor den Zeiten von Desktopumgebungen wie K Desktop Environment oder GNU Network Object Model Environment der verbreiteste Manager unter Linux. Auch heute liegt dieser Windowmanager jeder Distribution bei.

Fvwm wurde mit dem Ziel ins Leben gerufen, einen Windowmanager mit geringen Hardwareanforderungen zu präsentieren (Speicherverbrauch < 1 MByte), der die in ihm laufenden Anwendungen mit einem 3D-Outfit - analog zu Motif's mwm - austattet. Der Fvwm2 stellt in seiner Grundfunktionalität nur einen einfachen virtuellen Desktop bereit. Die Vielgestaltigkeit des Managers ergibt sich erst durch die Verwendung der im Paket enthaltenen Module.

Der »fvmw2« ist hochgradig konfigurierbar, wenngleich das Einrichten der Ressourcen-Datei wohl eher dem Konsolenfreund entgegen kommt.

Die aktuell stabile Version 2.2.4 kennzeichnet folgende Eigenschaften:

  • Dynamische Erweiterung mittels Modulen
  • Wahlweise mit Tastatur und/oder Maus bedienbar
  • Echt-Farben Icons
  • Möglichkeit des Erzeugens einer Konfigurationsdatei mit dem Makroprozessor M4
  • Unterstützung mehrerer Bildschirme
  • Animation von Fensterbewegungen
  • Themen, Sounds,...
Die Elemente des Fvwm2

Den typischen Aufbau eines Desktops mit dem Windowmanager Fvwm2 zeigt folgende Abbildung.

Abbildung 1: Desktop des Fvwm2

Im oberen Teil ist das Modul FvwmButton zu sehen, in ihm sind integriert (von links nach rechts):

  • Das Modul FvwmPager, das die verschiedenen virtuellen Desktops symbolisiert. Der aktive Desktop ist dunkel hinterlegt. Durch Klick auf das Symbol wird zu einem anderen Desktop gewechselt.
  • Die Anwendungen »xeyes«, »xclock« und »xbiff«
  • Zugänge zu Menüs »Fvwm2«, »SuSE«, »Graphic«, »Tools« und »Shells«. Bei Anklicken eines der Symbole öffnen sich Untermenüs, die weitere Menüs oder Anwendungen enthalten.

Des Weiteren sind auf dem Desktop die Anwendungen »xterm» (Mitte), »xmessages» (links unten), »xosview« (rechts unten) und das Icon der Anwendung »gimp« zu sehen.

Klickt man mit der rechten Maustaste auf den Desktophintergrund, öffnet sich das »Alles«-Menü. Bei der Standardkonfiguration ist dieses auch über die Tastenkombination [Alt]-[F1] erreichbar.

Fvwm2: Menü der rechten Maustaste

Abbildung 2: Fvwm2: Menü der rechten Maustaste

Die mittlere Maustaste (bei 2-Tasten-Mäusen wird diese durch simultanes Drücken beider Tasten emuliert) oder die Tastenkombination [Alt]-[F2] führt zu einer Liste der aktiven Fenster.

Fvwm2: Menü der mittleren Maustaste

Abbildung 3: Fvwm2: Menü der mittleren Maustaste

Mittels der linken Maustaste oder der Tastenkombination [Alt]-[F3] öffnet sich das Arbeitsmenü.

Fvwm2: Menü der linken Maustaste

Abbildung 4: Fvwm2: Menü der linken Maustaste

Konfiguration des Fvwm2

Allein das Manual zum »fvwm2« umfasst knapp 3000 Zeilen. Nicht ganz so umfangreich, dafür umso zahlreicher sind die Manuals zu den einzelnen Modulen. Hier alle Möglichkeiten der Konfiguration zu diskutieren, würden den Leser langweilen und den Autor überfordern... Ich beschränke mich deshalb auf die Vorstellung der wesentlichen Elemente des Desktops:

Den fvmw2 konfiguriert man über eine ASCII-Datei. Die globale Datei befindet sich unter »/usr/X11R6/lib/X11/fvwm2/system.fvwm2rc«. Normalerweise wird man diese unverändert lassen, und eine lokale Kopie mit dem Namen ~/.fvwm2rc bearbeiten.

Konfiguration - Globale Einstellungen

Die Suchpfade

Der »fvwm2« benötigt zunächst Kenntnis, wo er seine Module, die Pixmaps (kleine Bildchen) und Icons (Symbole für verkleinerte Anwendungen) zu suchen hat:

ModulePath /usr/lib/X11/fvwm2
PixmapPath /usr/include/X11/pixmaps
IconPath   /usr/include/X11/bitmaps

Die Schriftarten

Weitere Einstellungen legen die verwendeten Schriftarten für die Fenstertitel und Icon-Unterschriften fest. Die meisten Leser wird die Angabe der Schriften verwirren, wer das Geheimnis zu lüften wünscht, sollte einmal das Programm »xfontsel« aufrufen.

Schriften konfigurieren mit »xfontsel«

Abbildung 5: Schriften konfigurieren mit »xfontsel«

WindowFont -adobe-times-bold-r-*-*-18-*-*-*-*-*-*-*
IconFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*

 

Konfiguration - Die Fenster

Mit Style kann das Aussehen jedes einzelnen Fensters und der Module gesteuert werden. Die Syntax der Styles besitzt folgendes Format:

Style "<Fenstertitel>" <Definitionen>

»Fenstertitel« steht dabei für den konkreten Programmnamen (z.B. »xosview«), alle Programme (»*«) oder einer Kombination aus beiden (»Fvwm*«). Als Definitionen sind u.a. zulässig (mehrere Definitionen werden durch Kommas getrennt):

BackColor
        

Hintergrundfarbe der Fensterdekoration

BackColor #00f0e4
BorderWidth
        

Rahmenbreite in Pixel

BorderWidth 5
ClickToFocus
        

Das Fenster wird erst fokussiert, sobald ein Mausklick in dieses erfolgt

ClickToFocus
Icon
        

Icon, das beim Verkleinern des Fensters dargestellt werden soll. Das Icon muss im Icon-Suchpfad liegen!

Icon Terminal.xpm
IconBox
        

Wo und in welcher Größse soll ein Icon auf dem Desktop erscheinen?
Angabe der Position: linke obere Ecke (x,y), rechte untere Ecke (x,y); ein »+« vor dem Wert besagt, dass die Position relativ zum linken, oberen Desktop-Rand ist

IconBox +55 +85 +130 +480
IconFill
        

Mehrere Icons werden in einem bestimmten Gitter, ausgehend von der ersten Position (IconBox) dargestellt. Ein neues Icon wird dabei in das erste freie Gitterfeld platziert. Mit IconFill kann die Ausrichtung der Darstellung beeinflusst werden. Voreingestellt ist: erst von links nach rechts, dann von oben nach unten.

IconFill Bottom Right
ForeColor
        

Farbe der Fensterüberschrift

ForeColor Black
MouseFocus
        

Das Fenster erhält den Fokus, sobald der Mauszeiger über diesem steht

ForeColor MouseFocus
NoTitle
        

Unterdrückt die Darstellung der Fenstertitelleiste (Voreinstellung ist »Title«)

NoTitle
SloppyFocus
        

Wie »MouseFocus«, jedoch verliert das Fenster den Fokus erst, wenn die Maus in eine anderes »MouseFocus«-Fenster wechselt oder ein »ClickToFocus«-Fenster aktiviert wird

SloppyFocus
StaysOnTop
        

Das Fenster wird auf jedem Desktop dargestellt

StaysOnTop
Sticky
        

Das Fenster ist auf allen virtuellen Desktops vorhanden (Voreinstellung ist »NoSticky«)

Sticky
UseDecor
        

Zur Verwendung eines mit AddToDecor erzeugten Aussehens

UseDecor DemoDecor
WindowListSkip
        

Das Fenster erscheint nicht in der Fensterliste (z.B. im Menü der mittleren Maustaste)

WindowListSkip

Beispielhaft sollen die Gestaltung des FvmwButtons und der Anwendung »xterm« sowie einige Einstellungen, die alle Anwendungen betreffen, skizziert werden:

Style  "FvwmButtons"         NoTitle, Sticky, WindowListSkip
Style  "xterm"               Icon Terminal.xpm

Style  "*"                   BackColor Grey
Style  "*"                   ForeColor DimGrey

 

Konfiguration - Die Schalter der Fenster

Die Fensterleiste enthält meist mehrere Buttons, z.B. zum Minimieren, Maximieren oder Schließen des Fensters. Die Konfiguration der Buttons erfolgt mit dem Kommando ButtonStyle:

ButtonStyle button [ state ] [ style ] [ -- [!]flag ... ]

button kann eine Nummer zwischen 0 und 9 enthalten. Die Reihenfolge der Nummerierung ist dabei sehr seltsam: 1 3 5 7 9 0 8 6 4 2, wobei die Buttons mit ungerader Nummer links- und die anderen rechtsbündig angeordnet werden. Steht im Feld »button« »ALL«, werden alle Buttons durch das Kommando konfiguriert. »Left« und »Right« sprechen den linken bzw. rechten Schalter an. Mit »Reset« werden alle Schalter in die Voreinstellung versetzt.

state kann entfallen, dann gelten die Einstellungen für den Schalter in jedem Status. Steht dort »ActiveUp«, bezieht sich die Konfiguration auf einen nicht-gedrückten Schalter, »ActiveDown« bezeichnet den gedrückten Schalter. »Inactive« konfiguriert den Schalter eines inaktiven Fensters.

style betrifft nun das tatsächliche Aussehen des Buttons. Eine kleine Auswahl an Styles soll die Mannigfaltigkeit der Konfiguration andeuten:

Default
        

Setzt voreingestellte Werte, eine optionale Nummer setzt anstelle des durch »button« bezeichneten Schalters die Werte des Schalters dieser Nummer. So setzt folgende Zeile die Aussehen der Schalter 1 und 3 gleich:

ButtonStyle 1 default 3
Solid
        

Setzt die Farbe des Buttons:

ButtonStyle Left solid blue
Vector
        

Zeichnet Linien in einen Schalter. Dem Schlüsselwort folgen die Anzahl der Punkte und anschließend die Koordinaten für jeden Punkt in der Form »x-Koordinatexy-Koordinate@Farbe«. »Farbe« kann dabei "1" oder "0" sein, je nachdem, ob mit der Vorder- oder Hintergrundfarbe gezeichnet werden soll:

ButtonStyle 4 Vector 4 50x74@1 25x24@1 75x24@1 50x74@0
Pixmaps
        

Dem Schlüsselwort folgt der Name einer Pixmap-Datei. Somit kann anstelle des Schalters ein Bild eingeblendet werden:

ButtonStyle 4 ActiveUp (Pixmaps icon_up.xpm) ActiveDown (Pixmaps icon_down.xpm)
ButtonStyle 4 Inactive Pixmap inactive.xpm
MiniIcon
        

Das Mini-Symbol der Anwendung wird im Schalter dargestellt. Die Verbindungen von Anwendungen und MiniIcon-Dateien muss zuvor mit dem Style-Kommando definiert werden:

Style "xterm" MiniIcon mini-term.xpm
ButtonStyle 1 MiniIcon

flag letztlich bestimmt das Verhalten des Schalters, wenn er gedrückt wird. Mehrere Flags können, durch Leerzeichen voneinander getrennt, angegeben werden. Die Auswahl kann durch ein vorangestelltes Ausrufezeichen negiert werden.

Mögliches Aussehen von Schaltern

Abbildung 6: Mögliches Aussehen von Schaltern

Die Schalter der Abbildung werden durch folgende Konfiguration erzeugt:

DestroyDecor DecorDemo
AddToDecor DecorDemo
+ TitleStyle Height 30
+ TitleStyle (Solid gray -- Flat)
+ ButtonStyle 1 8 40x80@1 40x50@1 20x50@1 50x20@1 80x50@0 60x50@0 60x80@0 40x80@0
+ ButtonStyle 3 8 40x20@1 40x50@1 20x50@1 50x80@1 80x50@0 60x50@0 60x20@0 40x20@1
+ ButtonStyle 5 8 80x40@1 50x40@1 50x20@1 20x50@1 50x80@0 50x60@0 80x60@0 80x40@0
+ ButtonStyle 7 8 20x40@1 50x40@1 50x20@1 80x50@1 50x80@0 50x60@0 20x60@0 20x40@1
+ ButtonStyle 9 12 10x50@1 35x25@1 35x40@1 65x40@1 65x25@1 90x50@1 65x75@0 65x60@0 35x60@0 35x75@0 10x50@0 10x50@1
+ ButtonStyle 0 12 50x10@1 25x35@1 40x35@1 40x60@1 25x60@1 50x85@1 75x60@0 60x60@0 60x35@0 75x35@0 50x10@0 50x10@1
+ ButtonStyle 8 11 80x20@1 45x20@1 55x30@1 30x55@1 20x45@1 20x80@1 55x80@0 45x70@0 70x45@0 80x55@0 80x20@0
+ ButtonStyle 6 11 20x20@1 55x20@0 45x30@0 70x57@0 80x45@0 80x80@0 45x80@1 57x70@1 30x45@1 20x55@1 20x20@1
+ ButtonStyle 4 14 20x20@1 20x70@1 70x70@0 70x20@0 20x20@1 60x60@0 60x50@0 60x60@0 50x60@0 60x60@0 60x80@0 80x80@0 80x60@0 60x60@0
+ ButtonStyle 2 12 10x23@0 90x23@0 90x28@0 10x28@1 10x47@1 90x47@0 90x52@0 10x52@1 10x70@2 90x70@0 90x76@0 10x76@1

 

Konfiguration - (Re)Starteinstellungen

Der Windowmanager »fvwm2« kennt zwei spezielle Funktionen. InitFunction wird beim ersten Aufruf des Managers aufgerufen und RestartFunction ist der Ansprungspunkt nach einem Neustart. Beide Funktionen sind identisch aufgebaut und dienen dazu, den »fvwm2« beim (Re)Start weitere Programme aufrufen zu lassen. Wir widmen uns nur der »InitFunction«.

AddToFunc InitFunction
  +      "I"     Module FvwmBanner
  +      "I"     Exec susewmif xmessages
  +      "I"     Exec xterm -ls -geometry +150+85
  +      "I"     Exec xosview -geometry 175x135-10-10
  +      "I"     Module FvwmButtons
  +      "I"     Exec xpmroot /usr/X11R6/include/X11/icons/private.xpm

AddToFunc gelangt stets zum Einsatz, wenn es um das Hinzufügen einer Aktion zu einer Funktion geht. Jede Zeile, die noch zur Funktionsdefinition gehört, muss mit einem Plus + eingeleitet werden. "I" besagt, dass die Aktion unmittelbar auszuführen ist. Mit Module wird der Start eines fvwm-Modules eingeleitet, alle anderen Programme sind hinter Exec anzugeben, wobei das erste Argument als Programmname und alle weiteren bis Zeilenende als Optionen für das Programm verwendet werden.

Die Module des »fvwm2« sollten unbedingt in die RestartFunction aufgenommen werden, da diese im Gegensatz zu fvwm2-unabhängigen Programmen einen Neustart nicht überleben.

Konfiguration - Aktionen mit der Maus

Die Maus ist das wichtigste Eingabegerät unter X. Prinzipiell kann alles so konfiguriert werden, dass sämtliche Aktionen per Tastenkombinationen erreichbar sind, aber wer kann sich schon all die Tastenkürzel merken?

Das Aussehen des Mauszeigers

In Abhängigkeit von der Umgebung kann der Mauszeiger seine Optik verändern. Hierzu ist die Option CursorStyle zu verwenden, die als Argument den Bezeichner des Kontexts und die (gerade) Nummer des Stils erhält. Einige der Kontexte sind:

title
         Wenn sich der Mauszeiger über einen Fenstertitel bewegt
DEFAULT
         Überall dort, wo kein eigener Stil definiert wurde
SYS
         Schalter der Fensterleiste
MOVE
         Beim Bewegen, Ändern der Größe eines Fensters
WAIT
         Während ein Programm ausgeführt wird
MENU
         In Menüs
DEStrOY
         Wenn ein Fenster geschlossen/zerstört wird
LEFT | RIGHT
         Linker/rechter Fensterrahmen
BOTTOM_LEFT
         In der linken unteren Fensterecke (TOP_LEFT... analog)

Das Aussehen des Mauszeigers wird als gerader numerischer Wert angegeben. Welcher Wert für welchen Zeigertyp steht, kann der Datei »/usr/X11R6/include/X11/cursorfont.h« entnommen werden.

CursorStyle title 58
CursorStyle DEFAULT 68
CursorStyle DEStrOY 124

Aktionen beim Mausklick

Das Binden einer Aktion an eine bestimmte Maustaste folgt immer dem selben Schema:

Mouse <Taste> <Kontext> <Modifizierer> <Funktion>

Taste entspricht der Tastennummer (0 alle, 1 links, 2 Mitte, 3 rechts), Kontext der Umgebung, für die die Definition zutrifft. Hier steht R für das Root-Fenster (Desktop), W für ein Anwendungsfenster. Weiterhin betrifft T den Fenstertitel, S den Rahmen, F die Ecken eines Fensters und A steht stellvertretend für jeden Kontext. 0 bis 9 binden Aktionen an die gleichnamigen Schalter der Fensterleiste.

Mit den Modifizieren kann gesteuert werden, ob die Mausaktion erst in Verbindung mit einem Tastendruck ausgelöst wird. Hierbei gilt N für »keine« Tastenbetätigung, A für »egal welche«, C für [Ctrl], M für [Alt] und S für [Shift]. Kombinationen sind zugelassen, dann müssen neben der Maustaste auch noch die angegebenen Tasten der Tastatur gedrückt sein. Schließlich ist Funktion eine der fvmw-Funktionen oder auch eine selbst definierte. Wird an ihrer Stelle ein Minus eingesetzt, so wird eine bestehende Bindung aufgehoben.

Das folgende Beispiel startet das Programm »gimp«, sobald auf dem Desktop die linke Maustaste zusammen mit [Ctrl]-[Shift] gedrückt wird:

AddToFunc StartGimp
 +   "I" Exec gimp

Mouse 1 R CS StartGimp

Obiges Beispiel funktioniert sogar, wenn zuvor die Mausaktion für das Rootfenster mit dem Kontext "A" (jede Taste) verbunden wurde. In diesem Fall überschreibt die Konfiguration nur die Aktion für diese eine Tastenkombination. Die übliche Konfiguration verbindet die Mausklicks auf dem Desktop mit dem Eröffnen von Menüs:

Mouse   1      R     A   Menu    Work_menu316popup   Nop
Mouse   2      R     A   Module  FvwmWinList  Transient
Mouse   3      R     A   Menu    SuSE0popup   Nop
Mouse   2      FST   A   Menu    windowops    Nop

 

Konfiguration - Aktionen mit der Tastatur

Das Binden bestimmter Tastaturereignisse an bestimmte Aktionen erfolgt ähnlich dem Vorgehen bei der Maus. Der Aufruf lautet:

Key <Tastenname> <Kontext> <Modifizierer> <Funktion>

Der Tastenname kann der Datei »/usr/include/X11/keysymdef.h« entnommen werden, wobei das führende »XK_« zu streichen ist. Kontext, Modifizierer und Funktion sind genauso zu verwenden, wie unter Aktionen mit der Maus beschrieben.

Das Beispiel ermöglicht das Bewegen des Mauszeigers mit den Navigationstasten der Tastatur bei gleichzeitigem Drücken der [Shift]-Taste. Hierbei gelangt die Funktion CursorMove zum Einsatz, die den Mauszeiger um den angegebenen Wert in x,y-Richtung verschiebt:

Key  Left  A S CursorMove -1 +0
Key  Right A S CursorMove +1 +0
Key  Up    A S CursorMove +0 -1
Key  Down  A S CursorMove +0 +1

 

Konfiguration - Ein eigenes Menü

Menüs gehören zum guten Stil eines jeden Windowmanagers. In ihnen sammelt man alle Programme, die über einen Mausklick erreichbar sein sollen. Während bspw. KDE seine Programme während der Installation (fast immer) automatisch in die Menüstruktur integriert, ist bei den meisten Windowmanagern ein manueller Eingriff erforderlich. Da helfen auch nicht solche Skripte wie sie SuSE-Linux beiliegen, die nach jeder Installation eines neuen Paketes für die wichtigsten Manager neue Konfigurationen erstellen. Das Programm, das ich eigentlich benötige, wurde garantiert nicht aufgenommen!

Im Falle des fvwm2 wird ein Menü mit AddToMenu erzeugt:

AddToMenu <Menüname> [<Menüüberschrift> [Title]]

Menüname ist ein eindeutiger Bezeichner, über den in anderen Stellen der Konfiguration auf das Menü Bezug genommen werden kann. Die optionale Menüüberschrift wird als als erster Eintrag des Menüs dargestellt und das optionale Title zentriert diese Überschrift und trennt die nachfolgenden Einträge durch eine Linie ab.

Um nun die Einträge einem Menü hinzuzufügen, bedient man sich folgender Syntax:

 + "&Bezeichner%Iconname%" <Aktion>
 + "B&ezeichner*Iconname*" <Aktion>

Bezeichner ist ein (leerer) Text, der im Eintrag erscheinen soll. Das & kennzeichnet den nachfolgenden Buchstaben als »Shortcut«, über den der Menüeintrag per Tastatur angewählt werden kann. Iconname ist der Dateiname des Pixmaps, das als Grafik im Eintrag platziert wird. Die Datei muss im Pfad der Pixmaps (siehe Globale Einstellungen) zu finden sein. Der Iconname wird entweder in zwei * oder % eingeschlossen. In ersten Fall wird der Bezeichner unter der Grafik dargestellt, im zweiten rechts dieser. Aktion ist die zu rufende Funktion, wenn der Menüeintrag selektiert wurde.

Beispiel: Ein Menü soll den Zugang zu den Grafikverarbeitungsprogrammen gimp und xfig realisieren:

AddToMenu StartGrafik "Grafikprogramme" Title
 +  "&Gimp%xgrab.xpm%" Exec gimp
 +  "" Nop
 +  "&Xfig%xfig.xpm%" Exec xfig

Erläuterung: Als Titelzeile soll im Menü »Grafikprogramme« stehen, Das Programm gimp soll neben der Maus auch mit der Taste [G] gestartet werden können. Als Grafik gelangt »xgrab.xpm« zum Einsatz. Die zweite Zeile erzeugt eine Linie, nop besagt, dass damit keine Aktion verbunden ist. Der dritte Eintrag schließlich fügt xfig hinzu, das über die Taste [X] aufgerufen werden kann. Folgende Abbildung zeigt das fertige Menü:

Ein eigenes Menü

Abbildung 7: Ein eigenes Menü

Jetzt haben wir zwar ein Menü aber noch keine Möglichkeit, auf dieses zuzugreifen. Beispielhaft soll das Menü erscheinen, wenn wir die Tasten [F1]-[Shift]-[Ctrl] (unabhängig vom Kontext) drücken und bei Klick mit der linken Maustaste auf den Desktop bei gleichzeitigem Betätigen der Tasten [Shift]-[Ctrl]:

Key F1 A CS Menu StartGrafik
Mouse 1 R CS Menu StartGrafik

Erläuterung: Wichtig ist Menu, um die Bindung mit einem Menü zu veranlassen.

Ein Menü kann selbst weitere Untermenüs enthalten, ein entsprechender Eintrag in AddToMenu sieht wie folgt aus:

 + "&Bezeichner%Iconname%" Popup <Menüname>

Die Definition des Untermenüs folgt exakt den Regeln eines »normalen« Menüs.

Konfiguration - Das Modul FvwmButtons

 

Das Modul FvwmButtons

Abbildung 8: Das Modul FvwmButtons

Die Module sind eine Erweiterung des fvwm2, die zur eigenen Arbeit allerdings einen aktiven Windowmanager benötigen. Die Module selbst werden mit dem Schlüsselwort Module geladen und verwenden den Pipemechanismus zur Kommunikation mit dem fvwm. Stellvertretend für den Umgang mit Modulen soll die Konfiguration des FvwmButtons dienen, also des Modules, das in vielen anderen Managern unter dem Begriff "Startleiste" existiert.

Das Modul FvmwButtons kann sowohl Icons beherbergen, über die bestimmte Funktionen zugänglich werden, als auch Programme, die innerhalb des Buttons ausgeführt werden. Im links abgebildeten Beispiel ist das Modul FvwmPager innerhalb des Buttons aktiv (ganz unten), der das Umschalten zwischen den einzelnen virtuellen Desktops ermöglicht.. Werfen wir kurz einen Blick auf dessen Konfiguration:

DeskTopSize 2x2

*FvwmPagerRows 1
*FvwmPagerColumns 1
*FvwmPagerGeometry -0+0
*FvwmPagerFore Black
*FvwmPagerBack grey67
*FvwmPagerHilight grey50
*FvwmPagerSmallFont -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-1
*FvwmPagerLabel * Desktop

Erläuterung: DeskTopSize bedingt nicht die Existenz des FvwmPagers, sondern ist eine Option des fvwm und legt die Anzahl der virtuellen Desktops fest (hier 2 in horizontaler und 2 in vertikaler Richtung). Der Pager selbst mappt die Desktops in seinen Bereich. Die beiden folgenden Zeilen definieren die Ausdehnung (1 Zeile, 1 Spalte) des Pagers, die nächste Zeile bestimmt die relative Position der Darstellung. Weitere Optionen legen die Farben für Vorder- und Hintergrund, sowie für den gerade aktiven Desktop fest. Der letzte Eintrag setzt »Desktop« als Überschrift des Pagers (* weist den Titel allen Desktops zu; hier kann für jeden Desktop ein eigener Titel definiert werden).

Bedienung des FvwmPagers: Indem Sie mit der rechten Maustaste auf das Symbol eines Desktops klicken, wird zu diesem gewechselt. Klicken Sie gezielt auf das Symbol einer Anwendung, erhält diese zugleich den Fokus. Auch lassen sich die Anwendungen zwischen den verschiedenen Deskops verschieben, indem Sie mit der mittleren Maustaste das Symbol fixieren und auf den neuen Desktop ziehen.

Der »FvwmButton« wurde durch folgende Einstellungen erzeugt:

*FvwmButtonsFont      6x13
*FvwmButtonsFore      Black
*FvwmButtonsBack      grey67
*FvwmButtonsGeometry  +0+0
*FvwmButtonsColumns   2
*FvwmButtons - - Swallow "FvwmXeyes" Exec xeyes -name "FvwmXeyes" -geometry +0+0 -bg grey67 &
*FvwmButtons - - Swallow "FvwmXclock" Exec xclock -name "FvwmXclock" -geometry +0+0 -padding 1 -bg grey67 &
*FvwmButtons - - Swallow "coolmail" Exec coolmail -geometry +0+0 -vol 100 -int 12 -e "xterm -g 80x36 -e pine" &
*FvwmButtons Fvwm2 window3d.xpm Menu WindowManager324popup
*FvwmButtons SuSE logo_suse_3d.xpm Menu barsusepopup
*FvwmButtons Graphics palette3_3d.xpm Menu bargraphicspopup
*FvwmButtons Tools box_full_3d.xpm Menu bartoolspopup
*FvwmButtons Shells Shell.xpm Menu barshellspopup
*FvwmButtons (2x1 Frame 0 Swallow(UseOld) "FvwmPager" "Module FvwmPager 0 0")
 
 
 
 Korrekturen, Hinweise?    
Startseite Nächste Seite Nächstes Kapitel Vorherige Seite Kapitelanfang