日本向けScreenletを作ってみた
LinuxのScreenletは、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
- JPWeatherRadar
- Net経由で気象庁発表の最新の雨雲レーダー画像を表示するもの。
- 設定で地域を選べる。
- JPWeatherSatellite
気象情報はWindows時代から欲しかった項目だったのでかなり役に立っている。気象マニアとしては、雨雲の様子を見ながらオフィスを出発するタイミングを決めたり、今後の天気の概要を知ることが出来るのでうれしい。
いくつも画面を増やせるので、複数の地域を表示したりすることも出来る。アニメーションや過去情報、予想図なんかも作れば可能そう。そこは必要に応じて増やしていくか、欲しい人に任せる方針で。
python
今までPythonは避けていた。一応、入門書や文法周りは読んだし、サンプルもいくつか書いたことはある。でもこれで何かを作ろうという気にはならなかった。
ブロックの範囲がインデントで決まるということだけで、もう無理だと思っていた。ソースのレイアウト自体もプログラムであるため、レイアウトを自由に決められなかったり、タブ・空白を誤って追加・削除しただけで動かなくなるというのは、かなりあり得ないと思っていた。
しかしながら、今回のScreenletを作ることで、Pythonを使って実際に動く物を作ってみて考えを改めた。
まず、レイアウトはEmacsがある程度かっちり決めてくれるので、最初思っていたほどレイアウトに気を遣う必要がなかった。ちょっとブロックの終わりが認識しづらかったけども、目が慣れたらそうでもなくなってきた。そもそも、ソースのレイアウトには普段から気を遣っているため、そこは違和感がなかった。
逆に、ブロックの範囲をバックスペース一発で変更できるということがとても便利なことに気がついた。これはむしろ気持ちがいい。この感覚は今まで無かった。
あとは、リスト内包表記が面白かった。(やるとこと)→(リスト)という風に考える。Rubyと逆の思考をする感じ。
まだ好んで選ぶほど好きではないけども、とりあえず嫌いではなくなった。