IntelliMenu
IntelliMenu est une petite application qui permet très facilement de coller du texte prédéfini, de manière contextuelle. Cela est très pratique si vous êtes amenés à retaper souvent la même phrase ou ligne de commande (ex : requete SQL, signature,…). Les éléments disponibles sont organisés de manières arborescente. Le menu est invoqué avec la séquence de touche Win+Espace. Le menu affiché peut être distinct suivant l’application en cours.
Télécharger les binaires. (Testés XP) et les sources. (Version 0.2.2)
Version 0.2.2 : Message d’erreur lors de problème de parsing. Pour utiliser des euros, il faut utiliser “€”, car l’ISO-8859-15 n’est actuellement pas pris en charge par Xerces.
Manuel d’utilisation d’IntelliMenu
Installation
Télécharger
Télécharger les binaires. (Testés XP)
Télécharger les sources.
Pour NT4, il est préférable d’utiliser ces binaires. La version NT4 souffre d’un écran bleu lors de certains retours en arrière dans un menu ayant beaucoup de profondeur. Toute analyse étant impossible depuis l’arrêt du support technique de NT4 par Microsoft, ce bug restera non résolu.
Lancer
Cette application ne nécessite aucune installation.
Décompressez l’ensemble des fichiers du zip dans un même répertoire, et lancez l’exécutable. Pour le lancer à chaque démarrage, placez le dans Menu Démarrer / Démarrage.
Licence
Ce logiciel est placé sous licence GPL. Cela signifie que vous pouvez l’utiliser librement, pour un usage personnel ou professionnel, ainsi que modifier les sources de ce programme dans le respect de la licence GPL pour l’adapter à vos besoins.
La dernière version de cette application est disponible sur la page de ce programme.
Utilisation
Pour activer le menu, dans n’importe quelle application, appuyez sur la combinaison de touche spéciale. Par défaut, ce réglage est LWin + Espace (Touche Windows de gauche, entre Ctrl et Alt à maintenir appuyé en pressant la barre d’espace). (Ces touches sont modifiables dans config.h)
Le menu apparaît alors. Il vous suffit de sélectionner l’item souhaité pour que le texte soit copié collé dans votre application. (Attention, le contenu du presse-papier sera altéré lors de cette opération.)
L’application est située dans la SysTray, à coté de l’horloge, sous la forme d’un cube d’atome. En double cliquant dessus, la fenetre s’ouvre, permettant de :
- Copier dans le presse-papier un élément du menu complet (utile quand on veut acceder au menu complet depuis une application possédant un sous-menu spécifique). Il suffit ensuite de coller le texte (Ctrl-V)
- Activer la capture des l’évènement clavier (actif par défaut).
- Désactiver cette capture.
- Recharger l’ensemble du menu.
- Quitter l’application.
Configuration
La configuration se fait via un ou plusieurs fichiers xml.
Le nom du fichier xml racine est “menu.xml” dans répertoire de travail de l’application (usuellement il s’agit du même répertoire que le répertoire dans lequel est stocké l’éxécutable). (Ce nom de fichier, ainsi que l’ensemble des balises, est modifiable dans config.h).
Ces fichiers respectent le formalisme suivant :
Balise racine root
La balise root
contient tous les autres éléments du menu. N’importe quel élément peut figurer à l’intérieur de cette balise (menu, item, séparateur, contenu,…)
Elle possède de plus deux attributs facultatifs :
@name
(facultatif) : nom du menu. Si cet attribut est utilisé, un élément ayant ce nom sera rajouté en début de menu suivi d’un séparateur. Ceci est très utile pour avoir un endroit du menu où cliquer si le menu est activé par erreur (le menu ne disparait que si un item est séléctionné). Si cet attribut n’est pas utilisé, aucun élément n’est ajouté.@app
(facultatif) : chaîne de détection de l’application. Si l’application en cours contient dans sa barre de titre le texte de cet attribut (ex : Word, attention aux majuscules) alors seul ce menu (et ses sous-menus) sera montré. Cela est pratique pour ne montrer dans un menu seulement les entrées qui sont intéressantes pour ce que l’on est en train de faire. Dans le cas où aucune application ne correspond à un menu spécifique, le menu complet sera affiché. Il est possible d’indiquer plusieurs chaînes d’applications, séparées par des virgules.
Balise menu menu
Cette balise sert à créer un nouveau sous-menu. Elle ne comporte que les attributs @name (obligatoire) qui donne le nom à afficher et @app (facultatif) qui a la même signafication que pour root
.
Balise d’inclusion menu-include
Cette balise sert à insérer dans un sous-menu un autre fichier xml. Cela est très utile pour partager et classer les éléments de menus et les mettre sur un serveur partagé.
Trois attributs sont utilisables :
@name
(obligatoire) : comme dans menu, donne le nom à afficher.@href
(obligatoire) : donne le nom du fichier à inclure, en chemin relatif ou absolu. Le formalisme de ce fichier est exactement le même que celui actuellement décrit.@app
(facultatif) : comme pourroot
, la ou les chaînes d’application.
Balise élement item
Cette balise contient un élément de menu, auquel un texte est associé. Ce texte peut être défini directement à l’intérieur de la balise, ou à l’extérieur, via une référence à un élément content
ou un autre élément item.
Cette balise accepte les attributs suivants :
@name
(obligatoire) : nom à afficher dans le menu.@id
(facultatif) : à utiliser si le contenu de cet élément est utilisable dans un autre menu. L’id peut-être du texte ou un nombre. Attention il doit impérativement être unique sur l’ensemble des fichiers inclus.@ref_id
(facultatif) : à utiliser pour référencer un contenu défini dans un autre élément. Attention, une référence vers un contenu inexistant provoquera une erreur logicielle.
Le contenu de la balise est utilisé pour le texte à inclure. Dans le cas de texte comportant des signes interdits en xml (<, >, &,…), le plus pratique est d’inclure l’ensemble du texte dans une balise “cdata” : <[CDATA[ le texte ici ]]>. Pour des longs contenus, la solution content
est préférable pour la lisibilité du fichier xml (utile par exemple pour des favoris).
Balise de séparateur item-separator
Insère un séparateur dans le menu. Cet élément n’a pas d’attribut et doit être vide.
Balise de contenu content
Cette balise décrit un contenu déporté. Le contenu ne sera pas utilisé s’il n’est pas référencé par un élément menu
. Ces balises content
peuvent être regroupées dans une balise contents
. Ces contenus peuvent également être référencés depuis un autre fichier xml.
L’attribut @id
est obligatoire et doit être unique sur l’ensemble des fichiers inclus. Le texte à inclure est situé entre les balises, et obéit aux mêmes règles que pour l’élément item
.
Balise de paramètre parameter
Cette balise permet de définir à l’application des paramètres supplémentaires. Vous pouvez utiliser cette balise autant de fois que vous voulez. Cependant, seuls les paramètres prévus par l’application sont utilisables. Cette balise peut être définie à n’importe quel endroit.
L’attribut @name
est obligatoire et doit indiquer le nom du paramètre voulu.
Sont actuellement utilisables :
edit-with
: permet de spécifier l’application avec laquelle sera édité le fichier lors de l’utilisation du menu “Fichiers”. L’application indiquée doit être dans le path ou comporter un nom de chemin complet, et accepter le nom du fichier à éditer en premier paramètre après la chaîne indiquée.