Dostosowywanie Thunara

Ten rozdział opisuje, jak dostosować pewne części menedżera plików do twoich własnych potrzeb.

Menu "Wyślij do"

Thunar zawiera menu Wyślij do, zawierające pewne miejsca docelowe, do których można wysyłać pliki i foldery. Aby uzyskać dostęp do menu Wyślij do, wybierz PlikWyślij do z głównego menu lub kliknij prawym przyciskiem myszy na pliku lub folderze, po czym wybierz Wyślij do.

Menu "Wyślij do"

Domyślnie menu Wyślij do zawiera pozycję zwaną Pulpit (utwórz łącze) dostępną dla wszystkich plików i folderów. Tworzy ona łącze na pulpicie do każdego zaznaczonego pliku. Poza tym, jeśli Panel skrótów jest aktywny, menu zawiera także pozycję Panel boczny (utwórz skrót), który umożliwia użytkownikom dodawanie nowych skrótów do panelu bocznego (opcja ta dotyczy tylko katalogów). Poniżej tych dwóch pozycji, Thunar wyświetla listę napędów wymiennych aktualnie podłączonych do komputera. W zrzucie ekranu powyżej, Stacja dyskietek reprezentuje przykładowy punkt docelowy, dokąd mogą zostać wysłane pliki. Zauważ, że urządzenia są montowane automatycznie przy wybieraniu ich z menu Wyślij do, tak więc nie musisz montować ich ręcznie.

Poza tym Thunar oferuje wtyczkę thunar-sendto-email, która dodaje do menu pozycję Odbiorca poczty elektronicznej, otwierającą program pocztowy z zaznaczonymi plikami dołączonymi do nowo utworzonego e-maila. Jeśli zaznaczenie zawiera co najmniej jeden folder, zaznaczone elementy są dodawane do archiwum ZIP przed załączaniem ich do wiadomości. W przeciwnym wypadku, jeśli zaznaczenie zawiera wiele plików (lub jeden większy niż 200Kib), użytkownik zostanie zapytany, czy pakować pliki do archiwum ZIP i wysłać jako archiwum.

Jak większość innych opcji Thunara, menu Wyślij do może być łatwo rozszerzane przez użytkowników i programistów o nowe miejsca docelowe, używając standardowych plików elementów pulpitu. Pliki te muszą zostać zainstalowane do jednego z folderów $XDG_DATA_DIRS/Thunar/sendto/ (zobacz XDG Base Directory Specification - szczegóły na temat zmiennej $XDG_DATA_DIRS).

MimeType w pliku .desktop określa typy plików, dla których ta akcja powinna być dostępna w menu Wyślij do. Przykładowo: powiedzmy, że chcesz dodać pozycję dla narzędzia uploadu Flickr. W takim przypadku ten wpis powinien pojawić się tylko, jeśli zaznaczenie zawiera pliki JPEG (inne formaty nie są wspierane przez Flickr). Wobec tego powinieneś dodać linię MimeType=image/jpeg;. Jeśli nie określisz żadnego MimeType twój wpis będzie pojawiał się dla plików wszystkich typów.

Kompletny przykład używania aplikacji postr pokazano poniżej:

# postr.desktop - Zintegruj postr
#                 w menu "Wyślij do".
[Desktop Entry]
Type=Application
Version=1.0
Encoding=UTF-8
TryExec=postr
Exec=postr %F
Icon=postr
Name=Flickr
MimeType=image/jpeg;

Jeśli umieścisz ten plik w ~/.local/share/Thunar/sendto/ (jeśli ten katalog nie istnieje - utwórz go), menu Wyślij do będzie zawierać nowy wpis Flickr, który będzie mógł być używany do wgrywania obrazów JPEG do Flickr.

Wiki Projektu Thunar zawiera dodatkowe przykłady użytecznych celów dla menu Wyślij do. Ty także możesz uzupełniać strony Wiki o nowe przykłady.

Generatory miniatur

Thunar używa małych narzędzi do generowania miniatur plików pewnych typów i wyświetla miniatury jako podgląd zawartości pliku. Thunar jest dostarczany z generatorami miniatur dla obrazów i plików czcionek i automatycznie używa zainstalowanych generatorów GNOME, jeśli tylko został zainstalowany z obsługą gconf. Użytkownicy mogą jednak dynamicznie rozszerzać tą podstawową funkcjonalność generatorami miniatur dla plików innych formatów.

Jeśli planujesz napisać własny generator miniatur, musisz zacząć od programu przyjmującego co najmniej dwa parametry linii poleceń: plik wejściowy (odpowiedniego typu) i plik wyjściowy (w formacie PNG, zgodnie ze Standardem Zarządzania Miniaturami). Poza tym twój program może także akceptować pożądaną wielkość miniatury (opcjonalne, ale bardzo zalecane). Jeśli twój program wygeneruje miniaturę niestandardowego rozmiaru, Thunar przeskaluje ją zgodnie ze swoimi potrzebami, co może pogorszyć jakość miniatury w stosunku do możliwego efektu przy jej poprawnym generowaniu przez generator miniatur.

Kiedy twoje narzędzie do generowania minatur będzie gotowe, będziesz musiał je zarejestrować, aby Thunar mógł je zlokalizować i używać. Wszystko co musisz zrobić, to zainstalować plik opisu generatora (plik .desktop) w jednej z ścieżek $XDG_DATA_DIRS/thumbnailers/. Przykładowo, jeśli chcesz zarejestrować generator miniatur tylko dla twojego konta użytkownika w systemie, możesz zainstalować plik do folderu ~/.local/share/thumbnailers/. Format plików .desktop generatora miniatur został opisany poniżej.

