1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
http://wakabamac.blog95.fc2.com/blog-entry-651.html

Quicksilver : ランチャ+システムの一部のような総合ユーティリティ
OS10.4以上(UB)
フリーウェア
このブログで何度も採り上げてきた「Quicksilver」ですが、
「Quicksilver をマウスで操作する」ことに注目してみたいと思います。
巷のサイトで Quicksilver のことを見るときに、主な操作はキーボード操作だけで完結してしまうが故に「マウスいらね」「Dockいらね」といった、なんでもかんでもキーボードで操作したい人向けのアプリケーションだと捉えられていることがよくあります。
もし、キーボード派とマウス(トラックボール)派という派閥があるとしたら、僕は間違いなく「マウス派」です。
だいたいの操作を、マウスでやっています。
そんな「マウス派」の僕でも、Quicksilver はとても便利で、間口の広いアプリケーションです。その便利な点をいくつか採り上げてみたいと思います。
【 Quicksilver - ドラッグ&ドロップでファイルを開く・移動・複製する 】
例えば、ある画像ファイルを編集したいとき、編集に使うアプリケーションがDockに登録してあれば、Dockのアイコンにドラッグ&ドロップして開いたりします。
でもDockに登録していないアプリケーションで開きたいとき、Finderのコンテキストメニューで「このアプリケーションで開く ▶」を使ったりしますが、これもまた対応するアプリケーションの数が多ければ、それを表示するのに時間が掛かり、あまり使い易いものではありません。
そんなときに Quicksilver でお目当てのアプリケーションを呼び出し、それにファイルをドラッグ&ドロップすれば簡単です。

ドラッグ&ドロップしたときに「Open With...」Actionが表示されて、簡単にお目当てのアプリで開けます。
また、ファイルの移動・複製もドラッグ&ドロップでできます。
Quicksilver でフォルダを呼び出して、そこに移動したいファイルをドラッグ&ドロップすると、「Move To...」Actionが表示されて、簡単に移動できます。

optionキー を押しながらドラッグ&ドロップすると、「Copy To...」Actionが表示されて、そのフォルダにファイルの複製を作ります。

また逆に Quicksilver で表示されているファイル・フォルダを、Finderのウインドウやデスクトップにドラッグ&ドロップすることによって、ファイルの移動・複製を作ることができます。

Objectペインだけでなく、↓ などで表示される候補ウインドウからドラッグ&ドロップしてもOKです。
「Quicksilverでキーボード入力で検索してから、ファイルをドラッグ&ドロップする」やり方は、覚えておくと本当に便利です。
DockやFinderのサイドバーなどに登録するまでもないけれどよく使う項目(すぐにアクセスできないファイル・フォルダ)は結構あるもので、それらを Quicksilver のCatalogに設定しておくと便利です。
このようにドラッグ&ドロップして使う場合は、「Bezel」インターフェイスではウインドウの位置を動かすことができないので、別のインターフェイスに変更した方が使い易いです。
『Quicksilver/ インターフェイスいろいろ』参照
【 Quicksilver - スクロールホイールを使う 】
Quicksilverの各ペインのところにマウスポインタを持って行って、スクロールホイールを回すと、↓ ↑ と同じで、候補を表示することができます。
例えば「Abracadabra Triggers」プラグインを使ってジェスチャTriggerに
「よく使う項目(Favorite)フォルダ・Show Contents」
というTriggerを登録しておいて、これをマウスジェスチャで呼び出し、スクロールホイールで中身を選択、ダブルクリックで開くといった使い方ができます。

また「SilverFlow」インターフェイスなんかを使えば、Coverflow表示されるので、「ピクチャ」フォルダなんかをマウスのスクロールホイールでクルクル閲覧することもできます。

インターフェイスについては『Quicksilver/ インターフェイスいろいろ』参照
【 Quicksilver - マウスボタンにいろいろ割り当てる 】
Quicksilver は「Mouse Triggers」プラグインを使えば、ホットコーナーやマウスボタンにいろいろ役割(Trigger)を与えることができます。
(ホットコーナー)

(ホットエッジ)←こういう呼び方が正しいのかは不明

