日本向けScreenletを作ってみた

LinuxScreenletは、OSXダッシュボードやGoogle,Vistaのガジェットみたいにいろいろ表示できるもの。常に表示するようにも出来るが、ダッシュボードのように普段は通常のデスクトップをじゃましない方法も出来るため、この仕組み自体は個人的には非常に気に入っている。

ただ、いろいろ種類があるものの、CPU使用率をいかにクールに見せるかとかの割とどうでもいいものが多くて、自分が欲しいと思うものがあまりない。Pythonで簡単に作れるらしいということなので、自分の欲しいものを作ってみた。

このあたりからcheckoutしてきて、 ~/.screenlets/ に入れる。

SVN Repository: http://svn.codecheck.in/platform/screenlets/
SVN Browse: http://trac.codecheck.in/share/browser/platform/screenlets/
(↑修正)

画面イメージ。下の2つが気象情報。右上がJPClearCalendar。

  • JPClearCalendar
    • ClearCalendarを改造した日本の休日付きカレンダー。
    • カレンダーなのに土日に色が付かないのは納得いかなかったので色をつけた。
    • 祝日がでないとやっぱりわざわざカレンダーを見る価値が減ってしまうので、それもつけてみた。
    • 見づらいボタンをマウスでクリックして月を変える(連打する必要がある)というのも良くないので、カーソールキーで変えられる(上下:年、左右:月)ようにした。
    • iCalでのスケジュール表示は便利なのかもしれないが、iCalユーザーでないのでよく分からない。でも、右クリックしてメニューから選ばないと予定が出てこないのは使いにくそう。
  • JPWeatherRadar
    • Net経由で気象庁発表の最新の雨雲レーダー画像を表示するもの。
    • 設定で地域を選べる。
  • JPWeatherSatellite
    • Net経由で気象庁発表の最新の気象衛星画像を表示するもの。
    • 設定で赤外・可視光・水蒸気を選べる。
    • 可視光は夜になると真っ暗になるので、窓のない部屋でずっと仕事をするような人には便利かも

気象情報はWindows時代から欲しかった項目だったのでかなり役に立っている。気象マニアとしては、雨雲の様子を見ながらオフィスを出発するタイミングを決めたり、今後の天気の概要を知ることが出来るのでうれしい。

いくつも画面を増やせるので、複数の地域を表示したりすることも出来る。アニメーションや過去情報、予想図なんかも作れば可能そう。そこは必要に応じて増やしていくか、欲しい人に任せる方針で。

python

今までPythonは避けていた。一応、入門書や文法周りは読んだし、サンプルもいくつか書いたことはある。でもこれで何かを作ろうという気にはならなかった。

ブロックの範囲がインデントで決まるということだけで、もう無理だと思っていた。ソースのレイアウト自体もプログラムであるため、レイアウトを自由に決められなかったり、タブ・空白を誤って追加・削除しただけで動かなくなるというのは、かなりあり得ないと思っていた。

しかしながら、今回のScreenletを作ることで、Pythonを使って実際に動く物を作ってみて考えを改めた。

まず、レイアウトはEmacsがある程度かっちり決めてくれるので、最初思っていたほどレイアウトに気を遣う必要がなかった。ちょっとブロックの終わりが認識しづらかったけども、目が慣れたらそうでもなくなってきた。そもそも、ソースのレイアウトには普段から気を遣っているため、そこは違和感がなかった。

逆に、ブロックの範囲をバックスペース一発で変更できるということがとても便利なことに気がついた。これはむしろ気持ちがいい。この感覚は今まで無かった。

あとは、リスト内包表記が面白かった。(やるとこと)→(リスト)という風に考える。Rubyと逆の思考をする感じ。

まだ好んで選ぶほど好きではないけども、とりあえず嫌いではなくなった。