Screen | Korrektur von Fehlern von X Window Clients und Servern Meta-Screen

# Screen

Screens beschreiben die vorhandenen, realen Einheiten, die den virtuellen Meta-Screens zugeordnet werden.

Die Anweisungen

    screen Name
    window Name

vereinbaren Screens vom Typ screen (Screen vom Typ screen) beziehungsweise window (Screen vom Typ window), wobei der Name frei gewählt werden kann.

Werden keine Screens angegeben, versucht das xmetax-Programm, den Screen mit der Display-Bezeichnung :1.0 zu kontrollieren. Sollen zwei oder mehrere Screens kontrolliert werden, sind sie explizit zu konfigurieren.

Die konfigurierten Screens müssen nicht alle zu einem einzigen X Window Server gehören. Mit der Option DynamicServer (Dynamische Konfiguration) können Screens sogar nachträglich hinzugefügt oder entfernt werden. Differierende Eigenschaften und Fähigkeiten der beteiligten X Window Server werden automatisch abgeglichen (Gemeinsame Ressourcen und Eigenschaften).

Mehrere X Window Server bedeuten auch mehrere Tastaturen und Mäuse. Die Sub-Anweisung input (Eingabequelle) bestimmt die Quelle von Eingabe-Ereignissen. Muß ein X Window Server an eine spezielle Tastatur angepaßt werden, kann dies mit der Sub-Anweisung keyboardMapping geschehen (Tastaturbelegung).

Wenn mehrere X Window Server konfiguriert werden, müssen alle mindestens eine der Protokoll-Erweiterungen DEC-XTRAP, XTEST und XTestExtension1 unterstützen.

Die screen-Anweisung wie auch die window-Anweisung(Screen vom Typ window) leitet Sub-Anweisungen ein, die weitere Eigenschaften des Screens bestimmen.

Mit der Sub-Anweisung

        display Display-Bezeichnung

wird das Display angegeben, auf dem der Screen angezeigt werden soll. Das Format der Display-Bezeichnung ist wie bei X11:

    [Protokoll/][Rechnername]:Display-Nummer[.Screen-Nummer]

Wenn kein Protokoll angegeben wird, wählt der XmetaX-Proxy den schnellsten verfügbaren Transportmechanismus. Voreingestellt ist der Name des Screens.

Die Sub-Anweisung

        connectTimeout Zeitspanne

bestimmt die Zeitspanne (Zeitpunkte und Zeiträume), innerhalb der das xmetax-Programm versucht, eine Verbindung zu dem entsprechenden X Window Server aufzubauen. Konnte die Verbindung innerhalb der Zeitspanne (voreingestellt: 20 Sekunden) nicht aufgebaut werden und ist die Ausfallsicherheit (Ausfallsicherheit) nicht konfiguriert oder hat der Screen das Screen-Merkmal static (Screen-Merkmale), bricht das xmetax-Programm ab.

Die Sub-Anweisung

        delete

entfernt einen Screen aus der Konfiguration.

## Arten von Screens

Es gibt zwei unterschiedliche Arten von Screens, Hardware-Screens und — unter Verwendung der Option InWindow (Options) — X11-Fenster.

### Screen vom Typ screen

Die Anweisung

    screen Name

vereinbart einen Screen vom screen-Typ, wobei der Name frei gewählt werden kann.

Ein Bildschirm wird vom XmetaX-Proxy vollständig kontrolliert, ebenso alle anderen Bildschirme des X Window Servers. Außerdem dürfen sich X Window Clients nur durch den Proxy anschließen. Dieser übernimmt also die volle Kontrolle über den X Window Server.

### Screen vom Typ window

Die Option InWindow (Optionen) ermöglicht es, einen Screen in einem X11-Fenster zu betreiben.

Die Anweisung

    window Name

vereinbart einen Screen vom window-Typ, wobei der Name frei gewählt werden kann.

Der Screen wird in einem X11-Fenster dargestellt. Dabei verhält sich der Proxy vollkommen kooperativ, stört also andere Clients des gastegebenden X Window Servers nicht. Ein solcher Screen kann auf zwei Arten verwendet werden:

