SafariGestures Ver0.1.0 リリース

僕とcanberlandさんと二人で開発している
SafariSIMBLプラグイン

  • SafariGestures Ver0.1.0

をリリースします。


今回のバージョンアップ内容は結構盛りだくさんです。
そのすべてをcanberlandさんに実装してもらいました。
僕ももっとがんばります(笑)
また、今回のバージョンから0.1.0となりましたが特に深い意味はないです。

旧バージョンからバージョンアップする方への重要なお知らせ

言語環境を英語など日本語以外で使っている方は「仕様変更」をよく読んで設定ファイルのリネームをお願いします。
リネームを行わない場合にはSafariGesturesは機能しません。


また、リネームの際には念のためバックアップを取ることを推奨します。


日本語環境の方*1はリネーム作業は必要ありません。
Safariを終了した状態でSafariGestures.bundleを上書きして頂くだけです。


SafariGestures Ver0.1.0 の変更点

機能追加
  • 「リンクを新規タブで開く」
  • 「リンクまたは選択文字列を新規タブで開く」
  • 「リンク文字列を新規タブで検索」
  • 「リンクまたは選択文字列を新規タブで検索」

を追加しました。


以前から要望があったものです。


ジェスチャ開始地点がリンクの場合、その位置のURLまたは文字列を取得して 開く/検索 を行います。
「リンクまたは選択文字列を〜」の方は名前の通りハイブリッド仕様で、ジェスチャ開始地点がリンクの場合はリンクのURL/文字列を対象、そうでなければ選択文字列を対象として 開く/検索 を実行します。
「リンクを新規タブで開く」「リンク文字列を新規タブで検索」はジェスチャ開始点の情報を利用するため、SGメニューから直接実行することはできません。(常にdisableになっています。)

  • 「選択文字列を新規ウインドウで検索」
  • 「リンク文字列を新規ウインドウで検索」
  • 「リンク文字列または選択文字列を新規ウインドウで検索」
  • 「選択文字列を新規ウインドウで開く」
  • 「リンクを新規ウインドウで開く」
  • 「リンクまたは選択文字列を新規ウインドウで開く」

を追加しました。
SGメニューを開いたときにoptionキーを押すと、「〜を新規タブで検索/開く」がそれぞれ「〜を新規ウインドウで検索/開く」に変わります。
ジェスチャのコマンドに設定する場合は、SafariGestures環境設定から実行したいメニューを選択する時に、optionキーを押したまま選択して下さい。


  • 環境設定のテーブルにコンテクストメニューを追加

「コマンドを編集...」「ジェスチャを編集...」「削除」「新規追加」のメニューを追加しました。
下にあるボタンと同じ動作を実行します。


  • ジェスチャ方向文字列を矢印で表示する様に変更

ステータスバーと環境設定で、今まで「U」「D」「L」「R」で表示されていた方向を「↑」「↓」「←」「→」で表示するように変更しました。
ジェスチャ設定パネル内のテキストフィールドは手動でも編集可能ですが、ここは矢印とUDLRのどちらでも受け付けるようになっています。

仕様変更
  • SnowLeopard以降に使えなくなるposeAsClassの使用をやめ、MethodSwizzlingを使用するように変更
  • 日本語環境で、環境設定とコマンド設定シートのキャンセルボタンの文字列を[Cancel]から[キャンセル]に変更
  • テーブルビューのスクロールバーを自動表示(列が少ない時には消える)に変更
  • SGメニューにセパレータを追加、若干順番も変更


単に多くなったので分割しただけです。「全てのタブをリロード」「上の階層へ移動」のみ、まとめるために上のほうに移動しています。

  • 言語環境の切り替えに対応

この変更点は日本語環境の人は関係ありませんが、それ以外の方*2は設定ファイルの名称変更が必要となるので重要な仕様変更になります。


Safari起動時の言語環境に応じて、各言語ごとに設定ファイルを分けるように変更しました。
これにより、複数の言語環境を使い分けて使用する場合でも、それぞれの言語でのジェスチャ設定を維持できるようになりました。
(全ての言語環境で設定を共有できるわけではありません。各言語環境で設定を行う必要があります。)


日本語以外の言語環境の場合、SafariGestures_(国識別名).plist というファイル名の設定ファイルを使用します。
日本語環境以外で使用されている方は、~/Application Support/SafariGestures/SafariGestures.plistのファイル名を変更して頂く必要があります。


言語環境とファイル名の対応は以下の通りです。

  • 日本語 -> SafariGestures.plist (変更無し)
  • English -> SafariGestures_English.plist
  • French -> SafariGestures_French.plist
  • German -> SafariGestures_German.plist
  • 簡体中文 -> SafariGestures_zh_CN.plist


それ以外の環境を使用している場合、一度SafariGesturesをインストールした状態でSafariを起動し、~/Application Support/SafariGesturesに作成されるSafariGestures_(xxx).plistのファイル名を参照して下さい。


不具合修正
  • ロッカージェスチャやホイールジェスチャの設定で、[編集]を押した時に表示されるシート内のポップアップメニューに現在の設定が反映されていなかったのを修正
  • ダブルクリックで[コマンドを編集...]実行時、シートが開く前にテーブルの選択が変更されるように修正

ダブルクリックしたものがすぐには選択されず、どの項目を編集しているか一瞬迷うため修正しました。



  • ジェスチャを新規追加する時に、テーブル内の選択をクリアするように修正

上と同様の理由で、新規の場合は選択なしにするようにしました。



  • コマンド選択シートを閉じたとき、環境設定パネルがアクティブにならなかったのを修正

Safariのウインドウがキーウインドウになってしまい、環境設定パネルが前にあるのに一度クリックしなければいけなかったので、明示的にキーウインドウにするよう修正しました。


  • 項目を追加/削除したあと環境設定をキャンセルし、もう一度開くとテーブルの列の数がおかしくなるのを修正

表示がキャンセルするまえの列の数のままになってしまっていました。(内部的には整合性はとれていました。)
 

ダウンロード

SafariGestures Ver 0.1.0 をダウンロード

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

*1:日本語環境でしか使わない方

*2:別言語環境で使っている方や切り替えて使う方など