  \chapter{L'interface ARexx du Workbench}

 Le Workbench se comporte comme un hôte Arexx sous le nom de " WORKBENCH". Il
supporte plusieurs commandes qui vont être décrites ci-dessous. Notez que pour
que l'interface Arexx fonctionne, la bibliothèque "rexxsyslib.library" doit être
installée (elle fait d'ailleurs partie d'une installation standard du Workbench)
et que le programme RexxMast doit être démarré.
 \section{Les commandes}

      \subsection{ACTIVATEWINDOW}



 \paragraph{Fonction}~:



  Cette commande essaiera d'activer une fenêtre.



 \paragraph{Syntaxe}~:



  ACTIVATEWINDOW [WINDOW] <ROOT|Nom du répertoire>



 \paragraph{Modèle}~:



  ACTIVATEWINDOW WINDOW

 \paragraph{Paramètres}~:



 WINDOW



 Soit ROOT pour activer la fenêtre "racine" du Workbench (celle où se trouvent
les icônes de volume et d'application), soit le nom entièrement défini de la
fenêtre d'un tiroir à activer. Notez que la fenêtre du tiroir doit déjà être
ouverte.

Si aucun paramètre WINDOW n'est spécifié, cette commande essaiera de
fonctionner sur la fenêtre du Workbench actuellement active.





 Erreur:



 10 - Si la fenêtre désignée ne peut pas être activée. Le code d'erreur sera
placé dans la variable WORKBENCH.LASTERROR.



 Résultat:



 -



 Remarques:



 Si vous choisissez d'avoir une fenêtre active qui ne soit pas la fenêtre
"racine",  vous devez vous assurez que le nom donné de la fenêtre soit complet.
Par exemple "Work:" est un nom complet, de même que "SYS:Utilities".
"Devs/Printers" n'est pas un nom entièrement défini. Un nom entièrement défini
contient toujours le nom d'une assignation, d'un volume ou d'une unité.

 Exemple~:\begin{verbatim}

 /* Active la fenêtre "racine". */ ADDRESS workbench
ACTIVATEWINDOW root

 /* Active la fenêtre de la partition "Work:" . */
ACTIVATEWINDOW ,Work:`

\end{verbatim}
   \subsection{CHANGEWINDOW}



 \paragraph{Fonction}~:



 Cette commande essaie de modifier la taille et la position d'une fenêtre.



 \paragraph{Syntaxe}~:



 CHANGEWINDOW [WINDOW] <ROOT|ACTIVE|Nom de tiroir> [[LEFTEDGE] <nouvelle
position du bord gauche>][[TOPEDGE] <nouvelle position du bord
supérieur>][[WIDTH] <nouvelle largeur de fenêtre>][[HEIGHT] <nouvelle hauteur de
fenêtre>]



 \paragraph{Modèle}~:



 CHANGEWINDOW WINDOW,LEFTEDGE/N,TOPEDGE/N,WIDTH/N,HEIGHT/N



 \paragraph{Paramètres}~:



 WINDOW



 Soit ROOT pour redimensionner/déplacer la fenêtre "racine" du Workbench (où
résident  les icônes de volumes et d'applications), soit ACTIVE pour modifier la
fenêtre Workbench actuellement active, soit le nom complet et correct d'une
fenêtre "tiroir" à modifier. Remarquez que la fenêtre "tiroir" doit être déjà
ouverte.

Si aucun paramètre de WINDOW n'est spécifié, cette commande essayera de
s'appliquer  à la fenêtre "Workbench" actuellement active.



 LEFTEDGE



 Nouvelle position du bord gauche de fenêtre.



 TOPEDGE



 Nouvelle position du bord supérieur de fenêtre.



 WIDTH



 Nouvelle largeur de fenêtre.



 HEIGHT



 Nouvelle hauteur de fenêtre.



 \paragraph{Erreurs}~:



 10 - Si la fenêtre désignée ne peut être modifiée; cela peut aussi arriver si
vous spécifiez  ACTIVE pour un nom de fenêtre alors qu'aucune fenêtre Workbench
n'est actuellement activée. Le code d'erreur sera placé dans la variable
WORBENCH.LASTERROR.



 Résultat:



  -



 Remarques:



 Si vous choisissez de modifier une fenêtre qui n'est ni la fenêtre "racine" ni
une fenêtre active , vous devez vous assurer que le nom de fenêtre donné
comprend un nom de chemin complet et valable. Par exemple, "Work:" est un nom
complet et valable, idem pour "SYS:Utilities". "Devs/Printers" ne sera pas
reconnu comme complet et valable. Un nom complet et valable contient un nom
d'assignation, un nom de volume ou un nom de périphérique monté.

 Exemple~:\begin{verbatim}

 /* Modifie la fenêtre "racine", la déplace à la position  10,30 * et lui donne
une taille de 200 par 100 points. */ ADDRESS workbench
CHANGEWINDOW root LEFTEDGE 10 TOPEDGE 30
WIDTH 200 HEIGHT 100

/* Modifie la fenêtre actuellement active. */
CHANGEWINDOW active 20 40 200 100

\end{verbatim}
\subsection{ DELETE}



 \paragraph{Fonction}~:



 Cette commande sert à effacer des fichiers et des tiroirs (ainsi que leurs
contenus).



 \paragraph{Syntaxe}~:



 DELETE [NAME] <nom de fichier ou de tiroir> [ALL]



 \paragraph{Modèle}~:



 DELETE NAME/A,ALL/S



 \paragraph{Paramètres}~:







 NAME



 Nom du fichier, du tiroir ou du volume à effacer.



 ALL



 Si l'objet en question est un tiroir, essaie d'effacer le contenu ainsi que le
tiroir lui-même.  Si cette option n'est pas spécifiée, la commande DELETE
essayera seulement d'effacer le tiroir lui-même, ce qui échouera si le tiroir
n'est pas vide.



 \paragraph{Erreurs}~:



 10 - Si le nom de fichier, de tiroir ou de volume ne peut être trouvé ou ne
peut être effacé.



 Résultat:



 -



 Remarques:



 Le nom de fichier donné doit être un chemin absolu, tel que "RAM:Vide". Un
chemin relatif, tel que "/frédo/bébert" ne marchera pas.

 E x emple:

 /* Efface le tiroir "RAM:Vide" ainsi que son contenu. */
  \begin{verbatim}

 ADDRESS workbench
DELETE ,RAM:Vide` ALL

  \end{verbatim}

          \subsection{FAULT}



 \paragraph{Fonction}~:



 Cette commande retournera un texte d'explication  intelligible (en anglais!)
correspondant à un code d'erreur.



 \paragraph{Syntaxe}~:



 FAULT [CODE] <code d'erreur>



 \paragraph{Modèle}~:



 FAULT CODE/A/N



 \paragraph{Paramètres}~:







 CODE



 Code d'erreur à expliciter par un texte intelligible (bien qu'en anglais!!).



 \paragraph{Erreurs}~:



 -



 Résultat:



 -

 Exemple~:\begin{verbatim}

 /* Demande le message d'erreur correspondant au code d'erreur $\#$205. */
ADDRESS workbench
OPTIONS RESULTS
FAULT 205
SAY result

\end{verbatim}              \subsection{GETATTR}



 \paragraph{Fonction}~:



 Cette commande récupére des informations dans la base de donnée Workbench
telles que les noms des tiroirs actuellement ouverts et des icônes
sélectionnées.



 \paragraph{Syntaxe}~:



 GETATTR [OBJECT] <Nom d'objet> [NAME <Nom d'option>][STEM <Nom de  la variable
de stockage>] [VAR <Nom de variable>]



 \paragraph{Modèle}~:



 GETATTR OBJECT/A,NAME/K,STEM/K,VAR/K



 \paragraph{Paramètres}~:







 OBJECT



 Nom d'une entrée de la base de donnée à récupérer. Voir ci-dessous la liste des entrées.



 NAME



 Pour certaines entrées de la base de donnée, des informations complémentaires
sont nécessaires pour identifier les données à récupérer. Vous devrez alors
fournir un nom.



 STEM



 Si vous demandez plus d'un enregistrement de la base de donnée, vous devrez
fournir  une variable dans laquelle stocker les informations. Vous en trouverez,
ci-après, un exemple d'utilisation.



 VAR



 Si vous voulez stocker l'information demandée dans une variable spécifique
