WebOS Goodies

WebOS の未来を模索する、ゲームプログラマあがりの Web 開発者のブログ。

WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。
Subscribe       

Windows 用のタブ+マウスジェスチャー対応ファイラー「Avesta」

本日は Windows 用の高機能ファイラー Avesta をご紹介しようと思います。私はついこの間まで MDIE というタブ型ファイラーを使っていたのですが、残念ながら開発中止(?)のようなので、代わりのファイラーを探していました。そんなときに見つけたのがこの Avesta です。

さっそく使い始めたところ、これが恐ろしくよくできている!タブやマウスジェスチャーといった機能をサポートしているのはもちろん、簡単に複数のタブを同時に表示できたり、リンクバーにフォルダを登録すると内容をメニューに展開してくれたりと、さまざまな工夫が凝らされています。よく使う機能には複数のアクセス手段が用意されており、操作性も良好。唯一難点を挙げればカスタマイズが面倒(テキストの設定ファイルを編集しなければならない)なところですが、そのぶんかなり詳細なカスタマイズが可能です。タブ型ファイラーをお探しの方には文句なくお勧めできる一品です。(^^)

インストール方法

インストールはダウンロードしたアーカイブを展開して、適当なディレクトリにコピーするだけです。具体的には以下の手順でよいでしょう。

  1. 作者さんのページからアーカイブをダウンロードします。"binary" と書いてあるところのリンクです。
  2. ダウンロードしたアーカイブを展開します。"avesta" というディレクトリができるはずです。
  3. 展開してできた "avesta" フォルダを丸ごと "C:\Program Files" などに移動します。
  4. "avesta/bin/avesta.exe" が実行ファイルなので、必要に応じてデスクトップやスタートメニューなどにショートカットを作ります。

