へんなの作った
SeaHorseスクリプトを新規に導入したりスクリプト内の設定弄ったり改造したりしたとき、いちいちSleipnirオプション画面開いて拡張機能クリックしてSeaHorseの部分クリックして再読込みさせて閉じてからビューの更新するのってめんどくさくないですか?
自分はそんなことしないからイイってヒトには無視していただいてイイんですが、自分でスクリプト作ったり他の人の上げたスクリプトを自分好みに改造したりとかしている方はこのあたりの操作が常々(`皿´)ウゼーと感じているハズ。
SeaHorseプラグインをインストールした時点で新しいアクションとして再読込みが追加されていればイイんですけど未だ実装されていないので、自分の環境で使えればいいやと思ってUserActionScript+AutoHotKeyの組み合わせでワンボタンクリックで再読込みしてくれるようなものをでっち上げてみました。
実際に使ってみたところまぁまぁ使えるぞってなことでAutoHotKeyのスクリプトをAHK環境のない方でも使えるように実行ファイルへとコンパイルして配布してみようかと。
動作的にはナニコレな感じですが、とりあえず使えるとおもうので使ってみたい方だけどうぞ。
zipに固めて配布することも考えましたが、せっかくSAHKでOEIという便利なものが公開されていることですし、OEI対応版としてそちらの方に用意されているラボへアップしておきますね。
ウイルスチェックしたところひとつだけ引っかかっちゃったんですが、特に変なことはしていないのであまり気にしないでイイかなと。ていうか基本的にこういったものの利用は自己責任でお願いしたい(笑)
まぁチェック結果が気になる方はスルーしちゃってくださいねってことで♪
一応ね
たいしたことはやってないんだけどコードを晒しておきます。
- sh_reload.js
var ExePath = sleipnir.ScriptFullName.replace(sleipnir.ScriptName, '').replace(/\.js$/, '') + "\\sh_reload\\sh_reload.exe"; var sh = new ActiveXObject("WScript.Shell"); sh.Run('\"' + ExePath + '\"'); sleipnir.API.ExecuteAction('Sagittarius_PluginOptionByName(SeaHorse)'); sh.Quit;
- sh_reload.ahk (配布版では実行ファイルにコンパイルしてあります)
#NoTrayIcon WinWaitActive, ahk_class #32770 click 480,340 Sleep, 1000 click 410,390 Exit ExitApp
ナニをやっているかというと、このアクションを実行するとスクリプト内では実行ファイルまでのパスをとりあえず変数に格納したのちWSH使って起動しておいて、次にSagittarius_PluginOptionByName(SeaHorse)で呼び出したSeaHorseのオプションダイアログが現れたら再読み込みボタンを「ポチッとな」しにいって再読み込み完了するまで1秒ほど待ってから*1OKボタンをクリックしにいって終了するといった感じ。
みてのとおりアヤシイ事はなんもしてないです。*2
追記
Sagittarius Dock の導入は必須です。Sagittarius や VarticalToolBarでの利用時にアイコンが表示されるようにもしてあります。*3