ただ、ホットコーナー・ホットエッジは Spaces とあまり相性が良くないので、Spaces を「off」にしている状態で使った方がいいです。
(ただ、このページに Mouse Triggers のソースがあるので、これをビルドすれば、もしかしたら Spaces に対応しているかも?B56でないと使えないかも?)
僕の場合は、ホットコーナーなどは使わずに、「Mouse Triggers」を使ってマウスボタンにTriggerを登録しています。
必須アイテムの「DejaMenu」を呼び出すのにマウスボタンを割り当てています。
(メニュー項目をマウスポインタの位置で表示させるアプリ)

DejaMenu を僕の場合 command+option+shift+M のホットキーで呼び出せるようにしているので、それを入力するAppleScriptをまず作ります。
▽ ScriptEditor で開く
keystroke "m" using {command down, option down, shift down}
end tell
(※これを利用するには システム環境設定の「ユニバーサルアクセス」パネルで 「補助装置にアクセスできるようにする」にチェックを入れないと機能しません。)
このスクリプトを「ActivateDejaMenu.scpt」とか、適当なファイル名で好きな場所に保存します。
次に Quicksilver のTriggerを下のように設定します。


右側の「Anywhere」を有効にすると、画面上のどこでもマウスボタンでTriggerを実行できます。マウスの第3ボタン以上のボタンに対しては「Anywhere」が有効になります。
これで、マウスの第5ボタンをクリックすると、最前面のアプリケーションのメニューが表示されるようになります。
あと、マウスの第3ボタンに「QuickLook」を表示させるようにしています。
これもGUIスクリプティングを使ったAppleScriptで実行しています。
▽ ScriptEditor で開く
if current_app = "Finder" then
tell application "System Events" to tell process "Finder" to keystroke "y" using command down
end if
(何も選択せずに、Finderウインドウでこれを実行してQuickLook表示すると、ちょっと挙動がおかしい)
このスクリプトは、Trigger実行時のアプリケーション制限機能「Scope」が効かない前提で、Finderが最前面のときにしか実行しないようにしてあります。
これを下のようにTrigger登録します。


これでFinderでファイルを選択して、マウスの第3ボタン(スクロールホイールのボタン)をクリックすると、QuickLookで表示します。
これもシステム環境設定の「ユニバーサルアクセス」パネルで 「補助装置にアクセスできるようにする」にチェックを入れないと機能しません。
【 Quicksilver - マウスジェスチャツールとして使う 】
Quicksilver には「Abracadabra Triggers」という、Triggerをマウスジェスチャで実行する為のプラグインがあります。
このプラグインはベータ版ですが、マウスジェスチャツールとしては「ジェスチャ」の登録もやり易く、見た目もいいし、かなり優れていると思います。
ただ Quicksilver の一般的なTriggerをマウスジェスチャに登録する場合はいいのですが、各アプリケーションのメニュー項目をジェスチャに登録しようとすると敷居が高いです。

