Personalizar Thunar

Este capítulo describe como adaptar ás súas necesidades certas partes do xestor de ficheiros.

O menú "Enviar a"

Thunar inclúe un menú Enviar a, o cal proporciona destinos posibles a onde poder enviar os ficheiros e os cartafoles. Para acceder ao menú Enviar a, seleccione FicheiroEnviar a no menú principal, ou prema co botón dereito nun ficheiro ou cartafol e seleccione Enviar a.

Menú "Enviar a"

Por defecto o menú Enviar a inclúe unha entrada chamada Escritorio (Crear ligazón) para todos os ficheiros e cartafoles, que simplemente crea unha ligazón no escritorio por cada ficheiro seleccionado. Ademais se o Panel de atallos está activado, o menú tamén inclúe unha entrada chamada Panel lateral (Crear atallo) para os cartafoles, o cal lle permite aos usuarios engadir novos atallos ao panel lateral. Despois destas entradas, Thunar lista as unidades extraíbles conectadas ao ordenador. Na captura de pantalla de enriba, a Disqueteira representa un destino posible a onde se poden enviar os ficheiros. Teña en conta que o dispositivo se monta automaticamente unha vez que se selecciona no menú Enviar a de forma que non ten que montala a man.

Ademais Thunar tamén proporciona o engadido thunar-sendto-email, o cal engade a entrada Enviar correo ao menú, a cal abre o cliente de correo electrónico cos ficheiros anexos a unha nova mensaxe. Se a selección contén polo menos un cartafol, os elementos seleccionados engádense a un arquivo ZIP antes de anexalo á mensaxe. Noutro caso, se a selección contén varios ficheiros, ou un só ficheiro, de tamaño maior a 200 Kib, preguntaraselle ao usuario se desexa empaquetar os ficheiros nun arquivo ZIP e enviar o ficheiro ZIP.

Como con moitas outras funcionalidades de Thunar, os usuarios e dos desenvolvedores de aplicativos pode estender facilmente o menú Enviar a con novos destinos, usando o estándar de Ficheiros de entradas desktop. Estes ficheiros deben estar instalados nun dos cartafoles $XDG_DATA_DIRS/Thunar/sendto/ (consulte a XDG Base Directory Specification para obter detalles sobre a variable $XDG_DATA_DIRS).

O Tipo MIME do .desktop destino especifica os tipos de ficheiros para os cales debe estar dispoñible esta acción no menú Enviar a. Por exemplo, digamos que desexa engadir unha entrada para unha ferramenta de suba de ficheiros de Flickr, así que esta entrada só debe mostrarse se a selección contén ficheiros JPEG (Flickr non soporta outros formatos de ficheiro) e polo tanto debe engadir unha liña MimeType=image/jpeg;. Se non especifica ningún Tipo MIME a entrada mostrarase para todos os tipos de ficheiro.

Debaixo móstrase un exemplo completo usando o aplicativo postr:

# postr.desktop - Integrate postr into
#                 the "Send To" menu.
[Desktop Entry]
Type=Application
Version=1.0
Encoding=UTF-8
TryExec=postr
Exec=postr %F
Icon=postr
Name=Flickr
MimeType=image/jpeg;

Se instala este ficheiro en ~/.local/share/Thunar/sendto/ (cree o cartafol se aínda non existe), o menú Enviar a dos ficheiros JPEG mostrará a nova entrada Flickr, a cal se pode usar para subir imaxes JPEG a Flickr.

A Wiki do proxecto Thunar contén exemplos adicionais de destinos útiles para o menú Enviar a. Vostede é libre de extender a páxina da Wiki con novos exemplos.

Miniaturizadores

Thunar usa pequenas utilidades para crear miniaturas de certos tipos de ficheiros e mostra as miniaturas como vista previa do contido do ficheiro. Estas pequenas ferramentas chámanse miniaturizadores. Thunar publícase con miniaturizadores para imaxes e ficheiros de tipo de letra, e usa automaticamente os miniaturizadores instalados por GNOME se se instalou con soporte para gconf. Aínda así os usuarios poden estender de xeito dinámico esta funcionalidade básica con miniaturizadores para tipos de ficheiros adicionais.

Se pensa escribir un miniaturizador propio, ten que comezar cun programa que acepte polo menos dous parámetros de liña de comandos, o ficheiro de entrada, que é do tipo de ficheiro que pensa soportar e mailo ficheiro de saída, que é un ficheiro PNG que cumpre o formato especificado no Thumbnail Management Standard. Ademais o seu programa tamén podería aceptar o tamaño desexado da miniatura, que é opcional pero moi recomendable. Se escribe un ficheiro de saída cun tamaño de imaxe arbitrario, Thunar escalarao posteriormente ao tamaño desexado, o que podería producir un resultado menos óptimo do que se obtería xerando unha miniatura das dimensións solicitadas.

Unha vez que a súa utilidade para xerar miniaturas estea rematada, terá que rexistrar o seu miniaturizador para que Thunar sexa capaz de localizalo e usalo. Polo tanto todo o que ten que facer é instalar un ficheiro de descrición do miniaturizador (un ficheiro .desktop) nunha das rutas $XDG_DATA_DIRS/thumbnailers/. Por exemplo se desexa rexistrar o miniaturizador só para a súa conta de usuario, pode instalar o ficheiro no cartafol ~/.local/share/thumbnailers/. O .desktop dos miniaturizadores ten o seguinte formato.