Der Screen kann in eine bestehende X11-Sitzung integriert werden. Das Fenster wird dann vom Windowmanager der Sitzung kontrolliert. Die Position und Größe des Screen-Fensters können mit dem Windowmanager kontrolliert werden. Allerdings kann erst mit der Option DynamicServer (Dynamische Konfiguration) ein Screen-Fenster über den Windowmanager geschlossen, der entsprechende Screen also aus der Konfiguration entfernt werden. Dies passiert auch, wenn die X11-Sitzung ordnungsgemäß beendet wird, ICCCM-gemäße Session- und Windowmanager vorausgesetzt. Bricht die Sitzung unvorhergesehen ab, beendet sich auch der XmetaX-Proxy, wenn nicht die Ausfallsicherheit (Ausfallsicherheit) konfiguriert wurde.

Der Screen kann ohne kontrollierenden Windowmanager verwendet werden, etwa wenn die Beschränkungen des Screens vom screen-Typ zu stark sind (Screen vom Typ screen). Der XmetaX-Proxy übernimmt dann einige Aufgaben eines Windowmanagers, wenn der Screen das notManaged Screen-Merkmal hat (Screen-Merkmale).

## Zuordnung zwischen Screen und Meta-Screen

Jeder Screen muß einem Meta-Screen (Meta-Screen) zugeordnet sein. Wird ein Screen ohne die Sub-Anweisung

        ofMetaScreen Name_eines_Meta-Screens

spezifiziert, gehört er zum zuletzt definierten Meta-Screen.

## Dynamische Konfiguration

Die Option DynamicServer (Optionen) erlaubt das Hinzufügen und Entfernen von X Window Servern zur Laufzeit.

Screens können mit Hilfe des Konfigurationsprogramms xmetaxtool (XmetaXtool: Konfiguration mit grafischer Benutzeroberfläche) zur Laufzeit aus der Konfiguration entfernt oder hinzugefügt werden.

Beim Start des XmetaX-Proxys muß mindestens ein Screen konfiguriert sein. Durch Hinzufügen eines weiteren Screens darf die Schnittmenge der gemeinsamen Ressourcen und Fähigkeiten aller Server nicht kleiner oder schlechter werden.

Wenn beim Start des XmetaX-Proxys nicht alle potentiellen Screens zumindest kontaktiert werden können, müssen die gemeinsamen Ressourcen und Fähigkeiten vorab definiert werden (Gemeinsame Ressourcen und Eigenschaften).

### Priorität

Ein xmetax-Programm kann von einem zweiten von einem Screen verdrängt werden. Dabei wird der Screen automatisch aus der Konfiguration des ersten XmetaX-Proxy entfernt und in die neue Konfiguration aufgenommen. Dies ist zum Beispiel dann sinnvoll, wenn ein besonderer Screen, etwa ein Wand-Display, wechselnden Meta-Screens interaktiv zugeordnet werden soll.

Dazu weist der XmetaX-Proxy jedem Screen — eigentlich jedem kontrollierten X Window Server — einen Prioritätswert zu. Soll ein Screen in einen anderen Meta-Screen aufgenommen werden, wird er nur dann freigegeben, wenn er eine höhere Priorität erhält. Damit der ganze Vorgang nicht eskaliert, kann die Priorität sofort wieder heruntergesetzt werden.

Die Screen-Sub-Anweisung

        priority Priorität [spätere_Priorität]

spezifiziert diese beiden Prioritätswerte. Die Voreinstellung beträgt 0 für beide Werte, das heißt die Verdrängung ist nicht möglich.

### Ausfallsicherheit

Der XmetaX-Proxy mit der Option Failsafe (Optionen) erkennt den Ausfall eines X Window Servers, bricht die Verbindungen zu ihm ab und entfernt seine Screens automatisch aus der Konfiguration. Die X Window Clients werden dabei nicht beeinflußt.

Der XmetaX-Proxy ist natürlich nur dann tatsächlich ausfallsicher sein, wenn das xmetax-Programm und damit auch der Ressourcemanager auf einem ausfallsicheren Computer ausgeführt werden.

Die Screen-Sub-Anweisung

        failsafeTimeout Zeitspanne

bestimmt die Zeitspanne (Zeitpunkte und Zeiträume), innerhalb der der X Window Server auf X11-Anweisungen reagieren muß, bevor er als ausgefallen betrachtet wird. Der voreingestellte Wert beträgt 20 Sekunden.

## Emulation von Visuals

