GMailの通知をするmylo widget(修正)

GMailの通知をするmylo widgetですが、ネットワークに繋がってないとエラーが出たので、修正しました。

また、メールチェックする間隔(ミリ秒単位)とLEDを光らせるかどうかを設定できるようにしました。設定モードでwidgetの左下の部分をクリックすると設定画面が開きます。この左下の部分をクリックできないときもあるので、そのときは一度設定モードを閉じて、再度開いてみて下さい。

GMailNotifier.mylow

GMailの通知をするmylo widget

GMailの通知をするmylo widgetを作りました。

GMailNotifier.mylow

5分に一回メールチェックします。チェック時に未読メールがあると1分間右側のLEDがオレンジ色に点滅し、未読メールを一覧表示します。そして、widgetをクリックするとGMailのサイトに移動します。

mylo widgetmylo Screenを表示してないときもバックグラウンドで動作させることができるので、例えばWebを見ててメールが届いたらLEDをちかちか光らせて知らせることもできます。音を鳴らすこともできるみたいだけど、それはまた今度。

音を鳴らすAPIは見つからなかった。勘違いか、

メモ帳wedget

試しにmylow widgetでメモ帳を作ってみました。単なる大きなtextareaです。

SimpleTextArea.mylow

テキストメモとの違いは、フォントサイズを細かく指定できることと、画面下にスペースが空くようにwidgetのサイズを指定していることです。テキストメモを使っていると、一番下の行で文字を入力しいるときに変換予測候補の表示と重なってしまうので、作ってみました。

ファイル保存はできないので、Fn-A -> Fn-Cでコピーして、Fn-Vでテキストメモに貼り付けて下さい。

mylo widgetは、幅が65、高さが35ぐらいが最大サイズのようです。これ以上大きいサイズを指定すると、インストール時にファイルが壊れていると表示されます。

mylo labsで一部の仕様が公開されました。mylo widgetの幅は4〜66、高さは4〜36の範囲で、このサイズの単位は12x12pxでした。

mylo widgetのjsファイルを見る

以下のような感じで、mylo widgetjavascriptファイルを見ることができました。

var LaunchJS = function (){
  var http_request = new RequestHttp();
  http_request.open('GET', "/js/lib/ExtensionLibrary.js", openFile);
  http_request.send(null);
}
var openFile = function (flag, request){
  var textdoc = request.responseText;
  document.getElementById("test").value = textdoc;
}

widgetの大きさ変更

widgetのサイズは、widgetPackage.xmlのdefWidthとdefHeightで指定する。これに、minWidth/maxWidth, minHeight/maxHeightを追加するとwidgetのサイズを変更できるようになる。

試してないが、widgetResize関数を定義しておくことで、widgetのサイズ変更イベントを取得できると思われる。windowWidthでwidgetの幅が取れるのかな、

myloのJavaScriptオブジェクトプロパティを取得している人がいました。 すばらしい。私は取れることだけ確認してチェックしてなかったので、助かります。

widgetが利用しているjsファイル

widgetでは以下のJavaScriptファイルを利用している。

  • /js/lib/WidgetLibrary.js
  • /js/lib/ExtensionLibrary.js
  • /js/lib/PreferencesLibrary.js

しかし、これらのファイルを直接見ることはできない。

Extension、Preferences、mylo.KeyCode、RequestHttpなどの独自オブジェクトがあるのかはわかるので、そのオブジェクトの中を見ることはできた。

以下のURLのshow_propsメソッドに先のオブジェクトを渡してやれば、どんなメソッドがあるか分かる。
http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide:Objects_and_Properties

早く仕様を公開してくれればこんなことしなくていいのですけど、

以下のファイルもありました。

  • /js/lib/Common/Extrafunctions.js
  • /js/lib/Extension/RequestHttp.js