Solaris CDE - Guide avancé de l'utilisateur et de l'administrateur système

Création d'un nouvel objet de commande

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.

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

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

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

  4. Ajoutez la définition de l'objet de commande au fichier.

  5. Sauvegardez le fichier.

  6. Sélectionnez Relancer Gestionnaire de l'espace de travail dans le menu de l'espace de travail.

Création d'un objet de commande qui exécute une action lorsqu'un utilisateur clique dessus

Utilisez ces zones pour définir le comportement d'un objet de commande.

Création d'un objet de commande pour l'ouverture d'un fichier

Utilisez ces zones pour définir le comportement d'un objet de commande.

Création d'un objet de commande qui se comporte comme une zone de pose

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
 }

Création d'un objet de commande pour le contrôle d'un fichier

Utilisez ces zones pour définir le comportement d'un objet de commande.

Création d'un objet de commande d'une instance (bascule)

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.

Création d'un objet de commande de fenêtre client

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.

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

    • CLIENT_GEOMETRY: indique, en pixels, la taille requise pour la fenêtre client du Tableau de bord.

      La page de manuel xwininfo(1) explique comment déterminer la taille d'une fenêtre en pixels.

  2. Sélectionnez Relancer Gestionnaire de l'espace de travail dans le menu de l'espace de travail.

  3. 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 × 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
     }

Animation d'un objet de commande

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 :

  1. Précisez la séquence d'animation à l'aide du composant ANIMATION :

    	ANIMATION nom_animation
     	{
     		ANIMATION	icône1				[millisecondes]
     		ANIMATION	icône2				[millisecondes]
     		…
     	}

    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.

  2. 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
     …
     }

Aide sur un objet de commande du Tableau de bord

L'aide sur un objet de commande peut être obtenue de deux façons.