(autre que la  variable RESULT), c'est ici qu'il vous faut en fournir le nom.



 Attributs:



 Vous pouvez obtenir des informations grâce aux attributs suivants:



 APPLICATION.VERSION



 Numéro de version de la "workbench.library".



 APPLICATION.SCREEN



 Nom de l'écran public utilisé par le Workbench.



 APPLICATION.AREXX



 Nom du port ARexx du Workbench.



 APPLICATION.LASTERROR



 Numéro de la dernière erreur renvoyée par l'interface ARexx.



 APPLICATION.ICONBORDER



 Dimensions des bordures d'icônes, exprimées par quatre nombres séparés par des
espaces.  Exemple~:
 \begin{verbatim}

 "4 3 4 3".

\end{verbatim}Les quatre nombres représentent la largeur de
bordure gauche, la hauteur de bordure supérieure, la largeur de bordure droite
et la hauteur de bordure inférieure (dans cet ordre exact).



 APPLICATION.FONT.SCREEN.NAME



 Nom de police de caractères de l'écran Workbench.



 APPLICATION.FONT.SCREEN.WIDTH APPLICATION.FONT.SCREEN.HEIGHT



 Taille d'un caractère de police d'écran Workbench. Notez que, puisque la police
en  question peut être de type proportionnel, le paramètre de largeur peut être
exprimé par une valeur faible. Pour mesurer la largeur exacte en points d'un
texte relativement à la police de caractères de l'écran, utilisez l'attribut
".SIZE".



 APPLICATION.FONT.SCREEN.SIZE



 Taille d'un texte mesurée en points relativement à la police de caractères
d'écran. Le texte à mesurer doit être fourni par le paramètre NAME de la
commande GETATTR.



 APPLICATION.FONT.ICON.NAME



 Nom de la police de caractères des icônes "Workbench".



 APPLICATION.FONT.ICON.WIDTH APPLICATION.FONT.ICON.HEIGHT



 Taille d'un caractère de la police utilisée pour les icônes "Workbench". Notez
que, puisque  la police en question peut être de type proportionnel, le
paramètre de largeur peut être exprimé par une valeur faible. Pour mesurer la
largeur exacte en points d'un texte relativement à la police de caractères de
l'icône, utilisez l'attribut ".SIZE".



 APPLICATION.FONT.ICON.SIZE



 Taille d'un texte mesurée en points relativement à la police de caractères des
icônes.  Le texte à mesurer doit être fourni par le paramètre NAME de la
commande GETATTR.



 APPLICATION.FONT.SYSTEM.NAME



 Nom de la police de caractères "système".



 APPLICATION.FONT.SYSTEM.WIDTH
APPLICATION.FONT.SYSTEM.HEIGHT



 Taille d'un caractère de la police "système".



 APPLICATION.FONT.SYSTEM.SIZE



 Taille d'un texte mesurée en points relativement à la police de caractères
"système".  Le texte à mesurer doit être fourni par le paramètre NAME de la
commande GETATTR.



 WINDOWS.COUNT



 Nombre de fenêtres "tiroir" actuellement ouvertes. Ce nombre peut être égal à 0.



 WINDOWS.0 .. WINDOWS.N



 Noms des fenêtres actuellement ouvertes.



 WINDOWS.ACTIVE



 Nom de la fenêtre "Workbench" actuellement active; ce sera  " si aucune fenêtre
