Personnaliser Thunar

Cette section décrit comment vous pouvez personnaliser certaines parties du gestionnaire de fichiers.

Le menu "Envoyer vers"

Thunar inclut un menu Envoyer vers qui permet d'envoyer certains fichiers ou dossiers vers une destination prédéfinie. Pour accéder au menu Envoyer vers, choisissez FichierEnvoyer vers dans le menu principal ou cliquez-droit sur un fichier ou dossier et choisissez Envoyer vers.

Menu "Envoyer vers"

Par défaut le menu Envoyer vers contient un élément Bureau (Créer lien) pour tous les fichiers et dossiers. Cet élément crée un lien sur le bureau vers le fichier ou dossier sélectionné. Si le Panneau des raccourcis est actif, vous trouverez aussi dans le menu un élément Panneau latéral (Créer raccourci) pour les dossiers, ce qui vous permets de créer de nouveaux raccourcis dans le panneau latéral. À la suite de ces éléments du menu Envoyer vers, Thunar vient ajouter à la liste les disques amovibles actuellement branchés à l'ordinateur. Dans la capture d'écran ci-dessus, le Lecteur de disquettes représente une destination possible pour l'envoi de fichiers. Le disque est "monté" (mount) automatiquement à la sélection dans le menu Envoyer vers pour que vous n'ayez pas besoin de le faire vous-même.

Thunar contient d'office un greffon thunar-sendto-email qui ajoute l'élément Destinataire courriel au menu. Ce dernier permet d'envoyer les fichiers ou dossiers sélectionnés, avec le programme de messagerie par défaut. Si la sélection contient au moins un dossier, le tout est ajouté dans une archive ZIP avant d'être attaché au courriel. Le gestionnaire de fichiers demandera à l'utilisateur s'il faut compresser les fichiers avant de les envoyer, dans le cas de fichiers multiples ou dépassant 200Ko.

Comme la plupart des particularités de Thunar, le menu Envoyer vers peut aisément être personnalisé avec de nouveaux éléments par l'utilisateur ou les développeurs d'applications en utilisant des fichiers standards desktop entry files. Ces fichiers doivent êtres installés dans un des dossiers $XDG_DATA_DIRS/Thunar/sendto/ (suivez le lien XDG Base Directory Specification pour plus de détails à propos de la variable $XDG_DATA_DIRS).

Le MimeType de la destination .desktop spécifie le type de fichiers pour lesquels cette action doit apparaître dans le menu Envoyer vers. Par exemple, imaginons un instant que vous vouliez ajouter un élément permettant de télécharger (upload) vers le site Flickr, cet élément ne devrait s'afficher que pour les images au format JPEG (d'autres formats ne sont pas supportés par flickr). Vous devriez donc ajouter la ligne MimeType=image/jpeg; dans les types de votre élément. Si vous ne spécifiez pas de MimeType, votre élément s'affichera pour tous les fichiers.

Ci-dessous se trouve un exemple complet utilisant l'application postr :

# postr.desktop - Intégrer postr dans
#                 le menu "Envoyer vers".
[Desktop Entry]
Type=Application
Version=1.0
Encoding=UTF-8
TryExec=postr
Exec=postr %F
Icon=postr
Name=Flickr
MimeType=image/jpeg;

Si vous installez ce fichier dans ~/.local/share/Thunar/sendto/ (créez le dossier s'il n'existe pas encore), le menu Envoyer vers comprendra le nouvel élément Flickr pour tous les fichiers JPEG et pourra être utilisé pour envoyer des images sur le site Flickr.

Le site Thunar Project Wiki contient d'autres exemples d'éléments utiles pour le menu Envoyer vers. N'hésitez pas à compléter le wiki avec vos suggestions.

Thumbnailers (Créateurs de miniatures)

Thunar utilise de petits utilitaires pour créer les miniatures de certains types de fichiers et affiche ces miniatures comme pré-visualisation du contenu dudit fichier. Ces petits utilitaires sont appelés des "thumbnailers". Thunar vient d'office avec plusieurs créateurs de miniatures installés et fait usage des facilités de créations de miniatures offertes par GNOME s'il a été installé avec le support gconf. L'utilisateur peut néanmoins ajouter à ces fonctions de base, tout créateur de miniatures additionnel pour différents types de fichiers.

Si vous envisagez d'écrire un créateur de miniatures personnalisé, vous devez vous assurer que votre programme supporte au moins deux lignes de commande, le fichier d'entrée, qui serait votre type de fichier à ajouter et le fichier de sortie, qui doit être au format PNG et conforme aux spécifications du Thumbnail Management Standard. En plus, votre programme pourrait accepter les tailles définies de miniatures, ce qui est optionnel mais fortement recommandé. Si vous optez pour ne pas suivre la taille définie de miniature, Thunar viendrait à redimensionner l'image pour lui donner la taille standard et le résultat pourrait être inférieur en qualité qu'un dimensionnement juste dès le départ.

Une fois votre utilitaire terminé, vous devrez l'enregistrer auprès de Thunar pour qu'il puisse en faire usage. Pour cela il vous suffit d'installer un fichier de description pour votre créateur de miniatures (un fichier .desktop) dans un des dossiers $XDG_DATA_DIRS/thumbnailers/. Par exemple, si vous voulez utiliser le créateur de miniatures uniquement pour votre utilisateur, vous installerez le fichier de description dans le dossier ~/.local/share/thumbnailers/. Le fichier .desktop pour le créations de miniatures a le format suivant.

Fichier de description de création de miniatures

Les fichiers de description de créateurs de miniatures utilisent le format Desktop Entry Format avec un Type spécial X-Thumbnailer et de nouveaux codes dans le champ X-Thumbnailer-Exec. D'une certaine manière, un fichier de description d'un créateur de miniatures a le format suivant :

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Type=X-Thumbnailer
Name=Your Thumbnailer
MimeType=your-supported/mime-type;
X-Thumbnailer-Exec=votre-créateur-de-miniatures %i %o %s