Die Option VisEmu (Optionen) emuliert PseudoColor Visuals der Tiefen 4 und 8 auf einem 24 Bit tiefen TrueColor Visual. Damit ist es möglich, X Window Clients, die für ältere Grafiksysteme geringerer Tiefen entwickelt wurden, auf moderner Hardware, die meistens nur die Tiefe 24 anbietet, darzustellen.

Die Sub-Anweisung

      emulateVisual {PseudoColor4|PseudoColor8|none}...

schaltet die Emulation eines bestimmten Visuals ein oder schaltet die Emulation vollständig ab (voreingestellt).

## Ressourcemanager

Wenn nicht je Meta-Screen mindestens ein Screen das Screen-Merkmal static (Screen-Merkmale) hat, kann der XmetaX-Proxy auch so konfiguriert werden, daß er keinen realen X Window Server kontrolliert. Dies ist auch der Fall, wenn alle Screens eines Meta-Screens vom window-Typ sind. Um in diesen Fällen die X11-Ressourcen — Fenster, Pixmaps, Zeichensätze, etc. — unabhängig von X Window Servern zu verwalten, wird auf dem Computer, auf dem der XmetaX-Proxy läuft, der virtuelle X Window Server xvx gestartet. Bezogen auf Ressourcen kann man sich diesen Ressourcemanager als weiteren X Window Server vorstellen. Er muß und kann jedoch nicht explizit konfiguriert werden.

Der Ressourcemanager bekommt unabhängig von der Konfiguration stets die Screen-Merkmale atom, color, doNotEnter, glx, image und static (Screen-Merkmale). Dies hat Konsequenzen für die Auflösung von Farbnamen, die immer über die Farbdatenbank im Verzeichnis /etc/opt/XSOXmetaX/rgb/ erfolgt. Soll die Umsetzung von Farbnamen genau der eines bestimmten X Window Servers entsprechen, kann die Umgebungsvariable $COLOR_DATABASE_FILE des Shell-Skripts xvx (normalerweise /opt/XSOXmetax/bin/xvx) auf der Kommandozeile entsprechend gesetzt oder in der Datei geändert werden.

Wenn der Ressourcemanager läuft, kann die Option GLXplus (Option GLXplus: GLX-Tunnel für OpenGL) nicht verwendet werden.

Die Ausführung des Ressourcemanagers kann mit dem Screen-Merkmal static (Screen-Merkmale) verhindert werden.

## Position eines Screens

Ein Screen kann innerhalb der Anzeigefläche seines Meta-Screens (Größe eines Meta-Screens) frei positioniert werden, und zwar relativ zu einem anderen Screen des selben Meta-Screens oder absolut. Außerdem kann der Screen auch der Bewegung des Mauszeigers folgen (Variable Position eines Screens).

Die relative Position wird ähnlich wie bei Meta-Screens mit Sub-Anweisungen angegeben:

        northOf|northEastOf|eastOf|sourthEastOf|southOf|southWestOf|westOf|northWestOf|sameAs
            Name_eines_Screens
            [horizontaler_Versatz_in_Pixeln vertikaler_Versatz_in_Pixeln]

Die Angabe sameAs bedeutet, daß die beiden genannten Screens an der selben Stelle des Meta-Screens positioniert sind, dort also den selben Inhalt anzeigen. Es sind also durchaus teilweise oder vollständige Überlappungen möglich. Zyklische Definitionen sind nicht erlaubt. Die Versatz-Parameter sind mit dem Wert 0 vorbelegt. Wird keine relative Positionierung angegeben, wird der Screen rechts vom vorhergehenden angeordnet, bis auf den ersten des Meta-Screens.

Mit den Sub-Anweisungen

        clipX horizontale_Position_in_Pixeln
        clipY vertikale_Position_in_Pixeln

wird ein Screen relativ zum Ursprung der Anzeigefläche, also der linkten oberen Ecke, des Meta-Screens positioniert. Ist nur einer der beiden Parameter angegeben, bekommt der jeweils andere den Wert 0.

Die Option Vario (Vergrößerung oder Verkleinerung eines Screens) ermöglicht es, den dargestellten Ausschnitt des Meta-Screens zu definieren und ihn damit auch zu vergrößern oder zu verkleinern.

