まだ RC 版だけど公開してみる。Motivation はこれで、さくさくっと作ってみようとしたら思わぬところでいろいろはまってしまった 。
GNOME の Nautilus ファイル・マネージャは標準でファイル名を変更する機能を提供しているのに、「Nautilus-Renames」なんて紛らわし名前を付けてしまったんだけど、実際に提供している機能は、どちらかというと複数のファイルやフォルダを指定して名前を一括編集するというもの。開発当初は名前なんかあまり意識していなかったのが災いしたか 。この機能は、例えばカメラから取り込んだ大量のフォト・ファイルを順番に日付とか通番を付与したファイル名に一括変更することをイメージしている。
Nautilus はファイル単体やフォルダ単体の名前を変更することは可能だけど、なぜか複数選択した時はプロパティ・ダイアログからも変更できない。Nautilus が敬遠される原因って、こういう基本的なファイル操作さえユーザ・インタフェースからきっちり実現できていないところにあるよね 。
このプラグインは、Nautilus ファイル・マネージャに表示されたファイルやフォルダを複数個選択した後に、右クリックしてコンテキスト・メニューを開くと「ファイル名の一括編集」という項目を表示する (ちなみにファイル単体を選択した場合は表示されない):
このメニュー項目をクリックすると「Nautilus 拡張 – 名前の変更」というダイアログが表示される:
ダイアログの一番上にある設定項目「テンプレート(T)」が一括付与する際のファイル名を表す。ここでは次の記号を使って任意の情報をファイル名の中に引用できるようになっている:
$ nautilus-renames --legend 凡例 - テンプレートで利用可能な特殊文字の一覧 # (通番) %f (元のファイル名) %e (元の拡張子) %d (元の最終変更年月日) %s (元のファイル・サイズ) %n (元の通番)
「#」という記号は通番の数値一桁に相当し、次の設定項目の「開始(A)」で指定した数値から順に通番を振るようになっている。
その次の「並び替え(S)」と「逆順に並べる(V)」は通番を付与する際の並びを変更するもので、並び替えには名前順 (Basename順)、パス名順 (ディレクトリ名順)、サイズ順、最終修正日時順という種類、そしてそれぞれ昇順/降順の二つの順番を指定できる。
「大/小文字(E)」はファイル名を全て大文字にしたり小文字に変換するかを指定する。「元のファイルを残しておく(M)」は、複製を作成してからファイル名を変更する。
テンプレートやオプションを変更する度に「新しい名前のプレビュー(P)」が更新される仕組みになっている。テンプレートが決定したら「変更する(R)」ボタンをクリックする。変更処理が無事完了したらダイアログが消えて、Nautilus ファイル・ブラウザの表示が更新されるはず:
ということで、提供している機能をまとめると:
- コマンドライン呼び出しと Nautilus 拡張呼び出しの2種類の使い方が可能である
- フォルダを指定した場合はフォルダの中身が変更対象になる (フォルダ自身を変更対象にする場合は、コマンドライン・オプションで –just-directory オプションを指定する)
- GConf 経由でオプションの保存が可能である (コマンドライン・オプションで –use-gconf を指定した場合のみ)
- テンプレートは特別な記号を使って自由にカスタマイズが可能である
- ファイル名の変更の他に、複製も可能である
- ファイルの属性毎に並び替えたり、昇順/降順の並び替えたりして通番を付与できる
- 変更前と後のファイル名を目で確認できる
- UTF-8 エンコーディングのファイル名をサポートしている
- 日本語メッセージカタログ付き
但し、この RC 版では、GConf 対応の実装はしているもののなんか上手く動いていないようなので無効にしてある (もう少し .schemas ファイルを見直す必要あり)。
このファイル名変更ダイアログはどこかで見たことがあるかもしれないが、実のところ gThumb の実装を一部流用している。流用した部分と Nautilus 拡張の実装方法、その他プログラムの詳細については 1.0 リリースの時にでも。
nautilus-renames-0.9.90.tar.bz2: Release Candidate1
開発リポジトリ
$ tar xvf nautilus-renames-0.9.90.tar.bz2 $ cd nautilus-renames-0.9.90 $ ./configure --prefix=/usr --sysconfdir=/etc && make $ sudo make install