Meta-Screen | Screen Gemeinsame Ressourcen und Eigenschaften

# Meta-Screen

XmetaX hebt zwar die Grenzen zwischen den Screens eines oder mehrerer X Window Server auf, kann aber selbst den Clients mehrere separate Anzeigeflächen, hier Meta-Screens genannt, anbieten. Damit können zum Beispiel Bildschirme mit unterschiedlichen Grafik-Fähigkeiten in verschiedenen Gruppen zusammengefaßt werden. In der Anweisung

    metaScreen Name

kann der Name frei gewählt werden. Den Meta-Screens werden in der Reihenfolge ihrer Deklaration die Screen-Nummern mit .0 beginnend zugeordnet.

Wird diese Anweisung nicht angegeben, werden alle Meta-Screens eingerichtet, auf die sich Screen-Definitionen beziehen, mindestens jedoch einer.

Die metaScreen-Anweisung leitet Sub-Anweisungen ein, die weitere Eigenschaften des Meta-Screens bestimmen.

Die Sub-Anweisung

        delete

entfernt einen Meta-Screen aus der Konfiguration.

## Position eines Meta-Screens

Wie bei den meisten X Window Servern, kann auch bei XmetaX der Mauszeiger von einer Anzeigefläche (hier Meta-Screen) auf eine andere bewegt werden. Dabei ist die relative Position der Meta-Screens zueinander von Bedeutung. Ein Meta-Screen wird mit den Sub-Anweisungen

        northOf|northEastOf|eastOf|sourthEastOf|southOf|southWestOf|westOf|northWestOf
            Name_eines_Meta-Screens
            [horizontaler_Versatz_in_Pixeln vertikaler_Versatz_in_Pixeln]

relativ zu einem anderen Meta-Screen positioniert. Dabei sind zyklische Definitionen zu vermeiden. Die Versatz-Parameter sind mit dem Wert 0 vorbelegt. Wird keine relative Positionierung angegeben, wird der Meta-Screen rechts vom vorhergehenden angeordnet, bis auf den ersten.

## Größe eines Meta-Screens

Die Sub-Anweisungen

        width Breite_in_Pixeln|double
        height Höhe_in_Pixeln|double

bestimmen die Größe der virtuellen Anzeigefläche des Meta-Screens. Die Vorbelegung mit dem Wert 0 bedeutet, daß die Fläche gerade groß genug ist, um die dem Meta-Screen zugeordneten Screens zu umfassen (Position eines Screens). Mit double kann diese Größe in beiden Dimensionen verdoppelt werden.

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

Die Sub-Anweisung

        keepWindowsVisible Anzahl_der_Pixel

bestimmt, daß von jedem Fenster mindestens ein Bereich von Anzahl_der_Pixel Pixel in beiden Dimensionen innerhalb des sichtbaren Bereiches des Meta-Screens bleibt, auch wenn es in einem unsichtbaren Teil des Meta-Screens positioniert wird oder wenn ein Screen aus der Konfiguration entfernt wird. Dies funktioniert nur mit Windowmanagern, die konform zum ICCCM (Inter-Client Communication Conventions Manual) sind oder ganz ohne Windowmanager, in seltenen Fällen ist eine Fehlerbehebung notwendig (Fehlerhafter Windowmanager). Der voreingestellte Wert 0 für Anzahl_der_Pixel schaltet die Funktion ab.

## Gemeinsame Ressourcen und Eigenschaften

Die Sub-Anweisung

        visuals
            {[+|-][Klasse][:[Tiefe]
            [:[Anzahl_der_signifikanten_Bits]
            [:[Layer][:[Transparenztyp][:[Transparenzwert]
            [:[singleBuffered|doubleBuffered|singleOnDoubleBuffered]
            ]]]]]]}...

wird nur in Sonderfällen benötigt (Gemeinsame Ressourcen und Eigenschaften). Sie bestimmt für jeden Meta-Screen eine Liste (Listen) von Visuals, die den X Window Clients angeboten werden sollen.

Die Sub-Anweisung enthält eine oder mehrere Visual-Spezifikationen. Ist eine Spezifikation nicht voll qualifiziert (eines oder mehrere der Felder zwischen den Doppelpunkten : sind leer), steht die Spezifikation unter Umständen für mehrere Visuals. Die einzelnen Felder bestimmen in dieser Reihenfolge:

die Klasse des Visuals: StaticGray, GrayScale, StaticColor, PseudoColor, TrueColor oder DirectColor;

die Farbtiefe;

die Anzahl der Bits, die zur Farbcodierung verwendet werden;

die Nummer des Layers, für den das Visual gilt;

die Art der Transparenz eines Overlay-Visuals;

einen Wert, dessen Bedeutung von der Art der Transparenz abhängt;

die Anzahl der mit jedem Fenster assoziierten Zeichenflächen:

Bei einem singleBuffered Visual wird stets direkt in das Fenster gezeichnet;

Bei einem doubleBuffered Visual wird abwechselnd in einen von zwei Buffer gezeichnet, von denen einer tatsächlich angezeigt wird;

Mit singleOnDoubleBuffered simuliert der XmetaX-Proxy ein single-buffered Visual auf einem double-buffered Visual.

Die Felder, die Layer und Transparenz bestimmen, werden nur berücksichtigt, wenn der X Window Server der SERVER_OVERLAY_VISUALS-Konvention folgt.

Die Sub-Anweisung

        defaultVisual
            [Klasse][:[Tiefe]
            [:[Anzahl_der_signifikanten_Bits]
            [:[Layer][:[Transparenztyp][:[Transparenzwert]
            [:[singleBuffered|doubleBuffered|singleOnDoubleBuffered]
            ]]]]]]

spezifiziert das Default Visual und damit das voreingestellte Farbmodell des Meta-Screens.

Nach oben
Screen
Gemeinsame Ressourcen und Eigenschaften

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