Screens müssen stets vollständig innerhalb der Anzeigefläche des zugeordneten Meta-Screens enthalten sein. Daher wird bei der Initialisierung jeder Screen zu nicht negativen Koordinaten verschoben und jeder Meta-Screen rechts und unten so vergrößert, daß er alle zugeordneten Screens umfaßt.

In den meisten Fällen sind keine Probleme zu erwarten, wenn ein Meta-Screen nur teilweise dargestellt wird. Allerdings ist die totale Konformität mit dem X11-Protokoll nur dann gesichert, wenn die Anzeigefläche des Meta-Screens vollständig mit Screens abgedeckt und tatsächlich sichtbar ist. Bereiche, die nicht angezeigt werden, können mit der Maus nicht erreicht werden, außer mit variabler Positionierung eines Screens (Variable Position eines Screens). Außerdem zeigen manche X Window Clients Fehler, wenn sie in nicht sichtbare Bereiche zeichnen sollen (Aktives Zeichnen) (Ignorieren von Expose-Ereignissen).

## Variable Position eines Screens

Ein Screen kann so konfiguriert werden, daß er den Bewegungen des Mauszeigers folgt. Die Sub-Anweisungen zur Definition der Position (Position eines Screens) bestimmen dann die Anfangsposition des Screens.

Mit den Sub-Anweisungen

        followPointerX horizontale_Schrittweite_in_Pixeln
        followPointerY vertikale_Schrittweite_in_Pixeln

wird bestimmt, ob und mit welcher Schrittweite der Screen der Bewegung des Mauszeigers folgen soll. Die Voreinstellung von 0 für beide Parameter bedeutet feste Positionierung. Ist nur eine Schrittweite ungleich 0, so gilt sie für beide Richtungen.

Wenn die Maus an einem Bildschirmrand anstößt, wird die Anzeigefläche des Screens auf der virtuellen Fläche des zugeordneten Meta-Screens in Bewegungsrichtung verschoben, sofern nicht ein fix positionierter Screen direkt erreicht werden kann. Wenn für mehrere Screens vom screen-Typ eines Meta-Screens eine Schrittweite definiert ist, bewegen sich alle diese Screens gemeinsam, ohne die relative Position zueinander zu verändern.

Die Sub-Anweisung

        followPointerMode continuous|jump

bestimmt die Art der Maus- und Screen-Bewegung:

Bei der Voreinstellung continuous bleibt die logische Zeigerposition am Screen-Rand, und der Screen wird solange verschoben bis der Zeiger in die Gegenrichtung bewegt wird.

Bei jump wird der Zeiger automatisch an seine logische Position zurückbewegt und die Verschiebung des Screens sofort beendet.

Die Sub-Anweisung

        followPointerRestrict {shift|lock|control
            |mod1|mod2|mod3|mod4|mod5|none}...

bewirkt, daß der Screen nur dann der Mausbewegung folgt, wenn bestimmte Modifier-Tasten oder mindestens ein Maus-Knopf gedrückt sind. Damit werden unbeabsichtigte Screen-Bewegungen vermieden. Diese Beschränkung ist per Voreinstellung ausgeschaltet.

## Größe eines Screens

Die Anzeigefläche eines Screens kann kleiner sein als die des entsprechenden Bildschirms. Dies ermöglicht etwa die regelmäßige Anordnung unterschiedlich großer Bildschirme in einem Meta-Screen. Die nicht benutzten Bereiche des Bildschirms werden vom X Window Server kontrolliert, können jedoch mit Hilfe der Sub-Anweisung borderWidth (Breite des Rahmens eines Screens) schwarz dargestellt werden. Die Lage und die Größe der sichtbaren Fläche werden mit den Sub-Anweisungen

        displayX horizontale_Position_in_Pixeln
        displayY vertikale_Position_in_Pixeln
        displayWidth Breite_in_Pixeln
        displayHeight Höhe_in_Pixeln
        displayGeometry BreitexHöhe
            [+horizontale_Position+vertikale_Position]

bestimmt. Die voreingestellten Werte 0 für alle skalaren Parameter beziehungsweise 0x0+0+0 für displayGeometry bedeuten, daß die Anzeigefläche den Bildschirm ausfüllt. Da der XmetaX-Proxy auf jedem Screen einen mindestens einen Pixel breiten Rahmen benötigt (Breite des Rahmens eines Screens), sind die Höchstwerte für Breite und Höhe bei einem Screen vom screen-Typ jeweils um zwei Pixel kleiner als die tatsächlichen Dimensionen des Monitors, also zum Beispiel 1278×1022 statt 1280×1024 Pixel.