du workbench n'est activée.



 KEYCOMMANDS.COUNT



 Nombre des affectations de commandes au clavier. Ce nombre peut être égal à 0.



 KEYCOMMANDS.0 .. KEYCOMMANDS.N



 Informations sur toutes les affectations de commandes au clavier.



 KEYCOMMANDS.<n>.NAME



 Nom de l'affectation de la commande au clavier.



 KEYCOMMANDS.<n>.KEY



 La combinaison de touches assignée à cette affectation de commandes au clavier.



 KEYCOMMANDS.<n>.COMMAND



 La commande ARexx assignée à cette combinaison de touches.



 MENUCOMMANDS.COUNT



 Nombre de commandes de menu assignées (par le biais de la commande "MENU ADD
..").  Ce nombre peut être égal à zéro.



 MENUCOMMANDS.0 .. MENUCOMMANDS.N



 Informations sur toutes les commandes de menu assignées.



 MENUCOMMANDS.<n>.NAME



 Nom de la "n"ième option de menu.



 MENUCOMMANDS.<n>.TITLE



 Titre de la "n"ième option de menu.



 MENUCOMMANDS.<n>.SHORTCUT



 Le raccourci-clavier assigné à la "n"ième option de menu.



 MENUCOMMANDS.<n>.COMMAND



 La commande ARexx associée à la "n"ième option de menu.



 Les attributs suivants fournissent des informations sur  une fenêtre à
condition d'en avoir spécifié le nom préalablement.

 Exemple~:\begin{description}



 \item[WINDOW.LEFT]



 Position du bord gauche de la fenêtre.



 \item[WINDOW.TOP]



  Position du bord supérieur de la fenêtre.



  \item[WINDOW.WIDTH]



 Largeur de la fenêtre.



 \item[WINDOW.HEIGHT]



 Hauteur de la fenêtre.



 \item[ WINDOW.MIN.WIDTH]



 Largeur minimum de la fenêtre.



 \item[WINDOW.MIN.HEIGHT]



 Hauteur minimum de la fenêtre.



  \item[WINDOW.MAX.WIDTH]



 Largeur maximum de la fenêtre.



  \item[WINDOW.MAX.HEIGHT]



 Hauteur maximum de la fenêtre.



  \item[WINDOW.VIEW.LEFT]



 Limite horizontale de la visibilité du contenu du tiroir; cette valeur
correspond à la position  de la barre de défilement horizontale.



  \item[WINDOW.VIEW.TOP]



 Limite verticale de la visibilité du contenu du tiroir; cette valeur correspond
à la position de  la barre de défilement verticale.



 \item[WINDOW.SCREEN.NAME]



 Nom de l'écran public sur lequel la fenêtre a été ouverte.



 \item[WINDOW.SCREEN.WIDTH WINDOW.SCREEN.HEIGHT ]



 Taille de l'écran public sur lequel la fenêtre a été ouverte.



 \item[WINDOW.ICONS.ALL.COUNT]



 Nombre d'icônes affichées dans la fenêtre. Il peut être égal à zéro.



 \item[ WINDOW.ICONS.ALL.0 .. WINDOW.ICONS.ALL.N]



 Informations sur toutes les icônes affichées dans la fenêtre:



  \item[WINDOW.ICONS.ALL.<n>.NAME]



 Nom de l'icône "n".



 \item[WINDOW.ICONS.ALL.<n>.LEFT WINDOW.ICONS.ALL.<n>.TOP]



 Position de l'icône "n".



  \item[WINDOW.ICONS.ALL.<n>.WIDTH WINDOW.ICONS.ALL.<n>.HEIGHT]



 Taille de l'icône "n".



  \item[WINDOW.ICONS.ALL.<n>.TYPE]



 Type de l'icône; parmi DISK, DRAWER, TOOL, PROJECT,  GARBAGE, DEVICE, KICK ou
APPICON.



 \item[ WINDOW.ICONS.ALL.<n>.STATUS]



 Variable selon que l'icône soit sélectionnée et que, si l'icône est de type
"tiroir" tel qu'une icône "disque", " tiroir" ou "poubelle", le tiroir
correspondant soit actuellement ouvert ou fermé. Cet attribut est retourné sous
la forme d'une chaîne de caractères telle que "SELECTED OPEN" qui indique que
l'icône est sélectionnée et que le tiroir correspondant est ouvert. Les autres
options sont "UNSELECTED" et "CLOSED".



  \item[WINDOW.ICONS.SELECTED.COUNT]



 Nombre d'icônes sélectionnées affichées dans la fenêtre. Ce nombre peut être égal à zéro.



 \item[ WINDOW.ICONS.SELECTED.0 .. WINDOW.ICONS.SELECTED.N]



 Informations sur toutes les icônes sélectionnées de la fenêtre:



 \item[ WINDOW.ICONS.SELECTED.<n>.NAME]



 Nom de l'icône "n" sélectionnée.



 \item[ WINDOW.ICONS.SELECTED.<n>.LEFT \\ WINDOW.ICONS.SELECTED.<n>.TOP]



 Position de l'icône "n" sélectionnée.



  \item[WINDOW.ICONS.SELECTED.<n>.WIDTH \\ WINDOW.ICONS.SELECTED.<n>.HEIGHT]



 Taille de l'icône "n" sélectionnée.



 \item[ WINDOW.ICONS.SELECTED.<n>.TYPE ]



 Type de l'icône sélectionnée; parmi DISK, DRAWER, TOOL, PROJECT, GARBAGE,
DEVICE, KICK ou APPICON.



  \item[WINDOW.ICONS.SELECTED.<n>.STATUS]



 Variable selon que l'icône soit sélectionnée et que, si l'icône est de type
"tiroir" tel qu'une icône "disque", "tiroir" ou "poubelle", le tiroir
correspondant soit actuellement ouvert ou fermé. Cet attribut est retourné sous
la forme d'une chaîne de caractères telle que "SELECTED OPEN" qui indique que
l'icône est sélectionnée et que le tiroir correspondant est ouvert. Les autres
options sont "UNSELECTED" et "CLOSED". Bien sûr, dans la variable de stockage
WINDOW.ICONS.SELECTED le statut de l'icône sera toujours retourné comme
"SELECTED".



  \item[WINDOW.ICONS.UNSELECTED.COUNT]



 Nombre d'icônes non sélectionnées affichées dans la fenêtre. Ce nombre peut être égal à zéro.



 \item[ WINDOW.ICONS.UNSELECTED.0 ..\\ WINDOW.ICONS.UNSELECTED.N]



 Informations sur toutes les icônes non sélectionnées de la fenêtre:



  \item[WINDOW.ICONS.UNSELECTED.<n>.NAME]



 Nom de l'icône "n" non sélectionnée.



 \item[WINDOW.ICONS.UNSELECTED.<n>.LEFT]
 \textbf{WINDOW.ICONS.UNSELECTED.<n>.TOP}



 Position de l'icône "n" non sélectionnée.



  \item[WINDOW.ICONS.UNSELECTED.<n>.WIDTH]
  \textbf{WINDOW.ICONS.UNSELECTED.<n>.HEIGHT}



 Taille de l'icône "n" non sélectionnée.



  \item[WINDOW.ICONS.UNSELECTED.<n>.TYPE]



 Type de l'icône non sélectionnée; parmi DISK, DRAWER, TOOL,  PROJECT, GARBAGE,
DEVICE, KICK ou APPICON.



  \item[WINDOW.ICONS.UNSELECTED.<n>.STATUS]

\end{description}

 Variable selon que l'icône soit sélectionnée et que, si l'icône est de type
"tiroir"  el qu'une icône "disque", "tiroir" ou "poubelle", le tiroir
correspondant soit actuellement ouvert ou fermé. Cet attribut est retourné sous
la forme d'une chaîne de caractères telle que "UNSELECTED OPEN" qui indique que
l'icône n'est pas sélectionnée et que le tiroir correspondant est ouvert. Les
autres options sont "SELECTED" et "CLOSED". Naturellement, dans la variable de
stockage WINDOW.ICONS.UNSELECTED le statut de l'icône sera toujours retourné
comme "UNSELECTED".



 \paragraph{Erreurs}~:



 10 - Indique que l'information demandée ne peut être trouvée, que  vous
demandez plus  d'une entrée de base de données sans avoir fourni une variable de
stockage ou qu'au contraire, vous avez fourni une variable de stockage et que
vous ne demandez qu'une seule entrée de base de données. Le code d'erreur sera
placé dans la variable WORKBENCH.LASTERROR.



 Resultat:



 RESULT - Contiendra l'information extraite de la base de données.

 Exemple~:\begin{verbatim}

 /* Demande quelle est la version du Workbench. */
ADDRESS workbench
OPTIONS RESULTS

 GETATTR application.version
SAY result

 /* Demande quelle est la version du Workbench et la stocke dans la variable
`version$\_$number`. */ GETATTR application.version
VAR version$\_$number
SAY version$\_$number

 /* Demande quels sont les noms de toutes les fenêtres actuellement ouvertes ,
puis les affiche. */ GETATTR windows
STEM window$\_$list

 DO i = 0 TO window$\_$list.count-1
SAY window$\_$list.i;
END;

 /* Demande quels sont les nom, position et taille de la première icône
affichée dans la fenêtre du répertoire "racine". */ GETATTR window.icons.all.0
NAME root
STEM root

 SAY root.name
SAY root.left
SAY root.top
SAY root.width
SAY root.height
SAY root.type

 /* Demande quelles sont la largeur et la hauteur de la fenêtre du répertoire "racine". */
GETATTR window.width
NAME root
SAY result

 GETATTR window.height
NAME root
SAY result

 /* Demande quelle est la longueur, exprimée en points, d'un texte relativement
à la police de caractères des icônes. */ GETATTR application.font.icon.size
NAME ,Text to measure`
SAY result

  \end{verbatim}



       \subsection{HELP}



   \paragraph{Fonction}~:



  Cette commande peut être employée pour ouvrir l'aide en ligne et pour obtenir
l'information sur les menus, les commandes et les paramètres de commandes
supportés.



  \paragraph{Syntaxe}~:



  HELP [ COMMAND <nom de commande> ] [MENUS ] [ PROMPT ]



  \paragraph{Modèle}~:



  HELP COMMAND/K,MENUS/S,PROMPT/S



   \paragraph{Paramètres}~:







   COMMAND



  Nom de la commande dont la description doit être recherchée.



   MENUS



  Indiquez ce paramètre pour rechercher une liste d'options de menu actuellement
disponibles.



   PROMPT



  Indiquez ce paramètre pour appeler le système d'aide en ligne.

  Si aucun paramètre n'est fourni, une liste de commandes supportées sera retournée.



   \paragraph{Erreurs}~:



  10 - Si la commande nommée n'est pas supportée par l'interface d'ARexx. Le
code d'erreur sera placé dans la variable WORKBENCH.LASTERROR.



   Résultat:



  RESULT

  La description de commande, liste d'éléments de menu ou commandes, comme
indiqué  dans les paramètres de commande.

   Exemple~:\begin{verbatim}

   /* recherchez la liste de commandes supportées. */
 ADDRESS workbench
 OPTIONS results

   HELP
 SAY result

   /* recherchez la description de la commande `GETATTR` */
 HELP COMMAND getattr
 SAY result

   /* recherchez la liste d'éléments de menu disponibles. */
 HELP MENUS
 SAY result

  \end{verbatim}
          \subsection{ ICON}



  \paragraph{Fonction}~:



  Cette commande permet de manipuler les icônes affichées dans une fenêtre.



  \paragraph{Syntaxe}~:



  ICON [WINDOW] <nom de fenêtre> <nom d'icône> .. <nom d'icône> [OPEN]
[MAKEVISIBLE] [SELECT] [UNSELECT] [UP <Points>] [DOWN <Points>] [LEFT <Points>]
[RIGHT <Points>] [X <position horizontale>] [Y <position verticale>] [ACTIVATE
UP|DOWN|LEFT|RIGHT] [CYCLE PREVIOUS|NEXT] [MOVE IN|OUT]



  \paragraph{Modèle}~:



  ICON WINDOW,NAMES/M,OPEN/S,MAKEVISIBLE/S,SELECT/S,UNSELECT/S, UP/N,
DOWN/N,LEFT/N,RIGHT/N,X/N,Y/N,ACTIVATE/K,CYCLE/K, MOVE/K



   \paragraph{Paramètres}~:



   WINDOW



  Nom de la fenêtre dont les icônes doivent être manipulées. Ceci peut être ROOT
pour  travailler sur la fenêtre "racine" du Workbench (où les icônes de volume
et d'application se trouvent), ACTIVE pour travailler sur la fenêtre du
Workbench actuellement active ou le nom entièrement qualifié d'une fenêtre
"tiroir". Notez que la fenêtre "tiroir" doit déjà être ouverte.

 Si aucun paramètre WINDOW n'est indiqué, cette commande essayera de traiter la
fenêtre  actuellement active du Workbench.



   NAMES



  Noms des icônes à manipuler.



   OPEN



  Indique que les icônes nommées doivent être ouvertes.



   MAKEVISIBLE



  Indique que les icônes nommées doivent être rendus visibles. Ceci fonctionne
généralemen  bien pour la première icône dans une liste mais ne fonctionne pas
toujours pour une liste entière.



   SELECT



  Sélectionnez les icônes nommées.



   UNSELECT



  Déselectionnez les icônes nommées.



   UP, DOWN, LEFT, RIGHT



  Déplacez les icônes nommées par le nombre indiqué de points.



   X, Y



  Déplacez les icônes nommées à la position indiquée.



   ACTIVATE



  Cette commande permet d'activer l'icône la plus proche de l'icône actuellement
selectionnée dans la fenêtre. Le lancement dans ce contexte signifie choisir une
icône, tout en déselectionnant toutes les autres . Ainsi, l'icône active est la
seule choisie dans la fenêtre.

 Vous pouvez indiquer dans quelle direction la prochaine icône à lancer devra
être recherchée, relativement  à l'icône active courante. UP recherche vers le
haut, DOWN vers le bas, LEFT vers la gauche et RIGHT vers la droite.



   CYCLE



  Cette commande permet de cycler à travers toutes les icônes d'une Fenêtre, les
activant alternativement (pour une description de ce qu'actif signifie dans ce
contexte, voir la description ACTIVATE ci-dessus). Vous devez indiquer dans
quelle direction vous voulez cycler à travers les icônes: vous pouvez indiquer
PREVIOUS ou NEXT.



   MOVE



  Cette commande ne permet pas de déplacer les icônes, mais de se déplacer dans
la hiérarchie du système de fichiers.  Ainsi, se déplacer dedans ouvrira un
tiroir et en dehors ouvrira le répertoire parent. Le paramètre IN ouvrira le
tiroir représenté par l'icône active. Veuillez noter qu'une icône doit être
choisie et ce doit être un tiroir. Le paramètre OUT ouvrira le répertoire
parent, et il exige également que dans le tiroir il y ait une icône choisie.
Ceci peut sembler étrange, mais ce dispositif n'est pas un remplacement de
l'option "Ouvrir parent" du menu "Fenêtre".



   \paragraph{Erreurs}~:


 active et la commande a été paramétrée pour travailler avec la fenêtre active
courante du Workbenchi. Le code d'erreur sera placé dans la variable
WORKBENCH.LASTERROR.



   Résultat:



  -



   Exemple~:\begin{verbatim}

   /* choisissez les icônes des volumes "Workbench" et "Work" affichées dans la fenêtre "racine". */
 ADDRESS workbench

   ICON WINDOW root
 NAMES workbench Work SELECT

   /* ouvre l'icône du volume "Workbench" affichée dans la fenêtre "racine". */
 ICON WINDOW root
 NAMES Workbench OPEN

  \end{verbatim}
       \subsection{ INFO}



  \paragraph{Fonction}~:



  Cette commande sert à ouvrir la fenêtre d'information des icônes du Workbench.



  \paragraph{Syntaxe}~:



  INFO [NAME] <Fichier, tiroir ou nom de volume>



  \paragraph{Modèle}~:



  INFO NAME/A



  \paragraph{Paramètres}~:



  NAME



  Nom du fichier, du tiroir ou du volume dont on veut ouvrir la fenêtre d'information.



  \paragraph{Erreurs}~:



  10 - Si le nom du fichier, du tiroir ou du volume n'est pas trouvé.  Le code
d'erreur est positionné dans la variable WORKBENCH.LASTERROR.



  Résultat:



  -

  Exemple :

  /* Ouvre la fenêtre d'information pour "SYS:". */
ADDRESS workbench

  INFO NAME 'SYS:'



     \subsection{KEYBOARD}



  \paragraph{Fonction}~:



  Cette commande peut être utilisée pour associer des commandes ARexx  à des
combinaisons de touches.



  \paragraph{Syntaxe}~:



  KEYBOARD [NAME] <nom de la combinaison de touches>  ADD|REMOVE [KEY
<combinaison de touches>] [CMD <commande ARexx>]



  \paragraph{Modèle}~:



  KEYBOARD NAME/A,ADD/S,REMOVE/S,KEY,CMD/F

  \paragraph{Paramètres}~:



  NAME



  Nom de la combinaison de touches à ajouter ou supprimer. Chaque  combinaison
de touches doit avoir un nom qui lui est associé. Ce nom doit être unique.



  ADD



  Indique à la commande KEYBOARD d'ajouter une nouvelle combinaison de  touches.
Il faut spécifier également les paramètres KEY et CMD.



  REMOVE



  Indique à la commande KEYBOARD de supprimer une combinaison de touches
existante.



  KEY



  La combinaison de touches à ajouter; il faut utiliser le même format que pour
les  Commodités.



  CMD



  C'est la commande ARexx à associer à la combinaison de touches. Cela peut
être soit le nom d'un script ARexx à exécuter, soit un petit programme ARexx
tenant sur une seule ligne.



  \paragraph{Erreurs}~:



  10 - La commande échoue si vous essayez d'ajouter une combinaison de  touches
existante ou de supprimer une combinaison de touches inexistante. Le code
d'erreur est positionné dans la variable WORKBENCH.LASTERROR.



  Résultat:



  -

  Exemples :

  /* Associe un script ARexx à la combinaison de touches [Ctrl]+[A]. L'appui sur
les  touches lancera le script ARexx "test.wb". ARexx cherchera ce programme
dans le répertoire "REXX:". S'il n'y a pas de fichier "test.wb", ARexx essaiera
d'exécuter le script "test.rexx". */

ADDRESS workbench

  KEYBOARD ADD NAME test1 KEY ,"ctrl a", CMD ,test`

  /* Associe un script ARexx à la combinaison de touches [Alt]+[F1]. L'appui sur
les  touches fait s'exécuter un petit programme en ligne. */ KEYBOARD ADD NAME
test2 KEY ,"alt f1", CMD `say 42"

  /* Associe un script ARexx à la combinaison de touches [Shift]+[Help].
L'appui sur les touches appelle l'option "Version" du menu "Workbench". */
KEYBOARD ADD NAME test3 KEY ,"shift help", CMD `MENU INVOKE  WORKBENCH.ABOUT"

  /* Supprime la première combinaison de touches que nous avions ajouté
ci-dessus. */ KEYBOARD REMOVE NAME test1



  \subsection{LOCKGUI}



  \paragraph{Fonction}~:



  Cette commande bloque l'accès à toutes les fenêtres des tiroirs du Workbench.



  \paragraph{Syntaxe}~:



  LOCKGUI



  \paragraph{Modèle}~:



  LOCKGUI



  \paragraph{Paramètres}~:



  -



  \paragraph{Erreurs}~:



  -



  Résultat:



  -



  Remarque:



  Il faut autant de commandes UNLOCKGUI qu'il y a eu de commandes LOCKGUI pour
endre les fenêtres des tiroirs du Workbench utilisables à nouveau. En d'autres
termes, les commandes LOCKGUI "s'imbriquent".

  Exemple :

  /* Bloque l'accès à toutes les fenêtres des tiroirs du Workbench. */
ADDRESS workbench

  LOCKGUI

    \subsection{MENU}



  \paragraph{Fonction}~:



  Cette commande sert à appeler les options de menu du Workbench,  comme si vous
les sélectionniez avec la souris, et pour ajouter ou retirer des menus
"utilisateur".



  \paragraph{Syntaxe}~:



  MENU [WINDOW <nom de la fenêtre>] [INVOKE] <nom de menu>  [NAME <nom de menu>]
[TITLE <titre du menu>] [SHORTCUT <raccourci de menu>] [ADD|REMOVE] [CMD
<commande ARexx>]



  \paragraph{Modèle}~:



  MENU WINDOW/K,INVOKE,NAME/K,TITLE/K,SHORTCUT/K, ADD/S,REMOVE/S,CMD/K/F



  \paragraph{Paramètres}~:

  L'ensemble de paramètres suivants peut être utilisé uniquement pour  appeler
les options de menu.



  WINDOW



  Nom de la fenêtre dont le menu doit être appelé. Ceci peut être  "ROOT" pour
travailler sur la fenêtre "racine" du Workbench (où sont les icônes du volume et
d'applications), "ACTIVE" pour travailler sur la fenêtre courante et active du
Workbench ou le nom complet du chemin d'une fenêtre "tiroir". Remarquez que
cette fenêtre doit effectivement être ouverte.

Si aucun paramètre WINDOW n'est spécifié, cette commande essayera  d'opérer au
niveau de la fenêtre "Workbench" courante et active.



  INVOKE



  Nom du menu à appeler. Voyez plus bas la liste des options de menu disponibles.

L'ensemble de paramètres suivants servent à ajouter ou retirer des options de menu.



  NAME



  Nom de l'option de menu à ajouter ou à retirer. Chaque option de menu  doit
avoir un nom qui lui est associé. Ce nom doit être unique et n'avoir aucun
rapport avec le titre de l'option, tel que décrit dans le menu "Outils".



  TITLE



  Ceci est le texte qui sera utilisé pour le titre de l'option de menu, tel
qu'il  apparaîtra dans le menu "Outils". Ce paramètre est requis si vous ajoutez
(ADD) une nouvelle option de menu.



  SHORTCUT



  Lorsque vous ajoutez une nouvelle option de menu, ceci sera le
raccourci-clavier associé à l'option. Veuillez noter que le raccourci-clavier ne
peut pas avoir plus d'un seul caractère et il sera ignoré s'il existe déjà une
autre option de n'importe quel menu qui utilise ce raccourci. Ce paramètre est
optionnel.



  ADD



  La commande MENU ajoutera une nouvelle option au menu "Outils".  Lorsque vous
ajoutez une nouvelle option de menu, vous devrez aussi spécifier les paramètres
nom (NAME), titre (TITLE) et commande (CMD).



  REMOVE



  La commande MENU enlèvera une option de menu précédemment ajoutée  via
l'interface ARexx. Lorsque vous enlevez une option de menu, vous devrez aussi
spécifier le paramètre nom (NAME).



  CMD



  Ceci est la commande ARexx liée à la nouvelle option de menu. Cette commande
peut être soit le nom d'un script ARexx à exécuter, soit un petit programme
ARexx d'une seule ligne.

  Options de menu:



  WORKBENCH.BACKDROP



  Change la valeur de l'option du Workbench " Mis en arrière-plan".



  WORKBENCH.EXECUTE



  Appelle la requête du Workbench "Exécuter une commande...". L'utilisateur
sera invité à taper une commande à exécuter.



  WORKBENCH.REDRAWALL



  Appelle la fonction du Workbench "Tout retracer".



  WORKBENCH.UPDATEALL



  Appelle la fonction du Workbench "Tout mettre à jour".



  WORKBENCH.LASTMESSAGE



  Réaffiche le dernier message d'erreur du Workbench.



  WORKBENCH.ABOUT



  Affiche la requête du Workbench "Version...".



  WORKBENCH.QUIT



  Essaye de fermer le Workbench; une requête pourra être affichée, à laquelle
l'utilisateur devra répondre.



  WINDOW.NEWDRAWER



  Demande à l'utilisateur d'introduire le nom du nouveau tiroir devant être créé.



  WINDOW.OPENPARENT



  Si cela est possible, le répertoire parent du tiroir sera ouvert, l'opérateur de cette commande est "on".



  WINDOW.CLOSE



  Si cela est possible, le tiroir sera fermé; utilisez pour cela la valeur "on".



  WINDOW.UPDATE



  Le tiroir sera mis à jour ; utilisez pour cela la valeur "on", i.e. le contenu sera relu.



  WINDOW.SELECTCONTENTS



  Le contenu du tiroir sera sélectionné; utilisez pour cela la valeur "on".



  WINDOW.CLEARSELECTION



  Toutes les icônes du tiroir seront déselectionnées; utilisez pour cela la valeur "on".



  WINDOW.CLEANUPBY.COLUMN



  Le contenu du tiroir sera classé et les icônes seront placées en colonnes.



  WINDOW.CLEANUPBY.NAME



  Le contenu du tiroir sera classé par nom et les icônes seront alignées.



  WINDOW.CLEANUPBY.DATE



  Le contenu du tiroir sera classé par date et les icônes seront alignées.



  WINDOW.CLEANUPBY.SIZE



  Le contenu du tiroir sera classé par taille de fichier et les icônes seront alignées.



  WINDOW.CLEANUPBY.TYPE



  Le contenu du tiroir sera classé par type et les icônes seront alignées.



  WINDOW.RESIZETOFIT



  La fenêtre du tiroir sera redimensionnée, pour la rendre juste assez grande pour voir toutes ses icônes.



  WINDOW.SNAPSHOT.WINDOW



  La fenêtre du tiroir sera figée, mais pas son contenu.



  WINDOW.SNAPSHOT.ALL



  La fenêtre du tiroir et son contenu seront figés.



  WINDOW.SHOW.ONLYICONS



  Le mode d'affichage du tiroir sera modifié pour montrer uniquement les
fichiers  et les tiroirs qui ont une icône.



  WINDOW.SHOW.ALLFILES



  Le mode d'affichage du tiroir sera modifié pour montrer tous les fichiers et
les  tiroirs, sans tenir compte du fait qu'ils aient une icône ou non.



  WINDOW.VIEWBY.ICON



  Le mode d'affichage du tiroir sera modifié pour montrer son contenu par  des
icônes.



  WINDOW.VIEWBY.NAME



  Le mode d'affichage du tiroir sera modifié pour montrer son contenu en  mode
"texte", classé par ordre alphabétique.



  WINDOW.VIEWBY.DATE



  Le mode d'affichage du tiroir sera modifié pour montrer son contenu en mode
"texte", classé par date.



  WINDOW.VIEWBY.SIZE



  Le mode d'affichage du tiroir sera modifié pour montrer son contenu en mode
"texte", classé par taille.



  WINDOW.VIEWBY.TYPE



  Le mode d'affichage du tiroir sera modifié pour montrer son contenu en mode
"texte", classé par type.


         ICONS.OPEN



  Les icônes courantes sélectionnées vont s'ouvrir. Une requête pourra être
affichée par  le Workbench au cas où il trouve des icônes "projet" auxquelles il
manque un outil par défaut.



  ICONS.COPY



  Les icônes courantes sélectionnées seront copiées.



  ICONS.RENAME



  L'utilisateur sera invité à choisir un nouveau nom pour chaque icône courante sélectionnée.



  ICONS.INFORMATION



  La fenêtre d'information sera ouverte pour chaque icône courante sélectionnée.



  ICONS.SNAPSHOT



  La position de chaque icône courante sélectionnée sera figée.



  ICONS.UNSNAPSHOT



  La position de chaque icône courante sélectionnée sera libérée.



  ICONS.LEAVEOUT



  Toutes les icônes courantes sélectionnées seront positionnées en permanence
sur la fenêtre "racine" du Workbench.



  ICONS.PUTAWAY



  Toutes les icônes courantes sélectionnées seront déplacées de la fenêtre
"racine" du  Workbench vers leurs tiroirs respectifs.



  ICONS.DELETE



  Tous les fichiers (icônes) courants sélectionnés seront effacés, l'utilisateur
devant tout d'abord  confirmer cette action.



  ICONS.FORMATDISK



  Cette option appelle la commande "Format" pour toute icône "disque" courante
sélectionnée.  Elle ne formatera pas le disque immédiatement. L'utilisateur
devra tout d'abord confirmer cette action.



  ICONS.EMPTYTRASH



  Si l'icône "corbeille" est sélectionnée, cette option videra celle-ci.



  TOOLS.RESETWB



  Toutes les fenêtres du Workbench se fermeront puis se réouvriront.

La commande HELP vous fournira une liste complète des options de menu que  vous
pouvez appeler. Suivant l'état (on/off) de chaque option de menu, (par exemple,
l'option de menu "Ouvrir" sera désactivée si aucune icône n'est actuellement
sélectionnée) la commande MENU peut échouer en silence lorsqu'elle appelle
l'option que vous aviez à l'esprit.



  Erreurs :



  10 - Si la fenêtre désignée ne peut pas être trouvée, si aucune des fenêtres
du  Workbench n'est actuellement active et que la commande a été réglée pour
travailler avec la fenêtre courante active du Workbench. La commande peut aussi
échouer si vous essayez d'ajouter une copie d'une option de menu existante ou si
l'option de menu à enlever, n'existe pas. Un code d'erreur sera placé dans la
variable WORKBENCH.LASTERROR.



  Résultat :



  -

  Exemples~:\begin{verbatim}

  /* Appelle le menu "Version...". */
ADDRESS workbench

  MENU WINDOW root INVOKE WORKBENCH.ABOUT

  /* Ajoute une option au menu "Outils"; si vous la sélectionnez, le script
ARexx s'exécutera  par le nom "test.wb". ARexx recherchera ce programme dans le
répertoire "REXX:". S'il ne trouve aucun fichier "test.wb", ARexx tentera
d'exécuter un script du nom "test.rexx". */ MENU ADD NAME test1 TITLE ,"Execute
a script", SHORTCUT ,!` CMD ,test`

  /* Ajoute une option au menu "Outils"; si vous la sélectionnez, un petit
programme d'une ligne  sera exécuté. */ MENU ADD NAME test2 TITLE ,"Petit
programme d'une ligne", CMD `dites 42"

  /* Ajoute une option au menu "Outils"; si vous la sélectionnez, l'option de
menu du Workbench  "Version..." sera appelée. */ MENU ADD NAME test3 TITLE
,"Version...", CMD `MENU INVOKE WORKBENCH.ABOUT"

  /* Retire la première option de menu que nous avons ajouté plus haut. */
MENU REMOVE NAME test1

 \end{verbatim}
\subsection{MOVEWINDOW}



  \paragraph{Fonction}~:



  Cette commande essayera de modifier la position d'une fenêtre.



  \paragraph{Syntaxe}~:



  MOVEWINDOW [WINDOW] <ROOT|ACTIVE|nom du tiroir> [[LEFTEDGE]  <nouvelle
position du coin gauche>] [[TOPEDGE] <nouvelle position du coin supérieur>]



  \paragraph{Modèle}~:



  MOVEWINDOW WINDOW,LEFTEDGE/N,TOPEDGE/N



  \paragraph{Paramètres}~:



  WINDOW



  Soit ROOT pour déplacer la fenêtre "racine" du Workbench (où sont les icônes
des volumes et  d'application), soit ACTIVE pour déplacer la fenêtre courante
active du Workbench, soit le nom d'une fenêtre "tiroir" avec son chemin d'accès
complet à déplacer. Remarquez que la fenêtre "tiroir" doit effectivement être
ouverte.

Si aucun paramètre WINDOW n'est spécifié, cette commande essayera d'agir sur  la
fenêtre courante active du Workbench.



  LEFTEDGE



  Nouvelle position du coin gauche de la fenêtre.



  TOPEDGE



  Nouvelle position du coin supérieur de la fenêtre.



  Erreurs :



  10 - Si la fenêtre nommée n'a pas pu être déplacée; ceci peut aussi arriver si
vous avez spécifié  le nom d'une fenêtre avec l'option "ACTIVE" alors qu'aucune
fenêtre n'est actuellement active sur le Workbench. Un code d'erreur sera placé
dans la variable WORKBENCH.LASTERROR.



  Résultat :



  -



  Remarques :



  Si vous choisissez de modifier une fenêtre qui n'est ni la fenêtre "racine",
ni la fenêtre active, assurez-vous d'indiquer le nom de la fenêtre avec son
chemin d'accès complet. Par exemple, "Work:" est un nom valide, ainsi que
"SYS:Utilities". Par contre, "Devs/Printers" ne sera pas un nom valide car le
chemin d'accès n'est pas complet. Un nom valide contient le nom d'une
assignation, d'un volume ou d'un périphérique.

  Exemples~:\begin{verbatim}

  /* Déplace la fenêtre "racine" à la position 10,30. */
ADDRESS workbench

  MOVEWINDOW root LEFTEDGE 10 TOPEDGE 30

  /* Déplace la fenêtre courante active. */
MOVEWINDOW active 20 40

  \end{verbatim}
 \subsection{ NEWDRAWER}



  \paragraph{Fonction}~:



  Cette commande sert à créer de nouveaux tiroirs.



  \paragraph{Syntaxe}~:



  NEWDRAWER [NAME] <Nom du tiroir à créer>



  \paragraph{Modèle}~:



  NEWDRAWER NAME/A



  \paragraph{Paramètres}~:



  NAME



  Nom du tiroir à créer.



  \paragraph{Erreurs}~:



  10 - Si le tiroir désigné n'a pas pu être créé.



  Résultat:



  -



  Remarques:



  Le nom donné au tiroir doit avoir un chemin d'accès complet,  tel que
"RAM:Vide". Un chemin incomplet, tel que "/fred/barney" ne fonctionnera pas.

  Exemple :

  /* Créer un tiroir de nom "Vide" dans le RAM disk. */
ADDRESS workbench

  NEWDRAWER ,RAM:Vide`


 \subsection{RENAME}



  \paragraph{Fonction}~:



  Cette commande sert à renommer les fichiers, tiroirs et volumes.



  \paragraph{Syntaxe}~:



  RENAME [OLDNAME] <Nom du fichier/tiroir/volume à renommer> [NEWNAME] <Nouveau
nom du fichier/tiroir/volume>



  \paragraph{Modèle}~:



  RENAME OLDNAME/A,NEWNAME/A



  \paragraph{Paramètres}~:



  OLDNAME



  Nom du fichier/tiroir/volume devant être renommé.  Le chemin d'accès doit être
complet, tel que "RAM:Empty". Un chemin incomplet, tel que /fred/barney", ne
fonctionnera pas.



  NEWNAME



  Le nouveau nom à attribuer au fichier/tiroir/volume. Il n'est pas besoin  de
préciser le chemin d'accès. Par exemple, "wilma" est un nom nouveau valide,
alors que "/wilma" ou "wilma:" ne seront pas acceptés.



  \paragraph{Erreurs}~:



  10 - Si l'objet ne peut pas être renommé.



  Résultat:



  -



  Remarques:



  La commande RENAME ne fonctionne pas de la même façon que, par exemple, la
commande AmigaDOS  "Rename". Par exemple, "RENAME ,ram:vide` ,nouveaunom`"
renommera le fichier ",RAM:vide`" en ",RAM:nouveaunom`".



  Exemple~:\begin{verbatim}

  /* Renommer un tiroir de nom "Ancien" dans le RAM disk en "Nouveau". */
ADDRESS workbench

  RENAME ,RAM:Ancien` ,Nouveau`

  \end{verbatim}

   \subsection{RX}



  \paragraph{Fonction}~:



  Cette commande sert à exécuter les scripts et commandes ARexx.



  \paragraph{Syntaxe}~:



  RX [CONSOLE] [ASYNC] [CMD] <Commande à exécuter>



  \paragraph{Modèle}~:



  RX CONSOLE/S,ASYNC/S,CMD/A/F



  \paragraph{Paramètres}~:



  CONSOLE



  Ce commutateur indique la console (par défaut I/O) dont la commande a besoin.



  ASYNC



  Ce commutateur indique quelle commande devrait être exécutée d'une façon
asynchrone, par exemple,  a commande "RX" reprendra dès que ARexx aura instruit
l'exécution de la commande que vous avez spécifié. Autrement, la commande "RX"
attendra jusqu'à l'exécution complète de la commande ARexx spécifiée.



  COMMAND



  Ceci est le nom du programme ARexx à exécuter.



  \paragraph{Erreurs}~:



  10 - Si le programme ARexx indiqué n'a pas pu être exécuté.



  Résultat:



  -



  Exemple~:\begin{verbatim}

  /* Exécuter un programme ARexx au nom de ,test.wb`; son  résultat sera envoyé
vers une fenêtre de sortie (de console). */ ADDRESS workbench

  RX CONSOLE CMD ,test.wb`

  \end{verbatim}
 \subsection{SIZEWINDOW}



  \paragraph{Fonction}~:



  Cette commande essayera de modifier la taille de la fenêtre.



  \paragraph{Syntaxe}~:



  SIZEWINDOW [WINDOW] <ROOT|ACTIVE|nom du tiroir> [[WIDTH]  <nouvelle largeur de
la fenêtre>] [[HEIGHT] <nouvelle hauteur de la fenêtre>]



  \paragraph{Modèle}~:



  SIZEWINDOW WINDOW,WIDTH/N,HEIGHT/N



  \paragraph{Paramètres}~:



  WINDOW



  Soit ROOT pour redimensionner la fenêtre "racine" du Workbench (où sont  les
icônes de volume et d'application), soit ACTIVE pour redimensionner la fenêtre
courante active du Workbench, soit le nom d'une fenêtre "tiroir" avec son chemin
d'accès complet à modifier.

Si aucun paramètre WINDOW n'est spécifié, cette commande essayera d'agir  sur la
fenêtre courante active du Workbench.



  WIDTH



  Nouvelle largeur de la fenêtre.



  HEIGHT



  Nouvelle hauteur de la fenêtre.



  \paragraph{Erreurs}~:



  10 - Si la fenêtre nommée n'a pas pu être redimensionnée; ceci peut aussi
arriver si vous avez spécifié le  nom d'une fenêtre avec l'option "ACTIVE" alors
qu'aucune fenêtre n'est actuellement active sur le Workbench. Un code d'erreur
sera placé dans la variable WORKBENCH.LASTERROR.



  Résultat:



  -



  Remarques:



  Si vous choisissez de modifier la taille d'une fenêtre qui n'est ni la fenêtre
"racine", ni la fenêtre  active, assurez-vous d'indiquer le nom de la fenêtre
avec son chemin d'accès complet. Par exemple, "Work:" est un nom autorisé, ainsi
que "SYS:Utilities". Par contre, "Devs/Printers" ne sera pas un nom autorisé car
le chemin d'accès n'est pas complet. Un nom autorisé contient le nom d'une
assignation, d'un volume ou d'un périphérique.

  Exemples~:\begin{verbatim}

  /* Change la taille de la fenêtre "racine" à la surface de 200x100 points (pixels). */
ADDRESS workbench

  SIZEWINDOW root 30 WIDTH 200 HEIGHT 100

  /* Redimensionne la fenêtre courante active. */
SIZEWINDOW active 200 100

\end{verbatim}
 \subsection{UNLOCKGUI}



  \paragraph{Fonction}~:



  Cette commande permettra d'accéder à toutes les fenêtres "tiroir" du
Workbench bloquées par la commande LOCKGUI.



  \paragraph{Syntaxe}~:



  UNLOCKGUI



  \paragraph{Modèle}~:



  UNLOCKGUI





  \paragraph{Paramètres}~:



  -



  \paragraph{Erreurs}~:



  -



  Résultat:



  -



  Remarques:



  Il faut autant de commandes UNLOCKGUI qu'il ya eu de commandes  LOCKGUI pour
que les fenêtres "tiroir" du Workbench soient à nouveau utilisables. En d'autres
termes, la commande LOCKGUI "est imbriquée".



  Exemple~:\begin{verbatim}

  /* Réautorise l'accès à toutes les fenêtres "tiroir" du Workbench. */
ADDRESS workbench

  UNLOCKGUI

  \end{verbatim}

\subsection{UNZOOMWINDOW}



  \paragraph{Fonction}~:



  Cette commande essayera de rendre à la fenêtre sa position et ses dimensions originales.



  \paragraph{Syntaxe}~:



  UNZOOMWINDOW [WINDOW] <ROOT|ACTIVE|nom de tiroir>



  \paragraph{Modèle}~:



  UNZOOMWINDOW WINDOW



  \paragraph{Paramètres}~:



  WINDOW



  Nom de la fenêtre à modifier. ROOT utilisera la fenêtre "racine"  du Workbench
(où sont les icônes des volumes et d'application), ACTIVE utilisera la fenêtre
courante active du Workbench. Tout autre nom de chemin d'accès complet utilisera
la fenêtre du tiroir correspondant au chemin d'accès. Si aucun paramètre WINDOW
n'est spécifié, cette commande essayera de modifier la fenêtre courante active
du Workbench.



  \paragraph{Erreurs}~:



  10 - Si le nom de la fenêtre n'a pas pu être trouvée. Un code d'erreur  sera
placé dans la variable WORKBENCH.LASTERROR.



  Résultat:



  -



  Exemple~:\begin{verbatim}

  /* Modifie la fenêtre "racine". */
ADDRESS workbench
     UNZOOMWINDOW root

  \end{verbatim}
 \subsection{VIEW}



  \paragraph{Fonction}~:



  Cette commande modifiera la position de la surface d'affichage visible (du contenu) d'une fenêtre.



  \paragraph{Syntaxe}~:



  VIEW [WINDOW] <ROOT|ACTIVE|nom du tiroir> [PAGE|PIXEL] [UP|DOWN|LEFT|RIGHT]



  \paragraph{Modèle}~:



  VIEW WINDOW,PAGE/S,PIXEL/S,UP/S,DOWN/S,LEFT/S,RIGHT/S



  \paragraph{Paramètres}~:



  WINDOW



  Soit ROOT pour modifier la vue de la fenêtre "racine" du Workbench (où sont
les icônes des volumes et d'application), soit ACTIVE pour modifier la vue de la
fenêtre courante active du Workbench, soit le nom d'une fenêtre "tiroir" avec
son chemin d'accès complet à modifier. Remarquez que la fenêtre "tiroir" doit
effectivement être ouverte.

Si aucun paramètre WINDOW n'est spécifié, cette commande essayera d'agir sur  la
fenêtre courante active du Workbench.



  UP



  déplace la vue de la fenêtre vers le haut d'environ 1/8 de la hauteur  de la
fenêtre. Si l'argument PAGE est spécifié, la vue sera déplacée d'une page
entière vers le haut. Si l'argument PIXEL est spécifié, la vue sera déplacée
vers le haut d'un seul point (pixel).



  DOWN



  déplace la vue de la fenêtre vers le bas d'environ 1/8 de la hauteur de la
fenêtre.  Si l'argument PAGE est spécifié, la vue sera déplacée d'une page
entière vers le bas. Si l'argument PIXEL est spécifié, la vue sera déplacée vers
le bas d'un seul point (pixel).



  LEFT



  déplace la vue de la fenêtre vers la gauche d'environ 1/8 de la hauteur de la
fenêtre.  Si l'argument PAGE est spécifié, la vue sera déplacée d'une page
entière vers la gauche. Si l'argument PIXEL est spécifié, la vue sera déplacée
vers la gauche d'un seul point (pixel).



  RIGHT



  déplace la vue de la fenêtre vers la droite d'environ 1/8 de la hauteur de la
fenêtre.  Si l'argument PAGE est spécifié, la vue sera déplacée d'une page
entière vers la droite. Si l'argument PIXEL est spécifié, la vue sera déplacée
vers la droite d'un seul point (pixel).



  \paragraph{Erreurs}~:



  10 - Si la vue de la fenêtre nommée n'a pas pu être modifiée; ceci peut aussi
arriver  si vous avez spécifié le nom d'une fenêtre avec l'option ACTIVE alors
qu'aucune fenêtre n'est actuellement active sur le Workbench. Un code d'erreur
sera placé dans la variable WORKBENCH.LASTERROR.



  Résultat:



  -



  Remarques:



  Si vous choisissez de modifier la vue d'une fenêtre qui n'est ni la fenêtre
"racine",  ni la fenêtre active, assurez-vous d'indiquer le nom de la fenêtre
avec son chemin d'accès complet. Par exemple, "Work:" est un nom valide, ainsi
que "SYS:Utilities". Par contre, "Devs/Printers" ne sera pas un nom valide car
le chemin d'accès n'est pas complet. Un nom valide contient toujours le nom
d'une assignation, d'un volume ou d'un périphérique.

  Pour trouver la position de la vue de la fenêtre courante, utilisez la
commande GETATTR  avec les paramètres de la fenêtre WINDOW.VIEW.LEFT et
WINDOW.VIEW.TOP pour la rechercher.

  Exemple~:\begin{verbatim}

  /* Modifie la vue de la fenêtre "racine"; la déplace  vers le haut d'une
page entière. */ ADDRESS workbench

  VIEW root PAGE UP

 \end{verbatim}
\subsection{WINDOW}



  \paragraph{Fonction}~:



  Cette commande modifiera, ouvrira, fermera ou figera les fenêtres.



  \paragraph{Syntaxe}~:



  WINDOW [WINDOWS] <nom de la fenêtre> ..  < nom de la fenêtre>
[OPEN|CLOSE] [SNAPSHOT] [ACTIVATE] [MIN|MAX] [FRONT|BACK] [CYCLE
PREVIOUS|NEXT]



  \paragraph{Modèle}~:



  WINDOW WINDOWS/M/A,OPEN/S,CLOSE/S,SNAPSHOT/S,
  ACTIVATE/S,\\MIN/S,MAX/S,
FRONT/S,BACK/S,CYCLE/K



  \paragraph{Paramètres}~:



  WINDOWS



  Noms des fenêtres qu'il faut modifier. Ce peut être ROOT pour la fenêtre
"racine" du  Workbench (où sont les icônes des volumes et d'application), ACTIVE
pour la fenêtre courante active du Workbench ou pour le nom de la fenêtre du
tiroir avec son chemin d'accès complet.



  OPEN



  Essaye d'ouvrir les fenêtres spécifiées.



  CLOSE



  Ferme les fenêtres spécifiées. Remarquez que, si une fenêtre est fermée,
aucune autre opération ne peut plus y être effectuée (telle que SNAPSHOT,
ACTIVATE, etc.).



  SNAPSHOT



  Fige la taille et la position des fenêtres spécifiées.



  ACTIVATE



  Active les fenêtres spécifiées. Si vous avez spécifié plusieurs fenêtres à
activer,  seule une fenêtre finira comme fenêtre active. Habituellement, il
s'agira de la denière de la liste.



  MIN



  Redimensionne les fenêtres à leur taille minimum.



  MAX



  Redimensionne les fenêtres à leur taille maximum.



  FRONT



  Met la fenêtre au premier plan.



  BACK



  Met la fenêtre en arrière-plan.



  CYCLE



  Cette commande agit sur la fenêtre du tiroir courant actif. Vous pouvez
indiquer soit PREVIOUS, pour activer la fenêtre du tiroir précédent de la liste,
soit NEXT, pour activer la fenêtre du tiroir suivant de la liste.



  \paragraph{Erreurs}~:



  10 - Si les fenêtres nommées ne peuvent pas être ouvertes ou si aucune action
n'est possible sur ces fenêtres; ceci peut aussi arriver si vous spécifiez
ACTIVE, et si aucune des fenêtres du Workbench n'est actuellement active. Un
code d'erreur sera placé dans la variable WORKBENCH.LASTERROR.



  Résultat:



  -



  Remarques:



  Si vous choisissez d'agir sur une fenêtre qui n'est ni la fenêtre "racine",
ni la fenêtre active, assurez-vous d'indiquer le nom de la fenêtre avec son
chemin d'accès complet. Par exemple, "Work:" est un nom valide, ainsi que
"SYS:Utilities". Par contre, "Devs/Printers" ne sera pas un nom valide car le
chemin d'accès n'est pas complet. Un nom valide contient toujours le nom d'une
assignation, d'un volume ou d'un périphérique.



  Exemple~:\begin{verbatim}

  /* Ouvre le tiroir "Work:". */
ADDRESS workbench

  WINDOW ,Work:` OPEN

  /* Active la fenêtre "racine". */
WINDOW root ACTIVATE

  \end{verbatim}
\subsection{WINDOWTOBACK}



  \paragraph{Fonction}~:



  Cette commande place une fenêtre à l'arrière-plan.



  \paragraph{Syntaxe}~:



  WINDOWTOBACK [WINDOW] <ROOT|ACTIVE|nom du tiroir>



  \paragraph{Modèle}~:



  WINDOWTOBACK WINDOW



  \paragraph{Paramètres}~:



  WINDOW



  ROOT pour déplacer la fenêtre "racine" du Workbench (où sont les icônes de
volumes et d'application)  en arrière-plan, ACTIVE pour déplacer la fenêtre
courante active du Workbench en arrière-plan ou le nom de la fenêtre "tiroir" et
son chemin d'accès complet. Remarquez que la fenêtre "tiroir" doit effectivement
être ouverte.

Si aucun paramètre WINDOW n'est spécifié, cette commande essayera d'agir sur la fenêtre courante active du Workbench.



  \paragraph{Erreurs}~:



  10 - Si la fenêtre nommée ne peut pas être trouvée.Un code d'erreur sera placé
dans la variable  WORKBENCH.LASTERROR.



  Résultat:



  -



  Remarques:



  Si vous choisissez de déplacer une fenêtre en arrière-plan qui n'est ni la
fenêtre "racine", ni la  fenêtre active, assurez-vous d'indiquer le nom de la
fenêtre avec son chemin d'accès complet. Par exemple, "Work:" est un nom valide,
ainsi que "SYS:Utilities". Par contre, "Devs/Printers" ne sera pas un nom valide
car le chemin d'accès n'est pas complet. Un nom valide contient toujours le nom
d'une assignation, d'un volume ou d'un périphérique.

  Exemple~:\begin{verbatim}

  /* Met la fenêtre "racine" en arrière-plan. */
ADDRESS workbench

  WINDOWTOBACK root

  \end{verbatim}
 \subsection{WINDOWTOFRONT}



  \paragraph{Fonction}~:



  Cette commande affiche une fenêtre au premier plan.



  \paragraph{Syntaxe}~:



  WINDOWTOFRONT [WINDOW] <ROOT|ACTIVE|nom du tiroir>



  \paragraph{Modèle}~:



  WINDOWTOFRONT WINDOW



  \paragraph{Paramètres}~:



  WINDOW



  ROOT pour ramener au premier plan la fenêtre "racine" du Workbench (où sont
les icônes  de volumes et d'application), "ACTIVE" pour ramener au premier plan
la fenêtre courante active du Workbench ou le nom de la fenêtre du tiroir et son
chemin d'accès complet. Remarquez que la fenêtre du tiroir doit effectivement
être ouverte.

Si aucun paramètre WINDOW n'est spécifié, cette commande essayera d'agir sur la
fenêtre  courante active du Workbench.



  \paragraph{Erreurs}~:



  10 - Si la fenêtre nommée ne peut pas être trouvée. Un code d'erreur sera
placé dans la  variable WORKBENCH.LASTERROR.



  Résultat:



  -



  Remarques:



  Si vous choisissez d'amener au premier plan une fenêtre qui n'est ni la
fenêtre "racine",  ni la fenêtre active, assurez-vous d'indiquer le nom de la
fenêtre avec son chemin d'accès complet. Par exemple, "Work:" est un nom valide,
ainsi que "SYS:Utilities". Par contre, "Devs/Printers" ne sera pas un nom valide
car le chemin d'accès n'est pas complet. Un nom valide contient toujours le nom
d'une assignation, d'un volume ou d'un périphérique.

  Exemple~:\begin{verbatim}

  /* Amène la fenêtre "racine" au premier plan. */
ADDRESS workbench

  WINDOWTOFRONT root

  \end{verbatim}

\subsection{ZOOMWINDOW}



  \paragraph{Fonction}~:



  Cette commande modifie une fenêtre en alternant sa position et ses dimensions.



  \paragraph{Syntaxe}~:



  ZOOMWINDOW [WINDOW] <ROOT|ACTIVE|nom du tiroir>



  \paragraph{Modèle}~:



  ZOOMWINDOW WINDOW



  \paragraph{Paramètres}~:



  WINDOW



  Nom de la fenêtre à modifier. ROOT utilisera la fenêtre "racine" du Workbench
(où  sont les icônes des volumes et d'application), ACTIVE utilisera la fenêtre
courante active du Workbench. Pour tout autre chemin d'accès complet, la
commande utilisera la fenêtre du tiroir correspondant à ce chemin d'accès. Si
aucun paramètre WINDOW n'est spécifié, cette commande essayera d'agir sur la
fenêtre courante active du Workbench.



  \paragraph{Erreurs}~:



  10 - Si la fenêtre nommée ne peut pas être trouvée. Un  code d'erreur sera 
placé dans la variable WORKBENCH.LASTERROR.



  Résultat:



  -



  Exemple~:\begin{verbatim}

  /* Modifie la fenêtre "racine". */
ADDRESS workbench

  ZOOMWINDOW root

  \end{verbatim}


