X-Toolkits
X-Applikationen

X-Ressourcen

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:

  1. individuell pro Anwender unter seinem Home-Verzeichnis in der Datei
    ~/.Xdefaults
  2. 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/).
X-Toolkits
     ©2005, 2007 Andreas Gottwald
X-Ressourcen