これでインストール完了です。ただし、マルチユーザーで使っているマシンの場合はインストール場所を "C:\Document and Settings\<ユーザー名>" などにして、ユーザーごとに上記の "avesta" フォルダをコピーするほうがよいかもしれません。Avesta は "avesta" フォルダ内に設定ファイルを保存するので、"C:\Program Files" を使うと全ユーザーで同じ設定になってしまいます(^^;

使ってみる

前述のとおり "avesta/bin/avesta.exe" が実行ファイルですので、これをダブルクリックすれば起動します。Python(Avesta の拡張に使うスクリプト言語)がインストールされていない場合は警告がでますが、「いいえ」を選択すれば問題ありません。

左側のツリービューに表示されているフォルダをダブルクリックすれば、そのフォルダが開きます。さらに別のフォルダをダブルクリックするとそのフォルダの表示に切り替わるのですが、アドレスバーの上部のタブをクリックすることにより 2 つのフォルダを切り替えることができます。ひとつのウインドウで多数のフォルダを開けるのがタブ型ファイラーの利点です。

多機能なタブ操作

2 つのフォルダを開いた状態で、CTRL を押しながら非表示状態のタブをクリックしてみてください。フォルダ表示が 2 分割され、2 つのフォルダが同時に表示されます。

あっという間に 2 画面ファイラーに早変わり。ファイルコピーなどの際に便利そうです。その気になれば 3 画面でも 4 画面でも開けます。メインメニューの [ウィンドウ] で分割方法を変更することもできます。また、タブをダブルクリックすると「ナビゲートロック」の状態になります。この状態のタブは他のタブをクリックしても非表示にならず、常に画面分割で表示されます。

フォルダをダブルクリックした際に最初から別タブで開くこともできます。SHIFT を押しながらフォルダをダブルクリックすれば別タブで開き、CTRL を押していれば 2 画面分割で開きます。

その他、タブ関係の操作をまとめると、以下のようになります。

操作結果
タブを中クリックタブを閉じる
タブを左ダブルクリックナビゲートロックの ON/OFF
CTRL+タブを左クリック画面分割してタブを表示
タブをドラッグタブの並び順を変更
タブにファイルをドラッグそのフォルダにファイルをコピー or 移動
SHIFT+フォルダを左ダブルクリック別のタブでフォルダを開く
CTRL+フォルダを左ダブルクリック画面分割してフォルダを開く
タブキー右のタブに移動
SHIFT+タブキー左のタブに移動

お馴染みのマウスジェスチャー

Avesta は、Opera などの Web ブラウザではお馴染みのマウスジェスチャーをサポートしています。適当な(デスクトップ以外の)フォルダを開いて、以下の操作をすばやく行ってください。

  1. フォルダ表示の何もない部分でマウス右ボタンを押す。
  2. 右ボタンを押したままマウスを少し上に移動。
  3. 右ボタンを離す。

ひとつ上の階層のフォルダが表示されたのではないでしょうか。(上ではなくて)左にマウスを移動させれば、直前に表示していたフォルダに戻ります。このほかにもいろいろなジェスチャーが用意されています。詳細はメインメニューの [ヘルプ]-[マウス操作一覧を表示] をご参照ください。

後述しますが、このジェスチャーによって実行する機能は柔軟にカスタマイズできるようになっています。

柔軟なリンクバー

ツールバーの下にはよく使うフォルダを置いておける「リンクバー」があります。ここに置いたフォルダはボタンのクリックで簡単に開けるほか、右の▼をクリックすることで内容をメニューに展開します。

また、初期状態で配置されている「Applications」フォルダのように、よく使うアプリケーションを入れておく簡易ランチャーとしても利用できます。

便利なステータスバー上のボタン

Avesta ではツールバーだけでなくステータスバーにも多数のボタンが配置されており、よく使う機能を簡単に操作できます。とくに便利なのは中央のフォルダ表示モードを切り替えるボタンで、ワンタッチで表示モードをサムネイル表示や一覧表示などに変更できます。画像をたくさん保存したフォルダを閲覧するときなどに便利ですね。

また、右の数字が並んだボタンを使うとタブを個別に ON/OFF できます。CTRL キーを押さなくても画面分割による複数フォルダの表示を簡単に利用できます。

これらはツールバーと重複する部分が多いのですが、ひとつの機能に対していくつものアクセス手段を用意しているのが Avesta の特徴のひとつです。私はツールバーを非表示にして、主にジェスチャーとステータスバーのボタンで操作しています。(^^)v

その他の Tips

その他、私が気付いたちょっと気付きにくい機能をご紹介しておきます。

  • 画像ファイルを選択してスペースキーを押すと、画像をプレビューするウインドウが開きます。
  • ツリービューとフォルダ表示の同期を OFF にするには、メインメニューの [オプション]-[ツリー:自動的にリストを同期させる] や [オプション]-[ツリー:自動的にリストを反映する] のチェックを外します。
  • ツリービューやステータスバーの表示を ON/OFF するには、メインメニューの [ウィンドウ]-[コントロールバー] を使用します。
  • メインメニューの [ツール] には、表示中のフォルダをカレントにしてコマンドプロンプトを開くなど、便利な機能が並んでいます。
  • デフォルトでフォルダは詳細モードで開きます。この挙動を変更するには、メインメニューの [表示]-[表示設定を下層のフォルダに適用する] で全ドライブをリセットするのが早いようです。
  • リンクバーでフォルダを展開しているとき、途中のフォルダをタブで開きたいときはメニューアイテムをダブルクリックします。

カスタマイズしよう

Avesta は非常に柔軟なカスタマイズが可能ですが、現在のところ XML 形式の設定ファイルを直接編集してやらねばなりません。ちょっと面倒ですが、少し変更するだけで格段に使いやすくなります。ここではマウスジェスチャーとリンクバーのカスタマイズをご紹介しますが、これらを理解してしまえば他の部分のカスタマイズ方法もほぼ同様です。

カスタマイズの基本

カスタマイズは、Avesta をインストールしたフォルダの "usr" フォルダにある多数の XML ファイルを直接書き換えることで行います。このフォルダはメインメニューの [オプション]-[設定ファイルフォルダを開く] を選択すれば簡単に開けます。その後、XML ファイルを適切に書き換えて、[オプション]-[設定ファイルの再読み込み] を行うというのが基本的な流れです。

各設定ファイルの機能は同じフォルダの "readme.txt" に説明があります。各ファイルの書式については、メインメニューの [ヘルプ]-[ヘルプを開く] で表示されるマニュアルに記述があります。

マウスジェスチャーのカスタマイズ

それでは、まずはマウスジェスチャーをカスタマイズしてみましょう。マウスジェスチャーの情報は主に "mouse-folder.xml" に記述されています。これはフォルダー表示部分でのマウスジェスチャーを定義するファイルです。

ジェスチャーの定義には gesture 要素を使います。以下の 3 つの書式があります。

<gesture modifier="<修飾キー>" input="<ジェスチャー>" command="<内部コマンド>"/>
<gesture modifier="<修飾キー>" input="<ジェスチャー>" execute="<実行ファイル>" args="<パラメータ>"/>
<gesture modifier="<修飾キー>" input="<ジェスチャー>" navigate="<フォルダ>" args="<移動方法>"/>

順番に、Avesta の内部機能を実行、外部コマンドを起動、指定されたフォルダを開く、といった指定です。それぞれの属性は次のような意味があります。

修飾キー
ジェスチャー実行時に押している必要のあるキーを、"A", "C", "S", "W" のコンビネーションで指定します。それぞれ Alt, Control, Shift, Windows キーを表しています。
ジェスチャー
ジェスチャー自体を定義します。いろいろな表記がありますが、"1"〜"5" の数字と矢印(↑など)を使うのがわかりやすいと思います。数字はボタンの押下を表し、矢印はマウスの移動方向を表しています。例えば "2↓→" とすると、右ボタンを押しながら下、右の順でマウスを動かすことで機能が実行されます。
内部コマンド
Avesta の内部機能を呼び出します。使用できるコマンドはマニュアルの「コマンド表」にリストアップされています。
実行ファイル
実行する外部コマンド(.exe ファイル)のフルパス名を指定します。
パラメータ
外部コマンドに渡すコマンドラインを指定します。現在開いているフォルダなどを展開する特殊な書式も仕えます。詳細はマニュアルの「カスタマイズ:操作」をご覧ください。
フォルダ
Avesta で開くフォルダのパスを指定します。
移動方法
フォルダを開く際に、現在のタブで開くのか、新しいタブを作成するのか、といった動作を指定します。詳細はマニュアルの「カスタマイズ:操作」をご覧ください。

上記のような gesture 要素を、ルート要素である mouse 要素の中に必要なだけ並べていけば、マウスジェスチャーの定義になります。例として、以下が私の使っている "mouse-folder.xml" です。

<?xml version="1.0" encoding="Shift_JIS"?>
<mouse name="folder">
  <gesture modifier=""  input="2↓→" command="Current.Close"/>
  <gesture modifier=""  input="2←"   command="Current.Go.Back"/>
  <gesture modifier=""  input="2→"   command="Current.Go.Forward"/>
  <gesture modifier=""  input="2↑"   command="Current.Go.Up"/>
  <gesture modifier=""  input="2↓"   execute="AVESTA/bin/avesta.exe" args="-switch {current}"/>
  <gesture modifier=""  input="2↓↑" execute="AVESTA/bin/avesta.exe" args="-reserve {current}"/>
</mouse>

やけにシンプルですね(^^ゞ。不意に意図しないジェスチャーが起動すると嫌なので、標準の定義を全部削除して使うものだけに絞っています。ちなみに、最後の 2 つは現在開いているフォルダを複製するジェスチャーの定義です。内部コマンドにそのような機能が見つからなかったので、 Avesta を外部コマンドとして起動して実現しています。execute 属性で使っている "AVESTA" は仮想パスという機能で、Avesta のインストールフォルダに置き換えられます。また、args の "{current}" は現在開いているフォルダのパスに展開されます。これらの機能はマニュアルに記載されていますので、詳細はそちらをご参照ください。

"mouse-folder.xml" には初期状態で多くのジェスチャーが記述されていますので、最初はそれらを参考にして変更していくのがよいでしょう。メニューやキーボードショートカットなどのカスタマイズも、多少の属性の違いはありますが、ほぼ同様に行えるはずです。

リンクバーをカスタマイズする

次は、リンクバーをカスタマイズしてみましょう。リンクバーは "link.xml" で定義されています。内部はすべて menu 要素で構成されており、ひとつの menu 要素でひとつのメニューアイテム(またはリンクバーのアイコン)を表します。menu 要素を入れ子で記述していけば、それがそのままメニューの階層構造になるわけです。また、menu 要素に指定する属性によって、その項目の機能が変化します。指定できる属性には以下のものがあります。

text
メニューに表示する文字列を指定します。"_" の次の文字はアクセスキーになります。この属性を省略すると区切り線になります。
path
その項目が選択された際に Avesta で開くフォルダ、もしくは実行する外部コマンドのパスを指定します。前述の仮想パスも指定できます。
depth
path でフォルダが指定された際に、その内容をどの程度の深さまでサブメニューとして展開するかを指定します。"0" なら展開せず、省略すると無制限に展開します。
include-files
この属性に "true" を指定すると、フォルダだけでなくファイルもメニューに展開します。

例として、以下が私の使っている "link.xml" です。

<menu>
  <menu text="_My Computer" path="DRIVES" depth="0">
    <menu text="_1: コントロールパネル" path="CONTROLS"      depth="0"/>
    <menu text="_2: Program Files"      path="PROGRAM_FILES" depth="0"/>
    <menu text="_3: プロフィール"       path="PROFILE"       depth="0"/>
    <menu/>
    <menu text="_C:" path="C:"/>
  </menu>

  <menu text="_Home" path="MYDOCUMENTS" include-files="true"/>
  <menu text="_Source" path="C:\Source"/>

  <menu text="_Applications">
    <menu text="メモ帳(_M)"   path="WINDOWS\notepad.exe" depth="0"/>
    <menu text="ペイント(_P)" path="SYSTEM\mspaint.exe"  depth="0"/>
    <menu text="電卓(_C)"     path="SYSTEM\calc.exe"     depth="0"/>
  </menu>
</menu>

最初の "My Computer" の定義では仮想フォルダをいくつか指定しています。このように、リンクバーに仮想フォルダを指定しておくと簡単にシステム関連のフォルダにアクセスできます。depth を 0 にしているのは、これらのフォルダは展開に時間がかかるからです。

次の "Home", "Source" はよく使うフォルダをリンクバーに表示するためのものです。depth 属性を省略して、下位のフォルダをメニューに展開するようにしています。"Home"(マイドキュメント)はファイル数が少ないので、include-files 属性も指定しています。

最後の "Applications" はデフォルトの "link.xml" そのままです。このように path 属性に実行ファイルを指定することで、ランチャー的な使い方ができます。

Avesta はとても多機能なのでまだまだいろいろな機能があります。例えば、Python による拡張機能などは今回はまったく触れることができませんでした。それらを使いこなせればさらに快適な環境を構築できることでしょう。これまでになく多機能&快適なタブ型ファイラー「Avesta」、皆さんもぜひお試しください!(^^)

関連記事

この記事にコメントする

Recommendations
Books
「Closure Library」の入門書です。
詳しくはこちらの記事をどうぞ!
Categories
Recent Articles