Die globale Einstellung wird durch die Datei /usr/X11R6/lib/X11/fvwm2/.fvwm2rc
gesteuert. Um eigene Einstellungen vorzunehmen, speichert man sich diese
Datei im Heimatverzeichnis unter dem Namen.fvwm2rc ab. Wer sich
die soeben kopierte Datei zu Gemüte führt, wird vielleicht vor
der Fülle der Einstellungen zurückschrecken (ca. 2500 Zeilen).
An dieser Stelle möchte ich auch nicht auf alle Details eingehen,
sondern nur einige wenige Konfigurationen modifizieren. Wer sich mit der
Materie umfassend auseinanderzusetzen wünscht, sollte einen Blick
in das Manual zum fvwm2 werfen. Zunächst nehmen wir einige
globale Einstellungen (Auswahl) vor; diese sollten zu Beginn der Datei
stehen:
# Anzahl virtueller Desktops auf 12 (Format 4 x 3)
#
DeskTopSize 4x3
# Wie verhaelt sich die Farbdarstellung bei Mausbewegung?
#
ColormapFocus FollowsMouse
# Zeit fuer Mausklick
#
ClickTime 750
# Module befinden sich in diesem Pfad
#
ModulePath /usr/X11R6/lib/X11/fvwm2
# ... und Bitmaps hier
#
PixmapPath /usr/X11R6/include/X11/3dpixmaps/small:#...weitere
# Pfade fuer Icons
#
IconPath /usr/X11R6/include/X11/bitmaps
# Farbe Fenstertitel und Fensterrahmen
#
HilightColor Black CadetBlue
# Schriften fuer Fenster und Icons
#
WindowFont -misc-fixed-bold-r-normal-*-13-*-75-75-c-80-iso8859-1
IconFont -misc-fixed-medium-r-normal-*-10-*-75-75-c-60-iso8859-1
# Fokussiertes Fenster in den Vordergrund (Autoraise)
#
Module FvwmAuto 200
#
|
Damit ist die Fülle globaler Einstellungen noch lange nicht erschöpft,
so lassen sich z.B. die Icons beliebig positionieren, mit der Maus über
den Bildschirmrand hinaus in andere Desktops scrollen... Wir wenden uns
aber den Einträgen in den Menüs zu. Startet man den fvwm2,
erscheint ein oberer Button, dessen Optik durch ein Modul mit dem Namen
FvwmButtons gesteuert wird. Schauen wir uns die einzelnen Möglichkeiten
zu dessen Konfiguration genauer an:
# generelles Aussehen:
#
*FvwmButtonsFont 6x13 nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; # Schriftgroesse
*FvwmButtonsFore Blacknbsp;nbsp;nbsp;nbsp;nbsp;nbsp; # Schriftfarbe
*FvwmButtonsBack grey67nbsp;nbsp;nbsp;nbsp; # Hintergrundfarbe
*FvwmButtonsGeometry +0+0nbsp;nbsp; # relative Bildschirmposition
# Anzahl Spalten fuer den Button
#
*FvwmButtonsRows 1
# Groesse des Feldes fuer den virtuellen Desktop und
# absolute Position innerhalb des Buttons (0 0)
# ACHTUNG: geänderte Syntax in neueren Versionen:
#
*FvwmButtons (2x1 Frame 0 Swallow(UseOld) "FvwmPager" "Module FvwmPager 0 0")
#
*FvwmButtons (2x1) - - Swallow "FvwmPager" Module FvwmPager 0 0
# manche Buttons werden direkt mit Programmen verbunden
# Position ist relativ angegeben (+0+0) "linksbuendig anordnen"
#
*FvwmButtons - - Swallow "FvwmXeyes" Exec xeyes -name
"FvwmXeyes" -geometry +0+0 -bg grey67 &
# manche Buttons werden mit einem Menue verbunden
# *FvwmButtons <Menuetext> <Bitmap> Function <Functionname>
#
*FvwmButtons Fvwm2... window3d.xpm Function barthiswmpopupfunc
#
|
Damit stehen uns alle Kenntnisse zur Verfügung, um ein eigenes
Menü hinzuzufügen. In diesem sollen die Editoren vi
und
xemacs erscheinen. Außerdem ändern wir die Wirkung
des Mailbuttons dahingehend, dass nun nicht das Programm pine,
sondern der Mailclient von Netscape (dieser ist allerdings noch zu konfigurieren)
gestartet wird:
# Modifizierung des FvwmButtons fuer den Mailaufruf
#
*FvwmButtons - - Swallow "coolmail" Exec coolmail
-geometry +0+0 -vol 100 -int 12 -e "netscape -messanger" &
# Erzeugen eines Eintrages in der Buttonleiste:
#
*FvwmButtons Editors... pencil_3d.xpm Function bareditpopupfunc
# Was soll die Funktion realisieren? Sie soll ein Untermenue
# oeffnen.Das "I" bewirkt, dass bei Fokussierung des Buttons jede
# Aktion (beliebiger Mausklick, Enter) die Funktion ausloest:
#
AddToFunc bareditpopupfunc
+ "I" Popup bareditpopup
# das Untermenue "bareditpopup" muss noch erzeugt werden
#
AddToMenu bareditpopup "Editors" Title
+ "Vi*wordprocess_3d.xpm*" Exec xterm -e vi
+ "Xemacs*emacs_3d.xpm*" Exec xemacs
#
|
Nach dem Neustart des fvwm2 steht uns nun ein Button "Editors..."
zur Verfügung. Klicken wir auf diesen, öffnet sich ein Untermenü
mit der Überschrift "Editor" und den beiden Einträgen "Vi" (als
Bitmap dient wordprocess_3d.xpm) und "Xemacs" (emacs_3d.xpm). Die Auswahl
eines der Einträge bewirkt den Start von xemacs bzw. eines
xterm, in dem wiederum der vi gestartet wird.
Betrachten wir nun noch, wie ein Eintrag in ein mit der Maus erreichbares
Menü gelangt. Dazu verfolgen wir die Realisierung des Menüs,
das mittels der rechten Maustaste eröffnet wird:
# Die rechte Maustaste wird an das Menue gebunden
#
Mouse 3 R A Menu allpopup Nop
# ueber die Tasten ALT-F3 ist ebenfalls das Menue erreichbar
#
Key F3 A M Menu allpopup
# das Menue selbst...
#
AddToMenu allpopup "Alles" Title
+ "&System-Werkzeuge%small.sysinfo_3d.xpm%" Popup systempopup
+ "&Programmieren%small.program_3d.xpm%" Popup develpopup
+ "Ed&itoren%small.TextEditor.xpm%" Popup editorpopup
+ "Prod&uctivity%small.edit_doc_3d.xpm%" Popup prodpopup
+ "&Multimedia%small.Multimedia3.xpm%" Popup multimediapopup
+ "&Dokumentation%small.helpme_3d.xpm%" Popup helppopup
+ "Bildschi&rm%small.window3d.xpm%" Popup wmpopup
+ "Spi&ele%small.Game.xpm%" Popup gamespopup
# als Beispiel betrachten wir das Untermenue <helppopup>
#
AddToMenu helppopup "Dokumentation" Title
+ "&SuSE Hilfesystem%small.logo_suse_3d.xpm%" Exec hilfe
+ "" Nop # Linie darstellen
+ "&XMan%small.xman3d.xpm%" Exec xman
+ "&TkMan%small.library_3d.xpm%" Exec tkman
+ "" Nop
+ "&Howto%small.question2_3d.xpm%" Popup h
#
|
Wie man erkennt, wird mit AddToMenu <menuname> "<Text>" Title
ein neues Menü eingeleitet, und jeder Eintrag besitzt die Form
+ "<&Text>%<Bitmap>%" <was ist zu tun>. Ein vorgestelltes
& erklärt den nachfolgenden Buchstaben zum Shortcut für
den Eintrag; die zugehörige Bitmap wird zwischen Prozentzeichen %
angegeben. Schließlich wird die auszuführende Aktion angegeben.
Hierbei kann es sich um die Ausführung eines Programmes handeln Exec
<programm>, um ein weiteres Untermenü Popup <subpopupname>,
oder aber um keine Operation Nop.