Wenn die Werte der Parameter displayWidth und displayHeight negativ sind, werden ihre Absolutwerte von den entsprechenden — unter Berücksichtigung der Parameter displayX und displayY — maximal möglichen Werten für Breite und Höhe abgezogen.

## Vergrößerung oder Verkleinerung eines Screens

Die Option Vario (Optionen) ermöglicht es, den dargestellten Ausschnitt des Meta-Screens zu definieren und ihn damit auch zu vergrößern oder zu verkleinern.

Die Screen-Sub-Anweisungen

        clipX horizontale_Position_in_Pixeln
        clipY vertikale_Position_in_Pixeln
        clipWidth Breite_in_Pixeln
        clipHeight Höhe_in_Pixeln
        clipGeometry BreitexHöhe
            [+horizontale_Position+vertikale_Position]

bestimmen den Bereich des Meta-Screens, der auf dem Screen dargestellt werden soll. Dabei können die horizontale und die vertikale Dimension unabhängig voneinander skaliert werden. Alle X11-Ressourcen werden entsprechend verkleinert oder vergrößert. Insbesondere bei gebrochenen Skalierungsfaktoren empfiehlt sich die Verwendung von skalierbaren Zeichensätzen.

Die voreingestellten Werte 0 für alle skalaren Parameter beziehungsweise 0x0+0+0 für clipGeometry bedeuten, daß die Parameter displayWidth beziehungsweise displayHeight (Größe eines Screens) übernommen werden, der Screen also nicht skaliert wird.

Wenn der Inhalt des Screens skaliert wird, bestimmt die Screen-Sub-Anweisung

        minimumTextSize Höhe_in_Pixeln

die kleinste Zeichensatzhöhe für Textausgaben. Texte in kleineren Zeichensätzen werden als Rechtecke angezeigt. Die Voreinstellung 0 bedeutet, daß Text immer normal dargestellt wird.

## Drehen eines Screens

Die Option Vario (Optionen) ermöglicht es, einen Screen zu drehen.

Die Screen-Sub-Anweisungen

        rotate|rotation 0|none
        rotate|rotation 90|quarter|oneQuarter [noPointer]
        rotate|rotation 180|half|twoQuarter|twoQuarters [noPointer]
        rotate|rotation 270|threeQuarter|threeQuarters [noPointer]

drehen den Inhalt eines Screens gegen den Uhrzeigersinn um 0 Grad (voreingestellt), 90 Grad, 180 Grad oder 270 Grad. Alle X11-Ressourcen werden entsprechend gedreht. Die Bewegungen von Zeigergeräten werden entsprechend angepaßt, falls nicht noPointer nicht ist. Einige X Window Server erfordern zusätzliche Konfiguration für sanfte Zeigerbewegung (Konfiguration der X Window Server).

## Breite des Rahmens eines Screens

Im einfachen Fall von regulär angeordneten Bildschirmen gleicher Dimensionen (gemessen in Pixeln) nur eines X Window Servers muß der XmetaX-Proxy den Mauszeiger nicht kontrollieren und kann auf den X Window Server vertrauen (Anordnung der Bildschirme). In allen anderen Fällen ist jeder Screen umgeben von einem schwarzen Rahmen von mindestens einem Pixel Breite.

Die Sub-Anweisung

        borderWidth Breite_in_Pixeln

bestimmt die Breite des Rahmen. Der voreingestellte Wert von -1 läßt den XmetaX-Proxy selbst entscheiden, ob der Screen einen Rahmen (der Breite 1) benötigt oder nicht.

Der Rahmen befindet sich außerhalb der durch die Parameter displayX, displayY, displayWidth und displayHeight (Größe eines Screens) definierten Anzeigefläche.

## GLXplus

Die Sub-Anweisung

        glxPlus [on|off]

schaltet die GLXplus-Funktionalität zur OpenGL-Hardwarebeschleunigung ein oder aus (Voreinstellung) (Option GLXplus: GLX-Tunnel für OpenGL), und leitet Sub-Sub-Anweisungen ein, welche die Option weiter konfigurieren.

Die Sub-Sub-Anweisung

            libraryPath Dateiname[{:Dateiname}...]

