MMM : ressources

En dehors des réglages disponibles par les panneaux de configuration, il est également possible d'éditer le fichier de préférence pour certaines options avancées. Ces ressources sont situées nécessairement dans la première partie du fichier de préférences, c'est-à-dire avant la ligne

!!! Don't edit below this line !!!
Une ressource est de la forme :
*nom: valeur
ou, si elle doit occuper plusieurs lignes :
*nom: ceci est\
      une longue ressource.
Les lignes commencant par un point d'exclamation (!) sont des commentaires.

Afficheurs externes

MMM ne sachant afficher que du HTML et du texte simple (et les images lorsqu'elles sont incluses dans le document), il délègue l'affichage de tous les autres types de documents à des programmes externes. L'association d'un afficheur externe à un type de document particulier est géré par le programme metamail, dont la configuration est donnée par le fichier $HOME/.mailcap. Se reporter à man mailcap pour plus de détails.

Néanmoins, il est possible de dire à MMM

Dans le cas où un document possédant un type qui n'est dans aucune des catégories mentionnées ci-dessus, MMM demandera plus d'informations à l'utilisateur avant de continuer.

Exemple

!! Types pour lesquels on doit sauver sur disque
*savedTypes: \
    application/zip, \
    application/x-tar
!! Types pour lesquels metamail connait un afficheur
!! L'etoile (*) ne peut etre utilisee que dans les sous-types.
*externalViewers: \
    audio/x-midi, audio/midi, \
    image/*, \
    video/*, \
    application/postscript, \
    application/pdf, \
    application/x-dvi, \
    application/x-world, application/x-vrml, \
    application/x-ical, \
    application/mac-binhex

Raccourcis menu

Les raccourcis sont des combinaisons de touches permettant de lancer une action existante dans un menu sans utiliser la souris. MMM propose des raccourcis pour la plupart des menus, mais s'ils ne conviennent pas, l'utilisateur peut choisir les siens.

Chaque action possède un nom. Pour cette action, le raccourci est spécifié par la ressource shortcutNom, dont la valeur est une description d'évènement Tk (voir documentation de Tk : man n bind).

Les noms d'action sont les suivants:
Titre du menu Nom de l'action
About About
Nouvelle fenêtre NewWindow
Ouvrir Sélection OpenSelection
Ouvrir Fichier... OpenFile
Sauver document... Save
Imprimer document Print
Fermer fenêtre Close
Quitter Quit
Home Home
Précédent Back
Suivant Forward
Recharger Reload
Arrêter Abort
Mettre à jour Update
Ré-afficher Redisplay
Marquer la page AddToHotlist
Charger les images LoadImages
Voir le source ViewSource

Exemple

!! Definition d'un raccourci pour Home (touche F2)
*shortcutHome : <F2>

Avertissement

Il existe de nombreuses combinaisons de touches déjà utilisées par ailleurs dans MMM. Il n'est donc pas garanti qu'une nouvelle définition de raccourci fonctionne toujours.

Boutons de navigation

Les actions de navigation disponibles à la souris sont également redéfinissables. Pour un nom d'action donné, le nom de la ressource est bind<nom>, et sa valeur est une description d'évènement Tk (voir documentation de Tk : man n bind). Les noms des fonctions de navigation sont les suivants:
Nom de l'action Role de l'action
goto affiche le document pointé par ce lien dans la même fenêtre,
sauf indication spécifique de l'auteur du document (frames)
save sauve le document pointé par le lien
(après demande d'un nom de fichier par une boîte de dialogue)
gotonew affiche le document pointé par ce lien dans une nouvelle fenêtre
hypermenu affiche un menu d'activation du lien, pouvant contenir d'autres fonctions de navigation
D'autres fonctions contextuelles accessibles à la souris:
Nom de l'action Contexte Role de l'action
tachy_about dans le tachymètre affiche le about
tachy_gc dans le tachymètre ouvre une fenêtre d'information sur la mémoire
tachy_new dans le tachymètre ouvre une nouvelle fenêtre
tachy_sel dans le tachymètre ouvre une nouvelle fenêtre sur le document pointé
par l'adresse contenue dans la sélection courante
stopanim sur les images animées stoppe l'animation
restartanim sur les images animées lance l'animation
copyimgurl sur les images copie l'url de l'image dans la sélection
loadimage sur une image non chargée charge cette image
alt_imap sur une image active non chargée affiche le menu proposé par cette image

Exemple

!! Ouvrir une nouvelle fenetre avec ce lien : utilise le bouton 2 
!! au lieu du bouton 3 par defaut
*bind<gotonew>: <2>

Avertissement

Beaucoup d'actions de la souris sont déjà utilisées par ailleurs dans MMM. Il n'est donc pas garanti qu'une nouvelle définition fonctionne toujours.

Polices de caractères

Le réglage individuel des polices de caractères est fait dans le panneau de configuration des préférences. Toutefois, les choix possibles de polices et de tailles apparaissant dans le panneau sont réglables par des ressources:
familles de polices
La ressource est fontFamilies, et sa valeur est une liste de noms de familles séparés par des virgules
tailles des polices
La ressource est fontPixels, et sa valeur est une liste de tailles séparées par des virgules
Une méthode simple pour calculer ces listes est d'utiliser xlsfonts:
$ xlsfonts | awk -F- 'NF==15 {print $3}' | sort -u
# affichera la liste des familles disponibles sur votre système
$ xlsfonts | awk -F- 'NF==15 {print $8}' | sort -u
# affichera la liste des tailles disponibles sur votre système
Bien sûr, si votre serveur X sait calculer des fontes au vol lorsqu'elles sont demandées, vous n'êtes pas contraints par ces valeurs qui n'indiquent que les fontes déjà disponibles.

Exemple

!! Choix de la famille
*fontFamilies: *, \
	courier, \
	helvetica, \
	lucida, lucidatypewriter,\
	new century schoolbook,\
	times, \
	fixed
!! Choix de la taille des polices
*fontPixels: 8,10,11,12,13,14,15,16,17,18,19,20,24,26,30,34,40

Edition du source

Le menu Voir le source permet d'accéder au source HTML du document affiché. Il est possible de voir ce document avec des annotations de couleurs pour les différents éléments HTML.

Pour chaque élément e, le nom de la ressource est Source<e> et sa valeur est une couleur.

Exemple

!! Annotations du source en couleurs
! bleu pour les ancres
*Source<a>: #4e5cd7
! vert pour les entetes
*Source<h1>: PaleGreen4
*Source<h2>: PaleGreen3
*Source<h3>: PaleGreen2
*Source<h4>: PaleGreen1
! autres
*Source<p>: SandyBrown
*Source<img>: yellow
! orange pour les tables
*Source<table>: #f05e28
*Source<tr>: #f05e28
*Source<td>: #f05e28
*Source<th>: #f05e28
! rose pour les formes
*Source<form>: #f05cd7
*Source<input>: #f05cd7
*Source<select>: #f05cd7
*Source<option>: #f05cd7
*Source<textarea>: #f05cd7

Réglages Tk

On peut naturellement indiquer des ressources qui seront interprétées par Tk lui même (voir les manuels Tk).

Exemple pour un petit écran (laptop)

*font: -*-helvetica-medium-r-normal-*-10-*-*-*-*-*-*-*
*padX:1
*padY:0
*buttons.BorderWidth: 2