Der vordere Steuerbereich kann mit Hilfe seiner Pop-Up-Menüs und der "Symbol installieren"-Steuerung in den zusätzlichen Steuerbereichen angepaßt werden.
Dieses Kapitel enthält Informationen über das Anpassen des vorderen Steuerbereichs durch das Erstellen und Bearbeiten der Konfigurationsdateien.
Ausführliche Informationen über die Steuerelemente sowie die Konfiguration des vorderen Steuerbereichs finden Sie auf der Hilfeseite dtfpfile(4X).
Ausführliche Informationen über den Workspace Manager können Sie den Hilfeseiten dtwm(1) und dtwmrc (4) entnehmen.
Der vordere Steuerbereich wird in einer Datenbank mit Konfigurationsdateien definiert.
Mit Hilfe dieser Konfigurationsdateien kann der vordere Steuerbereich angepaßt werden. Bestimmte Änderungen können nur durch Bearbeiten einer Konfigurationsdatei durchgeführt werden. Dazu gehören beispielsweise folgende Operationen:
Hinzufügen einer neuen Steuerung zum Hauptsteuerbereich.
Hinzufügen spezieller Steuerungen (z. B. Client-Fenster).
Ändern bestimmter Standardfunktionsweisen (z. B. ob die Steuerungen auf einen Einzel- oder Doppelklick reagieren).
Um dem Benutzer einen möglichst großen Spielraum bei der Konfiguration des Bedienfelds zu lassen, können die Konfigurationsdateien für einen einzelnen Benutzer definiert (persönlich), für das System definiert (systemweit) oder auf anderen Systemen gespeichert sein.
Der vordere Steuerbereich wird vom Workspace Manager erstellt und verwaltet.
Der vordere Steuerbereich wird mit der Konfigurationsdatei /usr/dt/appconfig/types/Sprache/dtwm.fp definiert.
Diese Datei sollte nicht geändert werden.
Die Definition des vorderen Steuerbereichs kann auf beliebig viele Dateien auf dem lokalen oder auf entfernten Systemen verteilt werden.
Die Definitionsdateien müssen folgende Bedingungen erfüllen:
Die Datei muß die Erweiterung .fp aufweisen (z. B. mail.fp).
Die Datei muß sich im Suchpfad der Aktionsdatenbank befinden.
Der Standardsuchpfad enthält folgende Verzeichnisse, die in der angegebenen Reihenfolge durchsucht werden:
Persönliche Anpassungen - Home-Verzeichnis/.dt/types
Systemweite Anpassungen - /etc/dt/appconfig/types/Sprache
Integrierter Steuerbereich und Steuerungen - /usr/dt/appconfig/types/Sprache
Ein weiteres Verzeichnis, das Home-Verzeichnis/.dt/types/fp_dynamic, wird für persönliche Anpassungen verwendet, die mit der Benutzeroberfläche durchgeführt werden. Verwenden Sie es nicht für manuelle Anpassungen.
In den Datenbanksuchpfad können auch weitere Verzeichnisse aufgenommen werden, die für die Netzwerkkonfiguration des Systems verwendet werden. Dies sind insbesondere entfernte Verzeichnisse, wenn das System für den Zugriff auf einen Anwendungsserver konfiguriert ist. Weitere Informationen finden Sie im Abschnitt Datenbanksuchpfad (für Aktionen/Datentypen).
Der vordere Steuerbereich wird mit den Konfigurationsdateien im Aktionsdatenbanksuchpfad konfiguriert.
Tritt ein Konflikt zwischen Komponenten in der Definition auf, wird die zu verwendende Definition anhand bestimmter Regeln ausgewählt. Ein Konflikt zwischen zwei Komponenten entsteht in den folgenden Situationen:
Die Komponenten haben den gleichen Steuerungsnamen CONTAINER_NAME
und CONTAINER_TYPE
.
Die Komponenten haben dieselbe Position (unterschiedliche
Namen, aber identische Werte für CONTAINER_NAME
, CONTAINER_TYPE
und POSITION_HINTS
).
Vom vorderen Steuerbereich werden folgende Vorrangregeln verwendet:
Haben Komponenten denselben Steuerungsnamen sowie einen identischen Container-Namen und -Typ, wird die zuerst gelesene Komponente verwendet.
Enthalten beispielsweise eine systemweite und eine integrierte Steuerung die folgenden Felder, sind aber ansonsten unterschiedlich:
CONTROL TextEditor { CONTAINER_TYPE BOX CONTAINER_NAME Top … }
wird die systemweite Steuerung verwendet.
Sind zwei Komponenten für dieselbe Position definiert, werden sie in der Reihenfolge plaziert, in der sie gelesen werden.
Erstellt ein Benutzer beispielsweise eine neue persönliche Steuerung
für den Hauptsteuerbereich (CONTAINER_TYPE
BOX und CONTAINER_NAME
Top) und weist dieser den Wert POSITION_HINTS
5 zu, verschiebt die persönliche Steuerung die integrierte
und alle anderen Steuerungen mit höheren Positionsnummern um eine Position
nach rechts.
Wird eine Steuerung durch Erstellen einer neuen systemweiten oder
persönlichen Version geändert, muß in der neuen Definition
derselbe Steuerungsname (CONTAINER_NAME
und CONTAINER_TYPE
. ) angegeben
werden. Andernfalls werden beide Steuerungen angezeigt.
Paßt der Benutzer den vorderen Steuerbereich mit der Steuerung 'Symbol installieren' und den Pop-Up-Menüs an, werden die entsprechenden Dateien in das Verzeichnis Home-Verzeichnis/.dt/types/fp_dynamic geschrieben.
Der vordere Steuerbereich erstellt eine weitere Datei, Home-Verzeichnis/.dt/sessions/dtwmfp.session, mit der der aktuelle Status des angepaßten Steuerbereichs für jede Sitzung gesichert und wiederhergestellt werden kann.
Benutzer können mit Hilfe der Pop-Up-Menüs und der 'Symbol installieren'-Steuerungen den vorderen Steuerbereich weitgehend an die jeweiligen Anforderungen anpassen.
Dieser Abschnitt enthält Informationen zu den folgenden Themen:
Verhindern bestimmter persönlicher Anpassungen. Es kann beispielsweise ausgeschlossen werden, daß ein Benutzer eine Steuerung löschen kann.
Rückgängigmachen persönlicher Anpassungen. Ein Benutzer könnte Sie beispielsweise auffordern, eine versehentlich gelöschte Steuerung wiederherzustellen.
Handelt es sich um eine integrierte Steuerung, kopieren Sie deren Definition aus /usr/dt/appconfig/types/Sprache/dtwm.fp in das Verzeichnis /etc/dt/appconfig/types/Sprache/Name.fp.
Fügen Sie folgende Zeile zur Definition der Steuerung hinzu:
LOCKED True
Mit der Aktion 'Vorderen Steuerbereich wiederherstellen' in der Anwendungsgruppe Desktop-Werkzeuge können alle an der Benutzeroberfläche vorgenommenen Änderungen rückgängig gemacht werden. Der Benutzer kann auf diese Weise alle Anpassungen widerrufen, die mit den Pop-Up-Menüs des vorderen Steuerbereichs durchgeführt wurden.
Folgendermaßen kann eine Steuerung wiederhergestellt werden:
Löschen Sie im Verzeichnis Home-Verzeichnis/.dt/types/fp_dynamic die Datei, die beim Löschen der Steuerung durch den Benutzer erstellt wurde. Die Steuerung erhält den Namen der ursprünglich gelöschten Steuerung.
Löscht der Benutzer beispielsweise die Steuerung 'Symboleditor', ist eine Datei mit folgendem Inhalt im Verzeichnis fp_dynamic vorhanden:
CONTROL IconEditor { … DELETE True }
Löscht der Benutzer einen zusätzlichen Steuerbereich, wird für diesen und für jede Steuerung im Bereich eine eigene dynamische Datei erstellt.
Der vordere Steuerbereich wird durch die Definitionen seiner Komponenten erstellt. Für jede dieser Komponenten ist eine bestimmte Syntax erforderlich. Sie definiert, wo sich die Komponente im Steuerbereich befindet, wie sie aussieht und wie sie sich verhält.
Der vordere Steuerbereich wird von außen nach innen erstellt:
Das PANEL ist der Container auf oberster Ebene (das übergeordnete Objekt) für den gesamten Steuerbereich.
Das PANEL ist ein Container für ein oder mehrere BOX-Objekte.
Eine BOX ist ein Container für ein oder mehrere CONTROL-Objekte.
Es gibt zwei spezielle Container-Typen:
Ein SUBPANEL ist einer bestimmten Steuerung zugeordnet (die Steuerung ist der Container des zusätzlichen Steuerbereichs). Der zusätzliche Steuerbereich öffnet sich über der Steuerung, zu der er gehört.
Jede Komponente im vorderen Steuerbereich wird mit folgender Syntax einzeln definiert:
COMPONENT Name { KEYWORDWert KEYWORDWert … }
Einige Schlüsselwörter müssen angegeben werden, andere sind optional. Weitere Informationen finden Sie auf der Hilfeseite zu dtfpfile(4X).
Das PANEL ist die Komponente der obersten Ebene. Bei der Definition müssen folgende Informationen angegeben werden:
Der Name des vorderen Steuerbereichs.
Verschiedene Felder, die das Erscheinungsbild und die Funktionsweise des Steuerbereichs beschreiben.
PANEL Vorderer_Steuerbereichsname { KEYWORD Wert KEYWORD Wert … }
Vorderer_Steuerbereichsname ist ein eindeutiger Name für den vorderen Steuerbereich. (Standardname "FrontPanel“)
Für BOX -Objekte müssen folgende Informationen angegeben werden:
Der BOX-Name
Die Position des Box-Objektx innerhalb des PANEL (POSITION_HINTS)
Verschiedene Felder, die das Erscheinungsbild und die Funktionsweise des gesamten Objekts beschreiben.
BOX Feldname { CONTAINER_NAME Vorderer_Steuerbereichsname POSITION_HINTS Position KEYWORDWert KEYWORDWert … }
Für CONTROL-Objekte müssen folgende Informationen angegeben werden:
Der CONTROL-Name
Ob sich die Steuerung in einem Feld (BOX), einem zusätzlichen Steuerbereich (SUBPANEL) oder Wechselbereich (SWITCH) befindet (CONTAINER_TYPE)
In welchem Feld, zusätzlichen Steuerbereich oder Wechselbereich sich die Steuerung befindet (CONTAINER_NAME)
Die Position der CONTROL-Komponente innerhalb der BOX (POSITION_HINTS).
Verschiedene Felder, die das Erscheinungsbild und die Funktionsweise des gesamten Objekts beschreiben.
CONTROL Steuerungsname { CONTAINER_TYPE BOX oder SUBPANEL oder SWITCH CONTAINER_NAME Feldname oder Name_des_zusätzlichen Steuerbereichs oderName_des_Wechselbereichs TYPE Steuerungstyp POSITION_HINTS Position KEYWORDWert KEYWORDWert … }
Für SUBPANEL-Objekte müssen folgende Informationen angegeben werden:
Der SUBPANEL-Name
Der Name der Steuerung, der der zusätzliche Steuerbereich zugeordnet ist (CONTAINER_NAME)
Verschiedene Felder, die das Erscheinungsbild und die Funktionsweise des gesamten Objekts beschreiben.
SUBPANEL Zusätzlicher_Steuerbereichsname { CONTAINER_NAME Steuerungsname KEYWORD Wert KEYWORD Wert … }
Für SWITCH-Objekte müssen folgende Informationen angegeben werden:
Der SWITCH-Name
In welcher BOX-Komponente sich das SWITCH-Objekt befindet (CONTAINER_NAME)
Die Position des SWITCH-Objekts innerhalb der BOX (POSITION_HINTS)
Felder, die das Erscheinungsbild und die Funktionsweise des SWITCH-Objekts beschreiben.
SWITCH Wechselbereichsname { CONTAINER_NAME Feldname POSITION_HINTS Position KEYWORD Wert KEYWORD Wert … }
Der Hauptsteuerbereich ist der vordere Steuerbereich ohne die zusätzlichen Steuerbereiche.
Folgende Änderungen können vorgenommen werden:
Steuerungen hinzufügen oder entfernen.
Die Positionen der Steuerungen ändern.
Erstellen Sie eine Konfigurationsdatei für den vorderen Steuerbereich:
Systemweit: /etc/dt/appconfig/types/Sprache/*.fp
Persönlich: Home-Verzeichnis/.dt/types/*.fp
Definieren Sie die Steuerung in der Datei.
Verwenden Sie das Feld CONTAINER_NAME und das Feld CONTAINER_TYPE, um den Container für die Steuerung anzugeben:
CONTAINER_NAME Top CONTAINER_TYPE BOX
Legen Sie über das Feld POSITION_HINTS die horizontale Position der Steuerung fest. Da Anpassungen Vorrang vor integrierten Steuerungen haben, schiebt die neue Steuerung bereits vorhandene um eine Position nach rechts.
Speichern Sie die Konfigurationsdatei.
Erstellen Sie ein Symbol für die Steuerung im vorderen Steuerbereich.
Weitere Informationen finden Sie im Abschnitt Das von einer Steuerung verwendete Symbol festlegen.
Wählen Sie 'Workspace Manager neu starten' aus dem Menü 'Arbeitsbereich'.
Die folgende Steuerungsdefinition in der Datei /etc/dt/appconfig/types/Sprache/audio.fp fügt beispielsweise eine Audio-Steuerung zwischen die Uhr- und die Kalender-Steuerung ein.
CONTROL AudioApplication { TYPE icon CONTAINER_NAME Top CONTAINER_TYPE BOX ICON AudioApp POSITION_HINTS 2 PUSH_ACTION StartAudioApplication PUSH_RECALL true }
Erstellen Sie eine Konfigurationsdatei für den vorderen Steuerbereich:
Systemweit: /etc/dt/appconfig/types/Sprache/Name.fp
Persönlich: Home-Verzeichnis/.dt/types/Name.fp
Kopieren Sie die Definition der zu entfernenden Steuerung in die neue Datei.
Handelt es sich um eine integrierte Steuerung, finden Sie die Definition in der Datei /usr/dt/appconfig/types/Sprache/dtwm.fp.
Sie müssen nicht die gesamte Definition kopieren. Im kopierten Teil müssen jedoch die Felder CONTAINER_NAME und CONTAINER_TYPE enthalten sein.
Fügen Sie das Feld DELETE der Definition hinzu:
DELETE True
Speichern Sie die Konfigurationsdatei.
Wählen Sie 'Workspace Manager neu starten' aus dem Menü 'Arbeitsbereich'.
Die folgende Definition in der Datei /etc/dt/appconfig/types/Sprache/TrashCan.fp entfernt beispielsweise den Papierkorb aus dem vorderen Steuerbereich.
CONTROL Trash { CONTAINER_NAME Top CONTAINER_TYPE BOX DELETE True }
Folgendermaßen kann die Definition einer Steuerung geändert werden (um beispielsweise ein anderes Symbol zu verwenden).
Kopieren Sie die gesamte Definition der Steuerung aus /usr/dt/appconfig/types/Sprache/dtwm.fp in folgende Datei:
Systemweit: /etc/dt/appconfig/types/Sprache/Name.fp
Persönlich: Home-Verzeichnis/.dt/types/Name.fp.
Bearbeiten Sie die Felder, die geändert werden sollen. Es können auch Felder hinzugefügt werden.
Speichern Sie die Datei.
Wählen Sie 'Workspace Manager neu starten' aus dem Menü 'Arbeitsbereich'.
Kopieren Sie die Defintionen der gewünschten Steuerungen aus /usr/dt/appconfig/types/Sprache/dtwm.fp in folgende Datei:
Systemweit: /etc/dt/appconfig/types/Sprache/Name.fp
Persönlich: Home-Verzeichnis/.dt/types/Name.fp.
Für jede Steuerung, deren Position geändert werden soll, muß die gesamte Definition kopiert werden.
Vertauschen Sie die Werte der POSITION_HINTS-Felder in den Steuerungsdefinitionen.
Speichern Sie die Datei.
Wählen Sie 'Workspace Manager neu starten' aus dem Menü 'Arbeitsbereich'.
Die folgenden Definitionen in der Datei /etc/dt/appconfig/types/C/MailHelp.fp vertauschen beispielsweise die Positionen der Mail- und der Hilfe-Manager-Steuerung und sperren diese Komponenten gegen Änderungen durch Benutzer.
CONTROL Mail { POSITION_HINTS 12 LOCKED True …Restliche Definition der Steuerung }
CONTROL Help { POSITION_HINTS 5 LOCKED True …Restliche Definition der Steuerung }
Erstellen Sie eine neue Steuerungsdefinition mit identischen Angaben für:
Steuerungsname
So sind beispielsweise die folgenden beiden Steuerungen in zwei verschiedenen Konfigurationsdateien definiert. Sie haben identische Steuerungs- und Container-Namen und gelten daher als dieselbe Steuerung.
Definition in /etc/dt/appconfig/types/C/SysControls.fp:
Control ImportantApplication { CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS 2 … }
Definition in Home-Verzeichnis/.dt/types/MyControls.fp:
Control ImportantApplication { CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS 6 … }
Die persönliche Steuerung hat Vorrang und wird daher an Position 6 eingefügt.
Das Feld ICON der Steuerungsdefinition gibt die Symbolgrafik für die Steuerung an.
Beim Feld ICON kann es sich um folgendes handeln:
Basisdateiname
Der Basisdateiname ist der Name der Datei mit der Symbolgrafik ohne die Erweiterungen für Größe (m und t) und Grafiktyp (bm und pm). Geben Sie beispielsweise für die Dateien MyGame.l.pm und MyGame.m.pm den Wert MyGame an.
Wird der Dateiname ohne Pfad verwendet, müssen die Symboldateien in ein Verzeichnis im Symbolsuchpfad gestellt werden:
Persönliche Symbole: Home-Verzeichnis/.dt/icons
Systemweite Symbole: /etc/dt/appconfig/icons/Sprache
Absoluter Pfad zu der Symboldatei, einschließlich des vollständigen Dateinamens.
Der absolute Pfad sollte nur verwendet werden, wenn die Symboldatei sich nicht im Symbolsuchpfad befindet.
Die erforderliche Symbolgröße ist von der Position der Steuerung abhängig:
Position Größe
Hauptsteuerbereich – 48 x 48 Pixel (Name.l.pm oder Name.l.bm)
Zusätzlicher Steuerbereich – 24 x 24 Pixel (Name.s.pm oder Name.s.bm)
Plazieren Sie die Symboldatei in einem der folgenden Verzeichnisse:
Persönliche Symbole: Home-Verzeichnis/.dt/icons
Systemweite Symbole: /etc/dt/appconfig/icons/Sprache
Benutzer können zusätzliche Steuerbereiche mit den Pop-Up-Menüs des vorderen Steuerbereichs erstellen oder ändern.
In diesem Abschnitt finden Sie Informationen über systemweite Anpassungen, die mit den Konfigurationsdateien des vorderen Steuerbereichs vorgenommen werden müssen.
Ein zusätzlicher Steuerbereich ist einer Steuerung im Hauptsteuerbereich zugeordnet.
Die Zuordnung wird in der Definition des zusätzlichen Steuerbereichs vorgenommen. Der CONTAINER_NAME gibt die betreffende Steuerung an:
CONTROL Steuerungsname { … } SUBPANEL Zusätzlicher_Steuerbereichsname { CONTAINER_NAME Steuerungsname … }
Ermitteln Sie den Steuerungsnamen der Steuerung im Hauptsteuerbereich, der Sie den zusätzlichen Steuerbereich zuordnen möchten.
Handelt es sich um eine integrierte Steuerung, finden Sie die Definition in der Datei /usr/dt/appconfig/types/Sprache/dtwm.fp.
Erstellen Sie eine neue Datei /etc/dt/appconfig/types/Sprache/*.fp.
Definieren Sie den zusätzlichen Steuerbereich:
SUBPANEL Zusätzlicher_Steuerbereichsname { CONTAINER_NAME Steuerungsname TITLE Wert KEYWORD Wert … }
Speichern Sie die neue Konfigurationsdatei.
Wählen Sie 'Workspace Manager neu starten' aus dem Menü 'Arbeitsbereich'.
Sie können die allgemeinen Eigenschaften (z. B. Titel) und den Inhalt der integrierten zusätzlichen Steuerbereiche ändern.
Erstellen Sie eine neue Konfigurationsdatei für den vorderen Steuerbereich im folgenden Verzeichnis:
Systemweit: /etc/dt/appconfig/types/Sprache/Name.fp
Persönlich: Home-Verzeichnis/.dt/types/Name.fp.
Kopieren Sie die gesamte SUBPANEL-Standarddefinition aus /usr/dt/appconfig/types/Sprache/dtwm.fp in die neue Datei:
SUBPANEL Zusätzlicher_Steuerbereichsname { … }
Ändern Sie die Definition des zusätzlichen Steuerbereichs.
Speichern Sie die neue Konfigurationsdatei.
Wählen Sie 'Workspace Manager neu starten' aus dem Menü 'Arbeitsbereich'.
Die folgende Definition in der Datei /users/janice/.dt/types/PerApps.fp ändert beispielsweise den Namen des zusätzlichen Steuerbereichs 'Persönliche Anwendungen':
SUBPANEL PersAppsSubpanel { CONTAINER_NAME TextEditor TITLE Meine Anwendungen }
Erstellen Sie eine neue Konfigurationsdatei für den vorderen Steuerbereich im Verzeichnis /etc/dt/appconfig/types/Sprache/Name.fp.
Definieren Sie die systemweite Steuerung.
Verwenden Sie das Feld CONTAINER_NAME und das Feld CONTAINER_TYPE, um den Container für die Steuerung anzugeben:
CONTROL Steuerungsname { CONTAINER_NAME Zusätzlicher_Steuerbereich CONTAINER_TYPE SUBPANEL … }
Weitere Informationen finden Sie im Abschnitt Steuerungen im vorderen Steuerbereich definieren.
Speichern Sie die Konfigurationsdatei.
Wählen Sie 'Workspace Manager neu starten' aus dem Menü 'Arbeitsbereich'.
Die folgende Steuerungsdefinition in der neuen Datei /etc/dt/appconfig/types/Sprache/DigitalClock.fp fügt beispielsweise die Steuerung 'Digitale Uhr' (in der Anwendungsgruppe 'Desktop-Werkzeuge') dem zusätzlichen Steuerbereich 'Persönliche Anwendungen' aller Benutzer hinzu.
CONTROL DigitalClockControl { TYPE icon CONTAINER_NAME PerAppsSubpanel CONTAINER_TYPE SUBPANEL ICON Dtdgclk PUSH_ACTION DigitalClock PUSH_RECALL True }
Gehen Sie wie beim Entfernen einer Steuerung aus dem Hauptsteuerbereich vor. Weitere Informationen finden Sie im Abschnitt Eine Steuerung entfernen.
Fügen Sie das folgende Feld der Definition des zusätzlichen Steuerbereichs hinzu:
CONTROL_INSTALL False
Zusätzliche Steuerbereiche werden standardmäßig automatisch geschlossen, sobald der Benutzer eine Steuerung auswählt, wenn der Steuerbereich nicht von seiner ursprünglichen Position verschoben wurde.
Der vordere Steuerbereich kann so konfiguriert werden, daß zusätzliche Steuerbereiche offen bleiben, bis sie vom Benutzer explizit geschlossen werden.
Erstellen Sie eine neue Konfigurationsdatei für den vorderen Steuerbereich im folgenden Verzeichnis:
Systemweit: /etc/dt/appconfig/types/Sprache/*.fp
Persönlich: Home-Verzeichnis/.dt/types/*.fp
Kopieren Sie die PANEL-Standarddefinition aus /usr/dt/appconfig/types/Sprache/dtwm.fp in die neue Datei:
PANEL FrontPanel { … }
Fügen Sie folgendes Feld der PANEL-Definition hinzu:
SUBPANEL_UNPOST False
Speichern Sie die neue Konfigurationsdatei.
Wählen Sie 'Workspace Manager neu starten' aus dem Menü 'Arbeitsbereich'.
Der Benutzer kann persönliche Steuerungen durch Ablegen der entsprechenden Symbole auf der Steuerung 'Symbol installieren' erstellen.
Diese Vorgehensweise ermöglicht zwar eine einfache Anpassung der Benutzeroberfläche, jedoch steht nicht der volle Funktionsumfang der Steuerungen im vorderen Steuerbereich zur Verfügung. Eine mit 'Symbol installieren' erstellte Steuerung verfügt beispielsweise nicht über folgende Merkmale:
Animation
Anzeigen eines Client-Fensters
Ändern des Erscheinungsbilds bei einem bestimmten Ereignis (z. B. beim Empfangen neuer Post)
Dieser Abschnitt beschreibt, wie Steuerungen im vorderen Steuerbereich manuell erstellt werden können.
Vollständige Informationen zur Syntax für das Erstellen von Steuerungen sind auf der Hilfeseite zu dtfpfile(4X) zu finden.
Die Struktur der Definition einer Steuerung im vorderen Steuerbereich lautet:
CONTROL Steuerungsname { TYPE Steuerungstyp CONTAINER_NAME Wert CONTAINER_TYPE Wert andere Felder zum Definieren des Erscheinungsbilds und der Funktionsweise }
Das TYPE-Feld der Definition bestimmt das grundlegende Verhalten der Steuerung.
Funktionsweise
Die Steuerung führt eine bestimmte Aktion aus, sobald auf sie geklickt bzw. eine Datei auf ihr abgelegt wird.
Platzhalter zum Festlegen des Abstands zwischen den Steuerungen.
Betriebsanzeige. Die Steuerung blinkt (schaltet die Grafik um), wenn eine Aktion aufgerufen wird.
Ein Client-Fenster im vorderen Steuerbereich.
Die Steuerung zeigt die Uhrzeit an.
Die Steuerung zeigt das aktuelle Datum an.
Die Steuerung repräsentiert eine Datei. Durch Auswählen der Steuerung wird die Standardaktion für die Datei ausgeführt.
Dieser Abschnitt enthält Informationen über die allgemeinen Schritte zum Definieren einer Steuerung und zum Erstellen der verschiedenen Steuerungstypen.
Soll die Steuerung über eine PUSH_ACTION und/oder DROP_ACTION verfügen, erstellen Sie die Aktionsdefinitionen. Diese Aktionen werden ausgeführt, wenn der Benutzer auf die Steuerung klickt oder eine Datei auf ihr ablegt.
Erstellen Sie die Symboldateien für die Steuerung.
Informationen über die Größe, Namen und Verzeichnisse der Symbole finden Sie im Abschnitt Symbolbilddateien.
Erstellen Sie eine neue Konfigurationsdatei für den vorderen Steuerbereich im folgenden Verzeichnis:
Systemweit: /etc/dt/appconfig/types/Sprache/*.fp
Persönlich: Home-Verzeichnis/.dt/types/*.fp
Fügen Sie die Steuerungsdefinition der Datei hinzu.
Speichern Sie die Datei.
Wählen Sie 'Workspace Manager neu starten' aus dem Menü 'Arbeitsbereich'.
Mit den folgenden Feldern wird die Funktionsweise der Steuerung definiert:
TYPE: Hat den Wert 'icon'.
PUSH_ACTION: Gibt den Namen der auszuführenden Aktion an.
Beispielsweise wird die folgende Steuerung dem zusätzlichen Steuerbereich 'Persönliche Anwendungen' hinzugefügt und startet ein vom Benutzer installiertes Spiel:
CONTROL Ball { TYPE icon CONTAINER_NAME PersAppsSubpanel CONTAINER_TYPE SUBPANEL ICON ball PUSH_ACTION RunBallGame HELP_STRING "Wählen Sie diese Steuerung, um 'Ball' zu spielen." }
Die folgende Steuerung wird in der linken oberen Ecke des Wechselbereichs plaziert und startet eine Aktion namens CutDisp.
CONTROL StartCutDisp { TYPE icon CONTAINER_NAME Switch CONTAINER_TYPE SWITCH POSITION_HINTS first ICON cutdisp HELP_STRING "Wählen Sie diese Steuerung, um die Aktion 'cutdisp' auszuführen." PUSH_ACTION CutDisp }
Mit den folgenden Feldern wird die Funktionsweise der Steuerung definiert:
TYPE: Hat den Wert 'file'.
PUSH_ACTION: Hat den Wert 'Open'.
Es muß eine Open-Aktion für den Datentyp der Datei existieren.
Im folgenden Beispiel wird eine Steuerung am rechten Rand des Hauptsteuerbereichs hinzugefügt. Sie ruft den Texteditor mit der Datendatei /users/ellen/PhoneList.txt auf. Die Open-Aktion für *.txt-Dateien ist in der Standardaktionsdatenbank enthalten.
CONTROL EditPhoneList { TYPE file FILE_NAME /users/ellen/PhoneList.txt CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS last ICON PhoneBook HELP_STRING "Diese Steuerung zeigt die Telefonliste von Ellen an." PUSH_ACTION Open }
Verwenden Sie das Feld DROP_ACTION, um die Aktion festzulegen, die beim Ablegen einer Datei auf der Steuerung ausgeführt wird. Die Aktion muß in der Lage sein, Dateiargumente zu verarbeiten.
Oftmals enthält eine Steuerungsdefinition sowohl das Feld PUSH_ACTION als auch DROP_ACTION. Es kann dann dieselbe Aktion für Klicken und Ablegen verwendet werden.
Die folgende Steuerung befindet sich im zusätzlichen Steuerbereich 'Persönliche Anwendungen' und startet den X-Client xwud, der ein Dateiargument benötigt.
CONTROL Run_xwud { CONTAINER_NAME PerAppsSubpanel CONTAINER_TYPE SUBPANEL POSITION_HINTS 2 ICON XwudImage PUSH_ACTION RunXwud DROP_ACTION RunXwud }
Mit den folgenden Feldern wird die Funktionsweise der Steuerung definiert:
TYPE: Geben Sie einen der folgenden Werte an:
icon- Verwenden Sie diesen Typ, wenn eine PUSH_ACTION und/oder DROP_ACTION für die Steuerung definiert werden soll.
file- Verwenden Sie diesen Typ, wenn sich die Steuerung bei der Auswahl wie die entsprechende Datei verhalten soll, wenn im Dateimanager doppelt auf deren Symbol geklickt wird.
ICON und ALTERNATE_ICON: Diese beiden Felder legen die Grafiken fest, die für den geänderten und den nicht geänderten Status der überwachten Datei angezeigt werden.
MONITOR_TYPE: Dieses Feld beschreibt die Bedingungen für das Ändern der Grafik. Verwenden Sie hier einen der folgenden Werte:
mail- Die Steuerung ändert das Erscheinungsbild, wenn Informationen in die Datei eingefügt werden.
file- Die Steuerung ändert das Erscheinungsbild, wenn die überwachte Datei nicht mehr leer ist.
FILE_NAME: Mit diesem Feld wird die zu überwachende Datei angegeben.
Die folgende Steuerung sucht beispielsweise nach der Datei meetings, die per 'Anonymous FTP' auf das System übertragen werden sollte. Diese Steuerung befindet sich am oberen Rand des zusätzlichen Steuerbereichs 'Persönliche Anwendungen'.
CONTROL MonitorCalendar { TYPE file CONTAINER_NAME PersonalApps CONTAINER_TYPE SUBPANEL POSITION_HINTS first FILE_NAME /users/ftp/meetings MONITOR_TYPE file ICON meetingsno ALTERNATE_ICON meetingsyes }
Eine Einzelinstanz-Steuerung prüft, ob der Prozeß bereits ausgeführt wird, der mit PUSH_ACTION gestartet wurde. Wurde der Prozeß noch nicht gestartet, wird PUSH_ACTION ausgeführt. Läuft der Prozeß bereits, wird das betreffende Fenster in den Vordergrund des aktuellen Arbeitsbereichs gebracht.
Mit den folgenden Feldern wird die Funktionsweise der Steuerung definiert:
PUSH_RECALL: Hat den Wert True.
CLIENT_NAME: Gibt der Steuerung den Namen des Client an.
Der Wert von CLIENT_NAME muß mit der ersten Zeichenfolge (res_name) der Eigenschaft WM_CLASS des Hauptfensters der Anwendung übereinstimmen. Weitere Informationen hierzu finden Sie auf der Hilfeseite xprop(1).
PUSH_ACTION: Gibt die Aktion an, die beim Klicken auf die Steuerung ausgeführt wird.
Folgende Steuerung startet eine Instanz einer Anwendung, deren Aktion den Namen 'MyEditor' hat.
CONTROL MyEditor { TYPE icon CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS 15 PUSH_RECALL True CLIENT_NAME BestEditor PUSH_ACTION StartMyEditor ICON MyEd }
Eine Client-Fenstersteuerung ist ein Anwendungsfenster im vorderen Steuerbereich. Es kann beispielsweise eine Systemsauslastungsanzeige im vorderen Steuerbereich durch Erstellen einer xload-Client-Fenstersteuerung angezeigt werden.
Definieren Sie die Steuerung.
Mit den folgenden Feldern wird die Funktionsweise der Steuerung definiert:
TYPE: Hat den Wert client.
CLIENT_NAME: Gibt den zu startenden Client an.
Der Wert von CLIENT_NAME muß mit der ersten Zeichenfolge (res_name) der Eigenschaft WM_CLASS des Hauptfensters der Anwendung übereinstimmen. Weitere Informationen hierzu finden Sie auf der Hilfeseite xprop(1).
Wählen Sie 'Workspace Manager neu starten' aus dem Menü 'Arbeitsbereich'.
Starten Sie den Client von der Befehlszeile eines Terminal-Emulatorfensters.
Die folgende Steuerung zeigt eine Auslastungsanzeige von 30 × 20 Pixel an.
CONTROL LoadMeter { TYPE client CONTAINER_NAME Top CONTAINER_TYPE BOX CLIENT_NAME xload CLIENT_GEOMETRY 30x20 }
Wird der Client zwischen den Sitzungen nicht gespeichert und wiederhergestellt, sollten Sie die Steuerung so konfigurieren, daß sie beim Klicken des Benutzers auf das Symbol den Client startet. Sie können beispielsweise die Steuerung 'LoadMeter' konfigurieren, um den Client xload zu starten, indem Sie folgende Zeile zu der Definition hinzufügen:
PUSH_ACTION StartXload
und diese Aktion erstellen:
ACTION StartXload { WINDOW_TYPE EXEC_STRING /usr/contrib/bin/X11/xload }
Sie können einer Steuerung eine Animationssequenz zuordnen, die beim Klicken auf die oder Ablegen auf der Komponente verwendet wird.
Damit eine Animation verwendet werden kann, muß die Steuerung folgende Bedingungen erfüllen:
Sie muß den Typ icon aufweisen.
Sie muß über ein PUSH_ACTION- oder DROP_ACTION-Feld verfügen.
Die Animationssequenz wird mit der Komponente ANIMATION angegeben:
ANIMATION Animationsname { ANIMATION Symbol1 [Verzögerung_in_Millisekunden] ANIMATION Symbol2 [Verzögerung_in_Millisekunden] … }
Dabei sind Symbol1, Symbol2 usw. die Namen von Symbolen und Verzögerung_in_Millisekunden die Zeitdauer in Millisekunden, die für Animationssymbole vergeht. Die Standardeinstellung für die Zeitverzögerung beträgt 200 Millisekunden.
Fügen Sie das Feld PUSH_ANIMATION und/oder DROP_ANIMATION der Steuerungsdefinition hinzu. Der Wert ist dabei der Name der ANIMATION-Sequenz.
Im folgenden Beispiel wird eine Steuerung animiert, mit der die Anwendung 'BestEditor' gestartet werden kann. Die Zeitverzögerung zwischen den Symbolen beträgt 300 Millisekunden. Es wird vorausgesetzt, daß die Symboldateien frame1, frame2 usw. vorhanden sind.
CONTROL BestEditor { … … PUSH_ANIMATION BestEdAnimation … }
ANIMATION BestEdAnimation { frame1 300 frame2 … }
Elementhilfe kann auf zwei Arten für eine Steuerung bereitgestellt werden:
Durch eine Zeichenfolge in der Steuerungsdefinition.
Die Zeichenfolge wird angezeigt, wenn der Benutzer für die Steuerung Elementhilfe anfordert. Sie darf keine Formatierungsinformationen (z. B. Titelzeilen) oder Verweise enthalten.
Die Hilfe-Zeichenfolge muß folgendermaßen in der Definition der Steuerung angegeben werden:
HELP_STRING Hilfe_Zeichenfolge
Durch Angabe eines Hilfethemas in einem registrierten Hilfeband.
Eine Hilfethema enthält Informationen, die mit den Funktionen des Hilfesystems erstellt wurden. Um ein Hilfethema zu erstellen, benötigen Sie das Help Developer's Kit des Desktops.
Der Hilfeband und die ID des Themas müssen in der Steuerungsdefinition angegeben werden:
HELP_VOLUME Hilfeband HELP_TOPIC Thema_ID
Der Bereich zum Wechseln des Arbeitsbereichs kann folgendermaßen angepaßt werden:
Anzahl der Arbeitsbereiche ändern.
Layout des Wechselbereichs ändern.
Steuerungen im Wechselbereich ändern.
Ändern Sie die folgende Ressource des Workspace Managers:
Dtwm*workspaceCount: n
Weitere Informationen finden Sie im Abschnitt Anzahl von Arbeitsbereichen für das gesamte System ändern.
Im folgenden Beispiel wird eine SWITCH-Komponente mit drei Zeilen definiert:
SWITCH Switch { CONTAINER_NAME Feldname NUMBER_OF_ROWS 3 … }
Erstellen Sie zuerst eine Konfigurationsdatei für den vorderen Steuerbereich mit der Steuerungsdefinition.
Legen Sie fest, daß sich die Steuerung im Wechselbereich befinden soll:
CONTAINER_NAME Switch CONTAINER_TYPE SWITCH
Erstellen Sie ein Symbol für die Steuerung. Die empfohlene Größe ist 16 x 16 Pixel.
Im folgenden Beispiel wird eine Terminal-Steuerung in den Wechselbereich eingefügt.
CONTROL SwitchTerminal { TYPE icon CONTAINER_NAME Switch CONTAINER_TYPE SWITCH POSITION_HINTS 3 ICON Fpterm LABEL Terminal PUSH_ACTION Dtterm HELP_TOPIC FPOnItemTerm HELP_VOLUME FPanel }
Die Steuerung verwendet ein integriertes Symbol und das von der Steuerung 'Terminal' im zusätzlichen Steuerbereich 'Persönliche Anwendungen' verwendete Hilfethema.
Die PANEL-Syntax des vorderen Steuerbereichs ermöglicht folgendes:
Ändern der Position des vorderen Steuerbereichs.
Ändern des Aussehens des Fensters.
Einstellen des allgemeinen Erscheinungsbilds und der allgemeinen Funktionsweise der Steuerungen.
Die Standardbeschreibung von PANEL befindet sich in der Datei /usr/dt/appconfig/types/Sprache/dtwm.fp.
Weitere Informationen finden Sie auf der Hilfeseite dtfpfile(4X).
Erstellen Sie eine neue Konfigurationsdatei für den vorderen Steuerbereich im Verzeichnis /etc/dt/appconfig/types/Sprache oder Home-Verzeichnis/.dt/types.
Kopieren Sie die Standardbeschreibung von PANEL aus der Datei /usr/dt/appconfig/types/Sprache/dtwm.fp in die neue Datei.
Nehmen Sie in der PANEL-Definition die gewünschten Änderungen vor.
Die neue Definition hat Vorrang vor der Standarddefinition von PANEL.
Über das Feld PANEL_GEOMETRY der PANEL-Definition kann die Position des Steuerbereichs festgelegt werden.
Der folgende Steuerbereich befindet sich in der rechten oberen Ecke.
PANEL SpecialFrontPanel { PANEL_GEOMETRY -1+1 … }
Fügen Sie folgende Zeile der PANEL-Definition hinzu:
DISPLAY_CONTROL_LABELS True
Fügen Sie jeder Steuerung ein LABEL-Feld hinzu.
Steuerungsname wird verwendet, wenn LABEL nicht angegeben wird.
Über das Feld CONTROL_BEHAVIOR der PANEL-Definition wird festgelegt, wie der Benutzer die PUSH_ACTION. einer Steuerung starten kann. Folgende Werte können angegeben werden:
single_click— durch Klicken wird die PUSH_ACTION ausgeführt.
double_click— durch Doppelklicken der Steuerung wird die PUSH_ACTION ausgeführt.
Das Erstellen eines neuen vorderen Steuerbereichs ist von Vorteil, wenn umfangreiche Änderungen vorgenommen werden sollen.
Damit keine Namenskonflikte mit den integrierten Steuerbereichskomponenten auftreten können, sollten neue eindeutige Namen für PANEL und die anderen Container vergeben werden.
Erstellen Sie die PANEL-Komponente für den neuen Steuerbereich. Verwenden Sie einen eindeutigen Namen:
PANEL Vorderer_Steuerbereich { … }
Erstellen Sie die neuen Felder und Steuerungen. Verwenden Sie dabei die neuen Container-Namen.
Sollen auch bereits vorhandene Komponenten verwendet werden, kopieren Sie deren Definitionen, und ändern Sie anschließend den Wert des Feldes CONTAINER_NAME.
Wählen Sie 'Workspace Manager neu starten' aus dem Menü 'Arbeitsbereich'.
Im folgenden Beispiel wird der vordere Standardbereich so geändert, daß seine Steuerungen in drei Zeilen angezeigt werden.
Kopieren Sie die Datei/usr/dt/appconfig/types/Sprache/dtwm.fp in das Verzeichnis Home-Verzeichnis/.dt/types/MyFrontPanel.fp. Weisen Sie für die Datei Schreibrechte zu.
Diese Konfigurationsdatei wird für den neuen Steuerbereich benötigt.
Ändern Sie den Namen des vorderen Steuerbereichs:
PANEL NewFrontPanel
Ändern Sie den Namen des Feldes 'Top' und seines Containers:
BOX NewFrontPanelTop { CONTAINER_NAME NewFrontPanel POSITION_HINTS first … }
Fügen Sie Felddefinitionen für die mittlere und die untere Zeile hinzu:
BOX NewFrontPanelMiddle { CONTAINER_NAME NewFrontPanel POSITION_HINTS second }
BOX NewFrontPanelBottom { CONTAINER_NAME NewFrontPanel POSITION_HINTS second }
Ändern Sie das Feld CONTAINER_NAME der folgenden Steuerungen in den Wert NewFrontPanelTop:
Uhr
Datum
Home
TextEditor
Ändern Sie das Feld CONTAINER_NAME der folgenden Steuerungen in den Wert NewFrontPanelBottom:
Drucker
Stil
Anwendungen
Abbrechen
Papierkorb
Ändern Sie das Feld CONTAINER_NAME der SWITCH-Komponente in den Wert NewFrontPanelMiddle.
Wählen Sie 'Workspace Manager neu starten' aus dem Menü 'Arbeitsbereich'.