spezifiziert, wie die OpenGL-Bücherei gefunden werden soll. Eine Bücherei kann durch einen voll qualifizierten Pfad zu einer Datei, einen voll qualifizierten Pfad in dem nach einer passenden Bücherei gesucht werden soll, oder eine Datei die im voreingestellten Bücherei-Suchpfad gesucht wird angegeben werden. Die zuerst gefundene und gültige Bücherei wird verwendet. Der voreingestellte Wert von GL sucht im Voreingestellten Bücherei-Suchpfad nach einer Datei, welche die Zeichenkette GL enthält.

X Window Clients die OpenGL verwenden müssen mit Hilfe des glxPlus-Skripts gestartet werden.

## Eingabequelle

Die Sub-Anweisung

        input [on|off]

leitet Sub-Sub-Anweisungen ein, die die Eingabe für den Screen konfigurieren. Außerdem kann die Quelle der Eingaben umgeschaltet werden. Wird für einen Screen input eingeschaltet, empfängt der XmetaX-Proxy alle Eingaben nur von dem entsprechenden X Window Server.

Wird der input-Screen zur Laufzeit geändert, werden die Belegungen der Tastatur und des Zeigergeräts geändert, und alle X Window Clients erhalten die entsprechenden MappingNotify-Ereignisse. Dies ermöglicht die wechselweise Verwendung von Tastaturen mit unterschiedlicher Belegung, zum Beispiel um mehrere Sprachen zu unterstützen.

Die Sub-Sub-Anweisung

            clickTransfer on|off

ermöglicht oder verhindert (Voreinstellung), daß die Quelle der Eingabeereignisse durch einen einfachen Mausklick auf dem entsprechenden Screen umgeschaltet werden kann. Der Screen, der die Eingabefähigkeit erhält, und der sie abgebende Screen benötigen beide diese Konfigurationsanweisung.

### Mauszeiger

Die Sub-Anweisung

        pointer [on|off]

leitet Sub-Sub-Anweisungen ein, die den Mauszeiger für den Screen konfigurieren. Außerdem kann das Abbild des Mauszeigers eingeschaltet (voreingestellt) oder ausgeschaltet werden. Allerdings läßt sich das Mauszeigerabbild auf dem Eingabe-Server (Eingabequelle) nicht abschalten.

Die Sub-Sub-Anweisung

            allowEnter on|off

erlaubt (voreingestellt) oder verhindert, daß der Mauszeiger den Screen betritt.

Wenn der XmetaX-Proxy mehrere X Window Server kontrolliert, sind oft Mausbewegungen von dem Eingabe-Server (Eingabequelle) an einen anderen Server zu senden. Ist dabei der input-Server wesentlich leistungsstärker als der andere Server, kann es vorkommen, daß das Abbild des Mauszeigers "nachläuft". Die Sub-Sub-Anweisung

            sampleRate Anzahl_der_Bewegungen_pro_Sekunde

beschränkt die Anzahl der innerhalb einer Sekunde übermittelten Mauszeiger-Bewegungen. Der voreingestellte Wert 0 bedeutet, daß alle Bewegungen gesendet werden.

Bestimmte Kombinationen von X Window Servern bewirken ruckhafte Bewegungen der Zeiger-Abbilder auf entfernten Servern. Die Sub-Sub-Anweisung

            sync on|off

bestimmt, ob jeder Befehl zur Bewegung des Zeigers sofort gesendet wird oder nicht (voreingestellt).

Die Sub-Sub-Anweisungen

            wrapX on|off
            wrapY on|off

bestimmen, ob der Mauszeiger beim Anstoßen am sichtbaren Rand des entsprechenden Meta-Screens zum horizontal beziehungsweise vertikal gegenüberliegenden Rand positioniert werden soll oder nicht (voreingestellt).

Die Sub-Sub-Anweisung

            zoom Faktor

definiert einen ganzzahligen Vergrößerungsfaktor, der auf alle Abbilder des Mauszeigers eines Screens angewandt wird. Der dabei verwendete Glättungsalgorithmus liefert mit Zweierpotenzen als Faktoren die besten Resultate. Die Voreinstellung des Faktors beträgt 1. Manche X Window Server schneiden zu große Cursorbilder ab oder stellen sie sogar falsch dar.

### Tastaturbelegung

