Das Look&Feel von
X-Applikationen
Fast alle X-Applikationen erlauben eine weitgehende Gestaltung ihres
"Look&Feel". Ohne am Programm selbst Änderungen vornehmen zu
müssen, können Schrift, Hintergrund- und Vordergrundfarbe sowie
zahlreiche andere Eigenschaften nicht nur eines jeden Fensters, sondern
auch eines jeden Widgets (z.B. Textfeld, Zeichenfeld,
Kopfleiste, Pull-Down-Menü, Checkboxen etc. - vgl. die
vorhergehende Seite über Toolkits)
nach Beleiben angepasst werden. Globale Eingenschaften lassen sich oft
durch Kommandozeilen-Parameter steuern, bis ins Detail gehen dagegen
die sog. X-Ressourcen.
Toolkit-Optionen
Die einfachste Variante sind Parameter, die mit dem Aufruf der
X-Applikation angegeben werden. In den allermeisten Fällen
funktionieren zumindest folgende Optionen (die meisten wurden schon mit
den Ersten Schritten
vorgestellt):
- -bg color-name
oder -background color-name:
legt die Hintergrundfarge fest.
- -fg color-name
oder -foreground color-name:
legt die Vordergrundfarbe fest (z.B. beim Xterm die Schriftfarbe).
- -fn font-name oder
-font font-name: zur
Festlegung der zu verwendenden Schriftart.
- -geometry: legt die Größe und
Position des X-Fensters fest. Das funktioniert folgendermaßen:
-geometry 400x200
bedeutet, dass das Fenster 400 Pixel breit und 200 Pixel hoch
werden soll. Da weitere Angaben fehlen, wird die Positionierung des
Fensters dem Window
Manager überlassen.
Wichtig: Bei textorientierten
X-Applikationen (z.B. Xterm oder Editoren wie emacs) werden diese
Angaben nicht als Pixel sondern als Anzahlen von Zeichen interpretiert.
So ist xterm -geometry 80x32 ein Terminal
fenster mit 32 Zeilen zu je 80 Zeichen.
-geometry 400x200+50+20
bedeutet, dass die linke obere Ecke des Fensters 50 Pixel vom linken
Bildschirmrand und 20 Pixel vom oberen Bildschirmrand entfernt
positioniert werden soll.
-geometry 400x200-150-100
bedeutet, dass die rechte untere Ecke des Fensters 150 Pixel
vom rechten Bildschrimrand und 100 Pixel vom unteren Bildschirmrand
entfernt positioniert werden soll.
- -title titelzeile
schreibt die titelzeile in die
Titelleiste des X-Fensters.
- -iconic bewirkt, dass
die X-Applikation "minimiert" startet, also als Icon in der Taskleiste
oder wo auch immer der Window
Manager solche Icons ablegt.
- -xrm resourcestring:
Mit einem resourcestring lassen sich - je
nach X-Applikation - noch zahlreiche Details am Aussehen aller Teile
der graphischen Oberfläche verändern, nämlich die sog. X
Resources , womit wir beim nächten Thema wären.
X-Ressourcen
Eine X-Ressource sieht
grundsätzlich
folgendermaßen aus:
resourcename :
wert
Über welche Ressourcen eine X-Anwendung verfügt, verrät der Befehl
appres , so hat z.B.das gute alte Xterm
appres XTerm
Argument von appres sind die sog. Window-Klassen, die grundsätzlich mit
Großbuchstaben beginnen. Sie beinhalten alle Fenster und Unterfenster,
die zu einer X-Anwendeng gehören.
Einen kleinen Ausschnitt aus der Ressourcen-Unmenge des Xterms zeigt
das links abgebildetet Listing. Als kleinen Test versuche man nun
xterm -xrm
"xterm*Scrollbar*width: 8"
für eine superschlanke Srollbar.
|
...
*Scrollbar*pointerColor:
black
*Scrollbar*borderWidth: 2
*Scrollbar*pointerColorBackground:
white
*Scrollbar*width:
15
*Scrollbar*cursorName: top_left_arrow
*Scrollbar*background: black
*Scrollbar*height: 15
*Scrollbar*foreground: white
*Scrollbar*pushThumb: false
*Panner*shadowThickness:
2
*VT100*color5: magenta3
*VT100*colorMode:
on
*VT100*color13: magenta
*VT100*color6: cyan3
...
|
X-Ressourcen können mit * abgekürzt werden. So färbt xterm -xrm "xterm*background: red" sämtliche Fensterteile (Widgets) des Xterms rot ein.
Natürlich ist -xrm "..." auf der Kommandozeile nicht der Königsweg zur
Übergabe von X-Ressourcen. Praktischerweise werden X-Ressourcen in
betimmten Dateien hinterlegt:
- individuell pro Anwender unter seinem Home-Verzeichnis in der Datei
~/.Xdefaults
- global in einer Datei pro Anwendung, den sog. Application Defaults.
Die Application Defaults tragen die gleichen Dateinamen wie die oben
erwähnten Window-Klassen (mit Großbuchstaben beginnend) und liegen im
Verzeichnis /usr/share/X11/app-defaults/ (in älteren Linux-Distributionen und auf anderen UNIX-Varianten in /usr/lib/X11/app-defaults/ ).
|