Format pliku opisu generatorów miniatur

Pliki opisu generatorów miniatur używają formatu plików pulpitu z polem Type jako X-Thumbnailer i polem X-Thumbnailer-Exec z nowym kodem pola. Podstawowy plik opisu ma poniższy format.

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Type=X-Thumbnailer
Name=Twój generator miniatur
MimeType=twoj-obslugiwany/typ-mime;
X-Thumbnailer-Exec=your-thumbnailer %i %o %s

Pola Version i Encoding są narzucone przez "Desktop Entry Specification", po prostu użyj wartości podanych w przykładzie powyżej. Pole Type musi posiadać specjalną wartość X-Thumbnailer. W przeciwnym wypadku twój generator nie będzie rozpoznawany. Wartość Name opisuje twój generator miniatur.

Pole X-Thumbnailer-Exec zawiera polecenie uruchamiające twój generator i obsługuje pewne kody pól, pod które będą podstawiane różne wartości podczas uruchamiania generatora. Poniższe kody są rozpoznawane:

%i
Ścieżka do pliku, którego miniaturę należy utworzyć. Może być ścieżką relatywną względem katalogu z którego generator został wywołany lub ścieżką bezwzględną.
%o
Ścieżka do pliku wyjściowego, dokąd należy wygenerować miniaturę. Plik wyjściowy musi być zgodny ze standardem PNG (patrz wyżej). Zauważ, że ścieżka nie musi kończyć się na .png, co ma znaczenie jeśli wywołujesz inne narzędzia.
%s
Pożądany rozmiar generowanej miniatury w pikselach. Parametr opcjonalny.
%u
Podobne do %i, ale podstawiony przez URI pliku, a nie ścieżkę. Dodane dla kompatybilności z GNOME.
%%
Zastąpione przez pojedyncze %.

Musisz wziąć pod uwagę co najmniej %o i %i lub %u. W przeciwnym wypadku twój generator będzie bezużyteczny.

MimeType zawiera listę typów MIME (oddzielonych przecinkiem) dla których twój generator potrafi generować miniatury.

Przykładowy generator EPS

Ten przykład ilustruje jak napisać i zainstalować nowy generator miniatur dla plików .eps, używając narzędzia convert dostarczanego jako część pakietu ImageMagick. Najpierw zaczniemy od prostego skryptu wywołującego convert, aby wygenerować miniaturę pożądanego rozmiaru.

#!/bin/sh
#
# eps-thumbnailer - przykładowy generator miniatur plików EPS.
#
# Użycie: eps-thumbnailer eps-file png-file size
#

# parametry linii poleceń
ifile=$1
ofile=$2
size=$3

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

Zapisz powyższy skrypt do pliku eps-thumbnailer, upewnij się, że plik jest wykonywalny i zainstaluj go do /usr/local/bin.

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

Teraz musimy utworzyć plik opisu generatora miniatur eps-thumbnailer.desktop. Będzie on wyglądał następująco:

[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

Plik ten powinien zostać zainstalowany do /usr/local/share/thumbnailers (utwórz ten katalog, jeśli nie istnieje).

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

Plik eps-thumbnailer.desktop używa specjalnego klucza TryExec, określającego polecenie, które musi być dostępne w systemie, aby generator mógł działać. W tym przypadku nasz skrypt jest bezużyteczny jeśli narzędzie convert nie jest dostępne w systemie.

Ostatnim krokiem jest regeneracja cache'u generatorów, aby Thunar mógł używać naszego generatora. Cache generatorów znajduje się w $XDG_CACHE_HOME/Thunar/thumbnailers.cache ($XDG_CACHE_HOME wskazuje na ~/.cache/, chyba, że zostało to zmienione przez administratora Twojego systemu). Cache generatorów miniatur jest odbudowywany co jakiś czas przez Thunara, ale możesz zrobić to samodzielnie, używając narzędzia thunar-vfs-update-thumbnailers-cache-1, które jest dostarczane jako część Thunara. Narzędzie to jest zazwyczaj zainstalowane w podkatalogu libexec głównego katalogu instalacji Thunara (sbin w Debianie i Ubuntu). Przykładowo jeśli Thunar jest zainstalowany w /usr, wywołaj to narzędzie tak jak poniżej:

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

Upewnij się, że uruchamiasz ten program z konta twojego użytkownika, nie administratora, gdyż cache generatorów jest przechowywany w twoim katalogu domowym, a nie w ogólnosystemowym położeniu.

Teraz, jeśli Thunar został skompilowany z obsługą narzędzi monitorowania zmian w plikach (usługa FAM lub Gamin), automatycznie użyje nowego cache'u generatorów i w ciągu paru sekund będzie możliwe generowanie miniatur za pomocą twojego generatora. W przeciwnym wypadku będziesz musiał zrestartować Thunara, aby zmiany odniosły skutek. Użyj:

$ Thunar -q

aby zakończyć wszystkie uruchomione instancje Thunara, po czym uruchom go ponownie za pomocą aktywatora.

Usuwanie miniatur

Wygenerowane miniatury są przechowywane w karalogu ~/.thumbnails/ zgodnie ze Standardem Zarządzania Miniaturami. Podczas testowania nowego generatora miniatur, pomocne może być wyczyszczynie cache'u miniatur używając:

$ rm -rf ~/.thumbnails/

Zwolni to także trochę miejsca w twoim katalogu domowym. Ponieważ wszelkie informacje przechowywane w tym katalogu zostały automatycznie wygenerowane z plików znajdujących się na twoim systemie plików, nie utracisz żadnych istotnych danych.