Die Sub-Anweisung

        keyboardMapping Name_der_Datei_mit_Tastaturbelegung

bestimmt den Namen einer Datei im xmodmap-Format, die eine Tastaturbelegung beschreibt, die bei der ersten Konfiguration eines Screens und bei jeder Server-Reinitialisierung in den entsprechenden X Window Server geladen wird. Damit kann der X Window Server an spezielle Tastaturen angepaßt werden.

Die Datei kann mit dem Kommando

    /opt/XSOXmetaX/bin/makeKeyboardMapping
        [-display Display-Bezeichnung_des_realen_Screens]
        [-xmodmap Name_des_xmodmap-Programms]

erstellt werden. Dabei darf das xmetax-Programm nicht laufen. Die voreingestellten Werte für -display und -xmodmap sind :0.0 beziehungsweise /opt/XSOXmetaX/bin/xxmodmap (Konfiguration).

### Selections

Selections dienen meist der Kommunikation zwischen X Window Clients über einen X Window Server, etwa um cut&paste-Daten zu übertragen.

The Sub-Anweisung

        selectionSync on|off [refresh]

läßt den XmetaX-Proxy die Selections der kontrollierten X Window Server synchronisieren (voreingestellt off). Im Falle von Problemen mit bestimmten X Window Servern kann das Argument refresh helfen.

## Screen-Merkmale

Screen-Merkmale können für jeden Screen getrennt ein- oder ausgeschaltet werden, indem eine Liste (Listen) von Tags konfiguriert wird.

Wenn das xmetax-Programm X11-Anweisungen umsetzt, werden diese meist an mehrere Screens eines Meta-Screens gesendet. Mit der ersten Gruppe von Screen-Merkmalen

        tags {[+|-]atom|[+|-]color|[+|-]font|[+|-]glx|[+|-]image|none}...

können dennoch einzelne Screens oder X Window Server ausgezeichnet werden:

An den Atom-Screen (atom) werden sämtliche Anweisungen gesendet, die mit den X Window Begriffen Atom, Property und Selection zusammenhängen.

Der Color-Screen (color) dient zur Auflösung von Farbnamen. Jeder Meta-Screen hat einen eigenen Color-Screen.

An den Font-Screen (font) werden sämtliche Anweisungen gerichtet, die Informationen über Zeichensätze liefern sollen.

An den GLX-Screen (glx) werden bestimmte Anweisungen der GLX-Protokoll-Erweiterung gerichtet.

Der Image-Screen (image) bestimmt das Bilddaten-Format (Bit- und Byte-Anordnung, etc.) des virtuellen Servers.

Wenn der XmetaX-Proxy nur einen X Window Server kontrolliert, sind diese Merkmale hier meist nicht relevant. Die Voreinstellungen (meist erster Screen beziehungsweise erster Screen eines Meta-Screens) genügen.

Sonst sollte man jeweils einen Screen wählen, dessen X Window Server die entsprechende Aufgabe am besten erfüllen kann. So sollte über den Font-Screen möglichst ein X Window Server gewählt werden, der keinen entfernten Font-Server benötigt, um Informationen über Zeichensätze zu erhalten.

Als Color-Screen muß der Screen mit der geringsten Farbauflösung ("significant bits in color specification") gewählt werden. Weist nur einer der Screens nur statische Visuals (StaticGray, StaticColor oder DirectColor) auf, sollte dieser als Color-Screen bestimmt werden.

Die Screen-Merkmale atom, font und image werden zwar in der Screen-Sub-Anweisung spezifiziert, betreffen aber eigentlich den X Window-Server, der den jeweiligen Screen darstellt.

Wird der XmetaX Ressourcemanager über eine der Optionen DynamicServer und InWindow automatisch gestartet (Ressourcemanager), bekommt er unabhängig von der Konfiguration stets die Screen-Merkmale atom, color und font.

Die Screen-Merkmale atom, color und font können nur auf Screens vom screen-Typ angewandt werden.

Die Screen-Merkmale

        tags {[+|-]iconify|[+|-]notManaged|[+|-]onTop|[+|-]overlay|none}...

bestimmen weitere Eigenschaften eines window-Screens (Screen vom Typ window):

Ein Screen mit dem Screen-Merkmal iconify wird minimiert, also als Icon dargestellt.

