|
|
Der X-Client und seine BibliothekenEin X-Client ist jedes Programm, das für X geschrieben wurde. Aus der Sicht des Programmierers unterscheidet sich die Programmierung einer Anwendung für X nicht grundlegend von der für MS Windows oder für Macintosh. Die mögliche Netzverteilung, die Konfigurierbarkeit und vieles mehr übernehmen die Bibliotheken, die beim Erstellen des Programmes eingebunden werden.
Xlib und X Toolkit Intrinsics
Einer Anwendung, also einem X-Client, ist die Kommunikation mit dem X-Server,
die ja auch über das Netz gehen kann, vollkommen verborgen. Diese Leistung
erbringt die Bibliothek Xlib. Die Xlib
enth"alt alle Bestandteile, die zu einer normalen Grafikschicht geh"oren.
Alle Grafikausgaben werden "uber das X-Protokoll an den X-Server versandt.
Die Xlib verf"ugt darüber hinaus "uber einige Objekte. So kennt die Xlib
beispielsweise Fenster und Mauszeiger. Allerdings sind die Fenster des Xlib
nicht viel mehr als Rechtecke, die die Ereignisse empfangen, die in ihren
Grenzen ausgelöst werden.
Es ist m"oglich, Applikationen zu schreiben, die allein auf der
Xlib basieren. Ein Beispiel daf"ur ist
Die Toolbox Intrinsics ist eine Bibliothek, die auf der Xlib aufsetzt und die Verwaltung von Widgets "ubernimmt. Sie stellt selbst kein Widget-Set zur Verf"ugung, sondern nur das Grundgerüst und die Grundfunktionen zur Erstellung eines Sets. Daneben verwaltet sie die Eigenschaften der Widgets und stellt dem Anwendungsprogrammierer die Funktionen zum Erzeugen, Darstellen und Entfernen von Widgets zur Verf"ugung. Eine Aufgabe der Toolbox liegt in der Verwaltung der Eigenschaften von Widgets. Diese so genannten Ressourcen betreffen Farbe, Ausdehnung, Beschriftung und Ereignisausl"osung. Sie k"onnen durch frei editierbare Dateien, die so genannten Ressourcedateien, ver"andert werden. Die Verwaltung dieser Einstellungen wird durch die Intrinsics "ubernommen.
Widget SetsEin Widget Set ist sozusagen der Satz von Bausteinen, aus denen ein X-Programm zusammengesetzt wird. Sichtbar wird ein Widget Set vor allem an den Kontrollelementen. Das Aussehen der Kontrollelemente hat einen erheblichen Einfluss auf den Gesamteindruck der Applikation. Das Widget Set und die darunter liegenden Bibliotheken liegen normalerweise als dynamische Libraries auf dem Rechner. Motif war einige Zeit der Standard für kommerzielle X-Anwendungen. Man fand Motif auf jedem relevanten UNIX System. Lediglich unter Linux ist es selten vorhanden, da Lizenzgebühren anfallen. Dennoch kann man Motif-Programme auch unter Linux laufen lassen, wenn der Programmierer die Library statisch zum Programm bindet. Dadurch werden die Programme natürlich sehr groß und unhandlich. Das Athena Widget Set ist eines der ältesten Widget Sets, aber es hat den Vorteil, auf jedem X-Window-System kostenlos verfügbar zu sein. Aus diesem Grund sind vor allem die grundlegenden Programme oft mit diesem Widget Set erstellt. Leider ist das Widget Set sehr einfach und lässt viele Kontrollelemente vermissen. Dazu kommt ein für den heutigen Geschmack sehr tristes Aussehen. Unter Linux gibt es eine Variante des Athena Widget Set, die mit dem heute üblichen 3D-Effekt verschönert wurde. Alle Programme, die den Athena Widget Set verwenden, erhalten dieses Aussehen, wenn dieser Set installiert ist.
Als das Athena Widget Set in die Jahre gekommen war, schlossen sich einige
UNIX-Hersteller zusammen, um einen kommerziellen Standard für ein Widget
Set zu schaffen. Das Ergebnis war Motif. Motif ist nicht nur wesentlich
eleganter im Aussehen, es brachte auch neue Kontrollelemente mit, die man
beim Athena Widget Set schmerzlich vermisste.
Vor allem aber hatte Motif eine andere Benutzerphilosophie. Mit Motif wurde
die Bedienung von X an die des Macintosh und damit die von MS Windows angepasst.
Motif war allerdings lizenzpflichtig, was dazu führte, dass es unter
Linux nur für diejenigen eine Rolle spielte, die kommerzielle Software
entwickelten und eine preiswerte Entwicklungsumgebung brauchten.
Ein Beispiel für das Aussehen einer typischen Motif-Anwendung ist das HP-UX
Administrationstool Die Widget Sets sind also dafür verantwortlich, dass manche Anwendungen ganz andere Buttons besitzen als andere. Auch die Tatsache, dass sich bei manchen Programmen die Rollbalken völlig anders bedienen lassen, geht auf unterschiedliche Widgets zurück.
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|