追記:
AzureaStartup.jsもオートアップデート #js - c4se記:さっちゃんですよ☆ http://d.hatena.ne.jp/Kureduki_Maari/20110307/1299503091
更新を確認するのも、更新を通知するのも面倒ですよね。
AzureaVimに、此んな改造を施してみました。
https://github.com/ne-sachirou/AzureaVim/commit/faff4eeea452dc62d918adbad6527b2f465a0656
使用法
- [AzureaVim.js https://github.com/ne-sachirou/AzureaVim/blob/master/js/AzureaVim.js ]を更新します。此れが最後の手動更新に成る筈だおらぁ。成るといいな。いつも通り、AzureaのScriptsフォルダに置く丈です。
- [AzureaStartup.js https://github.com/ne-sachirou/AzureaVim/blob/master/js/AzureaStartup.js ]を、Azurea.exeと同じフォルダに置きます。此れはAzureaScriptではありません。通常のWSHで実行されるJScriptです。
- Azurea.exeは終了していますか? ま、してなくても害は有りませんが。
- AzureaStartup.jsをダブルクリックして下さい。Azurea.exeが立ち上がります。裏で勝手にupdateします。
- 以後、AzureaStartup.jsからAzureaを起動する様に、人生を変えましょう。運命です。
内部動作
動作の順番は以下の如く。
- Azurea.exeを取り敢えず起動する。
- auto updateを取り敢えず試みる。 updateScripts()
- Azurea.exeが起動しているかを1分毎に確かめ、起動していなければAzureaStartup.jsを終了する。 isActive()
- 起動中は、1時間毎に、auto updateを試みる。 updateScripts()
var i; new ActiveXObject('WScript.Shell').Run(APPLICATION_PATH, 1, false); mainloop: while (true) { updateScripts(SCRIPTS_PATH); for (i = 0; i < 60; ++i) { WScript.sleep(60000); if (!isActive(APPLICATION_NAME)) { break mainloop; } } }
AzureaScriptに、非標準のsectionを以下の如く追加しました。
// ==AzureaScript== // @name AzureaVim // @author http://c4se.sakura.ne.jp/profile.html // @scriptUrl https://github.com/ne-sachirou/AzureaVim/raw/master/js/ // @date 2011-03-07 // @license MIT License // ==/AzureaScript==
UserScriptとかと似た記述ですね。
AzureaStartup.jsは、Scriptsフォルダのjsファイルをスキャンし、先頭に此のmeta記述が有ると、auto updateを試みます。使用するのは、scriptUrlとdateです。scriptUrlフォルダに有る、該当jsと同じ名称のjsファイルのmeta情報をスキャンし、remoteのdateの方が新しいと、localのjsを問答無用に書き換えます。
更新の適用は、次回起動時に行われます。Azureaは、起動時に一度scriptを読んだきり、以降何も読みません。書き換えようがファイルを消そうが、起動中は影響有りません。次回起動時に、更新済みのjsを読み込む筈ですね。書き換えてるんですから。
rakeファイルの更新は、build時に上記meta情報を書き込む為で、AzureaVimを使う分には関係有りません。
AzureaVim以外もmeta情報さえ書いて有れば更新するって寸法ですが、AzureaStartup.js自体の自動更新は、現在出来ません。其の内、Azurea本体の自動更新も出来る様にしたいなあ。なんか出来そうだしなぁ(キラキラ☆
cf.
AzureaStartup.jsは、oAutoPagerizeのupdate batを参考にしました。
前回迄
AzureaVimの管理ページを移動しました #AzureaScript #js - c4se記:さっちゃんですよ☆ http://d.hatena.ne.jp/Kureduki_Maari/20110302/1299061398
AzureaVim変更点 #AzureaScript #js - c4se記:さっちゃんですよ☆ http://d.hatena.ne.jp/Kureduki_Maari/20110225/1298622144
AzureaWinにコマンド風操作を追加する #AzureaScript #js - c4se記:さっちゃんですよ☆ http://d.hatena.ne.jp/Kureduki_Maari/20110219/1298054093