Formato do ficheiro de descrición do miniaturizador

Os ficheiros de descrición de miniaturizadores utilizan o Desktop Entry Format cun Tipo especial X-Thumbnailer o campo especial X-Thumbnailer-Exec con novos códigos de campo. Basicamente un ficheiro de descrición de miniaturizador ten o seguinte formato.

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Type=X-Thumbnailer
Name=O seu miniaturizador
MimeType=tipo-mime-soportado/polo-miniaturizador;
X-Thumbnailer-Exec=o-seu-miniaturizador %i %o %s

Version e Encoding son obrigatorios debido á Desktop Entry Specification, así que use os valores que se mostran no exemplo de enriba. O campo Type debe ter o valor especial X-Thumbnailer, ou senón non se recoñecerá o seu miniaturizador. O valor Name describe o seu miniaturizador.

O campo X-Thumbnailer-Exec contén o comando para executar o seu miniaturizador, e soporta certos códigos de campo que se substituirán cando se execute o miniaturizador. Os códigos de campo recoñecidos son os seguintes:

%i

A ruta local do ficheiro de entrada co que se vai crear unha miniatura. Pode ser unha ruta relativa ao directorio dende o que se chamou ao miniaturizador ou unha ruta absoluta.

%o

The local path to the output file where to store the generated thumbnail. The output file must be written as valid PNG file according to the thumbnail standard (see above). Note that the path may not end with .png, which matters if you invoke certain third party tools.

%s

O tamaño desexado en píxels da miniatura xerada. Este parámetro é opcional.

%u

Similar to %i, but substituted with the URI of the file, rather than the path. This was added for compatibility with GNOME.

%%

Will be substituted with a single %.

Ten que incluír polo menos %o e %i ou %u, noutro caso o seu miniaturizador será inútil.

MimeType lista os tipos MIME - separados por punto e coma - para os cales o seu miniaturizador é capaz de crear previsualizacións.

Exemplo de miniaturizador EPS

Este exemplo demostra como escribir e instalar un novo miniaturizador para os ficheiros .eps, o cal usa a utilidade convert que forma parte de ImageMagick. Primeiro comezamos cun simple script que invoca convert para xerar unha miniatura do tamaño solicitado.

#!/bin/sh
#
# eps-thumbnailer - Miniaturizador de exemplo para ficheiros EPS.
#
# Modo de uso: esp-thumbnailer ficheiro-eps ficheiro-png tamaño
#

# parámetros de liña de comandos
ifile=$1
ofile=$2
size=$3

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

Garde o script de enriba nun ficheiro eps-thumbnailer, asegúrese de que o ficheiro é executable e instáleo en /usr/local/bin.

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

A continuación haberá que crear o ficheiro de descrición da miniatura eps-thumbnailer.desktop, que é así:

[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

Este ficheiro debe instalarse en /usr/local/share/thumbnailers (cree o cartafol se non existe).

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

O ficheiro eps-thumbnailer.desktop usa a clave especial TryExec, a cal se se especifica menciona un comando que debe estar presente no sistema para que o miniaturizador sexa útil. No noso exemplo o script é inútil se a utilidade convert non está presente.

O último paso é xerar de novo a caché do miniaturizador, de forma que Thunar detecte ao miniaturizador. A caché do miniaturizador está situada en $XDG_CACHE_HOME/Thunar/thumbnailers.cache (a menos que o administrador do sistema o cambie, $XDG_CACHE_HOME apunta ao cartafol ~/.cache/). Thunar xera de novo a caché dos miniaturizadores periodicamente, pero pode forzar que se xere de novo invocando a utilidade thunar-vfs-update-thumbnailers-cache-1, que se publica como parte de Thunar. Normalmente a utilidade está instalada no subcartafol libexec en do directorio de instalación (sbin en Debian/Ubuntu). Así que se por exemplo Thunar está instalado en /usr, invoque a utilidade do seguinte xeito:

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

Pero asegúrese de que executa o programa ca súa conta de usuario, e non ca conta do superusuario, xa que a caché dos miniaturizadores se almacena no seu cartafol persoal, en vez de nun lugar común para todo o sistema.

Agora se Thunar se compilou con soporte para a monitorización de alteracións nos ficheiros (mediante os servizos FAM ou Gamin), en poucos segundos collerá automaticamente a nova caché dos miniaturizadores e despois será capaz de xerar miniaturas usando os miniaturizadores personalizados. Noutro caso podería necesitar reiniciar totalmente Thunar para aplicar os cambios, usando

$ Thunar -q

para terminar calquera instancia en execución, e posteriormente reiniciala dende o seu iniciador.

Limpar as miniaturas

As miniaturas xeradas almacénanse no cartafol ~/.thumbnails/ de acordo co Thumbnail Management Standard. Ao probar un novo miniaturizador, podería ser útil limpar a caché de miniaturas usando

$ rm -rf ~/.thumbnails/

que tamén lle dará algún espazo libre no seu cartafol persoal. Xa que toda a información almacenada neste cartafol se xera automaticamente a partir dos ficheiros do sistema de ficheiros, non perderá ningún dato importante.