4.1.1 Configuration du système

Lorsque cette fonctionnalité est active, LilyPond ajoute des hyperliens au fichier PDF ou SVG. Ces liens sont transmis à un « URI helper » ou au navigateur internet, qui se charge d’ouvrir un éditeur de texte à l’endroit même où le curseur pointe.

Afin que cette chaîne de traitement soit pleinement opérationnelle, il faut configurer votre visionneur de PDF de façon à ce qu’il suive les liens grâce au script ‘lilypond-invoke-editor’ fourni avec LilyPond.

lilypond-invoke-editor’ est un petit programme assistant. Il se charge d’appeler un éditeur pour les identifiants de ressource (URI) de type textedit, et un navigateur pour les autres. Il teste en outre la variable d’environnement EDITOR pour les cas suivant :

emacs

sera alors lancée la commande

emacsclient --no-wait +line:column file
gvim

sera alors lancée la commande

gvim --remote +:line:normcolumn file
nedit

sera alors lancée la commande

  nc -noask +line file'

La variable d’environnement LYEDITOR permet d’anticiper cette affectation, puisqu’elle contient la commande qui permet de lancer l’éditeur en tenant compte des valeurs respectives de %(file)s, %(column)s et%(line)s. Par exemple,

emacsclient --no-wait +%(line)s:%(column)s %(file)s

en variable d’environnement LYEDITOR revient au lancement d’un client emacs standard.


Utilisation avec Xpdf

Pour Xpdf, sous UNIX, vous devrez insérer la ligne suivante dans le fichier ‘xpdfrc’ – soit ‘/etc/xpdfrc’, soit dans votre répertoire personnel ‘$HOME/.xpdfrc’.

urlCommand     "lilypond-invoke-editor %s"

Dans un environnement Ubuntu, il est fort probable que la version de Xpdf installée avec le système plante à l’ouverture de tout fichier PDF – c’est un problème connu et persistant depuis plusieurs années et dû à des incohérences de bibliothèques. La solution consiste alors à installer une version à jour des paquetages ‘xpdf’ et ‘libpoppler’ directement à partir de Debian. Une fois assuré que tout fonctionne correctement, la commande

sudo apt-mark hold xpdf

permet d’empêcher Ubuntu de le remplacer par un paquetage défectueux à la prochaine « mise à jour ».


Utilisation avec GNOME 2

En ce qui concerne l’environnement GNOME 2 et les lecteur de PDF associés, la succession de commandes suivante permet de régler le système pour la gestion des URI par ‘textedit:

 
gconftool-2 -t string -s /desktop/gnome/url-handlers/textedit/command "lilypond-invoke-editor %s"
gconftool-2 -s /desktop/gnome/url-handlers/textedit/needs_terminal false -t bool
gconftool-2 -t bool -s /desktop/gnome/url-handlers/textedit/enabled true

Après ces invocations,

gnome-open textedit:///etc/issue:1:0:0

devrait appeler ‘lilypond-invoke-editor’ pour ouvrir les fichiers.


Utilisation avec GNOME 3

En ce qui concerne l’environnement GNOME 3, les URI sont gérés par la surcouche « gvfs » au lieu de « gconf ». Il faut donc créer un fichier dans un répertoire local tel que ‘/tmp’, que l’on appelera ‘lilypond-invoke-editor.desktop’. Il devra avoir le contenu suivant :

[Desktop Entry]
Version=1.0
Name=lilypond-invoke-editor
GenericName=Textedit URI handler
Comment=URI handler for textedit:
Exec=lilypond-invoke-editor %u
Terminal=false
Type=Application
MimeType=x-scheme-handler/textedit;
Categories=Editor
NoDisplay=true

puis exécuter les commandes

xdg-desktop-menu install ./lilypond-invoke-editor.desktop
xdg-mime default lilypond-invoke-editor.desktop x-scheme-handler/textedit

Après cette invocation,

gnome-open textedit:///etc/issue:1:0:0

devrait appeler ‘lilypond-invoke-editor’ pour ouvrir les fichiers.


Configuration spécifique à Evince

Il se peut que, bien que gnome-open soit fonctionnel, Evince refuse d’ouvir les liens pointer-cliquer pour des raisons d’autorisation. S’impose alors une modification du profil Apparmor d’Evince ; c’est lui qui contrôle le type d’action qu’Evince est autorisé à réaliser.

Sur une distribution Ubuntu, cela consiste à éditer le fichier ‘/etc/apparmor.d/local/usr.bin.evince’ et lui ajouter les lignes suivantes :

# Pour les liens Textedit
/usr/local/bin/lilypond-invoke-editor Cx -> sanitized_helper,

puis lancer la commande

sudo apparmor_parser -r -T -W /etc/apparmor.d/usr.bin.evince

Evince devrait alors être en mesure d’ouvrir les liens pointer-cliquer. Une telle configuration devrait être fonctionnelle pour d’autres visionneurs.


Activation du pointer-cliquer

La fonctionnalité de « pointer-cliquer » est activée par défaut pour ce qui est des fichiers PDF et SVG.

L’option pointer-cliquer accroît la taille des fichiers de manière significative. Afin de réduire la taille de ces fichiers (ainsi que du PS), il est toujours possible de désactiver le pointer-cliquer en ajoutant

\pointAndClickOff

dans le fichier ‘.ly’. Il peut alors être activé de manière explicite grâce à

\pointAndClickOn

Le pointer-cliquer peut aussi être désactivé au moment de la compilation en ligne de commande :

lilypond -dno-point-and-click file.ly

Note : Lorsqu’un fichier LilyPond est destiné à être redistribué, pensez à désactiver le pointer-cliquer, de telle sorte que les chemins d’accès et autres informations propres à votre système ne se retrouvent pas inclus dans le fichier PDF.


Pointer-cliquer sélectif

Pour certaines applications interactives, il est parfois préférable de limiter la fonctionnalité du pointer-cliquer à quelques éléments seulement. Par exemple, si vous avez l’intention de créer une application lançant l’audio et la vidéo à partir d’une note en particulier, il serait mal venu qu’un clic sur la note vous amène à l’altération ou une liaison qui l’affecterait.

Les événements générateurs de lien peuvent se gérer :

Plusieurs types d’événement peuvent être mentionnés :


Autres langues : English, català, español, magyar, italiano.
About automatic language selection.

LilyPond — Utilisation des programmes v2.21.0 (branche de développement).