Screen

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

Die Anweisung

screen Name

vereinbart einen Screen, wobei der Name frei gewählt werden kann.

Ein Bildschirm wird vom XbigX-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.

Werden keine Screens angegeben, versucht das xbigx-Programm, die beiden Screens mit den Display-Bezeichnungen :1.0 und :1.1 zu kontrollieren. Alle Screens müssen zu einem einzigen X Window Server gehören (das verwandte Produkt XmetaX hebt diese Beschränkung auf). Sollen ein, drei oder mehrere Screens kontrolliert werden, sind sie explizit zu konfigurieren.

Die screen-Anweisung 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 üblich:

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

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

Die Sub-Anweisung

    delete

entfernt einen Screen aus der Konfiguration.

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.

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

    absoluteX horizontale_Position_in_Pixeln
absoluteY vertikale_Position_in_Pixeln

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

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 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 eine Maus-Taste 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 XbigX-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 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.

Breite des Rahmens eines Screens

Im einfachen Fall von regulär angeordneten Bildschirmen gleicher Dimensionen (gemessen in Pixeln) muß der XbigX-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 Rahmens. Der voreingestellte Wert von -1 läßt den XbigX-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.

Mauszeiger

Die Sub-Anweisung

    pointer

leitet Sub-Sub-Anweisungen ein, die den Mauszeiger für den Screen konfigurieren.

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.

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 xbigx-Programm X11-Anweisungen umsetzt, werden diese meist an mehrere Screens eines Meta-Screens gesendet. Mit der ersten Gruppe von Screen-Merkmalen

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

können dennoch einzelne Screens ausgezeichnet werden:

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

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

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 Sub-Anweisung

    tags {[+|-]optimizedDraw|none}

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

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).

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