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

Chapitre 16 Personnalisation du Gestionnaire de l'espace de travail

Le présent chapitre décrit la procédure à suivre pour personnaliser le Gestionnaire de l'espace de travail.

Le Gestionnaire de l'espace de travail est le gestionnaire de fenêtres du bureau. Comme tout gestionnaire de fenêtres, il contrôle :

Il contrôle, en outre, les composants du bureau ci-après.

Nombre de ces composants peuvent être modifiés à l'aide du Gestionnaire de configuration. Le Gestionnaire de configuration permet d'appliquer rapidement et simplement des modifications fréquemment utilisées. D'autres ressources doivent être configurées manuellement.

Le Gestionnaire de l'espace de travail est dtwm. Il est basé sur le Gestionnaire de fenêtres Motif.

Pour plus de détails sur la configuration des ressources, reportez-vous à la section Définition de ressources d'applications.

Fichiers de configuration du Gestionnaire de l'espace de travail

Le Gestionnaire de l'espace de travail rassemble les informations concernant les menus de fenêtres et d'espaces de travail, ainsi que l'association de fonctions aux touches et aux boutons définie par un fichier de configuration.

Il fait appel à l'un des fichiers suivants :

Le Gestionnaire de l'espace de travail recherche un fichier de configuration dans l'ordre ci-dessus et utilise le premier fichier trouvé.

Pour les utilisateurs de langues de session multiples, il est possible de créer un fichier de configuration personnel et tributaire de la langue RépPersonnel/.dt/langue/dtwrmc. Ce fichier est alors prioritaire par rapport au fichier RépPersonnel/.dt/dtwmrc.

Création ou modification d'un fichier de configuration personnel

Le fichier personnel de configuration du Gestionnaire de l'espace de travail est RépPersonnel/.dt/dtwmrc. S'il existe, c'est ce fichier qui est utilisé.

  1. Cliquez deux fois sur Editer Dtwmrc dans le groupe d'applications Outils_Bureau.

    Si vous disposez déjà d'un fichier personnel dtwmrc, il est chargé dans l'éditeur. Si tel n'est pas le cas, le fichier sys.dtwmrc est copié dans RépPersonnel/.dt/dtwmrc, qui est ensuite chargé dans l'éditeur.

  2. Modifiez le fichier.

  3. Quittez l'éditeur.

    Le fichier est sauvegardé comme étant votre fichier dtwmrc personnel, quelle que soit sa source.

Création d'un fichier de configuration système

Le fichier de configuration système du Gestionnaire de l'espace de travail est /etc/dt/config/langue/sys.dtwmrc.

    Copiez /usr/dt/config/langue/sys.dtwmrc dans /etc/dt/config/langue/sys.dtwmrc.


Remarque :

ce fichier n'est pas utilisé si RépPersonnel/.dt/dtwmrc existe.


Inclusion d'autres fichiers

    Utilisez la syntaxe :

	include
 	{
   	   chemin
  	   chemin
 	  …
 	}

Les lignes suivantes, par exemple, incluent le fichier //users/helene/monmenu :

include
 	{
   	 /users/helene/monmenu
 	}

Les instructions d'inclusion permettent d'ajouter des fonctionnalités sans copier l'ensemble du fichier de configuration. Un utilisateur peut, par exemple, créer une nouvelle association de touches sans avoir à gérer l'ensemble du fichier de configuration. Il peut créer un fichier RépPersonnel/.dt/dtwmrc contenant :

include
 {
  /etc/dt/config/C/sys.dtwmrc
 }
Keys DtKeyBindings
 {
   Alt<Key>F5 root  f.menu  Applications

 }
Menu Applications
 {
   "GraphicsApp" f.exec "/usr/bin/GraphicsApp/GApp"
  …
 }

Relance du Gestionnaire de l'espace de travail

Le Gestionnaire de l'espace de travail doit être relancé pour que les modifications effectuées dans le fichier de configuration prennent effet.

    Sélectionnez Relancer Gestionnaire de l'espace de travail dans le menu de l'espace de travail (placez le pointeur sur le fond et appuyez sur le bouton 3 de la souris).

Personnalisation des espaces de travail

La majeure partie de la personnalisation des espaces de travail, par exemple la modification de leurs noms et de leur nombre, peut être réalisée par l'utilisateur à l'aide de l'interface du bureau. Toutefois, le Gestionnaire de l'espace de travail fournit des ressources permettant de configurer des paramètres système par défaut.

Modification système du nombre d'espaces de travail

La configuration par défaut du bureau comporte quatre espaces de travail. L'utilisateur peut en ajouter ou en supprimer à l'aide du menu instantané associé au sélecteur d'espace de travail (zone de commutation).

