だいぶ前に自作したアプリのアップグレード版。
これまた、だいぶ前に実装を始めたものの何かの拍子ですっかり忘れていたが、その間に使える環境 (ライブラリ) ががらりと変わっていたりして、それでも一応 GTK+ 3.0 なんかがリリースされる前に完成させておきたいということで、昨年末から再開し少しずつ進めてきたもの。
機能はというと、3年前に作ったものとまったく変わったところは無く、ただ単に選択したファイルの名前を連番など付けて一括で変換する Nautilus ファイル・ブラウザのプラグイン。今回のアップグレードは、今では廃止 (Deprecated) になってしまった API を置き換えることが目的といったところ:
- ファイル名の変更処理を gnome-vfs ライブラリではなく、 GLib の GIO を使うようにした
- ユーザ・インタフェースを libglade ライブラリではなく、GTK+ の GtkBuilder を使って構築するようにした
そんなわけで、見た目は前バージョンとほとんど変わらない:
ちょっとだけ、前バージョン同様に、今回も実装の参考にした gThumb の拡張機能からいただいてきたインタフェースなんだけれど、ファイル名のテンプレートで指定できる特別な記号の凡例を初めは隠したままにしておき、テキスト・エントリの中に埋め込んだアイコンをクリックすると表示するようにしてある:
GTK+ のバージョン 2.18 から、テキスト・エントリに文字列以外のアイコンを埋め込めるようになったので、これに gtk_widget_show() と gtk_widget_hide() のコールバックをトグルで関連づけているだけだけど:
テンプレートの中で展開できる特別な記号も追加しており、たとえば strftime(3) で指定できる書式文字列をそのまま使えるようにしてある。
今回は、システム規模で普通にインストールして Nautilus のコンテキスト・メニューから起動する方法の他に:
ビルド時に —enable-run-in-place オプションを付けて構成し直してビルドすると、インストールしなくてもユーザ・インタフェースを表示させて実際に動作できるようにしている:
$ ./configure --enable-run-in-place && make $ ./src/nautilus-renames *
これは前バージョン同様に、ユーザ・インタフェースを持ったアプリ本体は1コマンドラインとして実装しており、Nautilus のプラグインからは単にそのコマンドを呼び出すような実装にしているから。
ソース・アーカイブとリポジトリは次のとおり。ちなみにリポジトリには deb パッケージ作成用のファイルも追加してあるのでパッケージでのインストールも可。
nautilus-renames-1.9.90.tar.bz2: Release Candidate1
開発リポジトリ
$ tar xvf nautilus-renames-1.9.90.tar.bz2 $ cd nautilus-renames-1.9.90 $ ./configure --prefix=/usr --sysconfdir=/etc && make $ sudo make install
特に大きなバグが無ければ今週末にバージョン 2.0 をリリースする予定。