SafariGestures Ver0.0.4 リリース


追記
このブログ内の最新版SafariGesturesのエントリはこちら、
[SafariGestures] - griffin-stewieの日記
もしくはこちらへどうぞ。
cyan-stivy.net - SafariGestures
追記:終わり




SafariGestures Ver0.0.4 をリリースします。


Ver0.0.4 では大幅な機能追加、変更を施しています。
以前から言っていたようにこのバージョンでは過去のバージョンの設定ファイルは使えなくなりました。
ご迷惑をお掛けしますがご了承下さい。


Ver0.0.4で追加された多くの機能はcanberlandさんの協力のお陰で実装することができました。
僕一人ではこれだけの機能を実装することはできませんでした。
canberlandさんに本当に感謝いたします。

新機能

1. Safariのメニュー項目をコマンドに割り当て

個人的にはこれが一番大きな機能だと思っています。
過去のバージョンではSafariGesturesに組み込まれたコマンドしかジェスチャを割り当てられませんでした。
ですので、あれが欲しいとかこれは必要ないとか人それぞれあったかと思います。
Ver0.0.4からはSafariのメニューから好きな項目にジェスチャを割り当てて実行できるようになりました。*1
History FlowのようなSafariStandなどのプラグインの機能もメニューバー上にあればジェスチャを割り当てられます。
また、SafariStandのaction_messageも使えます。
多くのaction_messageはSafariのメニューと重複していますが、action_message:HT_arrangeTab:何か便利だと思います。


サービスメニューにも割り当てられるようになっていますので、各種アプリ等との連携もより簡単に実行可能です。


2. ロッカージェスチャ

ロッカージェスチャが使えるようになりました。
ロッカージェスチャとは
右クリックしながら左クリック、もしくは その逆の左クリックをしながら右クリックをする動作のことをいいます。
左->右のロッカージェスチャは、左を押した状態でマウスを動かすとロッカージェスチャが無効になります。
(ドラッグを有効にするための仕様)


当然ながらロッカージェスチャは2ボタン以上のマウスでなければ実行は不可能です。
MacBookなどのトラックパッドからは実行できません。
MightyMouseのようなタイプのマウスでは右と左の同時押しができないため、ロッカージェスチャを実行できません。

3. ジェスチャの軌跡を描画

要望を頂いていた機能を実装しました。設定項目は以下の通りです。

  1. ジェスチャの軌跡を描画するかどうか
  2. ジェスチャの軌跡の色
  3. ジェスチャの軌跡の太さ
4. ジェスチャ認識閾値の設定

いままで固定していたジェスチャ認識閾値を設定できるようにしました。
デフォルトでは50.0となっています。
数値を小さくすると、ジェスチャをするとき小さな動作でも認識してくれます。

5. SafariGesturesオリジナルコマンドを2つ追加

一つ目は”タブの複製”です。
現在のタブと同じURLのタブを新規タブで開きます。
二つ目は”タブまたはウインドウを閉じる”です。
このコマンドは実行時の状態によって以下のように変化します。
・タブが複数ある場合は選択しているタブを閉じる
・タブが1つなら空白にする
・タブが1つで空白ならウインドウを閉じる


この2つと過去のバージョンにもあった
・"新しいタブで選択文字列をURLとして開く"(h抜き対応)
・"新しいタブで選択文字列を検索"
の4つのコマンドは メニューバーの”SG”内にメニューとして登録してあります。

6. ジェスチャのトリガーをOptionキーでも可能になりました

通常、マウスジェスチャ機能は右クリックを押しながら、

  • マウスを動かす(マウスジェスチャ)
  • ホイールを回す(ホイールジェスチャ)

ことで実行します。
この場合、ワンボタンマウス*2MacBookなどのトラックパッドでの操作はできないもしくはやりづらいです。
そこで、右クリックの代わりにOptionキーを使えるようにしました。
Optionキーを押しながらマウスカーソルを左に動かして、Optionキーを離すと”戻る”のマウスジェスチャが実行できます。
同様にOptionキーを押しながらマウスホイールを回す、もしくはトラックパッドを2本指で縦になぞる事でホイールジェスチャが実行できます。


これでトラックパッドユーザーでもマウスジェスチャ機能が使えるようになります。


しかし、マウスの右クリックの機能全てをOptionキーで代替しているわけではありません。
つまり、Optionキーを単体で押してもコンテキストメニューは表示されません。
また、Optionキー+左クリックでロッカージェスチャができるわけではありません。

不具合の修正

ジェスチャ設定画面のテーブルビューの並びが狂う不具合を修正しました。

設定画面

機能追加に伴って大きく設定画面が変わりました。
基本的に見ていただいたらすぐ使えるとは思いますが、説明します。

SGメニュー

SafariGesturesをインストールするとメニューバーに ”SG” というメニューが追加されます。
上の4つはSafariGesturesで定義したオリジナルコマンドが並んでいます。
その下に


Preferences      設定画面を表示する。全ての設定はここから
About        バージョン情報を表示する。


があります。

ジェスチャ設定パネル


”SG” > ”Preferences” を選択して”ジェスチャ設定パネル”を表示したところ


