MedinTux offre la possibilité de créer autant de menus supplémentaires que l'utilisateur le désire. Chaque option du menu permettant d'activer un Script MedinTux qu'il vous est laissé libre de définir. Cela peut être l'appel d'un programme externe ou toute action de votre choix. Ces menus se placent automatiquement dans la barre d'outils de menus. La figure ci-dessous montre (encadrés en rouge) trois options supplémentaires.
Une option de menu est un répertoire contenant deux fichiers :
Ce répertoire peut porter un nom quelconque (choisissez tout de même un nom en rapport avec le contenu), et doit être situé dans le répertoire : MedinTux/Programmes/drtux/bin/Ressources/Menus de MedinTux.
ci-dessous l'endroit où doivent être placés les menus utilisateurs.
Exemple de script XML d'un fichier de définition d'un menu
<!DOCTYPE CMenu><CMenu version="0.0" stdsetdef="1"> <actions> <action> <property name="name"> <cstring>OCR avec Xsane et Tesseract</cstring> </property> <property name="iconSet"> <iconset>ocr.png</iconset> </property> <property name="text"> <string>OCR avec Xsane et Tesseract</string> </property> <property name="menuText"> <string>OCR avec Xsane et Tesseract</string> </property> <property name="accel"> <string>Ctrl+=</string> </property> <property name="script"> <string>{{::delete_file (../../tmp/LastScanned.tif)}}\ {{::delete_file (../../tmp/LastScanned.txt, clear)}}\ {{::delete_file (../../tmp/medintux2tess.log)}}\ {{::exe_process (WaitEnd ,/usr/bin/xsane,--save,-N$ToAbsPath../../tmp/LastScanned.tif)}}\ {{::exe_process (WaitEnd,../../Plug/OCR/medintux2tess.sh,LastScanned.tif,LastScanned,-l fra,$ToAbsPath../../tmp$EndToAbsPath/,nodebug)}}\ {{::import (../../tmp/LastScanned.txt , new crlf2html)}}</string> </property> <property name="period"> <string>0</string> </property> </action> </actions> </CMenu>
dans lequel nous pouvons voir :
{{::delete_file (../../tmp/LastScanned.tif)}}\ {{::delete_file (../../tmp/LastScanned.txt, clear)}}\ {{::delete_file (../../tmp/medintux2tess.log)}}\ {{::exe_process (WaitEnd ,/usr/bin/xsane,--save,-N$ToAbsPath../../tmp/LastScanned.tif)}}\ {{::exe_process (WaitEnd,../../Plug/OCR/medintux2tess.sh,LastScanned.tif,LastScanned,-l fra,$ToAbsPath../../tmp$EndToAbsPath/,nodebug)}}\ {{::import (../../tmp/LastScanned.txt , new crlf2html)}}
la période en millisecondes de déclenchement du script.
Si cette valeur est négative, alors le timer de lancement du script ne s'exécutera qu'une fois. Si cette valeur est positive, alors le timer de lancement du script s'exécutera à chaque période écoulée. Si cette valeur est à zéro, le script n'aura pas de timer et ne s'exécutera que lors de l'action sur le menu.
Créer un menu dont le script se lance au démarrage de MedinTux : pour cela placez la valeur -100 (soit 1/10 ème de seconde) comme période.
<property name="period"> <string>-100</string> </property>
ce qui lancera le script 1 fois après la période de 1/10 ème de seconde
Créer un menu dont le script se lance à la fin de MedinTux : pour cela placez la la mention {{EXECUTE_ON_EXIT}} en début de script.
Désactiver une option de menu : Si un répertoire de définition de menu commence par le signe moins alors il ne sera plus évalué et cela désactivera l'option.