Nautilusにユーザ独自のコンテクストメニューを追加させるNautilus-actions機能拡張

 GNOMEデスクトップ環境におけるデフォルトのファイルマネージャであるNautilus用のプラグインおよび機能拡張は何十個も存在しているが、Nautilusのコンテクストメニュー用アイテムを変更できるものは1つしか存在していない。それがNautilus-actionsという機能拡張で、これを利用するとコンテクストメニューにユーザ独自のカスタムアイテムを追加することができ、例えばファイルタイプごとに固有な操作オプションを、当該ファイルの右クリックで表示されるコンテクストメニュー中に追加するといった設定が可能となる。

 UbuntuおよびFedora環境でのNautilus-actionsのインストールは、それぞれapt-getおよびyumを介して実行することができる。このNautilus-actionsは以前に紹介したnautilus-image-converterおよびnautilus-open-terminalという機能拡張の開発にも使用されているツールであり、本稿ではその使用法を簡単に紹介することにする。

 私が使用しているFedora 7マシンの場合、Nautilus Actions Configurationツールは、System→Preferences→Look and Feel→Nautilus Actions Configurationからアクセスできる。この機能拡張はコンテクストメニューのアイテムを独自に作成するためのツールであり、新規のアクション(コンテクストメニュー用アイテム)を作成するには、Addボタンをクリックすればいい。これによりAdd a New Actionダイアログボックスが表示される。この画面ではMenu Item→Actionタブにて、メニューのアイテム名(ラベル)やその機能説明(ツールチップ)および、パスやその他のパラメータを設定できる。同じくConditionsタブには、カスタムアクションの適用対象とするファイルタイプの指定オプションが用意されている。Advanced Conditionsタブに用意されているのは、各種の詳細設定用オプションである。

 ここでの設定例ではまず最初に、処理対象のファイル中に記述されたURLを一覧させる簡単なbashスクリプトを組んでおく。後述するように、このスクリプトは個々のリンク部をその前後5行ごと新規ファイル中に書き出すというだけの仕様である。その次に行うのがコンテクストメニュー用アイテムの作成で、ここではテキストファイルの右クリック時に当該ファイルに対して先のスクリプトを実行するためのオプションを提示するようにしておく。スクリプトのコードは下記のように記述しておけばいい。

#!/bin/sh
FILE=$1
grep -F -A5 -B5 http $FILE > ~/Desktop/linksfile.txt

 私の場合、このスクリプトのファイル名はscript.shとして、自分のディレクトリのDesktopを保存先としておいた。スクリプトの内容は指定されたファイル名に対してgrepによる処理を施すだけのもので、httpという記述のある行を対象として、その前後5行分とともにlinksfile.txtという新規ファイルに出力させている。次に行うコンテクストメニュー用アイテムの作成では、ここでの本題であるNautilus Actions Configurationツールを使用する。具体的な操作としては、Nautilus Actions ConfigurationウィンドウにあるAddをクリックしてAdd a New Actionダイアログボックスを表示させ、そのフィールド中に下記のように記入しておく。

Label: Print the URLs
Tooltip: Print five lines before and after every URL
Path: /home/yourdirectory/Desktop/script.sh
Parameters: %M

 最初のLabelフィールドに指定するのは、コンテクストメニューのアイテム名として表示させるテキストである。Tooltipフィールドに記入したメッセージテキストは、コンテクストメニューのアイテム上にマウスポインタを重ねた際に表示される説明文となる。Parametersフィールドに指定可能な値については、Legendsボタンをクリックすることで全パラメータの一覧が表示される。ここで指定している%Mは、選択したファイルのフルパスを示すパラメータである。最終的にこの値は、先に見たスクリプトのコードにおけるFILE変数に渡される。

 次にConditionsタブをクリックする。スクリプトの実行対象をテキストファイルだけにしたければ、Filenameフィールドに*.txtと指定しておけばいい。実際このスクリプトはフォルダ類には適用できないので、Only Filesラジオボタンもオンにしておく。最後にOKをクリックして、Nautilus Actions Configurationツールを終了させる。以上の設定が正常に行われていれば、テキストファイルの右クリック時にPrint the URLsというオプションが追加されるようになり、このメニューアイテムを選択すると各自のDesktopにlinksfile.txtが新規に作成されるはずである。

 ここでの設定例に使った簡易スクリプトは、あくまでNautilus-actionsの操作手順を説明するためだけのものでしかないが、Nautilus-actions機能拡張のオフィシャルWebサイトには、各種の設定例が収録されている。これらの設定ファイルを使用するには、各自のシステムへのダウンロード後にNautilus Actions Configurationツールを起動してImport/Exportをクリックする。これによりImport/Export Settingsダイアログボックスが表示されるので、利用したい設定ファイルの保存先をフルパスで指定してから、Type of ConfigurationにあるAutomaticラジオボタンをオンにしておけばいい。最後にOKをクリックすれば、設定ファイルの登録は完了である。

 Nautilus-actionsツールの機能は、ここで見た指定ファイルにスクリプトを適用させるという処理に限定されるものではなく、各種のコマンドオプションを指定した上で特定プログラムを実行させたり、複数のファイルを対象として共通の操作を同時に適用させることなども可能であり、各自の用途に応じて非常に便利な使い方ができるはずだ。

Linux.comでは毎週月曜日に、機能拡張、プラグイン、アドオンに関する新着記事を掲載している。自分で使用して便利だと感じたツールについて、その機能や操作上のヒントなどを1,000ワード以内にまとめた記事を投稿していただければ、採用された方にはもれなく100ドルをお支払いする(なお、既に同じテーマが最近取り上げられていたり掲載予定になっている可能性もあるので、事前に確認のメールを送って頂きたい)。

Linux.com 原文