Les utilisateurs peuvent personnaliser le Tableau de bord à l'aide des menus instantanés et des options d'installation d'icônes des panneaux secondaires.
Le présent chapitre décrit la création et la modification des fichiers de configuration en vue d'une personnalisation du Tableau de bord.
Pour plus de détails sur la configuration et les objets de commande du Tableau de bord, consultez la page de manuel dtfpfile(4X).
Pour plus de détails sur le Gestionnaire de l'espace de travail, consultez les pages de manuel dtwm(1) et dtwmrc(4).
Le Tableau de bord est défini dans une base de données de fichiers de configuration.
Ces fichiers permettent de personnaliser le Tableau de bord. Certains changements ne peuvent être effectués que par la modification d'un fichier de configuration, notamment :
l'ajout d'une nouvelle position d'objet de commande dans le panneau principal ;
l'ajout de types d'objets de commande particuliers, tels que des fenêtres client ;
la modification de certains comportements par défaut, par exemple l'activation des objets de commande du Tableau de bord par simple ou double-clic.
Ces fichiers de configuration peuvent être personnels, répartis sur le système ou distants. La souplesse de configuration est de ce fait maximale.
Le Tableau de bord est créé et géré par le Gestionnaire de l'espace de travail.
Le Tableau de bord par défaut est défini dans le fichier de configuration /usr/dt/appconfig/types/langue/dtwm.fp.
Ce fichier ne doit pas être modifié.
La définition du Tableau de bord peut être répartie dans plusieurs fichiers, locaux ou distants.
Les fichiers utilisés pour définir le Tableau de bord doivent répondre aux conditions suivantes :
Le nom du fichier doit se terminer par .fp ; par exemple, mail.fp.
Le fichier doit se trouver dans le chemin de recherche de la base de données d'actions.
Le chemin de recherche de la base de données d'actions par défaut comprend les trois répertoires indiqués ci-dessous (par ordre de recherche) :
Personnalisations personnelles : RépPersonnel/.dt/types
Personnalisations système : /etc/dt/appconfig/types/langue
Objets de commande et panneau intégrés : /usr/dt/appconfig/types/langue
Un répertoire supplémentaire, RépPersonnel/.dt/types/fp_dynamic, est utilisé pour les personnalisations effectuées à partir de l'interface utilisateur. Il ne doit pas être utilisé dans le cadre de personnalisations manuelles.
Le chemin de recherche de la base de données peut contenir des répertoires ajoutés lors de la configuration réseau du système. Des emplacements distants sont ajoutés lorsque le système est configuré pour accéder à un serveur d'applications. Pour plus d'informations, reportez-vous à la section "Chemin de recherche de la base de données (types d'actions/de données)".
La structure du Tableau de bord est définie par l'ensemble des fichiers de configuration figurant dans le chemin de recherche de la base de données d'actions.
En cas de conflit entre les composants d'une définition, les règles de priorité déterminent la définition utilisée. Il existe deux cas de conflit :
lorsque les composants partagent le même nom d'objet de commande, CONTAINER_NAME
et CONTAINER_TYPE
.
lorsque les composants doivent théoriquement occuper le même emplacement (noms différents mais valeurs de CONTAINER_NAME
, CONTAINER_TYPE
et POSITION_HINTS
identiques).
Le Tableau de bord utilise les règles de priorité suivantes :
Dans le premier cas (même nom d'objet, même nom et même type de conteneur), c'est le premier composant lu qui est utilisé.
Par exemple, si un objet de commande système et un objet de commande intégré contiennent tous deux les zones suivantes (et s'ils diffèrent par ailleurs) :
CONTROL TextEditor { CONTAINER_TYPE BOX CONTAINER_NAME Top ... }
alors l'objet de commande système est prioritaire.
Dans le second cas, l'ordre de lecture détermine leur position respective.
Par exemple, si un utilisateur crée un nouvel objet de commande personnel pour le Tableau de bord, (CONTAINER_TYPE
BOX et CONTAINER_NAME
Top) et attribue la valeur 5 à POSITION_HINTS
, cet objet personnel décale d'une position vers la droite l'objet de commande intégré et tous les autres objets de commande dont le numéro de position est plus élevé.
si vous modifiez un objet de commande en créant une version système ou personnelle, la nouvelle définition doit comporter le même nom d'objet de commande et les mêmes valeurs CONTAINER_NAME
et CONTAINER_TYPE
. Si ce n'est pas le cas, le nouvel objet de commande s'ajoutera à l'objet existant.
Lorsqu'un utilisateur procède à la personnalisation du Tableau de bord à l'aide de la commande Installer une icône et des menus instantanés, les fichiers sont écrits dans le répertoire RépPersonnel/.dt/types/fp_dynamic.
Le Tableau de bord crée un fichier supplémentaire, RépPersonnel/.dt/sessions/dtwmfp.session, utilisé pour sauvegarder et restaurer l'état du Tableau de bord personnalisé pour chaque session.
Les utilisateurs peuvent personnaliser le Tableau de bord à l'aide des menus instantanés et des options d'installation d'icônes.
La présente section explique comment :
Empêcher certaines personnalisations des utilisateurs. Vous pouvez par exemple rendre la suppression d'un objet de commande impossible.
Annuler certaines personnalisations des utilisateurs. Il peut être nécessaire, par exemple, de restaurer un objet de commande supprimé par erreur.
Si l'objet de commande est intégré, copiez sa définition du fichier /usr/dt/appconfig/types/langue/dtwm.fp vers le fichier /etc/dt/appconfig/types/langue/nom.fp.
Ajoutez la ligne suivante à la définition de l'objet de commande :
LOCKED True
L'action Restaurer Tableau de bord du groupe Outils_Bureau supprime les personnalisations effectuées à l'aide de l'interface utilisateur. Les utilisateurs peuvent utiliser cette action pour annuler leurs personnalisations.
Utilisez la procédure suivante pour restaurer un objet de commande individuel.
Dans le répertoire RépPersonnel/.dt/types/fp_dynamic, supprimez le fichier créé lors de la suppression de l'objet de commande par l'utilisateur. L'objet de commande portera le même nom que l'objet d'origine qui a été supprimé.
Par exemple, si un utilisateur a supprimé l'objet de commande Editeur d'icônes, un fichier du répertoire fp_dynamic contiendra :
CONTROL Editeur d'icônes { ... DELETE True }
Lorsqu'un utilisateur supprime un panneau secondaire, un fichier dynamique distinct est créé pour ce dernier et pour chacun de ses objets de commande.
Le Tableau de bord est construit par assemblage des définitions de ses composants. La syntaxe requise pour chaque composant définit l'emplacement de ce dernier dans le Tableau de bord ainsi que son apparence et son comportement.
Le Tableau de bord est construit de la manière suivante :
PANEL est le conteneur supérieur, ou père, de l'ensemble du Tableau de bord.
PANEL est le conteneur d'un ou plusieurs conteneurs BOX.
BOX est un conteneur d'un ou plusieurs conteneurs CONTROL.
Il existe deux types de conteneurs particuliers :
Un conteneur SUBPANEL est associé à un objet de commande donné (cet objet est le conteneur du panneau secondaire). Les panneaux secondaires "glissent" de l'objet de commande auquel ils sont associés.
Les conteneurs SWITCH contiennent les boutons permettant de changer d'espace de travail ainsi que des objets de commande supplémentaires.
Chacun des composants du Tableau de bord est défini séparément à l'aide de la syntaxe :
COMPOSANT nom { MOT CLE valeur MOT CLE valeur ... }
Certains mots clés sont requis, d'autres sont facultatifs. Pour plus de détails, consultez la page de manuel dtfpfile(4X).
PANEL est le composant supérieur. Sa définition inclut :
le nom du Tableau de bord ;
des zones décrivant le comportement et l'apparence générale du Tableau de bord.
PANEL nom_tableau_bord { MOT CLE valeur MOT CLE valeur ... }
nom_tableau_bord est le nom unique du Tableau de bord. Le nom par défaut est "Tableau de bord".
Une définition BOX indique :
le nom de la boîte (BOX)
le panneau (PANEL) dans lequel elle se trouve (CONTAINER_NAME)
la position de la boîte dans le panneau (PANEL) (POSITION_HINTS)
les zones décrivant l'apparence et le comportement s'appliquant à l'ensemble de la boîte.
BOX nom_boîte { CONTAINER_NAME nom_tableau_bord POSITION_HINTS emplacement MOT CLE valeur MOT CLE valeur ... }
Une définition CONTROL décrit :
le nom de l'objet de commande (CONTROL)
si ce dernier se trouve dans une boîte, un panneau secondaire ou un sélecteur (CONTAINER_TYPE) ;
la boîte, le panneau secondaire ou le sélecteur qui contient l'objet (CONTAINER_NAME) ;
la position de l'objet de commande (CONTROL) dans la boîte (BOX) (POSITION_HINTS).
les zones décrivant l'apparence et le comportement de l'objet.
CONTROL nom_objet_commande { CONTAINER_TYPE BOX ou SUBPANEL ou SWITCH CONTAINER_NAME nom_boîte, ou nom_panneau_secondaire ou nom_sélecteur TYPE type_objet_commande POSITION_HINTS emplacement MOT CLE valeur MOT CLE valeur ... }
Une définition SUBPANEL décrit :
le nom du panneau secondaire (SUBPANEL) ;
le nom de l'objet de commande auquel il est associé (CONTAINER_NAME) ;
les zones décrivant l'apparence et le comportement du panneau secondaire.
SUBPANEL nom_panneau_secondaire { CONTAINER_NAME nom_objet_commande MOT CLE valeur MOT CLE valeur ... }
La définition SWITCH décrit :
le nom SWITCH ;
la boîte BOX dans laquelle elle se trouve SWITCH (CONTAINER_NAME) ;
La position du sélecteur (SWITCH) dans la boîte (BOX) (POSITION_HINTS)
les zones décrivant l'apparence et le comportement du sélecteur ;
SWITCH nom_sélecteur { CONTAINER_NAME nom_boîte POSITION_HINTS emplacement MOT CLE valeur MOT CLE valeur ... }
Le panneau principal correspond à la fenêtre du Tableau de bord sans les panneaux secondaires.
Vous pouvez effectuer les modifications suivantes :
ajout ou retrait d'objets de commande ;
échange des positions entre les objets de commande.
Créez un fichier de configuration du Tableau de bord :
système : /etc/dt/appconfig/types/langue/*.fp
personnel : RépPersonnel/.dt/types/*.fp.
Définissez l'objet de commande dans le fichier.
Utilisez les zones CONTAINER_NAME et CONTAINER_TYPE pour spécifier le conteneur de l'objet de commande :
CONTAINER_NAME Top CONTAINER_TYPE BOX
Utilisez POSITION_HINTS pour spécifier l'emplacement horizontal de l'objet de commande. Les personnalisations étant prioritaires sur les objets de commande intégrés, le nouvel objet de commande va décaler l'objet existant d'une position vers la droite.
Sauvegardez le fichier de configuration.
Créez une icône pour l'objet de commande du Tableau de bord.
Reportez-vous à la section "Spécification de l'icône utilisée par un objet de commande".
Sélectionnez Relancer Gestionnaire de l'espace de travail dans le menu de l'espace de travail.
Par exemple, la définition d'objet de commande suivante figurant dans le fichier /etc/dt/appconfig/types/langue/audio.fp insère l'objet d'une application audio entre ceux de l'Horloge et de l'Agenda.
CONTROL AudioApplication { TYPE icon CONTAINER_NAME Top CONTAINER_TYPE BOX ICON AudioApp POSITION_HINTS 2 PUSH_ACTION StartAudioApplication PUSH_RECALL true }
Créez un fichier de configuration du Tableau de bord :
système : /etc/dt/appconfig/types/langue/nom.fp
personnel : RépPersonnel/.dt/types/nom.fp
Copiez la définition de l'objet de commande que vous souhaitez supprimer dans le nouveau fichier.
S'il s'agit d'un objet de commande intégré, sa définition se trouve dans /usr/dt/appconfig/types/langue/dtwm.fp.
Il n'est pas nécessaire de copier la totalité de la définition. Toutefois, le segment copié doit contenir les zones CONTAINER_NAME et CONTAINER_TYPE.
Ajoutez la zone DELETE à la définition :
DELETE True
Sauvegardez le fichier de configuration.
Sélectionnez Relancer Gestionnaire de l'espace de travail dans le menu de l'espace de travail.
Par exemple, la définition d'objet de commande suivante figurant dans le fichier /etc/dt/appconfig/types/langue/TrashCan.fp supprime l'objet de commande de la Corbeille du Tableau de bord.
CONTROL Trash { CONTAINER_NAME Top CONTAINER_TYPE BOX DELETE True }
Utilisez cette procédure pour modifier la définition d'un objet de commande, par exemple pour changer son icône.
Copiez la totalité de la définition de l'objet de commande du fichier /usr/dt/appconfig/types/langue/dtwm.fp dans :
système : /etc/dt/appconfig/types/langue/nom.fp
personnel : RépPersonnel/.dt/types/nom.fp.
Modifiez la zone souhaitée. Vous pouvez également ajouter des zones supplémentaires.
Sauvegardez le fichier.
Sélectionnez Relancer Gestionnaire de l'espace de travail dans le menu de l'espace de travail.
Copiez les définitions des objets que vous souhaitez déplacer de /usr/dt/appconfig/types/langue/dtwm.fp vers :
système : /etc/dt/appconfig/types/langue/nom.fp ;
personnel : RépPersonnel/.dt/types/nom.fp.
Vous devez copier la totalité de la définition de chacun des objets à déplacer.
Intervertissez les valeurs des zones POSITION_HINTS des définitions des objets de commande.
Sauvegardez le fichier.
Sélectionnez Relancer Gestionnaire de l'espace de travail dans le menu de l'espace de travail.
Par exemple, les définitions suivantes figurant dans un fichier /etc/dt/appconfig/types/C/MailHelp.fp intervertissent l'icône du Gestionnaire d'aide et l'icône du Programme courrier et les verrouillent, empêchant ainsi toute modification personnelle.
CONTROL Mail { POSITION_HINTS 12 LOCKED True ...reste de la définition de l'objet de commande. }
CONTROL Help { POSITION_HINTS 5 LOCKED True ...reste de la définition de l'objet de commande. }
Créez une autre définition d'objet de commande avec des valeurs identiques pour les éléments ci-dessous.
nom_objet_commande
Par exemple, les deux objets de commande suivante sont définis dans deux fichiers de configuration. Ils partagent les mêmes noms d'objet de commande et de conteneur et sont par conséquent considérés comme identiques.
Définition dans /etc/dt/appconfig/types/C/SysControls.fp :
Control ImportantApplication { CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS 2 ... }
Définition dans RépPersonnel/.dt/types/MyControls.fp :
Control ImportantApplication { CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS 6 ... }
L'objet de commande personnel étant prioritaire, l'emplacement 6 lui sera affecté.
La zone ICON de la définition de l'objet de commande définit l'icône utilisée pour cet objet.
La valeur de la zone ICON peut être:
Un nom de base de fichier.
Le nom de base du fichier est le nom du fichier contenant l'icône moins les suffixes de taille (m et t) et de type (bm et pm). Par exemple, si des fichiers s'appellent Jeu.l.pm et Jeu.m.pm, utilisez Jeu.
Si vous utilisez un nom de fichier de base, les fichiers d'icône doivent être copiés dans un répertoire figurant dans le chemin de recherche des icônes.
Icônes personnelles : RépPersonnel/.dt/icons
Icônes système : /etc/dt/appconfig/icons/langue
Un chemin absolu pour le fichier d'icône, comprenant le nom complet du fichier.
Utilisez le chemin absolu uniquement si le fichier d'icône ne figure pas dans le chemin de recherche de l'icône.
L'icône de la taille dont vous avez besoin dépend de l'emplacement de l'objet de commande :
Taille emplacement
Panneau principal : 48 x 48 pixels (nom.l.pm ou nom.l.bm)
Panneau secondaire : 24 x 24 pixels (nom.s.pm ou nom.s.bm)
Copiez le fichier d'icône dans l'un des emplacement suivants :
Icônes personnelles : RépPersonnel/.dt/icons
Icônes système : /etc/dt/appconfig/icons/langue
Les utilisateurs peuvent créer et modifier des panneaux secondaires à l'aide des menus instantanés du Tableau de bord.
Cette section explique la procédure à suivre pour effectuer des personnalisations système, qui requièrent une modification des fichiers de configuration du Tableau de bord.
Un panneau secondaire est "associé" à un objet de commande du panneau principal.
La liaison est établie dans la définition du panneau secondaire. La zone CONTAINER_NAME indique l'objet de commande auquel est associé le panneau secondaire :
CONTROL nom_objet_commande { ... } SUBPANEL nom_panneau_secondaire { CONTAINER_NAME nom_objet_commande ... }
Localisez le nom_objet_commande de l'objet de commande du panneau principal auquel vous souhaitez associer le panneau secondaire.
S'il s'agit d'un objet de commande intégré, sa définition se trouve dans /usr/dt/appconfig/types/langue/dtwm.fp.
Créez un nouveau fichier /etc/dt/appconfig/types/langue/*.fp.
Définissez le panneau secondaire :
SUBPANEL nom_panneau_secondaire { CONTAINER_NAME nom_objet_commande TITLE valeur MOT CLE valeur ... }
Sauvegardez le nouveau fichier de configuration.
Sélectionnez Relancer Gestionnaire de l'espace de travail dans le menu de l'espace de travail.
Vous pouvez modifier les caractéristiques générales (le titre, par exemple) et le contenu des panneaux secondaires intégrés.
Créez un nouveau fichier de configuration du Tableau de bord :
système : /etc/dt/appconfig/types/langue/nom.fp
personnel : RépPersonnel/.dt/types/nom.fp.
Copiez la totalité de la définition SUBPANEL du fichier /usr/dt/appconfig/types/langue/dtwm.fp vers le nouveau fichier :
SUBPANEL nom_panneau_secondaire { ... }
Modifiez la définition du panneau secondaire.
Sauvegardez le nouveau fichier de configuration.
Sélectionnez Relancer Gestionnaire de l'espace de travail dans le menu de l'espace de travail.
Par exemple, la définition suivante, figurant dans le fichier /users/janice/.dt/types/PerApps.fp, modifie le nom du panneau secondaire Applications personnelles :
SUBPANEL PersAppsSubpanel { CONTAINER_NAME TextEditor TITLE Applications de Janice }
Créez un fichier de configuration du Tableau de bord /etc/dt/appconfig/types/langue/nom.fp.
Définissez l'objet de commande système dans le fichier.
Utilisez les zones CONTAINER_NAME et CONTAINER_TYPE pour spécifier le conteneur de l'objet de commande :
CONTROL nom_objet_commande { CONTAINER_NAME nom_panneau_secondaire CONTAINER_TYPE SUBPANEL ... }
Reportez-vous à la section "Définition des objets de commande du Tableau de bord".
Sauvegardez le fichier de configuration.
Sélectionnez Relancer Gestionnaire de l'espace de travail dans le menu de l'espace de travail.
Par exemple, l'objet de commande suivant, défini dans un nouveau fichier /etc/dt/appconfig/types/langue/DigitalClock.fp ajoute l'Horloge numérique (du groupe d'applications Outils_Bureau) au panneau secondaire Applications personnelles pour l'ensemble des utilisateurs.
CONTROL DigitalClockControl { TYPE icon CONTAINER_NAME PerAppsSubpanel CONTAINER_TYPE SUBPANEL ICON Dtdgclk PUSH_ACTION DigitalClock PUSH_RECALL True }
Utilisez la même procédure que pour le retrait d'un objet de commande du panneau principal. Reportez-vous à la section "Suppression d'un objet de commande".
Ajoutez la zone suivante à la définition du panneau secondaire :
CONTROL_INSTALL False
La fermeture automatique des panneaux secondaires est activée par défaut lorsque l'utilisateur sélectionne un objet de commande, sauf si l'utilisateur a déplacé ce panneau de son emplacement d'origine.
Le Tableau de bord peut être configuré afin que les panneaux secondaires restent ouverts jusqu'à l'intervention de l'utilisateur.
Créez un nouveau fichier de configuration du Tableau de bord dans :
système : /etc/dt/appconfig/types/langue/*.fp
personnel : RépPersonnel/.dt/types/*.fp.
Copiez la description par défaut du paramètre PANEL de /usr/dt/appconfig/types/langue/dtwm.fp vers le nouveau fichier :
PANEL Tableau_bord { ... }
Ajoutez la zone suivante à la définition du paramètre PANEL :
SUBPANEL_UNPOST False
Sauvegardez le nouveau fichier de configuration.
Sélectionnez Relancer Gestionnaire de l'espace de travail dans le menu de l'espace de travail.
L'utilisateur peut créer des objets de commande personnels en faisant glisser des icônes sur les objets de commande d'installation d'icône.
Les personnalisations se trouvent ainsi simplifiées mais dépendent étroitement des objets de commande du Tableau de bord. Par exemple, un objet de commande créé à l'aide de Installer une icône ne peut pas :
générer une animation ;
afficher une fenêtre client ;
modifier son apparence lors d'un événement (tel que la réception d'un courrier).
La présente section décrit la procédure à suivre pour créer manuellement des objets de commande du Tableau de bord.
Pour plus de détails sur la syntaxe des objets de commande du Tableau de bord, reportez-vous à la page de manuel dtfpfile(4X).
La définition d'un objet de commande du Tableau de bord repose sur la structure suivante :
CONTROL nom_objet_commande { TYPE type_objet_commande CONTAINER_NAME valeur CONTAINER_TYPE valeur autres zones définissant l'apparence et le comportement }
La zone TYPEde la définition de l'objet de commande sert à spécifier le comportement de base de cet objet.
Comportement
L'objet de commande exécute une action donnée lorsqu'un utilisateur clique dessus ou pose un fichier dessus.
Cadre utilisé pour ajuster l'espacement des objets de commande.
Voyant occupé. L'objet de commande clignote (alternance d'images) lorsqu'une action est lancée.
Fenêtre client du Tableau de bord.
Horloge.
Affiche la date du jour.
Représente un fichier. La sélection de cet objet de commande lance l'exécution de l'action par défaut sur le fichier.
La présente section décrit les étapes générales de la définition d'un objet de commande et de la création de divers types d'objets.
Si l'objet de commandes doit avoir une action du type PUSH_ACTION et/ou DROP_ACTION, créez les définitions d'action. Il s'agit des actions qui s'exécutent lorsque l'utilisateur clique sur l'objet ou pose un fichier dessus.
Créez les fichiers image d'icône de l'objet de commande.
Pour plus de détails sur les tailles, noms et emplacements des icônes, voir "Fichiers d'images".
Créez un nouveau fichier de configuration du Tableau de bord dans :
système : /etc/dt/appconfig/types/langue/*.fp
personnel : RépPersonnel/.dt/types/*.fp.
Ajoutez la définition de l'objet de commande au fichier.
Sauvegardez le fichier.
Sélectionnez Relancer Gestionnaire de l'espace de travail dans le menu de l'espace de travail.
Utilisez ces zones pour définir le comportement d'un objet de commande.
cTYPE : choisissez icon
PUSH_ACTION : spécifie le nom de l'action à exécuter
Par exemple, l'objet de commande suivant, qui sera intégré au panneau secondaire Applications personnelles, permet l'exécution d'un jeu :
CONTROL Ball { TYPE icon CONTAINER_NAME PersAppsSubpanel CONTAINER_TYPE SUBPANEL ICON ball PUSH_ACTION RunBallGame HELP_STRING "Cet objet de commande lance le jeu Ball." }
L'objet de commande sera placé dans l'angle supérieur gauche du sélecteur. Il permet de lancer l'action CutDisp.
CONTROL StartCutDisp { TYPE icon CONTAINER_NAME Switch CONTAINER_TYPE SWITCH POSITION_HINTS first ICON cutdisp HELP_STRING "Cet objet de commande lance l'action CutDisp." PUSH_ACTION CutDisp }
Utilisez ces zones pour définir le comportement d'un objet de commande.
TYPE : choisissez file
FILE_NAME : indique le chemin du fichier que vous souhaitez ouvrir
PUSH_ACTION : choisissez Open
Une action Ouvrir doit être définie pour le type de données du fichier.
Par exemple, l'objet de commande sera placé sur le côté droit du panneau principal. Il permet de lancer l'Editeur de texte à l'aide du fichier de données /users/ellen/PhoneList.txt. L'action Ouvrir des fichiers de type *.txt fait partie de la base de données d'actions par défaut.
CONTROL EditPhoneList { TYPE file FILE_NAME /users/ellen/PhoneList.txt CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS last ICON PhoneBook HELP_STRING "Cet objet de commande affiche la liste téléphonique." PUSH_ACTION Open }
Utilisez la zone DROP_ACTION pour préciser l'action qui s'exécute lorsque l'utilisateur pose un fichier sur l'objet de commande. L'action doit pouvoir accepter un argument de fichier.
La définition d'un objet de commande comporte souvent à la fois une zone PUSH_ACTION et une zone DROP_ACTION. Vous pouvez utiliser la même action pour l'une et l'autre.
Par exemple, l'objet de commande suivant, figurant dans le panneau secondaire Applications personnelles, exécute le client X xwud, qui prend un fichier comme argument.
CONTROL Run_xwud { CONTAINER_NAME PerAppsSubpanel CONTAINER_TYPE SUBPANEL POSITION_HINTS 2 ICON XwudImage PUSH_ACTION RunXwud DROP_ACTION RunXwud }
Utilisez ces zones pour définir le comportement d'un objet de commande.
TYPE: indiquez l'une des valeurs suivantes :
icon : permet de définir les paramètres PUSH_ACTION et/ou DROP_ACTION pour l'objet de commande.
file : utilisez ce type si vous souhaitez que l'objet de commande, une fois sélectionné, se comporte comme le fichier lorsque vous cliquez deux fois sur l'icône de ce dernier dans le Gestionnaire de fichiers.
ICON et ALTERNATE_ICON: décrivent les images utilisées pour indiquer l'état (changé et inchangé) du fichier contrôlé.
MONITOR_TYPE: décrit les conditions pouvant être à l'origine d'une modification dans l'image. Utilisez l'une des valeurs suivantes :
mail : l'apparence de l'objet de commande est modifiée lorsque des informations sont ajoutées au fichier.
filel'objet de commande est modifié lorsque le fichier spécifié n'est plus vide.
FILE_NAME: indique le fichier à contrôler.
Par exemple, l'objet de commande suivant recherche la présence d'un fichier meetings qui doit être transféré (ftp anonyme) sur votre système. L'objet de commande est placé dans la partie supérieure du panneau secondaire Applications personnelles.
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 }
Un objet de commande d'une instance vérifie si le processus lancé par la zone PUSH_ACTION est déjà en cours d'exécution. Si tel n'est pas le cas, la fonction de la zone PUSH_ACTION est sollicitée. Si le processus est en cours d'exécution, la fenêtre apparaît en haut de la pile de fenêtres de l'espace de travail courant.
Utilisez ces zones pour définir le comportement d'un objet de commande.
PUSH_RECALL : choisissez True.
CLIENT_NAME : spécifie le nom de l'action à exécuter
La valeur de la zone CLIENT_NAME doit correspondre à la première chaîne (nom_res) de la caractéristique WM_CLASS, dans la fenêtre supérieure de l'application. Pour plus de détails, reportez-vous à la page de manuel xprop(1).
PUSH_ACTION: décrit l'action lancée lorsque l'utilisateur clique sur l'objet de commande.
Par exemple, l'objet de commande suivant lance une instance d'application dont l'action est MyEditor.
CONTROL MyEditor { TYPE icon CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS 15 PUSH_RECALL True CLIENT_NAME BestEditor PUSH_ACTION StartMyEditor ICON MyEd }
L'objet de commande d'une fenêtre client est une fenêtre d'application intégrée au Tableau de bord. Par exemple, vous pouvez placer un compteur de chargement du système dans le Tableau de bord en créant un objet de commande xload pour la fenêtre du client.
Définissez l'objet de commande.
Utilisez ces zones pour définir le comportement d'un objet de commande.
TYPE: choisissez client.
CLIENT_NAME: indique le client à lancer.
La valeur de la zone CLIENT_NAME doit correspondre à la première chaîne (nom_res) de la caractéristique WM_CLASS, dans la fenêtre supérieure de l'application. Pour plus de détails, reportez-vous à la page de manuel xprop(1).
Sélectionnez Relancer Gestionnaire de l'espace de travail dans le menu de l'espace de travail.
Lancez le client à partir de la ligne de commande d'un émulateur de terminal.
Par exemple, l'objet de commande suivant affiche un programme de mesure de la charge processeur de 30 x 20 pixels.
CONTROL LoadMeter { TYPE client CONTAINER_NAME Top CONTAINER_TYPE BOX CLIENT_NAME xload CLIENT_GEOMETRY 30x20 }
Si le client n'est pas sauvegardé et restauré entre les sessions, vous pouvez configurer l'objet de commande afin qu'il lance le client lorsque l'utilisateur clique dessus. Par exemple, l'objet de commande LoadMeter peut être configuré afin de lancer xload en ajoutant la ligne suivante à la définition :
PUSH_ACTION StartXload
et en créant l'action :
ACTION StartXload { WINDOW_TYPE NO_STDIO EXEC_STRING /usr/contrib/bin/X11/xload }
Vous pouvez définir une séquence d'animation, activée lorsque l'utilisateur sélectionne l'objet de commande ou pose un objet dessus.
Pour comporter une séquence d'animation, un objet doit :
être de type icon ;
comporter une zone PUSH_ACTION ou DROP_ACTION ;
Précisez la séquence d'animation à l'aide du composant ANIMATION :
ANIMATION nom_animation { ANIMATION icône1 [millisecondes] ANIMATION icône2 [millisecondes] ... }
où icône1, icône2, etc. sont les noms des icônes et millisecondes est le temps séparant les icônes d'animation. Par défaut, cet intervalle est de 200 millisecondes.
Ajoutez les zones PUSH_ANIMATION et/ou DROP_ANIMATION à la définition de l'objet de commande. La valeur correspond au nom de la séquence ANIMATION.
Par exemple, les lignes suivantes permettent l'animation de l'objet de commande qui lance l'application BestEditor. Le délai entre les icônes est de 300 millisecondes. Cet exemple suppose que vous avez créé les fichiers d'icône frame1, frame2, etc.
CONTROL BestEditor { ... PUSH_ANIMATION BestEdAnimation ... }
ANIMATION BestEdAnimation { frame1 300 frame2 ... }
L'aide sur un objet de commande peut être obtenue de deux façons.
Chaîne d'aide dans la définition de l'objet de commande.
La chaîne d'aide s'affiche lorsque l'utilisateur fait appel à l'aide relative à l'objet de commande ; elle ne comporte ni formatage (en-têtes), ni liens.
Précisez la chaîne d'aide dans la définition de l'objet de commande :
HELP_STRING chaîne_aide
Indication d'une rubrique d'aide dans un volume d'aide.
Une rubrique d'aide comporte des informations exploitant toutes les capacités du système d'aide. Pour créer une rubrique d'aide, vous devez utiliser le kit du développeur du bureau CDE.
Précisez le volume d'aide et l'ID de la rubrique d'aide dans la définition de l'objet de commande :
HELP_VOLUME nom_volume_aide HELP_TOPIC id_rubrique
Le sélecteur d'espace de travail peut être personnalisé en modifiant :
le nombre d'espaces de travail ;
la présentation du sélecteur ;
les objets de commande du sélecteur.
Modifiez la ressource suivante dans le Gestionnaire de l'espace de travail :
Dtwm*workspaceCount: n
Pour plus d'informations, reportez-vous à la section "Modification système du nombre d'espaces de travail".
Par exemple, la définition suivante est celle d'un sélecteur comportant trois rangs.
SWITCH Switch { CONTAINER_NAME nom_boîte NUMBER_OF_ROWS 3 ... }
Créez un fichier de configuration du Tableau de bord à l'aide de la définition de l'objet de commande.
Précisez que l'objet de commande doit se trouver à l'intérieur du sélecteur :
CONTAINER_NAME Switch CONTAINER_TYPE SWITCH
Créez l'icône de l'objet de commande. La taille recommandée est 16x16 pixels.
Par exemple, l'objet de commande suivant permet de placer un objet de commande Terminal dans le sélecteur.
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 }
L'objet de commande utilise une icône intégrée et la rubrique d'aide utilisée par l'objet de commande Terminal dans le panneau secondaire Applications personnelles.
La syntaxe PANEL du Tableau de bord vous permet de :
modifier l'emplacement du Tableau de bord ;
modifier la présentation de la fenêtre ;
déterminer l'apparence et le comportement des objets de commande.
La description par défaut du paramètre PANEL se trouve dans le fichier /usr/dt/appconfig/types/langue/dtwm.fp.
Pour plus d'informations, reportez-vous à la page de manuel dtfpfile(4X).
Créez un nouveau fichier de configuration du Tableau de bord dans /etc/dt/appconfig/types/langue ou RépPersonnel/.dt/types.
Copiez la description par défaut du paramètre PANEL de /usr/dt/appconfig/types/langue/dtwm.fp vers le nouveau fichier.
Modifiez la description du paramètre PANEL.
La nouvelle description du paramètre PANEL est prioritaire sur la description par défaut.
Par exemple, le panneau suivant se trouve dans l'angle supérieur droit.
PANEL SpecialFrontPanel { PANEL_GEOMETRY -1+1 ... }
Ajoutez la ligne suivante à la définition du paramètre PANEL :
DISPLAY_CONTROL_LABELS True
Ajoutez une zone LABEL pour chaque objet de commande.
La zone nom_objet_commande est utilisée si aucun paramètre LABEL n'est indiqué.
Utilisez la zone CONTROL_BEHAVIOR de la définition du paramètre PANEL pour décrire la manière dont l'utilisateur effectue l'action PUSH_ACTION d'un objet de commande. Les valeurs possibles pour ce champ sont les suivantes :
single_click : l'utilisateur clique sur l'objet de commande pour exécuter le paramètrePUSH_ACTION
double_click : l'utilisateur clique deux fois sur l'objet de commande pour exécuter le paramètre PUSH_ACTION
Il peut être préférable de créer un nouveau Tableau de bord si vous souhaitez apporter des modifications importantes.
Pour éviter tout conflit avec les composants intégrés du Tableau de bord, le nouveau Tableau de bord doit faire appel à de nouveaux noms pour le paramètre PANEL et les autres conteneurs.
Créez la définition du paramètre PANEL du nouveau Tableau de bord. Attribuez-lui un nom unique :
PANEL nom_tableau_bord { ... }
Créez les nouvelles boîtes et les nouveaux objets de commande à l'aide des nouveaux noms de conteneurs.
Si vous souhaitez utiliser des composants existants, vous devez copier leurs définitions et modifier la valeur du paramètre CONTAINER_NAME.
Sélectionnez Relancer Gestionnaire de l'espace de travail dans le menu de l'espace de travail.
Dans l'exemple suivant, le Tableau de bord par défaut est modifié. Ses objets de commande sont disposés sur trois rangs.
Copiez le fichier /usr/dt/appconfig/types/langue/dtwm.fp dans RépPersonnel/.dt/types/MyFrontPanel.fp. Ce fichier doit être accessible en écriture.
Il s'agit du fichier que vous allez devoir modifier pour créer le nouveau Tableau de bord.
Modifiez le nom du Tableau de bord :
PANEL NewFrontPanel
Modifiez le nom de la boîte Top ainsi que celui de son conteneur :
BOX NewFrontPanelTop { CONTAINER_NAME NewFrontPanel POSITION_HINTS first ... }
Ajoutez les définitions de la boîte pour le rang du milieu et le rang du bas :
BOX NewFrontPanelMiddle { CONTAINER_NAME NewFrontPanel POSITION_HINTS second }
BOX NewFrontPanelBottom { CONTAINER_NAME NewFrontPanel POSITION_HINTS second }
Modifiez le paramètre CONTAINER_NAME des objets de commande suivant en NewFrontPanelTop:
Horloge
Date
Home
Editeur_texte
Courrier
Modifiez le paramètre CONTAINER_NAME des objets de commande suivant en NewFrontPanelBottom:
Imprimante
Style
Applications
Aide
Corbeille
Modifiez le paramètre CONTAINER_NAME du commutateur en NewFrontPanelMiddle.
Sélectionnez Relancer Gestionnaire de l'espace de travail dans le menu de l'espace de travail.