GreyBox - 天気予報を表示する rlToday Skin + MortScript
Posted by yoosee on Gadget at 2007-08-26 22:00 JST1 rltoday + mortscript スキン習作
↓左上BOXをタップで切替↑
以前から自分でも作りたいと思っていた、rltoday + mortscript で today に天気予報を表示する skin を作った。リアルVGA化したW-ZERO3[es] でのみ動作確認。幾つかのファイル名・レジストリは W-ZERO3 固有のものを入れている。MortScript で Livedoor Weather から天気予報を取り寄せて解析し、天気画像アイコンの変更とレジストリへの書き込みを行って today に表示する。また同じく MortScript で時刻と天気予報画面を切替表示するようにしてある。天気予報のダウンロード先URLは東京の予報に scripts\Greybox.ini の中で決め打ち。
アイコンは KDE の Liquid weather ++ 用 iconset から Samurize を使用。アイコンのネームルールは Yahoo! Widget 等と同じ Weather.com 形式なので、Livedoor weather のアイコン番号と合わせるために ldw.ini と言うファイルで数字を変換している。それ用のアイコンならばサイズ(120x120と50x50)が合えばそのまま使えるはず。日本の天気予報とはアイコンの齟齬が結構あるので、気になる人は自分で変更するといいかも。
Livedoor Weather の更新時刻は 5, 11, 17時なので、その5分後及び日付が変わる 0:05 に実行するように、スクリプト内で次回の RunAt() を設定している。起動初回のみは手動実行が必要だが、以降は自動的に実行される。
2 導入手順
利用には以下が必要。- rlToday 0.22b 以上
- qkc-arm-wince
文字コード変換ツール。実行ファイルは \Program Files\qkc\qkc.exe に設置 - MortScript 4.0 以上
- Century Gothic の GOTHIC.TTF
Windows PC から拝借。\Windows 直下に配置 - ShowCallLog
Call に割当て。不在着信が1件以上なら着信履歴画面,0件ならば電話アプリのダイアル画面を表示するアプリ。\Program Files\ShowCallLog\ShowCallLog.exe として配置。 - DodeCale
日付部分に割当て。6 or 12ヶ月分のカレンダーを表示するアプリ。 - AutoConnect
自動ダイアルアップ機能を追加するツール。MortScript の Connect() 関数呼び出しでは接続に行ってくれない場合に必要。
3 余談と Tips
今回は天気予報の取得に MortScript を使ったが、これによって任意の URL からコンテンツをダウンロードして内容をレジストリに入れれば rltoday で表示させられるため、色々と応用が効きそうだ。MortScript はかなりクセがある言語だし文字列処理が面倒なので、Webサーバ側で ini ファイル形式にするのが簡単かもしれない。今回は Skin の切り替えに skin.xml ファイルを書き換える方法を使った。タップに応じて走る MortScript が skin-xxx.xml と言うファイルを skin.xml として上書きコピーした上で RedrawToday している。ファイル編集は skin.xml ではなく skin-xxxx.xml の方にしないと上書きされてしまうので注意。
他の方法としては、rlTodday.ini の SkinFile エントリを書き換えて skin 名ごと変える方法や、rlToday.ini ファイルそのものを上書きコピーする方法などがあるようだ。