アクションをインクリメンタルサーチして実行も可能なパネル

作った動機

タイトル読んでそんなの既にサジタリウスがあるじゃんと思った方が多いことでしょう。
実際、私もサジタリウスには非常にお世話になってます。


ですが、不満が無いわけではありません。
サジタリウスのコンボボックスはインクリメンタルサーチしてくれますが、前方一致のみです。
私はアクション名の途中のワードだけ思い出せて、先頭部分をド忘れしてしまうことが結構あります。*1


そんな時はこれまたサジタリウスの機能で「アクション一覧」を用意してあるので、検索するわけです。
ただ、毎度やるのも煩わしいなぁということでインクリメンタルサーチで部分一致出来るものを作ってみました。
サジタリウスがDockなのでパネルで。

概要

名称は「AquariusPanel
※最初は「IncrementalActionSearch」って名前だったんだけど、「Sagittarius Dock」にあやかって。

  • IEPanelEx製
  • サジタリウスで出力した「アクション一覧」を使用
  • インクリメンタルサーチで部分一致
  • アクション実行可能(引数が必要なアクションもおk)

Windows 7 SP1 x64 + IE9 + Sleipnir 2.9.7環境においてのみテストしてるんで、それ以外の環境だったりすると正しい表示や動作をしないかもしれません。

インストール

当然、自己責任でやってください。
※2.以降の操作はSleipnirを終了させた状態で行ってください。
0.事前にIEPanelExは導入済みとして話を進めていきます。
1.zipファイルをダウンロードします。
2.解凍して出てきた「AquariusPanel」フォルダを"\plugins\IEPanelEx"に置く。
3."\plugins\panel"にある「IEPanelEx.fx」をコピーして「AquariusPanel.fx」にリネームする。
4."\prefs\plugins.ini"をテキストエディタで開き、「Panel」セクションに「Panel◯◯=AquariusPanel.fx」と追記する。*2
5."\resources\skins\default\panel"にフォルダ内に同梱されている「AquariusPanel.ico」を置く。
6.Sleipnirを起動させるとパネルに追加されているはず。
※「AquariusPanel」フォルダ内に同梱されている「Sagittarius_ActionsList.txt」はSleipnirのデフォルトのアクションのみしか登録されていません。これを自分のSleipnirで出力した「Sagittarius_ActionsList.txt」に差し替えると追加したプラグインや第3者作のアクションも検索/実行可能になります。

[追記1 2011 Jun. 14th 22:00ごろ]
「アクション一覧を出力」する際に「LinkExtractionプラグイン」が有効になっていると、Sleipnirが強制終了する場合があります。
その場合は、一時的に「LinkExtraction」を無効にしてから一覧を出力させてください。
「LinkExtraction」を使っているので困るという方は一度無効にして「Sagittarius_ActionsList.txt」に「LinkExtraction」のアクションを手作業で入力、その後再び有効にしてください。

「LinkExtraction」、「SelectedLinkExtraction」の2つが「LinkExtraction」のアクションです。*3

InternetOption
Launch_AddToMEMO
Launch_AppendToMEMO
Launch_OpenSettingFolder
Launch_OpenThisUriInIE
LinkExtraction[タブ文字]URI の抽出[タブ文字]URI の抽出
LorikeetDownload
MaximizeClient
MaximizeWindow
MDIMode
MemoPeta_Save

SearchNext
SearchPageCache
SearchPrevious
SearchSelectedText
SelectAll
SelectedLinkExtraction[タブ文字]SelectedLinkExtraction[タブ文字]選択部分の URI の抽出
SendFeedeback
SendLink
SendPage
SendSelectedText
SessionCookie

[追記1 終わり]

使い方

  • 外観はこんな感じです。


  • テキストボックスにキーワードを入力すると、その文字列が含まれるアクションが絞り込まれていきます。


  • アクション名をクリックすると、そのアクションが実行されます。*4


  • 複数キーワードでも絞り込めます。


  • 引数が必要なアクションの一部はクリックするとダイアログが表示されますので、引数を設定後にOKボタンを押してください。


ダイアログが表示されるアクションは以下の通りです。*5
※拙作のSleipnirActionListid:momiyanさんの日記パラメータが必要なアクションを参考にしました

    • AutoRefresh

    • Encode

    • FontSize

    • Ie6Cookie

    • LorikeetDownload

    • Sagittarius_PluginOptionByName


id:momiyanさんの日記サジタリウスで呼び出せるオプション画面を参考にしましたが、表と比較して現在は変更になったもの動作しないものもあります。また、記述漏れがある気がしますが思い出せず。

    • ShootingStarAddItem

※やる気が起きなかったので、動作自体未確認w何かミスっていない限りは動くはずw

    • ShowDock_ShowDockByName

    • ShowPanel_ShowPanelByName

    • ShowToolBar_ShowToolBarByName

    • SuperDragShowSuperView

    • Zoom


  • テキストボックスに正しいアクション名*6を入力して、「」をクリックすれば実行されます。引数ありでもおk。


  • 」は「Sagittarius_InputAction」っぽいものです。


※test版系統で「Sagittarius_InputAction」使うとSleipnirが落ちて困るので、代わりになるかなと実装してみました。

    • 「アクション」欄はコンボボックス風味で選択可能です。


※語の絞込みがいまいちなのと、上手くスクロールしないのでここのスクリプトをオートコンプリート系のに変えるかも。

    • 「パラメータ」欄で引数を入力します。


※「アクション」欄で何らかのアクションが選択されていて、「パラメータ」欄に入力すると「リクエスト」欄にアクションと引数が組み合わされたものが表示されます。

  • パネルにフォーカスがあれば、「alt+.」でテキストボックスに、「alt+,」で「」にフォーカスが移る。
  • CSSファイルを弄れば、見栄えも変更可能です。


※名前を変えたついでに作ってみた。センスが無いのはご愛嬌w 同梱の"style_aqr.css"を"style.css"にリネームして、パネルをリロードしてくれればおkです。"style_blk.css"はデフォルトの"style.css"と同じものです。

使用しているスクリプトとか

なんといっても全面的にjQueryを活用しています。
パネルの方のインクリメンタルサーチはデータを扱うテーブルなどにインクリメンタルサーチをjQueryを利用して実装する :: 5509を利用。
テキストボックスの非フォーカス時にだけ文字(Input Action ... ◯◯◯)を実現させるために【jquery】テキストボックスのデフォルト文字。クリックすると消えるよくあるヤツ | PIYOPI-YOを利用。
」の方のインクリメンタルサーチは今のところはflexselect: a jQuery pluginを利用。
うち2つはライセンス分かんなかったんで、このエクステンション自体はMIT Licenseで。

*1:それも自作のアクションだったりというのが往々にしてあったりw

*2:◯◯は連番の数字

*3:挿入位置が分かりやすいように、前後の公式プラグインによるアクションとともに書いておきます

*4:条件の関係で上手く動かないものもあるかもしれません

*5:Graniから持ってくることで動くらしい「SetSkin」、引数無しでも動くExtraActionsで登録されるやつなどのものは用意してません

*6:大文字小文字はパネル側で補正するので問題ないはず