この章では、ファイルマネージャの一部を必要に応じてカスタマイズする方法を説明します。
Thunar には 「送る」 メニューが用意されており、ファイルやフォルダの送り先を選択できます。「送る」 メニューへのアクセスは、メインメニューから → を選択するか、またはファイルやフォルダの上で右クリックし、コンテキストメニューから を選択します。
デフォルトでは、「送る」 メニューには、すべてのファイルおよびフォルダの選択時に 「デスクトップ (リンクを作成)」 という名前のエントリが表示され、これを選ぶと選択された各アイテムのリンクをデスクトップに作成します。また、「ショートカットペイン」 が有効になっていれば、フォルダ選択時のメニューには 「サイドペイン (ショートカットを作成)」 という名前のエントリが表示され、これを選ぶとサイドペインに新しくショートカットを追加します。これらエントリの次に、Thunar
はコンピュータにリムーバブルドライブが接続されていればそれらのエントリを表示します。上のスクリーンショットではファイルの送り先として 「フロッピードライブ」 が表示されています。「送る」 メニューからデバイスを一度選択すれば、そのデバイスは自動的にマウントされるため、手動でマウントする必要がないこと覚えておいてください。
さらに、Thunar
は thunar-sendto-email
プラグインを同梱しており、「メール (添付ファイル)」 エントリも追加されています。これは選択されたファイルを添付ファイルとしてメール送信できるようにします。選択されたアイテムの中にフォルダが一つでも含まれていれば、選択されたアイテムはメールに添付される前に ZIP 形式でアーカイブされます。他に、複数のファイルを選択した場合、あるいは 200KiB を超えるサイズのファイルを選択した場合には、ファイルを ZIP 形式でアーカイブするかどうかの確認が行われます。
Thunar
の 「送る」 メニューを拡張し、新しいターゲット用のエントリを利用者またはアプリケーション開発者が追加する場合は、標準デスクトップエントリファイル を使用することで容易に行えます。これらのファイルは $XDG_DATA_DIRS/Thunar/sendto/
フォルダに格納されなければなりません (環境変数 $XDG_DATA_DIRS
に関する詳細は、XDG Base Directory Specification を参照してください)。
ターゲットの .desktop
ファイルの MimeType
には、「送る」 メニューにそのエントリが表示されるファイルのタイプを指定します。例えば、Flickr のアップロードツールのエントリを追加する場合、このエントリは JPEG (または Frickr がサポートするファイル形式の) ファイルが選択されたときにのみ表示されるべきであり、MimeType=image/jpeg;
の指定を追加するべきです。MimeType
を指定しなかった場合にはエントリはすべてのファイルタイプで表示されます。
アプリケーション 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;
このファイルを ~/.local/share/Thunar/sendto/
(なかったら作成してください) にインストールすると、JPEG ファイルの「送る」メニューに新しいエントリ 「Flickr」 が表示され、これを使って JPEG 画像を Frickr へアップロードできるようになるはずです。
Thunar Project Wiki には、「送る」メニューで使えるエントリの実用例が登録されています。Wiki ページにあなたの新しい例をお気軽に追加してみてください。
Thunar はいくつかのファイルタイプのファイルの内容のプレビューとしてサムネイル表示するために、サムネイルを作成する小さなユーティリティを使用します。これら小さなツールはサムネイラと呼ばれます。Thunar はイメージとフォントファイルのサムネイラを同梱しており、gconf
をサポートする GNOME のサムネイラがインストールされていれば、それを自動的に使用します。しかし、このサムネイラの基本機能に加え、他のファイルタイプのサムネイラを動的に拡張したいときがあるかもしれません。
あなたがカスタムサムネイラを作成する場合、少なくとも2つのコマンドラインパラメータに対応したプログラムにする必要があります。一つは入力ファイルにサポートしたいファイルタイプに対応していること、もう一つは出力ファイルに Thumbnail Management Standard で指定されたフォーマットに準拠した PNG ファイルに対応していることです。また、必須ではありませんが、あなたのプログラムはサムネイルのサイズ要求に対応していることも強く推奨されます。あなたの作成したプログラムが勝手な画像サイズでファイルを出力した場合、Thunar は後でそれを要求されるサイズに変更しますが、それは最適なサイズでサムネイルを生成した場合に比べ適切な結果を生み出すとは限りません。
あなたのサムネイルを生成するユーティリティができあがったら、Thunar がそれを認識して使用できるように登録する必要があります。そのためには、あなたは $XDG_DATA_DIRS/thumbnailers/
パスのいずれかにサムネイラの説明ファイル (.desktop
ファイル) をインストールしなければなりません。例えば、そのサムネイラをあなたのユーザアカウントだけで使用したい場合には、.desktop
ファイルを ~/.local/share/thumbnailers/
にインストールします。サムネイラの .desktop
ファイルは、以下のフォーマットになります。
サムネイラ説明ファイルは Desktop Entry Format で規定された形式で、Type
に特殊なタイプ X-Thumbnailer
を指定し、特殊なフィールド X-Thumbnailer-Exec
に新しいコードを指定します。
[Desktop Entry] Version=1.0 Encoding=UTF-8 Type=X-Thumbnailer Name=Your Thumbnailer MimeType=your-supported/mime-type; X-Thumbnailer-Exec=your-thumbnailer %i %o %s
Version
および Encoding
はデスクトップエントリ仕様によって決まります。上の例の値をそのまま使用してください。Type
フィールドは特殊な値 X-Thumbnailer
でなければならず、他の値ではとサムネイラとして認識されません。Name
フィールドにはあなたのサムネイラの説明を記述してください。
X-Thumbnailer-Exec
フィールドにはあなたのサムネイラのコマンドを指定します。ここではサムネイラ実行時に置き換えられるいくつかのフィールドコードをサポートしています。認識するフィールドコードを以下に示します:
%i
%o
.png
で終わらないかもしれないことを覚えておいてください。%s
%u
%i
と似ていますが、ファイルのパスではなく、URI に置き換えられます。これは GNOME との互換性のために追加されました。%%
%
に置き換えられます。パラメータには、少なくとも %o
と、%i
または %u
が指定されなければなりません。指定されない場合サムネイラは正しく動作しません。
MimeType
にはサムネイラがプレビューを生成できる MIME タイプを、セミコロンで区切って指定します。
ここでは、ImageMagick の一部として提供される convert ユーティリティを使用した、.eps
ファイル用サムネイラの作成からインストールまでの例を紹介します。最初に、サムネイルを要求されたサイズで生成するための、convert を呼び出す簡単なスクリプトを作成します。
#!/bin/sh # # eps-thumbnailer - Example thumbnailer script for EPS files. # # Usage: esp-thumbnailer eps-file png-file size # # command line parameters ifile=$1 ofile=$2 size=$3 # invoke convert (ImageMagick) exec convert "eps:$ifile" -scale "$sizex$size" "png:$ofile"
このスクリプトを eps-thumbnailer
という名前で保存し、実行許可を設定して、/usr/local/bin
にインストールします。
$ chmod +x eps-thumbnailer $ sudo install eps-thumbnailer /usr/local/bin/eps-thumbnailer
次に、以下のようなサムネイル説明ファイル eps-thumbnailer.desktop
を作成します。
[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
このファイルは /usr/local/share/thumbnailers
にインストールされなければなりません (なかったら作成してください)。
$ sudo install -d /usr/local/share/thumbnailers $ sudo install eps-thumbnailer.desktop /usr/local/share/thumbnailers/eps-thumbnailer.desktop
eps-thumbnailer.desktop
ファイルに特殊キー TryExec
が指定されていればそれを参照します。TryExec
には、サムネイラが動作するためにシステム上に存在しなければならないコマンドを設定します。この例の場合、このスクリプトは convert ユーティリティが存在しないと起動されません。
最後に、サムネイラキャッシュを再生成し、Thunar にこのサムネイラを認識させます。サムネイラキャッシュは $XDG_CACHE_HOME/Thunar/thumbnailers.cache
にあります (あなた、またはあなたのシステム管理者が変更していなければ、$XDG_CACHE_HOME
は ~/.cache/
フォルダを指しています)。サムネイラキャッシュは Thunar によって定期的に再作成されますが、Thunar に同梱されている thunar-vfs-update-thumbnailers-cache-1
ユーティリティを使用して強制的に再作成させることができます。このユーティリティは通常あなたのインストレーションプレフィックスのサブフォルダ libexec
にインストールされています (Debian/Ubuntu の場合は /usr/lib/thunar
) 。従って、例えば Thunar がプレフィックス指定 /usr
でインストールされていた場合のこのユーティリティの起動は以下のようになります:
$ /usr/libexec/thunar-vfs-update-thumbnailers-cache-1
ただし、サムネイラキャッシュはシステム全体での場所ではなく、あなたのホームフォルダに格納されるため、このプログラムをスーパーユーザではなく、あなたのユーザアカウントで実行することを忘れないでください。
これで Thunar は変更されたファイルモニタリングサポート (FAM または Gamin を使用します) 付きでコンパイルされ、数秒後には新しいサムネイラキャッシュが自動的にピックアップされ、その後はあなたのカスタムサムネイラを使用してサムネイルの生成ができるようになります。もしそれが行われなければ、起動中のすべての Thunar インスタンスを以下のコマンドで終了させてください。
$ Thunar -q
その後 Thunar を起動し直してください。
生成されたサムネイルは Thumbnail Management Standard に準拠して ~/.thumbnails/
フォルダに格納されています。新しいサムネイラをテストしているうちにサムネイラキャッシュを掃除したくなった場合は、以下のようにキャッシュフォルダを削除してください。
$ rm -rf ~/.thumbnails/
これであなたのホームフォルダに多少の空きスペースができます。このフォルダに格納されていたすべての情報はあなたのファイルシステムにあるファイルから自動的に再作成され、必要なデータが失われることはありません。