Dans la ressource workspaceCount du fichier /usr/dt/app-defaults/C/Dtwm, le nombre d'espaces de travail par défaut est :

Dtwm*0*workspaceCount: 4
	Dtwm*workspaceCount:  1

Plusieurs espaces de travail sont spécifiés sur l'écran 0. Un seul espace de travail est spécifié sur les autres écrans.

Vous pouvez créer (ou modifier, s'il existe) le fichier /etc/dt/config/C/sys.resources afin de modifier le nombre d'espaces de travail par défaut pour tous les nouveaux utilisateurs d'une station de travail.

    Utilisez la ressource 0*workspaceCount pour définir la valeur système par défaut sur l'écran principal :

    Dtwm*0*workspaceCount: nombre
    

Par exemple, la ressource suivante permet de définir à six, au niveau du système, le nombre d'espaces de travail sur l'écran principal :

Dtwm*0*workspaceCount: 6

Pour plus de détails sur la définition des ressources du Gestionnaire de l'espace de travail, reportez-vous à la section Définition de ressources d'applications.

Par exemple, la ressource suivante permet de définir à six le nombre d'espaces de travail :

	Dtwm*workspaceCount: 6

Désignation des espaces de travail au niveau système

Les espaces de travail sont numérotés de manière interne selon la convention wsn, où n correspond à 0, 1, 2, etc. Par exemple, les quatre espaces de travail par défaut sont numérotés de ws0 à ws3.

    Utilisez la ressource title pour modifier le nom d'un espace de travail donné :

	Dtwm*wsn: nom

Pour plus de détails sur la définition des ressources du Gestionnaire de l'espace de travail, reportez-vous à la section Définition de ressources d'applications.

Par exemple, les ressources suivantes permettent d'affecter aux espaces de travail par défaut les quatre noms suivants :

Dtwm*ws0*title:  Anna
Dtwm*ws1*title:  Don
Dtwm*ws2*title:   Julia
Dtwm*ws3*title:   Patti

Création de fonds supplémentaires

  1. Créez les images des fonds. Il peut s'agir de fichiers bitmap ou pixmap.

  2. Copiez les fonds dans l'un des répertoires suivants. Au besoin, créez ce répertoire.

    • Fonds système : /etc/dt/backdrops

    • Fonds personnels : RépPersonnel/.dt/backdrops

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

    Les fonds personnels et système sont ajoutés aux fonds intégrés dans /usr/dt/backdrops.

    Vous pouvez remplacer un fond intégré par un fond personnel ou système que vous aurez créé.

Remplacement d'un fond par une image graphique

Les fonds apparaissent en couches sur la fenêtre racine. La boîte de dialogue Fond du Gestionnaire de configuration comporte un paramètre NoBackdrop pour lequel le fond est transparent.

Une seule fenêtre racine se trouve derrière les fonds de l'espace de travail. Ainsi, une image graphique placée dans la fenêtre racine est conservée dans tous les espaces de travail. Vous pouvez indiquer les espaces de travail qui couvrent la fenêtre racine avec un fond. L'image visible lorsque le paramètre NoBackdrop est sélectionné sera toutefois commune à l'ensemble des espaces de travail.

  1. Créez l'image graphique.

    Son format doit être compatible avec un outil permettant son affichage dans la fenêtre racine. Par exemple, si vous souhaitez utiliser xsetroot, vous devez créer un fichier bitmap.

  2. S'il n'existe pas déjà, créez un fichier exécutable RépPersonnel/.dt/sessions/sessionetc.

    Le fichier sessionetc est exécuté chaque fois que l'utilisateur se connecte.

  3. Placez la commande d'affichage de l'image dans le fichier sessionetc.

    La commande suivante, par exemple, affiche le fichier bitmap spécifié en mosaïque sur la fenêtre racine :

    	xsetroot -bitmap /users/helene/.dt/icons/root.bm

Menus du Gestionnaire de l'espace de travail

Le Gestionnaire de l'espace de travail comporte trois menus par défaut :

Menu de l'espace de travail : également appelé menu racine, ce menu s'affiche lorsque l'utilisateur place le pointeur sur le fond et appuie sur le bouton 3 de la souris. Le menu est associé à la souris par une association de fonction au bouton.

Menu de la fenêtre : ce menu s'affiche lorsque l'utilisateur place le pointeur sur le bouton du menu Fenêtre (angle supérieur gauche de la fenêtre) et appuie sur le bouton 1 ou 3 de la souris. Le menu est associé au bouton par la ressource windowMenu.

Menu du tableau de bord : ce menu s'affiche lorsque l'utilisateur place le pointeur sur le bouton de menu de la fenêtre Tableau de bord et appuie sur le bouton 1 ou 3 de la souris.

Syntaxe des menus du Gestionnaire de l'espace de travail

La syntaxe des menus du Gestionnaire de l'espace de travail est la suivante :

Menu Nom_menu
 {
    sélection1 [mnémonique] [accélérateur] fonction [argument]
    sélection2 [mnémonique] [accélérateur] fonction [argument]
  	…
 }

où :

sélection : texte ou bitmap qui apparaît dans le menu. Si le texte comporte des espaces, délimitez-le par des guillemets. Pour les bitmaps, utilisez la syntaxe @/chemin.

mnémonique : caractère unique qui agit comme un raccourci-clavier lorsque le menu est affiché. Ce caractère est au format _caractère.

accélérateur : raccourci-clavier actif, que le menu soit affiché ou non. La syntaxe des raccourcis est modificateur<Key> touche, où le modificateur est Ctrl , Shift, Alt (caractère étendu) ou Lock. Pour une liste de tous les noms de touches possibles, reportez-vous au fichier keysymdef.h du répertoire "X11 include".

fonction : fonction exécutée lors de cette sélection. Pour consulter la liste des fonctions, reportez-vous à la page de manuel dtwmrc(4).

argument : arguments de fonction. Pour plus de détails, reportez-vous à la page de manuel dtwmrc(4).

L'option de menu Restaurer, par exemple, rétablit la fenêtre. Ainsi, lorsque le menu est affiché, vous pouvez restaurer la fenêtre en appuyant sur la touche "R". Vous pouvez également appuyer sur le caractère étendu F5 pour restaurer la fenêtre.

Restore   _R   Alt<Key> F5   f.normalize

Remarque :

pour plus de détails sur la syntaxe des menus du Gestionnaire de l'espace de travail, reportez-vous à la page de manuel dtwmrc(4).


Ajout d'une nouvelle option au menu de l'espace de travail

  1. Cliquez sur l'objet de commande Ajouter une option au menu du panneau secondaire Outils du Tableau de bord.

    La boîte de dialogue Ajout d'élément au menu de l'espace de travail s'affiche.

    Graphic

  2. Tapez un chemin d'accès complet ou cliquez sur Explorer et sélectionnez le chemin d'accès du fichier que la nouvelle option doit exécuter.

    Le fichier sur lequel vous pointez doit être disponible pour cet hôte. Il doit s'agir d'un fichier exécutable ou d'un fichier dont le type de données (par exemple Audio ou Manpage) est enregistré sur l'hôte.

    Le chemin d'accès complet, y compris le nom du fichier, s'affiche dans la zone de texte.

  3. Cliquez sur Ajouter pour ajouter le fichier au menu.

    Le fichier est ajouté en première position dans le menu de l'espace de travail. Par défaut, l'environnement utilise son icône (si elle existe) et son nom de fichier comme icône et texte pour l'option de menu.


Remarque :

pour modifier la position de l'option dans le menu de l'espace de travail, reportez-vous à la section Modification du menu de l'espace de travail.


Modification du menu de l'espace de travail

  1. Cliquez sur l'objet de commande Personnaliser le menu de l'espace de travail dans le panneau secondaire Outils du Tableau de bord.

    Le Gestionnaire de fichiers s'ouvre, affichant le dossier de configuration du menu de l'espace de travail. Notez que les fichiers de ce dossier représentent les options du menu, les sous-dossiers représentant les sous-menus. En réorganisant le contenu du dossier du menu de l'espace de travail, vous réorganisez le menu de l'espace de travail lui-même.

    Graphic

  2. Faites glisser et posez chaque option de menu que vous voulez déplacer vers un nouvel emplacement dans ce sous-dossier.

    Pour plus d'informations sur l'utilisation du Gestionnaire de fichiers avec une vue en arborescence, reportez-vous au document Solaris CDE - Guide de l'utilisateur.

  3. Supprimez les options de menu dont vous n'avez pas besoin en faisant glisser leur fichier dans la Corbeille sur le Tableau de bord.

  4. Renommez les options de menu dont vous voulez changer le nom en modifiant leur nom de fichier ou de dossier.

  5. Une fois les modifications terminées, choisissez Mettre à jour le menu de l'espace de travail dans le menu Fichier du Gestionnaire de fichiers et quittez cette application.

    Le menu de l'espace de travail reflète à présent les modifications apportées dans le dossier du menu de l'espace de travail.

Création d'un nouveau menu de l'espace de travail (menu racine)

  1. Ouvrez le fichier correspondant pour le modifier :

  2. Créez le nouveau menu :

    	Menu nom_menu
     	{
     	        …
     	}

    Reportez-vous à la section Syntaxe des menus du Gestionnaire de l'espace de travail.

  3. Créez ou modifiez l'association de fonction au bouton permettant d'afficher le nouveau menu.

    Si ce dernier remplace le menu existant, modifiez l'association de fonction au bouton permettant d'afficher le menu de l'espace de travail.

    	<Btn3Down> root  f.menu  nom_menu
    

    S'il s'agit d'un menu supplémentaire, créez une nouvelle association. L'association suivante, par exemple, permet d'afficher le menu lorsque vous appuyez simultanément sur la touche Maj et sur le bouton 3 de la souris après avoir placé le pointeur sur le fond :

    	Shift<Btn3Down> root  f.menu  nom_menu
    
  4. Sélectionnez Relancer Gestionnaire de l'espace de travail dans le menu de l'espace de travail.

Création d'un nouveau menu de la fenêtre


Remarque :

le menu de la fenêtre est intégré au Gestionnaire de l'espace de travail et n'est généralement pas personnalisé. Pour conserver une certaine cohérence dans le comportement des fenêtres d'une application à une autre, il est préférable de ne pas effectuer de modifications importantes dans le menu de la fenêtre.


  1. Ouvrez le fichier correspondant pour le modifier :

  2. Créez le nouveau menu :

    	Menu nom_menu
     	{
     	        …
     	}
  3. Utilisez la ressource windowMenu pour spécifier le nouveau menu :

    	Dtwm*windowMenu: nom_menu
    
  4. Sélectionnez Relancer Gestionnaire de l'espace de travail dans le menu de l'espace de travail.

Personnalisation de l'association de fonctions aux boutons

Une association de fonction au bouton permet d'exécuter une fonction du gestionnaire de fenêtres en réalisant une opération avec un bouton de la souris, éventuellement associé à une touche du clavier. Ces associations s'appliquent à tous les espaces de travail.

Les associations par défaut sont définies dans le fichier de configuration du Gestionnaire de l'espace de travail dans un jeu d'associations appelé DtButtonBindings:

Buttons DtButtonBindings
 {
  …
 }

Syntaxe de l'association de fonctions aux boutons

Cette syntaxe est la suivante :

Buttons Nom_jeu_associations_boutons
 {
     [modificateur]<nom_boutonAction_souris>   
	contexte  fonction  [argument]
     [modificateur]<nom_boutonAction_souris>   
	contexte  fonction  [argument]

où :

nom_bouton : Btn1 : bouton gauche de la souris. Btn2 : bouton du milieu (souris à trois boutons) ou les deux boutons (souris à deux boutons). Btn3 : bouton droit de la souris. Btn4 : boutons 1 et 2 (ensemble) d'une souris à 3 boutons. Btn5 : boutons 2 et 3 (ensemble) d'une souris à 3 boutons.

modificateur :Ctrl, Shift, Alt, Lock

action_souris : Down : appui prolongé sur un bouton de la souris. Up : relâchement d'un bouton. Click : appui sur un bouton et relâchement. Click2 : deux clics sur un bouton de souris. Drag : déplacement de la souris avec un bouton enfoncé.

contexte : indique où le pointeur doit se trouver pour que l'association prenne effet. Au besoin, séparez les différents arguments par le signe "|".

root : fenêtre de l'espace de travail ; window : fenêtre client ou cadre de la fenêtre ; frame : cadre de la fenêtre, sans le contenu ; icon : icône ; title : barre de titre ; app :fenêtre client, sans le cadre.

fonction : l'une des fonctions du gestionnaire de fenêtres. Pour consulter la liste des fonctions valides, reportez-vous à la page de manuel dtwmrc(4).

argument : argument éventuellement requis par la fonction du gestionnaire de fenêtres. Pour plus de détails, reportez-vous à la page de manuel dtwmrc(4).

La ligne suivante, par exemple, permet d'afficher le menu décrit dans DtRootMenu lorsque vous appuyez sur le bouton 3 de la souris alors que le pointeur se trouve dans la fenêtre de l'espace de travail (mais pas dans une fenêtre client).

<Btn3Down>      root     f.menu     DtRootMenu

Remarque :

pour plus de détails sur la syntaxe de l'association de fonctions aux boutons, reportez-vous à la page de manuel dtwmrc(4).


Ajout d'une association de fonction au bouton

  1. Ouvrez le fichier correspondant pour le modifier :

  2. Ajoutez l'association à la définition DtButtonBindings.

    Vous ne devez pas associer un même bouton à des fonctions différentes pour les opérations de clic, et vous ne devez pas associer plusieurs fonctions à un bouton et un contexte donnés.

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

Création d'un nouveau jeu d'association de fonctions aux boutons

  1. Ouvrez le fichier correspondant pour le modifier :

  2. Créez le nouveau jeu d'association. Reportez-vous à la section Syntaxe de l'association de fonctions aux boutons.

  3. Définissez le nouveau nom de la ressource buttonBindings :

    	Dtwm*buttonBindings: Nom_jeu_association_boutons 
    
  4. Sélectionnez Relancer Gestionnaire de l'espace de travail dans le menu de l'espace de travail.


    Remarque :

    les nouvelles associations remplacent les associations existantes. Copiez celles que vous souhaitez conserver à partir de DtButtonBindings.


Personnalisation des associations de fonctions aux touches

Les associations de fonctions aux touches associent des combinaisons de touches aux fonctions du Gestionnaire de l'espace de travail. Ces associations s'appliquent à tous les espaces de travail.


Remarque :

choisissez les associations avec précaution. Par exemple, Maj-A permet normalement d'entrer la lettre "A". Si vous associez une autre fonction à cette combinaison de touches, vous ne pourrez plus utiliser sa fonction normale.


Associations par défaut du bureau

Les associations par défaut sont définies dans le fichier de configuration du Gestionnaire de l'espace de travail dans un jeu d'associations appelé DtKeyBindings:

Keys DtKeyBindings
 {
  …
 }

Syntaxe des associations de fonctions aux touches

Cette syntaxe est la suivante :

Keys Nom_jeu_associations_touches
 {
    [Modificateurs]<Key>nom_touche   contexte   fonction  [argument]
    [Modificateurs]<Key>nom_touche   contexte   fonction  [argument]
    …    
 }

où :

Modificateurs : Ctrl, Shift, Alt et Lock. Des modificateurs multiples, séparés par des espaces, sont acceptés.

nom_touche : touche à laquelle la fonction est associée. Pour les touches de lettres ou de chiffres, le nom_touche est généralement imprimé sur la touche. Par exemple, le nom de la touche "a" est "a" et celui de la touche "2" est "2". Le nom de la touche "Tab" est "Tab". Le nom de la touche "F3" est "F3".

Le libellé des autres touches doit être explicite, par exemple, plus pour la touche "+". Le fichier keysymdef.h, figurant dans un répertoire système, contient des informations supplémentaires sur le nom des touches.

contexte : élément qui doit être la zone d'entrée clavier pour que cette action soit possible. Vous pouvez concaténer plusieurs éléments si l'association s'applique à plusieurs contextes. Les contextes doivent être séparés par le signe "|".

root : fond de l'espace de travail ; window : fenêtre client ; icon : icône.

fonction : fonction du gestionnaire de fenêtres. Pour consulter la liste des fonctions valides, reportez-vous à la page de manuel dtwmrc(4).

argument : argument éventuellement requis par la fonction du gestionnaire de fenêtres. Pour plus de détails, reportez-vous à la page de manuel dtwmrc(4).

L'association suivante, par exemple, permet à l'utilisateur de transmettre la zone d'entrée clavier à la fenêtre transitoire suivante d'une application en appuyant sur Alt+F6.

Alt<Key>F6     window     f.next_key     transient

Remarque :

pour plus de détails sur la syntaxe des associations de fonctions aux touches, reportez-vous à la page de manuel dtwmrc(4).


Création d'un jeu d'associations personnalisées

  1. Ouvrez le fichier correspondant pour le modifier :

  2. Créez un nouveau jeu d'associations avec un nom Nom_jeu_associations_touches unique. Prenez modèle sur le jeu d'associations de fonctions aux touches par défaut, DtKeyBindings.

  3. Définissez le nouveau nom de jeu de la ressource keyBindings :

    	Dtwm*keyBindings: Nom_jeu_associations_touches 
    
  4. Sélectionnez Relancer Gestionnaire de l'espace de travail dans le menu de l'espace de travail.


    Remarque :

    les nouvelles associations remplacent les associations existantes. Copiez celles que vous souhaitez conserver dans votre nouveau jeu à partir de DtKeyBindings.


Commutation entre comportement par défaut et comportement personnalisé

Pour basculer du comportement Motif par défaut à celui de la fenêtre du bureau CDE :

  1. Appuyez sur Alt+Maj+Ctrl+!

  2. Cliquez sur OK dans la boîte de dialogue.

    Le passage au comportement par défaut supprime le Tableau de bord ainsi que toutes les associations personnalisées de fonctions aux boutons et aux touches.