Les champs Version et Encoding sont ordonnés par le "Desktop Entry Specification", utilisez les valeurs utilisées dans l'exemple ci-dessus. Le champ Type doit impérativement contenir la valeur X-Thumbnailer faute de quoi le créateur de miniatures ne serait pas reconnu. Le champ Name décrit votre créateur de miniatures.

Le champ X-Thumbnailer-Exec contient la commande à exécuter pour le créateur de miniatures et supporte certains codes qui se substitueront à l'exécution. Les codes reconnus sont les suivants :

%i
Le chemin d'accès jusqu'au fichier pour lequel il faut créer une miniature. Peut être un chemin d'accès partant du dossier d'où est exécuté le créateur de miniatures ou un chemin d'accès complet.
%o
Le chemin d'accès jusqu'au fichier de sortie contenant la miniature générée. Le fichier de sortie doit être au format PNG en concordance avec le standard de miniatures (voir plus haut). Le fichier ne doit pas obligatoirement se terminer par .png, surtout si vous utilisez une tierce application.
%s
La taille voulue de la miniature en pixels. Ce paramètre est optionnel.
%u
Similaire à %i mais substitué à l'URI du fichier plutôt qu'à son chemin d'accès. Ceci a été ajouté pour la compatibilité avec GNOME.
%%
Se substitue par un simple %.

Vous devez au moins inclure %o et %i ou %u, sinon votre créateur de miniatures sera inutile.

Le champ MimeType liste les types MIME - séparés par un point-virgule - pour lesquels votre créateur de miniatures est capable de créer des miniatures.

Exemple d'un créateur de miniatures pour EPS

Cet exemple démontre comment écrire et installer un nouveau créateur de miniatures pour les fichiers de type .eps qui utilise la commande convert de la suite ImageMagick. Nous commençons par invoquer la commande convert pour générer une miniature à la taille voulue.

#!/bin/sh
#
# eps-thumbnailer - Exemple de script pour la création de miniatures pour les fichiers EPS.
#
# Utilisation: esp-thumbnailer fichier-eps fichier-png taille
#

# paramètres de la ligne de commande
ifile=$1
ofile=$2
size=$3

# invoke convert (ImageMagick)
exec convert "eps:$ifile" -scale "$sizex$size" "png:$ofile"

Enregistrez le script ci-dessus dans un fichier eps-thumbnailer, assurez-vous qu'il soit bien exécutable et installez le dans /usr/local/bin.

$ chmod +x eps-thumbnailer
$ sudo install eps-thumbnailer /usr/local/bin/eps-thumbnailer

Ensuite nous allons créer le fichier de description eps-thumbnailer.desktop qui ressemble à cela :

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Type=X-Thumbnailer
Name=EPS Thumbnailer
TryExec=convert
MimeType=image/x-eps;
X-Thumbnailer-Exec=/usr/local/bin/eps-thumbnailer %i %o %s

Ce fichier doit être installé dans le dossier /usr/local/share/thumbnailers (créez le s'il n'existe pas).

$ sudo install -d /usr/local/share/thumbnailers
$ sudo install eps-thumbnailer.desktop /usr/local/share/thumbnailers/eps-thumbnailer.desktop

Le fichier du créateur de miniatures eps-thumbnailer.desktop utilise la commande spéciale TryExec, qui, si elle est spécifiée, nomme une commande qui doit être présente dans le système pour que le créateur de miniatures soit utile. Le script serait inutile si la commande convert n'était pas disponible.

La dernière étape est celle de régénérer le cache de créateurs de miniatures pour que Thunar soit au courant que nous lui en avons ajouté un. Le cache se situe dans $XDG_CACHE_HOME/Thunar/thumbnailers.cache (à moins que vous ou votre administrateur système n'ayez changé l'emplacement, $XDG_CACHE_HOME devrait se trouver dans ~/.cache/). Le cache des créateurs de miniatures est automatiquement régénéré périodiquement par Thunar mais vous pouvez forcer ce rafraîchissement en invoquant la commande thunar-vfs-update-thumbnailers-cache-1. Cet utilitaire est installé, la plupart du temps, dans le sous-dossier libexec de votre préfixe d'installation (sbin dans Debian/Ubuntu). Donc, par exemple, si Thunar est installé dans /usr, la commande serait la suivante :

$ /usr/libexec/thunar-vfs-update-thumbnailers-cache-1

Mais soyez certain de bien exécuter la commande depuis votre compte d'utilisateur et non celui du super-utilisateur (root), car votre cache de miniatures se trouve dans votre dossier personnel et non dans un emplacement pour tout le système.

Maintenant, si Thunar a été compilé avec le support un moniteur de modifications tel que FAM ou GAMIN, il va automatiquement prendre en compte le nouveau créateur de miniatures dans les secondes qui suivent et sera capable de créer des miniatures grâce à lui. Sinon il faudra redémarrer Thunar pour appliquer les changements en utilisant la commande :

$ Thunar -q

pour arrêter toute instance de Thunar et le relancer par la suite depuis son lanceur.

Purger les miniatures

Les miniatures créés sont stockés dans le dossier ~/.thumbnails/ en concordance avec la norme Thumbnail Management Standard. Lorsque vous testez un nouveau créateur de miniatures, il peut être préférable de d'abord purger les miniatures avec la commande suivante :

$ rm -rf ~/.thumbnails/

ce qui vous libérera aussi un peu d'espace dans votre dossier personnel. Les miniatures étant créées à partir de fichiers de votre système, vous ne perdrez pas de données en le vidant.