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