Quicksilverでアプリケーションのメニュー項目を呼び出せる「User Interface Access」をTrigger登録できればいいのですが、それはできません。
Trigger登録直後は使えるが、Quicksilverを再起動したときにTriggerがちゃんと記録されてない状態になってしまうため。
だから左のような形でTriggerに登録できません。
そこでまた、GUIスクリプティングを使ったAppleScriptで、ショートカットキーを入力するようにし、それをマウスジェスチャTriggerに登録するようにします。
[ ショートカットキーを入力するAppleScriptのひな形 ]
▽ ScriptEditor で開く
set these_app to {"application_name_1", "application_name_2", "application_name_3"}
(* このTriggerを実行したいアプリケーション名を↑ここの "application_name_*" に入力する *)
if these_app contains current_app then
tell application "System Events" to tell process current_app
keystroke "c" using {command down, option down}
-- (例)command+option+C を入力する
end tell
else
beep 1
end if
(※システム環境設定の「ユニバーサルアクセス」パネルで「補助装置にアクセスできるようにする」にチェックを入れないと機能しません)
ここの "application_name_1", "application_name_2", "application_name_3" にこのTriggerを実行する対象のアプリ名を入力します。
対象アプリが1つならば、それ以外を消して下さい。
対象アプリを増やしたいなら、「, (コンマ)」で区切って "アプリ名" を追加して下さい。
「keystroke」のところに、入力したいショートカットキーを入力します。
上の例では command+option+C を入力します。
このときスクリプト上の "c" は小文字で入力して下さい。大文字の "C" だと shift+c として認識されてしまいます。
他にも 例えば control+shift+A と入力したいなら
例えば、ほとんどのWebブラウザでページを「戻る」のショートカットは、
command+[ に設定されています。これをAppleScriptで入力するとしたら、下のようになります。
▽ ScriptEditor で開く
set current_app to short name of (info for (path to frontmost application))
set web_browser to {"Safari", "Firefox", "Camino", "Shiira", "Stainless", "Cruz"}
(* 他のブラウザを使う場合は↑ここのブラウザ名を追加・変更 *)
if web_browser contains current_app then
--tell application current_app to activate
tell application "System Events" to tell process current_app
keystroke "[" using command down
end tell
else
beep 1
end if
これを「Go_Back.scpt」とか適当な名前で好きな場所に保存し、下のようにジェスチャTriggerに登録します。


これでこのジェスチャTriggerを実行すると、下のようなきれいな軌跡を描いて実行します。

上の例では「Scope」機能が効かない前提のスクリプトで、特定のアプリケーションでのみ実行するAppleScriptでしたが、すべてのアプリケーションで有効なショートカットを入力する場合、下記のようにします。
例えば、最前面のアプリケーションでウインドウをトグルするショートカットは、command+F1 です。
『アプリケーション・ウインドウのスイッチ』参照
これをAppleScriptで入力する場合は、下のようなものになります。
▽ ScriptEditor で開く
key code 122 using command down
end tell
このスクリプトでは「keystroke」を使わずに「key code」を使っています。
なぜだか分からないけど
(キーコードは『Key Codes』を使って調べると簡単です)
このスクリプトを「Toggle Window.scpt」とか適当な名前で好きな場所に保存し、下のようにジェスチャTriggerに登録します。


これでマウスジェスチャを行うと、最前面のアプリケーションでウインドウをトグルしてくれます。
また、ジェスチャTriggerに合わせて「Constellation Menus」プラグインを使用すると、下のようなおもしろいUIでいろいろ操作できます。

【 Quicksilver - その他 マウスで使う 】
Quicksilver は「Save Command to File...」Actionや「Droplet Item」を使って、疑似アプリケーションのようなものを作れます。
例えばFinderで選択してるファイルのラベルをオレンジにする、コマンドファイルを作ってみます。
1stPaneのObjectに「Finder Selection」
2ndPaneのActionに「Set Label...」
3rdPaneのArgumentにカラーラベルの「オレンジ」
を設定します。

この状態で control+return を入力して、このコマンドを Command Object にしてまとめます。
次に、これを1stPaneのObjectとして、2ndPaneのActionに「Save Command to File...」、3rdPaneで保存先フォルダを指定して実行します。

これで指定したフォルダに「Finder Selection (Set Label...) Orange.qscommand」というファイルが作られます。
こんな感じで他のカラーラベルも作り、そのフォルダをDockに登録します。
これでカラーラベルを付けたいファイル・フォルダをFinderで選択して、スタックのコマンドファイルをクリックすれば、そのファイルにラベルが付きます。

「Droplet Item」も上記と作り方は同じなので、ロック/アンロックするドロプレットとか、Zipアーカーブに圧縮するドロップレットとかを作っておいて、使うと便利かもしれません。

この記事では Quicksilver B54(3815) を使用しています。
(関連記事)
Quicksilver --- 基本的な概略説明
Quicksilver/ 基本的な使用例
Quicksilver/ Catalogの設定
Quicksilver/ Actionについて(1)
Quicksilver/ Actionについて(2)
Quicksilver/ Actionについて(3)
Quicksilver/ Actionについて(4)- Command Objects
Quicksilver/ Triggers の説明(1)
Quicksilver/ Triggers の説明(2)
Quicksilver/ Plug-ins について
Quicksilver/ Proxy Objects について
Quicksilver/ Triggers の説明(3)- Mouse Triggers
Quicksilver/ Triggers の説明(4)- Abracadabra Triggers
Quicksilver/ ショートカットまとめ
すべてのQuicksilver記事のリンクは『Quicksilver』の(関連記事)にあります。
▽同じ「タグ」が付いた関連記事