TitleMenu 3.04 (2003-05-25)

écrit par Vincent Lefèvre

Description

Menus et barre de titre

Cet utilitaire vous permet de faire apparaître un menu contenant un répertoire et ses ancêtres en cliquant avec le bouton Menu sur la barre de titre d'une fenêtre. Il y a deux sortes de menus:

Menus document
Un tel menu est défini quand le premier mot du titre de la fenêtre est un nom de fichier avec chemin complet. C'est le cas d'une fenêtre du filer ou d'une fenêtre contenant un document (fenêtre document d'un éditeur de textes comme Zap ou StrongED, ou de Draw, par exemple). Le menu se compose alors du répertoire contenant le fichier en question et de tous ses ancêtres.
Menus application
Un tel menu est défini quand l'application propriétaire de la fenêtre a positionné une variable Application$Dir, indiquant le répertoire de l'application. Le menu se compose alors de ce répertoire et de tous ses ancêtres; de plus, si ce répertoire contient un fichier !Help, alors le menu aura une entrée supplémentaire Help pour obtenir l'aide sur cette application.

Par défaut, c'est le menu document qui est affiché, mais cela peut être changé via des modes. L'autre menu peut être affiché en appuyant sur une touche spéciale (par défaut, Shift).

La sélection d'une entrée d'un de ces menus ouvrira le répertoire correspondant ou affichera l'aide de l'application. Ces menus contiennent deux autres entrées:

Icône de fermeture

Un clic avec le bouton Menu sur une icône de fermeture permet d'ouvrir le premier répertoire du menu correspondant, sans passer par ce menu (dans une fenêtre du filer, cela est équivalent à un Open parent). Cette fonctionnalité peut être désactivée en changeant le mode courant.

Touche spéciale

Une touche spéciale permet d'afficher l'autre menu que celui choisi par préférence. Cette touche spéciale peut être changée à l'aide de la commande *TitleMenuSKey; donner en argument le code de la touche (de 0 à 127). La commande sans argument renvoie le code de la touche courante. Les principaux codes sont donnés par le tableau suivant:

ShiftCtrlAlt
G & D012
Gauche345
Droite678

Vous pouvez aussi utiliser le bouton droit de la souris: code 11.

Note: ces codes correspondent à ceux utilisés pour le SWI OS_Byte 121.

Liste Obey$Dir

Il existe une autre méthode pour connaître le répertoire d'une application: lorsqu'une application est lancée, le répertoire peut être lu dans la variable Obey$Dir. Comme cette méthode n'est pas totalement sûre (même si elle semble meilleure), elle n'est pas activée par défaut; en particulier, le répertoire sera incorrect si l'application n'est pas lancée à partir d'un fichier Obey. Pour activer ou désactiver cette méthode, utiliser les modes.

La commande *TitleMenuODL donne la liste des tâches pour lesquelles la valeur de la variable Obey$Dir a été mémorisée. La commande *TitleMenuRemove permet de retirer une tâche de cette liste (le handle de la tâche, donné par *TitleMenuODL, doit être fourni en paramètre).

Modes

Vous pouvez afficher ou changer le mode courant avec la commande *TitleMenuMode. Le mode est un entier de 0 à 255, et 0 est le mode par défaut. Les différentes possibilités sont données ci-dessous.

Si vous voulez mettre le mode au lancement, ajoutez une espace et la valeur du mode à la fin de la ligne RMRun dans le fichier !TitleMenu.!Run. Si la liste Obey$Dir est activée, il est fortement conseillé de lancer TitleMenu à la fin de la séquence de boot.

Boîte d'information

Vous pouvez cliquer sur le nom TitleMenu ou sur l'auteur Vincent Lefèvre. Si un navigateur web est chargé, cela vous amènera sur mon site web.

Conflits

Il y a un conflit avec le module MouseAxess de Christian Flöter. Pour pouvoir utiliser TitleMenu et MouseAxess en même temps, il est nécessaire de désactiver la fonctionnalité de MouseAxess liée à la barre de titre en modifiant le module MouseAxess. La modification suivante de MouseAxess 0.17 semble fonctionner, mais comme d'habitude, appliquez-la à vos propres risques.

MouseAxess 0.17e:

         Offset   Mot hexa    Code
------------------------------------------------
Changer   1E58    E3740004    CMN R4,#4
  en      1E58    EA000003    B   &00001E6C
------------------------------------------------
Changer   1ED8    E3740004    CMN R4,#4
  en      1ED8    EA000001    B   &00001EE4
------------------------------------------------

MouseAxess 0.17j:

         Offset   Mot hexa    Code
------------------------------------------------
Changer   1E60    E3740004    CMN R4,#4
  en      1E60    EA000004    B   &00001E78
------------------------------------------------
Changer   1EEC    E3740004    CMN R4,#4
  en      1EEC    EA000001    B   &00001EF8
------------------------------------------------

Licence et distribution

TitleMenu est freeware. Utilisez-le à vos propres risques. Vous pouvez le distribuer librement à condition que les fichiers ne soient pas modifiés ou retirés et que vous ne fassiez aucun profit. Le source assembleur est fourni de manière à ce que vous puissiez le modifier pour vous-même si vous le voulez; si vous souhaitez diffuser une version modifiée, veuillez me contacter auparavant.

Vous pouvez trouver la dernière version de mes logiciels sur ma page web Risc PC. Vous pouvez aussi y télécharger:

Pour tout contact au sujet de TitleMenu, utilisez l'adresse suivante: titlemenu@vinc17.org


Vincent Lefèvre <vincent@vinc17.org>