上のスクショがデフォルトの状態でのジェスチャ設定パネルです。
デフォルトでは
戻る ・・・ L
進む ・・・ R
タブを閉じる ・・・ DR
ページを再読み込み ・・・ UD
ロッカージェスチャ ・・・ オフ
ジェスチャの軌跡を表示 ・・・ オフ
ジェスチャの認識閾値 ・・・ 50.0
が設定されています。

新しいマウスジェスチャの登録

まず、新しくコマンドを追加します。
テーブルの左下にある”プラス”ボタンをクリックします。
するとpopupメニューが表示されます。
展開した状態が下のスクショです。


ここに表示される項目はSafariのメニューバー上のメニューと同じものが表示されます。*3
この中から使いたい項目探してクリックします。
ここでは”ファイル” > ”ウインドウを閉じる”をクリックしてみました。


上のスクショが追加したあとの状態です。

次に割り当てるジェスチャを登録・編集します。
それには以下の2つの方法があります。

  1. ”ジェスチャを編集...”ボタンをクリック
  2. 登録したいコマンドの行のGestures列をダブルクリック

また、コマンドの登録・編集も同様に変更できます。

いずれかを実行するとジェスチャ入力パネルが表示されます。


”ジェスチャ入力パネル”上で登録したいジェスチャを実行します。
すると認識したジェスチャ文字列(L、R、D、U)が表示されます。
認識したジェスチャ文字列でよければ ”Set Value” をクリックしてください。
”Cancel” をクリックした場合は適応せずに ”ジェスチャ入力パネル” が閉じられます。



”Set Value”をクリックし、登録した状態。


設定した内容を適用するには ”OK” ボタンをクリックして下さい。
”OK” ボタンをクリックしなければ、設定は適用されません。
”Cancel” ボタンをクリックした場合は設定は適用されず、設定前の状態に戻ります。


ジェスチャ設定パネルを開いている間は新しい設定が有効です。
ただし”Cancel”を押すと元に戻ります。 (試しに使ってみることを想定)
Preferenceパネルで「OK」を押さないと設定は保存されないので注意して下さい。
(開きっぱなしでSafariを閉じてしまうと保存されない)


”OK” ボタンをクリックして、ジェスチャ設定パネルを閉じます。
これで、”LR”というジェスチャを実行するとウインドウが閉じられるようになります。

ジェスチャの削除

削除したいものを選択し、”-” ボタンをクリックすることで削除できます。

ロッカージェスチャの設定

設定したいアクションのチェックボックスをオンにします。
すると、”編集”ボタンが有効になります。
”編集”ボタンをクリックすると、ジェスチャのコマンド追加時と同じpopupメニューが表示されます。
設定したいコマンドをクリックして下さい。

ジェスチャの軌跡関連の設定

軌跡を表示させたい場合にはチェックボックスをオンにしてください。
オンにすると若干負荷が上がります。


描画される軌跡の太さの設定も可能です。テキストフィールドに数字を入力するか、テキストフィールド横のステッパー(上下のボタン)で数値を変更させて下さい。数字を大きくすると太く、小さくすると細くなります。


軌跡の色も変更可能です。色の横のカラーウェル(デフォルトだと赤い色の所)をクリックして下さい。
カラー設定パネルが表示されますのでお好みの色をクリックして、閉じて下さい。

ジェスチャの認識閾値の設定

テキストフィールドに数字を入力するか、テキストフィールド横のステッパー(上下のボタン)で数値を変更させて下さい。数字を大きくすると認識感度が鈍くなります。つまり、マウスを大きく動かしたときにしか認識しなくなります。小さくするとその逆に認識感度が敏感になります。

お詫び及び仕様

popupメニュー内の各メニュー項目はSafariのメニューバー上のメニューと同じものが表示されます。
しかし、本来 ”Safari” と表示されるメニューが ”Apple” となっていますが、これは仕様とさせていただきます。
また、ブックマークメニュー内のブックマークの階層はルート階層のみコマンドとして設定が可能です。
フォルダ内のブックマークは設定しても実行できません。

インストール方法

過去のバージョンを使って頂いている方

設定ファイルの互換性がなくなりました。
/Users/ユーザ名/Library/Application\ Support/SafariGestures
にあるSafariGestures.plistを削除して下さい。

削除しないままインストールし、起動すると以下のようなエラーメッセージがでると思います。

一度Safariを終了させて、設定ファイルを削除してからSafariを立ち上げてみて下さい。


ダウンロードした SafariGestures.bundleをSafariを終了させた状態で上書きしてください。

初めてインストールされる方

SafariGesturesを利用するためにはSIMBLが必要です。
まず SIMBL をインストールしてください。
「SafariGestures.bundle」を SIMBL のプラグインフォルダに入れます。インストール後のファイルパスは、
/Users/あなたのユーザ名/Library/Application Support/SIMBL/Plugins/SafariGestures.bundle
となります。

ダウンロード

SafariGestures Ver0.0.4をダウンロード


不具合、要望があればお気軽にコメント下さい。

*1:一部制限あり

*2:最近はもう少ないと思いますが

*3:本来 ”Safari” と表示されるメニューが ”Apple” となっていますが、これは仕様とさせていただきます。