Erweiterte Anpassung des Bedienfeldes<indexterm> <primary>Bedienfeld</primary><secondary>Anpassung</secondary></indexterm> Der Benutzer kann das Bedienfeld über dessen Menüs und das Bedienelement 'Symbol installieren' in den Bedientafeln anpassen. In diesem Kapitel wird die Anpassung des Bedienfeldes durch das Erstellen und Bearbeiten von Konfigurationsdateien behandelt. Weiterführende Informationen Referenzinformationen zu Bedienelementen im Bedienfeld und der Konfiguration des Bedienfeldes können der Hilfeseite dtfpfile(4X) entnommen werden. Referenzinformationen zum Arbeitsbereichsmanager können der Hilfeseite dtwm(1) und dtwmrc(4) entnommen werden. Bedienfeldkonfigurationsdateien<indexterm><primary>Konfigurationsdateien</primary><secondary>Bedienfeld</secondary></indexterm><indexterm> <primary>Bedienfeld</primary><secondary>Konfigurationsdateien</secondary> </indexterm> Das Bedienfeld wird in einer Datenbank mit Konfigurationsdateien definiert. Über diese Konfigurationsdateien kann das Bedienfeld angepaßt werden. Bestimmte Änderungen können nur durch Bearbeitung der Konfigurationsdatei durchgeführt werden. Dazu gehören das Hinzufügen eines neuen Bedienelements im Hauptbedienfeld. das Hinzufügen spezieller Bedienelemente, wie zum Beispiel Client-Fenster. das Ändern bestimmter Standardverhaltensweisen, zum Beispiel, ob die Bedienelemente im Bedienfeld durch einfaches Klicken oder durch Doppelklicken aktiviert werden. 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. Das Bedienfeld wird durch den Arbeitsbereichsmanager erstellt und verwaltet. Standardkonfigurationsdatei des Bedienfeldes Das Standardbedienfeld wird in der Bedienfeldkonfigurationsdatei /usr/dt/appconfig/types/sprache/dtwm.fpdtwm.fp Datei definiert. Diese Datei sollte nicht geändert werden. Suchpfad für Bedienfeldkonfigurationsdateien<indexterm><primary>Suchpfade</primary><secondary>Bedienfelddefinitionen</secondary></indexterm><indexterm> <primary>Bedienfeld</primary><secondary>Suchpfad</secondary></indexterm> Die Bedienfelddefinition kann auf beliebig viele Dateien im lokalen oder in anderen Systemen verteilt sein. BedienfeldNamenskonvention für DateienDateien, die das Bedienfeld definieren, müssen folgenden Anforderungen entsprechen: Der Dateiname muß die Erweiterung .fp tragen, z. B., mail.fp. Die Datei muß sich im Datenbanksuchpfad für Aktionen befinden. Der Standarddatenbanksuchpfad für Aktionen enthält folgende Verzeichnisse, die in der hier aufgeführten Reihenfolge durchsucht werden: Standardverzeichnis/.dt/types Persönliche Anpassungen /etc/dt/appconfig/types/sprache Systemweite Anpassungen /usr/dt/appconfig/types/sprache Integriertes Bedienfeld und Bedienelemente Um persönliche Anpassungen, die über die Benutzerschnittstelle durchgeführt wurden, zu speichern, wird ein zusätzliches Verzeichnis, Standardverzeichnis/.dt/types/fp_dynamicfp_dynamic VerzeichnisBedienfeld dynamische Anpassungen angelegt. Dieses Verzeichnis nicht für manuelle Anpassungen verwenden. Der Datenbanksuchpfad für Aktionen enthält möglicherweise zusätzliche Verzeichnisse, die das System für das Netzwerk konfigurieren. Insbesondere werden zusätzliche Positionen auf anderen Systemen hinzugefügt, wenn das System für den Zugriff auf einen Anwendungs-Server konfiguriert wird. Weitere Informationen können dem Abschnitt entnommen werden. Wie das Bedienfeld assembliert wird: Vorrangregeln<indexterm> <primary>Bedienfeld</primary><secondary>Vorrangregeln beim Assemblieren</secondary> </indexterm><indexterm><primary>Vorrangregeln</primary><secondary>Bedienfeld assemblieren</secondary></indexterm> Das Bedienfeld wird aus allen Konfigurationsdateien im Datenbanksuchpfad für Aktionen assembliert. Kommt es zu einem Konflikt zwischen Komponenten der Definition, bestimmen Vorrangregeln, welche Definition verwendet wird. Zwei Komponenten geraten in Konflikt miteinander, wenn sie denselben Bedienelementnamen, CONTAINER_NAME und CONTAINER_TYPE haben oder für sie dieselbe Position definiert ist (zwar unterschiedliche Namen, aber derselbe CONTAINER_NAME, CONTAINER_TYPE und POSITION_HINTS). Für das Bedienfeld gelten folgende Vorrangregeln: Haben Komponenten denselben Bedienelementnamen, Container-Namen und -typ, wird die Komponente verwendet, die zuerst gelesen wird. Enthalten beispielsweise sowohl ein systemweites als auch ein integriertes Bedienelement die folgenden Felder, sind aber ansonsten unterschiedlich, CONTROL TextEditor { CONTAINER_TYPE BOX CONTAINER_NAME Top … } hat das systemweite Bedienelement Vorrang. Konkurrieren zwei Komponenten für dieselbe Position, werden sie in der Reihenfolge gesetzt, in der sie gelesen werden. Erstellt ein Benutzer beispielsweise ein neues persönliches Bedienelement für das Hauptbedienfeld (CONTAINER_TYPE BOX und CONTAINER_NAME Top) und ordnet ihm POSITION_HINTS 5 zu, schiebt das persönliche Bedienelement das integrierte Bedienelement und alle anderen Bedienelemente mit höheren Positionsnummern um eine Position nach rechts. Wird ein Bedienelement geändert, indem eine neue systemweite oder persönliche Version davon erstellt wird, muß in der neuen Bedienelementdefinition derselbe Bedienelementname, CONTAINER_NAME, und CONTAINER_TYPE angegeben werden. Sonst wird das neue Bedienelement dem existierenden Bedienelement hinzugefügt. Dynamisch erstellte Bedienfelddateien<indexterm><primary>Bedienfeld</primary><secondary>dynamische Anpassungen</secondary></indexterm> Paßt der Benutzer das Bedienfeld über das Bedienelement 'Symbol installieren' und Menüs an, werden Dateien in das Verzeichnis Standardverzeichnis/.dt/types/fp_dynamic geschrieben. Das Bedienfeld erstellt eine zusätzliche Datei, Standardverzeichnis/.dt/sessions/dtwmfp.session, dtwmfp.session Datei in der der Status des angepaßten Bedienfeldes für jede Session gesichert und wiederhergestellt wird. Benutzerschnittstellenanpassungen verwalten Über die Menüs der Bedienelemente und die Bedienelemente 'Symbol installieren' kann der Benutzer das Bedienfeld weitreichend anpassen. Im folgenden Abschnitt wird beschrieben, wie bestimmte persönliche Anpassungen ausgeschlossen werden. Beispielsweise kann ausgeschlossen werden, daß ein Benutzer ein Bedienelement löscht. persönliche Anpassungen widerrufen werden. Beispielsweise kann ein Benutzer die Wiederherstellung eines versehentlich gelöschten Bedienelements anfordern. Persönliche Anpassungen ausschließen<indexterm><primary>Bedienfeld</primary><secondary>persönliche Anpassungen</secondary></indexterm><indexterm> <primary>Bedienfeld</primary><secondary>Bedienelement</secondary></indexterm> Handelt es sich bei dem Bedienelement um ein integriertes Bedienelement, die Definition aus /usr/dt/appconfig/types/sprache/dtwm.fp in /etc/dt/appconfig/types/sprache/name.fp kopieren. Die folgende Zeile zur Bedienelementdefinition hinzufügen: LOCKED True Gelöschte Bedienelemente oder gelöschte Bedientafeln wiederherstellen<indexterm> <primary>Bedientafel</primary><secondary>gelöschte Bedientafel wiederherstellen</secondary></indexterm><indexterm><primary>Bedienelement</primary><secondary>wiederherstellen</secondary></indexterm> Die Aktion 'Bedienfeld wiederherstellen'Bedienfeld wiederherstellen, Aktion in der Gruppe von Anwendungen 'Desktop-Werkzeuge'Bedienelementpersönliche Anpassungen ausschließen LOCKED Feld entfernt alle Bedienfeldanpassungen, die über die Benutzerschnittstelle durchgeführt wurden. Benutzer können mit dieser Aktion alle persönlichen Anpassungen, die sie über die Menüs des Bedienfeldes erstellt haben, entfernen. Auf folgende Art und Weise ein einzelnes Bedienelement wiederherstellen: Im Verzeichnis Standardverzeichnis/.dt/types/fp_dynamic die Datei entfernen, die erstellt wurde, als das Bedienelement vom Benutzer gelöscht wurde. Das Bedienelement trägt denselben Namen wie das ursprünglich gelöschte. Wurde beispielsweise das Bedienelement Symboleditor gelöscht, enthält eine Datei im Verzeichnis fp_dynamic folgenden Eintrag: CONTROL IconEditor { … DELETE True } DELETE, Feld Wird eine Bedientafel gelöscht, wird eine separate dynamische Datei für die Bedientafel und für jedes Bedienelement in der Bedientafel erstellt. Für weitere Informationen zu diesem Thema, siehe Organisation der Bedienfelddefinition<indexterm> <primary>Bedienfeld</primary><secondary>Organisation der Definition</secondary> </indexterm> Das Bedienfeld wird durch Assemblierung der Definitionen seiner Komponenten aufgebaut. Für jede dieser Komponenten ist eine bestimmte Syntax erforderlich, die definiert, wo im Bedienfeld die Komponente steht, wie sie aussieht und wie sie sich verhält. Bedienfeldkomponenten<indexterm><primary>Bedienfeld</primary><secondary>Komponenten</secondary></indexterm>
Bedienfeldkomponenten
Das Bedienfeld ist folgendermaßen aufgebaut: Das Bedienfeld (PANEL definitionPANEL) ist der Container der obersten Ebene, das übergeordnete Verzeichnis, des gesamten Bedienfeldes. Das PANEL ist ein Container für ein oder mehrere Felder (BOXen). Eine BOX Definition BOX ist ein Container für ein oder mehrere Bedienelemente (CONTROLs). Es gibt zwei spezielle Typen von Containern: Eine Bedientafel (SUBPANEL DefinitionSUBPANEL) ist einem bestimmten Bedienelement zugeordnet (das Bedienelement ist der Container für die Bedientafel). Bedientafeln öffnen sich von dem Bedienelement, dem sie zugeordnet sind, nach oben. Der ArbeitsbereichsumschalterArbeitsbereichsumschalterDefinition (SWITCH) enthält die Tasten zum Wechseln der Arbeitsbereiche sowie zusätzliche Bedienelemente.
Allgemeine Syntax der Bedienfelddefinition<indexterm> <primary>Bedienfeld</primary><secondary>Syntax</secondary></indexterm> Jede Komponente im Bedienfeld wird einzeln definiert. Dabei wird folgende Syntax verwendet: COMPONENT name { KEYWORD wert KEYWORD wert … } Einige Schlüsselwörter sind erforderlich, andere sind wahlfrei. Weitere Informationen können der Hilfeseite dtfpfile(4X) entnommen werden. Bedienfelddefinition (PANEL)<indexterm><primary>PANEL Definition</primary> <secondary>Syntax</secondary></indexterm> PANEL ist die Komponente der obersten Ebene. Die Definition enthält den Bedienfeldnamen Felder, die das allgemeine Erscheinungsbild und das Verhalten des gesamten Bedienfeldes beschreiben. PANEL bedienfeld_name { KEYWORD wert KEYWORD wert … } Der Parameter bedienfeld_name ist ein eindeutiger Name für das Bedienfeld. Der Standardname ist “FrontPanel.” Felddefinitionen (BOX)<indexterm><primary>BOX Definition</primary> <secondary>Syntax</secondary></indexterm> Eine Definition für BOX beschreibt den Namen der BOX in welchem Bedienfeld (PANEL) sich das Feld befindet (CONTAINER_NAME Feld CONTAINER_NAME) die Position des Feldes im Bedienfeld (POSITION_HINTS ) Felder, die das allgemeine Erscheinungsbild und das Verhalten des gesamten Feldes beschreiben BOX feld_name { CONTAINER_NAME bedienfeld_name POSITION_HINTS position KEYWORD wert KEYWORD wert … } Bedienelementdefinitionen (CONTROL)<indexterm><primary>CONTROL Definition, Syntax</primary></indexterm> Eine Definition für CONTROL beschreibt den Namen des Bedienelements (CONTROL) ob es sich bei dem Bedienelement um ein Feld, eine Bedientafel oder den Arbeitsbereichsumschalter handelt (CONTAINER_TYPE FeldCONTAINER_TYPE) in welchem/r Feld, Bedientafel oder Arbeitsbereichsumschalter sich das Bedienelement befindet (CONTAINER_NAME FeldCONTAINER_NAME) die Position des Bedienelements im Feld (POSITION_HINTS ). Felder, die das allgemeine Erscheinungsbild und das Verhalten des Bedienelements beschreiben CONTROL bedienelement_name { CONTAINER_TYPE BOX oder SUBPANEL oder SWITCH CONTAINER_NAME feld_name oder bedientafel_name oder schalter_name TYPE bedienelement_typ POSITION_HINTS position KEYWORD wert KEYWORD wert … } BedientafelDefinition BedientafelSyntax Bedientafeldefinitionen (SUBPANEL)<indexterm><primary>Bedientafel</primary><secondary>Syntax</secondary></indexterm> Eine Definition für SUBPANEL beschreibt den Namen der Bedientafel (SUBPANEL) den Namen des Bedienelements, dem die Bedientafel zugeordnet istBedientafelContainer (CONTAINER_NAME field CONTAINER_NAME) Felder, die das spezifische Erscheinungsbild und Verhalten der Bedientafel beschreiben SUBPANEL bedientafel_name { CONTAINER_NAME bedienelement_name KEYWORD wert KEYWORD wert … } Arbeitsbereichsumschalterdefinition (SWITCH)<indexterm><primary>SWITCH Definition</primary></indexterm><indexterm><primary>Arbeitsbereichsumschalter</primary><secondary>Syntax der Definition</secondary></indexterm> Die Definition für SWITCH beschreibt den Namen des Arbeitsbereichsumschalters in welchem Feld sich der Arbeitsbereichsumschalter befindet (CONTAINER_NAME, FeldCONTAINER_NAME ) die Position des Arbeitsbereichsumschalters innerhalb des Feldes (POSITION_HINTS) Felder, die das Erscheinungsbild und Verhalten des Arbeitsbereichsumschalters beschreiben SWITCH schalter_name { CONTAINER_NAME feld_name POSITION_HINTS position KEYWORD wert KEYWORD wert … }
Hauptanzeige ändern<indexterm><primary>Bedienfeld</primary><secondary>ändern</secondary></indexterm> Bei der Hauptanzeige handelt es sich um das Bedienfeldfenster ohne die Bedientafeln.
Container der Hauptanzeige
Folgende Änderungen können vorgenommen werden: Hinzufügen oder Entfernen von Bedienelementen Austauschen der Positionen von Bedienelementen Bedienelemente der Hauptanzeige hinzufügen<indexterm> <primary>Bedienelement</primary><secondary>der Hauptanzeige hinzufügen</secondary></indexterm> Eine Bedienfeldkonfigurationsdatei erstellen: systemweit: /etc/dt/appconfig/types/sprache/*.fp persönlich: Standardverzeichnis/.dt/types/*.fp Das Bedienelement in der Datei definieren. Mit den Feldern CONTAINER_NAME und CONTAINER_TYPE den Container für das Bedienelement spezifizieren: CONTAINER_NAME Top CONTAINER_TYPE BOX Mit POSITION_HINTS die Position von links nach rechts für das Bedienelement angeben. Da Anpassungen Vorrang vor integrierten Bedienelementen haben, schiebt das neue Bedienelement das bereits vorhandene Bedienelement um eine Position nach rechts. Die Konfigurationsdatei sichern. Ein Symbol für das Bedienelement im Bedienfeld erstellen. Nähere Informationen hierzu können dem Abschnitt entnommen werden. 'Arbeitsbereichsmanager neu starten' im Arbeitsbereichsmenü auswählen. Beispielsweise stellt die folgende Bedienelementdefinition in der Datei /etc/dt/appconfig/types/sprache/audio.fp ein Bedienelement für eine Audio-Anwendung zwischen die Bedienelemente für Uhr und Kalender. CONTROL AudioApplication { TYPE icon CONTAINER_NAME Top CONTAINER_TYPE BOX ICON AudioApp POSITION_HINTS 2 PUSH_ACTION StartAudioApplication PUSH_RECALL true } Bedienelemente entfernen<indexterm><primary>Bedienelement</primary><secondary>von Bedienfeld entfernen</secondary></indexterm> Eine Bedienfeldkonfigurationsdatei erstellen: systemweit: /etc/dt/appconfig/types/sprache/name.fp persönlich: Standardverzeichnis/.dt/types/name.fp Die Definition des Bedienelements, das gelöscht werden soll, in die neue Datei kopieren. Handelt es sich um ein integriertes Bedienelement, befindet sich die Definition in /usr/dt/appconfig/types/sprache/dtwm.fp. Es ist nicht notwendig, die gesamte Definition zu kopieren. Die Felder CONTAINER_NAME und CONTAINER_TYPEmüssen jedoch auf jeden Fall kopiert werden. Das Feld DELETE der Definition hinzufügen: DELETE True Die Konfigurationsdatei sichern. 'Arbeitsbereichsmanager neu starten' im Arbeitsbereichsmenü auswählen. Beispielsweise entfernt die folgende Bedienelementdefinition in der Datei /etc/dt/appconfig/types/sprache/TrashCan.fp das Bedienelement 'Papierkorb' aus dem Bedienfeld. CONTROL Trash { CONTAINER_NAME Top CONTAINER_TYPE BOX DELETE True } Bedienelemente ändern<indexterm><primary>Bedienelement</primary> <secondary>ändern</secondary></indexterm> Zum Ändern einer Bedienelementdefinition, zum Beispiel eines Symbolbildes, die folgende Prozedur verwenden. Die gesamte Bedienelementdefinition aus /usr/dt/appconfig/types/sprache/dtwm.fp in folgende Dateien kopieren: systemweit: /etc/dt/appconfig/types/sprache/name.fp persönlich: Standardverzeichnis/.dt/types/name.fp. Das Feld, das geändert werden soll, bearbeiten. Es können auch zusätzliche Felder hinzugefügt werden. Die Datei sichern. 'Arbeitsbereichsmanager neu starten' im Arbeitsbereichsmenü auswählen. Positionen von Bedienelementen austauschen<indexterm><primary>Bedienelement</primary><secondary>Positionen von Bedienelementen austauschen</secondary> </indexterm> Die Bedienelementdefinitionen der Bedienelemente, deren Positionen geändert werden sollen, von /usr/dt/appconfig/types/sprache/dtwm.fp in folgende Dateien kopieren: systemweit:/etc/dt/appconfig/types/sprache/name.fp persönlich: Standardverzeichnis/.dt/types/name.fp. Die gesamte Bedienelementdefinition für jedes Bedienelement, das verschoben werden soll, kopieren. Die Werte der Felder POSITION_HINTS FeldPOSITION_HINTS der Bedienelementdefinitionen austauschen. Die Datei sichern. 'Arbeitsbereichsmanager neu starten' im Arbeitsbereichsmenü auswählen. Beispielsweise tauschen die folgenden Definitionen in einer Datei /etc/dt/appconfig/types/C/MailHelp.fp die Positionen der Bedienelemente für Post und Hilfemanager aus und sperren diese gegen persönliche Änderungen einzelner Benutzer. CONTROL Mail { POSITION_HINTS 12 LOCKED True …der rest der definition des bedienelements } CONTROL Help { POSITION_HINTS 5 LOCKED True …der rest der definition des bedienelements } Ein Bedienelement im Bedienfeld ersetzen<indexterm><primary>Bedienelement</primary><secondary>ersetzen</secondary></indexterm> Eine weitere Bedienelementdefinition mit denselben Parametern erstellen: bedienelement_name CONTAINER_NAME, Feld CONTAINER_NAME Wert Beispielsweise sind die beiden folgenden Bedienelemente in zwei verschiedenen Konfigurationsdateien definiert. Die Bedienelemente haben denselben Bedienelementnamen und Container-Namen und werden daher als dasselbe Bedienelement betrachtet. Definition in /etc/dt/appconfig/types/C/SysControls.fp: Control ImportantApplication { CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS 2 … Definition in Standardverzeichnis/.dt/types/MyControls.fp: Control ImportantApplication { CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS 6 … Das persönliche Bedienelement hat Vorrang, so daß das Bedienelement an die Position 6 gestellt wird. Symbol angeben, das von einem Bedienelement verwendet werden soll<indexterm><primary>Bedienelement</primary><secondary>Erscheinungsbild</secondary></indexterm><indexterm><primary>Bedienelement</primary><secondary>Symbol</secondary></indexterm><indexterm><primary>Symbole</primary><secondary>Bedienfeld</secondary></indexterm> Das Feld ICON Feldim BedienfeldICON der Bedienelementdefinition definiert, welches Symbolbild für das Bedienelement verwendet wird. Der Wert für das Feld ICON kann auf die folgenden Weisen angegeben werden: durch den Dateinamen ohne Pfad Der Dateiname ohne Pfad ist der Name der Datei, die das Symbolbild enthält, ohne die Dateinamenerweiterungen für Größe (m und t) und Abbildtyp (bm und pm). Beispielsweise lautet bei den Dateien mit den Namen MyGame.l.pm und MyGame.m.pm der Dateiname ohne Pfad MyGame. Wird der Dateiname ohne Pfad verwendet, müssen sich die Symboldateien in einem Verzeichnis im Symbolsuchpfad befinden: persönliche Symbole: Standardverzeichnis/.dt/icons systemweite Symbole: /etc/dt/appconfig/icons/sprache durch einen absoluten Pfad zu der Symboldatei, einschließlich des vollständigen Dateinamens Der absolute Pfad sollte nur verwendet werden, wenn sich die Symboldatei nicht im Symbolsuchpfad befindet. Die Größe des Symbols richtet sich nach der Position des Bedienelements: PositionGröße Hauptanzeige 48 x 48 Pixel (name.l.pm oder name.l.bm) Bedientafel 32 x 32 Pixel (name.m.pm oder name.m.bm) Die Symboldatei in eine der folgenden Positionen stellen: persönliche Symbole: Standardverzeichnis/.dt/icons systemweite Symbole: /etc/dt/appconfig/icons/sprache
Bedientafeln erstellen und ändern<indexterm> <primary>Bedientafel</primary><secondary>erstellen</secondary></indexterm><indexterm> <primary>Bedientafel</primary><secondary>ändern</secondary></indexterm> Der Benutzer kann Bedientafeln über die Menüs des Bedienfeldes erstellen und ändern. Im folgenden Abschnitt wird erläutert, wie durch Änderung der Bedienfeldkonfigurationsdateien eine systemweite Anpassung erreicht wird. Eine Bedientafel ist einem Bedienelement in der Hauptanzeige zugeordnet.
Der Container einer Bedientafel ist das Bedienelement, dem sie zugeordnet ist.
BedientafelZuordnung mit HauptanzeigeDie Zuordnung erfolgt über die Bedientafeldefinition. Im Feld CONTAINER_NAME wird angegeben, welchem Bedienelement die Bedientafel zugeordnet ist. CONTROL bedienelement_name { … } SUBPANEL bedientafel_name { CONTAINER_NAME bedienelement_name … } Neue systemweite Bedientafeln erstellen<indexterm><primary>Bedientafel</primary><secondary>systemweite Anpassung</secondary></indexterm><indexterm> <primary>Bedientafel</primary><secondary>neu erstellen</secondary></indexterm> Den bedienelement_name des Bedienelements in der Hauptanzeige feststellen, dem die Bedientafel zugeordnet werden soll. Handelt es sich bei dem Bedienelement um eines der integrierten Bedienelemente, befindet sich die Definition in /usr/dt/appconfig/types/sprache/dtwm.fp. Eine neue Datei /etc/dt/appconfig/types/sprache/*.fp erstellen. Die Bedientafel definieren: SUBPANEL bedientafel_name { CONTAINER_NAME bedienelement_name TITLE wert KEYWORD wert … } Die neue Konfigurationsdatei sichern. 'Arbeitsbereichsmanager neu starten' im Arbeitsbereichsmenü auswählen. Integrierte Bedientafeln anpassen<indexterm><primary>Bedientafel</primary> <secondary>integrierte Bedientafeln anpassen</secondary></indexterm> Es können allgemeine Merkmale (wie zum Beispiel der Titel) sowie der Inhalt der integrierten Bedientafeln geändert werden. Allgemeine Merkmale einer integrierten Bedientafel ändern Eine neue Bedienfeldkonfigurationsdatei erstellen: systemweit: /etc/dt/appconfig/types/sprache/name.fp persönlich: Standardverzeichnis/.dt/types/name.fp. Die gesamte Standardbedientafeldefinition (SUBPANEL) aus der Datei /usr/dt/appconfig/types/sprache/dtwm.fp in die neue Datei kopieren: SUBPANEL bedientafel_name { … } Die Bedientafeldefinition ändern. Die neue Konfigurationsdatei sichern. 'Arbeitsbereichsmanager neu starten' im Arbeitsbereichsmenü auswählen. Wird beispielsweise die folgende Definition in die Datei/users/janice/.dt/types/PerApps.fp gestellt, wird dadurch der Name der Bedientafel Persönliche Anwendungen geändert: SUBPANEL PersAppsSubpanel { CONTAINER_NAME TextEditor TITLE anwendungen von Janice } Systemweite Bedienelemente einer integrierten Bedientafel hinzufügen Eine Bedienfeldkonfigurationsdatei /etc/dt/appconfig/types/sprache/name.fp erstellen. Das systemweite Bedienelement in der Datei definieren. Mit den Feldern CONTAINER_NAME und CONTAINER_TYPE den Container für das Bedienelement angeben: CONTROL bedienelement_name { CONTAINER_NAME bedientafel_name CONTAINER_TYPE SUBPANEL … } Weitere Informationen hierzu können dem Abschnitt entnommen werden. Die Konfigurationsdatei sichern. 'Arbeitsbereichsmanager neu starten' im Arbeitsbereichsmenü auswählen. Beispielsweise fügt das folgende Bedienelement, das in einer neuen Datei /etc/dt/appconfig/types/sprache/DigitalClock.fp definiert ist, die Anwendung Digitaluhr (in der Gruppe von Anwendungen 'Desktop- Werkzeuge') der Bedientafel 'Persönliche Anwendungen' für alle Benutzer hinzu. CONTROL DigitalClockControl { TYPE icon CONTAINER_NAME PerAppsSubpanel CONTAINER_TYPE SUBPANEL ICON Dtdgclk PUSH_ACTION DigitalClock PUSH_RECALL True } Bedienelemente aus einer integrierten Bedientafel entfernen Dieselbe Prozedur wie zum Entfernen eines Bedienelements aus der Hauptanzeige verwenden. Weitere Infomationen hierzu können dem Abschnitt entnommen werden. Bedienelement 'Symbol installieren' entfernen Das folgende Feld der Bedientafeldefinition hinzufügen: CONTROL_INSTALL False Automatisches Schließen von Bedientafeln ändern<indexterm> <primary>Bedientafel</primary><secondary>automatisches Schließen ändern</secondary></indexterm> Standardmäßig werden Bedientafeln geschlossen, wenn der Benutzer ein Bedienelement auswählt, es sei denn, der Benutzer hat die Bedientafel aus ihrer ursprünglichen Position verschoben. Das Bedienfeld kann so konfiguriert werden, daß Bedientafeln geöffnet bleiben, bis der Benutzer sie explizit schließt. Eine neue Bedienfeldkonfigurationsdatei erstellen: systemweit: /etc/dt/appconfig/types/sprache/*.fp persönlich: Standardverzeichnis/.dt/types/*.fp Die Standarddefinition für PANEL aus der Datei /usr/dt/appconfig/types/sprache/dtwm.fp in die neue Datei kopieren: PANEL FrontPanel { … } Das folgende Feld zu der Definition für PANEL hinzufügen: SUBPANEL_UNPOST False Die neue Konfigurationsdatei sichern. 'Arbeitsbereichsmanager neu starten' im Arbeitsbereichsmenü auswählen.
Bedienelemente im Bedienfeld definieren<indexterm> <primary>Bedienelement</primary><secondary>definieren</secondary></indexterm> Der Benutzer kann persönliche Bedienelemente erstellen, indem er Symbole an die Bedienelemente 'Symbol installieren' übergibt. Dadurch wird die Anpassung zwar wesentlich vereinfacht, aber ein Teil der Funktionalität der Bedienelemente im Bedienfeld geht verloren. Beispielsweise kann ein Bedienelement, das mit dem Bedienelement 'Symbol installieren' erstellt wurde keine Animation zur Verfügung stellen kein Client-Fenster anzeigen nicht bei Auftreten eines Ereignisses das Erscheinungsbild ändern (beispielsweise beim Empfangen von Post) Im folgenden Abschnitt wird beschrieben, wie Bedienelemente im Bedienfeld manuell erstellt werden. Referenzinformationen zur Syntax von Bedienelementen im Bedienfeld können der Hilfeseite dtfpfile(4X) entnommen werden. Definitionen für ein Bedienelement im Bedienfeld Eine Definition eines Bedienelements im Bedienfeld hat folgende Struktur: CONTROL bedienelement_name { TYPE control_type CONTAINER_NAME wert CONTAINER_TYPE wert andere felder zur definition von erscheinungsbild und verhalten } Bedienelementtypen<indexterm><primary>Bedienelement</primary><secondary>Typen</secondary></indexterm> Das Feld TYPE FeldTYPE in der Bedienelementdefinition gibt das grundlegende Verhalten des Bedienelements an. Bedienelementtyp Bedienelementverhalten icon Bedienelementicon (Standard). Das Bedienelement führt eine angegebene Aktion aus, wenn der Benutzer das Bedienelement doppelklickt oder dem Bedienelement eine Datei übergibt. Abstand zwischen Bedienelementen regelnblank Platzhalter, mit dem der Abstand zwischen Bedienelementen geregelt werden kann. Betriebsanzeigebusy Betriebsanzeige. Das Bedienelement blinkt (schaltet zwischen Bildschirmen hin und her), wenn eine Aktion aufgerufen wird. Client-Fenster im Bedienfeldclient Ein Client-Fenster im Bedienfeld. Uhr clock Uhr. Bedienelementverhaltendate Zeigt das aktuelle Datum an. Dateisteuerungfile Stellt eine Datei dar. Durch Auswahl des Bedienelements wird die Standardaktion für die Datei ausgeführt. Neue Bedienelemente erstellen<indexterm><primary>Bedienelement</primary> <secondary>erstellen</secondary></indexterm> Im folgenden Abschnitt wird die Vorgehensweise bei der Definition eines Bedienelements beschrieben und erläutert, wie verschiedene Bedienelementtypen erstellt werden. Soll das Bedienelement über die Aktionen PUSH_ACTION und/oder DROP_ACTION verfügen, die entsprechenden Aktionsdefinitionen erstellen. Hierbei handelt es sich um die Aktionen, die ausgeführt werden, wenn der Benutzer das Bedienelement anklickt oder ihm eine Datei übergibt. Die Symbolbilddateien für das Bedienelement erstellen. Informationen zu Symbolgrößen, -namen und -positionen können dem Abschnitt entnommen werden. Eine neue Bedienfeldkonfigurationsdatei erstellen in: systemweit: /etc/dt/appconfig/types/sprache/*.fp persönlich: Standardverzeichnis/.dt/types/*.fp Die Bedienelementdefinition der Datei hinzufügen. Die Datei sichern. 'Arbeitsbereichsmanager neu starten' im Arbeitsbereichsmenü auswählen. Bedienelement erstellen, das bei Anklicken eine Aktion ausführt Folgende Felder verwenden, um das Verhalten des Bedienelements zu definieren: TYPE: Auf icon setzen PUSH_ACTION FeldPUSH_ACTION: Gibt den Namen der Aktion an, die ausgeführt werden soll Beispielsweise führt das folgende Bedienelement, das in die Bedientafel 'Persönliche Anwendungen' gestellt wird, ein Spiel aus, das der Benutzer am System installiert hat. CONTROL Ball { TYPE icon CONTAINER_NAME PersAppsSubpanel CONTAINER_TYPE SUBPANEL ICON ball PUSH_ACTION RunBallGame HELP_STRING "Dieses Bedienelement auswählen, um Ball zu spielen." } Das folgende Bedienelement wird in die obere linke Ecke des Arbeitsbereichsumschalters gestellt. Es startet eine Aktion mit dem Namen 'CutDisp'. CONTROL StartCutDisp { TYPE icon CONTAINER_NAME Switch CONTAINER_TYPE SWITCH POSITION_HINTS first ICON cutdisp HELP_STRING "Dieses Bedienelement auswählen, um cutdisp auszuführen." PUSH_ACTION CutDisp } Bedienelement erstellen, das eine Datei öffnet<indexterm><primary>Bedienelement</primary><secondary>zum Öffnen einer Datei</secondary> </indexterm> Folgende Felder verwenden, um das Verhalten des Bedienelements zu definieren: TYPE: Auf file setzen FILE_NAME FeldFILE_NAME: Gibt den Pfad der Datei an, die geöffnet werden soll. PUSH_ACTION: Auf Open setzen Eine Aktion 'Öffnen' muß für den Datentyp der Datei definiert sein. Beispielsweise wird das folgende Bedienelement ganz rechts in die Hauptanzeige gestellt. Es startet den Texteditor mit der Datendatei /users/ellen/PhoneList.txt. Die Aktion 'Öffnen' für Dateien des Typs *.txt ist Bestandteil der Standarddatenbank für Aktionen. CONTROL EditPhoneList { TYPE file FILE_NAME /users/ellen/PhoneList.txt CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS last ICON PhoneBook HELP_STRING "Dieses Bedienelement zeigt Ellens Telefonliste" PUSH_ACTION Open } Bedienelement erstellen, das als Übergabebereich fungiert<indexterm><primary>Übergabebereich</primary><secondary>Bedienfeldsteuerung</secondary></indexterm><indexterm><primary>Bedienfeld</primary><secondary>Bedienelement als Übergabebereich</secondary></indexterm><indexterm> <primary>Bedienelement</primary><secondary>Übergabebereich</secondary> </indexterm> Im Feld DROP_ACTION FeldDROP_ACTION die Aktion angeben, die ausgeführt wird, wenn der Benutzer eine Datei an das Bedienelement übergibt. Die Aktion muß ein Dateiargument akzeptieren können. Häufig enthält eine Bedienelementdefinition sowohl ein Feld PUSH_ACTION als auch ein Feld DROP_ACTION. Dieselbe Aktion kann sowohl für Übergabe als auch für Anklicken verwendet werden. Beispielsweise führt das folgende Bedienelement in der Bedientafel 'Persönliche Anwendungen' den X-Client xwud aus, 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 } Bedienelement erstellen, das eine Datei überwacht<indexterm> <primary>Bedienelement</primary><secondary>Datei überwachen</secondary> </indexterm> Folgende Felder verwenden, um das Verhalten des Bedienelements zu definieren: TYPE: Einen der folgenden Werte eingeben: icon type Bedienelementicon Diesen Typ verwenden, wenn PUSH_ACTION und/oder DROP_ACTION für das Bedienelement angegeben werden soll. Dateitypbedienelementfile Diesen Typ verwenden, wenn das Bedienelement sich nach der Auswahl wie die Datei verhalten soll, wenn das Symbol der Datei im Dateimanager doppelgeklickt wird. ICON und ALTERNATE_ICON FeldALTERNATE_ICON: Beschreiben die Bilder, mit denen der ursprüngliche und der geänderte Status der überwachten Datei angegeben wird. MONITOR_TYPE Feld MONITOR_TYPE: Beschreibt die Bedingungen, unter denen ein Bild sich ändert. Einen der folgenden Werte verwenden: mail Das Bedienelement ändert sein Erscheinungsbild, wenn der Datei Informationen hinzugefügt werden. file Das Bedienelement ändert sich, wenn der angegebenen Datei Informationen hinzugefügt werden. FILE_NAMEFILE_NAME Feld : Gibt die zu überwachende Datei an. Beispielsweise sucht das folgende Bedienelement eine Datei meetings, die mit einem anonymen ftp auf das System übertragen werden soll. Das Bedienelement wird an erster Position in die Bedientafel 'Persönliche Anwendungen' gestellt. CONTROL MonitorCalendar { TYPE file CONTAINER_NAME PersAppsSubpanel CONTAINER_TYPE SUBPANEL POSITION_HINTS first FILE_NAME /users/ftp/meetings MONITOR_TYPE file ICON meetingsno ALTERNATE_ICON meetingsyes } Bedienelement zum Umschalten erstellen<indexterm> <primary>Bedienelement</primary><secondary>zum Umschalten</secondary></indexterm> Ein Bedienelement zum Umschalten prüft, ob der Prozeß, der von PUSH_ACTION gestartet wurde, bereits ausgeführt wird. Wenn der Prozeß nicht ausgeführt wird, wird PUSH_ACTION ausgeführt. Wenn der Prozeß bereits ausgeführt wird, erhält das Fenster die oberste Ebene im Fensterstapel des aktuellen Arbeitsbereichs. Folgende Felder verwenden, um das Verhalten des Bedienelements zu definieren: PUSH_RECALL: Auf True setzen. CLIENT_NAME FeldCLIENT_NAME: Gibt den Namen des Clients an das Bedienelement. Der Wert von CLIENT_NAME muß mit der ersten Zeichenfolge (res_name) der Eigenschaft WM_CLASS übereinstimmen. Informationen dazu können der Hilfeseite xprop(1) entnommen werden. PUSH_ACTION: Beschreibt die Aktion 'Ausführen', wenn der Benutzer auf das Bedienelement klickt. Beispielsweise führt das folgende Bedienelement eine Anwendung mit der Aktion MyEditor einmalig aus: CONTROL MyEditor { TYPE icon CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS 15 PUSH_RECALL True CLIENT_NAME BestEditor PUSH_ACTION StartMyEditor ICON MyEd } Clientfensterbedienelement erstellen<indexterm><primary>Bedienfeld</primary><secondary>Client</secondary></indexterm><indexterm><primary>Clients</primary><secondary>Fenster in Bedienfeld</secondary></indexterm><indexterm> <primary>Bedienelement</primary><secondary>Client</secondary></indexterm> Ein Clientfensterbedienelement ist ein Anwendungsfenster im Bedienfeld. Beispielsweise kann durch das Erstellen eines xload Clientfensterbedienelements eine Systemauslastungsanzeige in das Bedienfeld gestellt werden. Das Bedienelement definieren. Folgende Felder verwenden, um das Verhalten des Bedienelements zu definieren: TYPE: Auf client setzen. CLIENT_NAME FeldCLIENT_NAME: Gibt den Client an, der gestartet werden soll. Der Wert von CLIENT_NAME muß mit der ersten Zeichenfolge (res_name) der Eigenschaft WM_CLASS übereinstimmen. Informationen dazu können der Hilfeseite xprop(1) entnommen werden. CLIENT_GEOMETRY Feld CLIENT_GEOMETRY: Gibt in Pixel die Größe des Bedienfeldfensters für den Benutzer an. Die Hilfeseite xwininfo(1) beschreibt, wie man die Größe eines Fensters in Pixel erhält. 'Arbeitsbereichsmanager neu starten' im Arbeitsbereichsmenü auswählen. Den Client aus einer Terminal-Emulatorbefehlszeile starten. Beispielsweise zeigt das folgende Bedienelement eine Auslastung von 30 x 20 Pixel. CONTROL LoadMeter { TYPE client CONTAINER_NAME Top CONTAINER_TYPE BOX CLIENT_NAME xload CLIENT_GEOMETRY 30x20 } Wenn der Client zwischen Sessions nicht gespeichert und wiederhergestellt wird, kann das Bedienelement so konfiguriert werden, daß es den Client startet, wenn es vom Benutzer angeklickt wird. Beispielsweise kann das Bedienelement zur Systemauslastung so konfiguriert werden, daß xload gestartet wird durch Hinzufügen der folgenden Zeile in der Definition PUSH_ACTION StartXload und dem Erstellen dieser Aktion. ACTION StartXload { WINDOW_TYPE NO_STDIO EXEC_STRING /usr/contrib/bin/X11/xload } Bedienelement animieren<indexterm><primary>Bedienelement</primary> <secondary>Animation</secondary></indexterm><indexterm><primary>Animation für Bedienfeld</primary></indexterm><indexterm><primary>Bedienfeld</primary> <secondary>Animation</secondary></indexterm> Eine Animationsfolge kann hinzugefügt werden, die ausgeführt wird, wenn der Benutzer das Bedienelement anwählt oder ihm ein Objekt übergibt. Für eine Animationsfolge muß ein Bedienelement folgende Eigenschaften besitzen: Vom Typ iconsein Über PUSH_ACTION oder DROP_ACTION verfügen Die Animationsfolge mit der Komponente ANIMATION DefinitionANIMATION angeben: ANIMATION animation_name { ANIMATION symbol_bild [verzögerung] ANIMATION symbol_bild [verzögerung] … } wobei verzögerung die Zeitverzögerung in Millisekunden zwischen der Animation von Symbolen angibt. Die Felder PUSH_ANIMATION FeldPUSH_ANIMATION und/oder DROP_ANIMATION FeldDROP_ANIMATION der Bedienelementdefinition hinzufügen. Der Wert ist der Name der Folge ANIMATION. Beispielsweise animieren die folgenden Zeilen ein Bedienelement, das die Anwendung BestEditor startet. Die Zeitverzögerung zwischen Symbolen beträgt 300 Millisekunden. In diesem Beispiel wird angenommen, daß die Symboldateien frame1, frame2 usw. erstellt wurden. CONTROL BestEditor { … PUSH_ANIMATION BestEdAnimation … } ANIMATION BestEdAnimation { ANIMATION frame1 300 ANIMATION frame2 … } Kontexthilfe für Bedienelemente des Bedienfeldes Es gibt zwei Möglichkeiten der Kontexthilfe für ein Bedienelement: Eine Hilfezeichenfolge in der Bedienelementdefinition. Die Hilfezeichenfolge wird in der Hilfeanzeige angezeigt, wenn der Benutzer Kontexthilfe für das Bedienelement aufruft. Die Hilfezeichenfolge kann keine Formatierungen (z.B. Kopfzeilen) oder Verweise enthalten. Die Hilfezeichenfolge in der Bedienelementdefinition angeben: HELP_STRING hilfe_zeichenfolge HELP_STRING Feld Ein Hilfethema in einem registrierten Hilfeband: Ein Hilfethema sind zusammengefaßte Informationen mit den vollen Möglichkeiten des Hilfesystems. Um ein Hilfethema zu verfassen, ist der Help Developers Kit des Desktops erforderlich. Den Hilfeband und Kennummer des Themas in der Bedienelementdefinition angeben. HELP_VOLUME hilfeband_name HELP_TOPIC thema_kennummer HELP_VOLUME Feld HELP_TOPIC Feld Arbeitsbereichsumschalter anpassen Es gibt verschiedene Möglichkeiten, den Arbeitsbereichsumschalter anzupassen: Anzahl der Arbeitsbereiche ändern Anordnung des Schalters ändern Bedienelemente im Schalter ändern Standardanzahl der Arbeitsbereiche ändern Die folgende Arbeitsbereichsmanagerressource ändern: Dtwm*workspaceCount: n Mehr Informationen können dem Abschnitt “Die Anzahl von Arbeitsplätzen auf einer systemweiten Basis” auf Seite 244 entnommen werden. Anzahl der Schalterzeilen ändern Das Feld NUMBER_OF_ROWS FeldNUMBER_OF_ROWS in der SWITCH Definition ändern. Beispielsweise definiert die folgende Definition einen Schalter mit drei Zeilen. SWITCH Switch { CONTAINER_NAME feld_name NUMBER_OF_ROWS 3 … } Bedienelemente im Arbeitsbereichsumschalter ändern oder hinzufügen Eine Bedienfeldkonfigurationsdatei mit der Bedienelementdefinition erstellen. Das Bedienelement angeben, das im Schalter angezeigt werden soll: CONTAINER_NAME Switch CONTAINER_TYPE SWITCH Die Position im Schalter angeben: POSITION_HINTS n wobei n eine ganze Zahl ist. Die Positionen werden durchnumeriert von links nach rechts und von oben nach unten. (Beim standardmäßig eingestellten Schalter mit zwei Zeilen sind dies die Positionen 1 bis 4.) Das Symbol für das Bedienelement erstellen. Die empfohlene Größe beträgt 16 auf 16 Pixel. Beispielsweise stellt das folgende Bedienelement ein Bedienelement für Terminalfenster in den Schalter. 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 } Das Bedienelement verwendet ein integriertes Symbol und dasselbe Hilfethema, das von dem Bedienelement für Terminalfenster und der Bedientafel Persönliche Anwendungen benutzt wird. Allgemeine Bedienfeldkonfiguration Die PANEL Syntax des Bedienfelds ermöglicht: Position des Bedienfeldes ändern Aussehen des Fensters ändern Allgemeines Erscheinungsbild und Verhalten von Bedienelementen einstellen. Die Standardbeschreibung von PANEL befindet sich in der Datei /usr/dt/appconfig/types/sprache/dtwm.fp. Zusätzliche Informationen können der Hilfeseite dtfpfile(4X) entnommen werden. Allgemeine Schritte Eine neue Bedienfeldkonfigurationsdatei erstellen in: /etc/dt/appconfig/types/sprache oder Standardverzeichnis/.dt/types. Die Standardbeschreibung von PANEL aus der Datei /usr/dt/types/sprache/dtwm.fp in die neue Datei kopieren. Die PANEL Beschreibung bearbeiten. Die neue PANEL Beschreibung hat Vorrang vor der Standardbeschreibung. Standardposition des Bedienfeldes ändern<indexterm><primary>Bedienfeld</primary><secondary>Position</secondary></indexterm> Mit dem Feld PANEL_GEOMETRY FeldPANEL_GEOMETRY in der Definition für PANEL die Position angeben. Das folgende Bedienfeld ist zum Beispiel in der oberen rechten Ecke. PANEL SpecialFrontPanel { PANEL_GEOMETRY -1+1 … } Bezeichnungen für Bedienelemente in der Hauptanzeige erstellen<indexterm> <primary>Bezeichnungen</primary><secondary>Bedienelemente des Bedienfeldes</secondary></indexterm><indexterm><primary>Bedienfeld</primary></indexterm><indexterm> <primary>Bezeichnungen für Bedienelemente</primary></indexterm><indexterm> <primary>Bedienelement</primary><secondary>bezeichnen</secondary></indexterm> Die folgende Zeile der Definition für PANEL hinzufügen: DISPLAY_CONTROL_LABELS True Jedem Bedienelement ein Feld LABEL hinzufügen. Der bedienelement_name wird verwendet, wenn kein LABEL angegeben wird. Klickverhalten von Bedienelementen ändern Mit dem Feld CONTROL_BEHAVIOR FeldCONTROL_BEHAVIOR in der Definition für PANEL angeben, wie der Benutzer die PUSH_ACTION eines Bedienelements ausführt. Es gibt folgende Werte für das Feld: single_click Der Benutzer klickt das Bedienelement an, um PUSH_ACTION auszuführen. double_click Der Benutzer doppelklickt das Bedienelement, um PUSH_ACTION auszuführen. Völlig neue Bedienfelder erstellen<indexterm><primary>Bedienfeld</primary><secondary>neu erstellen</secondary></indexterm> Das Erstellen eines neuen Bedienfeldes kann von Vorteil sein, wenn umfangreiche Änderungen gemacht werden sollen. Um nicht mit den integrierten Bedienfeldkomponenten in Konflikt zu geraten, sollte ein völlig neues Bedienfeld neue Namen für das PANEL und andere Container verwenden. Die PANEL Komponente mit einem eindeutigen Namen für das neue Bedienfeld erstellen. PANEL bedienfeld_name { … } Die neuen Felder und Bedienelemente mit den neuen Container-Namen erstellen. Wenn existierende Komponenten benutzt werden sollen, müssen ihre Definitionen kopiert und der Wert von CONTAINER_NAME geändert werden. 'Arbeitsbereichsmanager neu starten' im Arbeitsbereichsmenü auswählen. Beispiel für die Erstellung eines persönlichen Bedienfeldes mit drei Zeilen Das folgende Beispiel ändert das Standardbedienfeld, so daß die Bedienelemente in drei Zeilen organisiert werden. Die Datei /usr/dt/appconfig/types/sprache/dtwm.fp in die Datei Standardverzeichnis/.dt/types/MyFrontPanel.fp. kopieren. Der Datei Schreibzugriff geben. Diese Datei wird zum Erstellen des neuen Bedienfeldes bearbeitet. Den Namen des Bedienfeldes ändern: PANEL NewFrontPanel Den Namen des Feldes Top ändern und den Container-Namen bearbeiten: BOX NewFrontPanelTop { CONTAINER_NAME NewFrontPanel POSITION_HINTS first … } Felddefinitionen für die mittlere und untere Zeile hinzufügen: BOX NewFrontPanelMiddle { CONTAINER_NAME NewFrontPanel POSITION_HINTS second } BOX NewFrontPanelBottom { CONTAINER_NAME NewFrontPanel POSITION_HINTS second } Den CONTAINER_NAME der folgenden Bedienelemente zu NewFrontPanelTop ändern: Clock Date Home TextEditor Mail Den CONTAINER_NAME der folgenden Bedienelemente zu NewFrontPanelBottom ändern: Printer Style Applications Help Trash Den CONTAINER_NAME des Arbeitsbereichsschalters zu NewFrontPanelMiddle ändern. Die Ressource einstellen: Dtwm*frontPanel*name: NewFrontPanel 'Arbeitsbereichsmanager neu starten' im Arbeitsbereichsmenü auswählen.