Für einen Screen mit dem Screen-Merkmal notManaged übernimmt der XmetaX-Proxy bestimmte Aufgaben eines Windowmanagers, wie zum Beispiel die Installation der korrekten Colormap. Hat der Screen außerdem das Screen-Merkmal overlay, kann er durch Bewegen des Screen-Randes mit der Maus positioniert werden.

Ein Screen mit dem onTop-Merkmal wird zu oberst dargestellt, so daß er von keinem anderen Fenster verdeckt wird.

Wenn ein Screen vom window-Typ über einem Screen vom screen-Typ — diesen also teilweise verdeckend — dargestellt werden soll und beide Eingabeereignisse erhalten sollen, muß der obere Screen das Screen-Merkmal overlay erhalten. Es sorgt dafür, daß die Eingabeereignisse stets an den richtigen Screen geleitet werden. Ist außerdem das Screen-Merkmal notManaged konfiguriert, kann der window-Screen durch Bewegen des Screen-Randes mit der Maus positioniert werden.

Nur die Screen-Merkmale iconify und onTop können zur Laufzeit des xmetax-Programms geändert werden.

Die anderen Screen-Merkmale

        tags {[+|-]optimizedDraw||+|-]probeOnly|[+|-]serverFonts
            |[+|-]static
            |[+|-]staticDisplay|[+|-]zoomedFonts|none}...

bestimmen weitere Eigenschaften eines Screens:

optimizedDraw bestimmt, daß gewisse Optimierungen bei Zeichenoperationen immer durchgeführt werden. Anderenfalls — dies ist voreingestellt — bestimmt der XmetaX-Proxy selbständig, ob diese Optimierungen ohne Verletzung des X11-Protokolls durchgeführt werden können.

Ein mit probeOnly gekennzeichneter Screen wird beim Start des XmetaX-Proxys nur zur Bildung der Schnittmenge der Ressourcen und Eigenschaften (Gemeinsame Ressourcen und Eigenschaften) sowie der Berechnung der Größe der Meta-Screens (Größe eines Meta-Screens) verwendet und dann aus der aktuellen Konfiguration entfernt. Damit können schon beim Start erst zukünftig zu kontrollierende Screens berücksichtigt werden.

Kontrolliert der XmetaX-Proxy mehrere X Window Server, dann werden die Zeichensätze des Servers mit dem font-Merkmal auch zur Textdarstellung auf den anderen Screens verwendet. Das Screen-Merkmal serverFonts bestimmt, daß die lokalen Zeichensätze des entsprechenden Servers verwendet werden sollen. Dann müssen jedoch die voreingestellten Fontpfade wie auch die Inhalte der Verzeichnisse zwischen den Servern übereinstimmen. Da unterschiedliche X Window Server sogar identische Zeichensatz-Dateien verschieden behandeln, empfiehlt sich bei einer heterogenen Konfiguration der Einsatz eines X Font-Servers. Damit erfolgt die Umwandlung der Zeichensatz-Daten in das Anzeigeformat für alle beteiligten X Window Server an einer zentralen Stelle, im Font-Server, so daß selbst skalierte Zeichensätze auf allen X Window Servern einheitlich dargestellt werden.

static bestimmt, daß der Screen trotz DynamicServer-Option nicht aus der Konfiguration entfernt werden können soll. Damit kann die Verwendung des XmetaX Ressourcemanagers (Ressourcemanager) verhindert werden.

Wenn der Ausschnitt des Meta-Screens, den der Screen darstellt, in Position und Größe unverändert bleibt, kann das staticDisplay-Merkmal einige Optimierungen hinsichtlich Speicherbedarf der X Window Server bewirken.

Kontrolliert der XmetaX-Proxy mehrere X Window Server und ist das Screen-Merkmal serverFonts gesetzt, bestimmt das Merkmal zoomedFonts, ob der Proxy selbst Zeichensätze skalieren soll oder in Abhängigkeit von den Skalierungsfaktoren größere oder kleinere Zeichensätze gewählt werden sollen. Die erste, voreingestellte Methode ist performanter, die zweite Methode ergibt in der Regel visuell ansprechendere Resultate.

Nur das Screen-Merkmal optimizedDraw kann zur Laufzeit des xmetax-Programms geändert werden.

Nach oben
Korrektur von Fehlern von X Window Clients und Servern
Meta-Screen

Copyright © 2021 X-Software GmbH
info@x-software.com