Linuxを中心とした話題を投稿予定。 使用ディストリビューションであるFedoraが中心になると思われます。http://oedipa.wiki.fc2.com/にてTips Wikiを公開してます。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[プログラミング][Screenlets][Python]それは気付かなかった・・・Orz
今日はScreenletsのウィジェットを作るべく、サンプルスクリプトとにらめっこしてました。

まず、本家サイトのDevelopers Documentのページを参照し、最下段からTemplate.tarをDLします。よーはテンプレートですね。こいつをベースに改良していきます。

これを$HOME/.screenlets以下に展開し、Template/TemplateScreenlet.pyを編集していきます。ファイル名やディレクトリ名は適当に後から変更します。

まずはどんなことが書かれているかチェック。オプション項目の書き方が面倒くさそう^^; 簡単なサンプルだけあってさほど難しくありません。パッと見は色々ごちゃごちゃと書いてあってややこしそうですが、コールバック関数のところは実は半数以上が空の関数だったり。まぁ必要に応じて実装しなさいってことなんでしょう。今は放っておくとします。

中身の確認ができたらディレクトリとファイルをリネームします。Templateのままってのも癪ですしね・・・。

で、スクリプトファイルも編集していきます。サンプルは「Example」ってのが大量に使われてますから、こいつを自分の作りたいウィジェット名とかに置換すると、とりあえずそれっぽくなります。そんでもって、スクリプトのクラス名をTemplateScreenletからなんぞ適当に変更します。

が、私はここではまりましたOrz

Javaだとファイル名とクラス名は一致ってことらしいですが、Pythonスクリプトでは、クラス名に特別制限はありません。なのでほいほいさっさと適当に名前決めてスクリプトを作ったんですが、これをScreenletsのセッションマネージャに渡しても登録してくれない。

「セッションの作成に失敗しました! 正しいクラスオブジェクトを指定してください!」

ってエラー(ホントは英語。それっぽく意訳してます)がががが。文法は間違ってないし、クラスオブジェクトもちゃんと作成できる。けどセッションマネージャには蹴られる。

散々悩んだんですが、ふと他のちゃんと動いてるスクリプトを眺めていると
「そーいや全部クラス名の最後に"Screenlet"ってついてるぞ・・・?」
っってなことに気付きました。

「まさかね・・・」と思いつつ、クラス名の最後に"Screenlets"を追加したらあっけなくウィジェットが立ち上がりましたOrz
Javaじゃねぇんだからさ・・・。そんな縛りつけなくてもいいじゃんかよ・・・。

私が見落としているだけかもしれませんが、そのようなDevelopers Documentに記述は一切見当たりませんでした。大事なことなんだから書いといてくれよ・・・。

とりあえずこれで簡単なウィジェットなら作れそうです。ScreenletsはSVGしか扱えないと思ってましたが、標準でSVGの他にPNGも扱えたみたいです。SVGだと拡大縮小がサポートされますが、PNGだとgtkモジュールをインポートして自前で拡大縮小の処理をやらないといけないのが玉に瑕でしょうか。gtkモジュールをインポートするなら画像フォーマットはあらかたどれでも使えるからなぁ・・・。結局gtk使えってことなんでしょう。

テキストファイルをいじくってどーのこーのってことはよくやりますが画像は今までまともに扱ったことがないので、ちょっくらPyGTKのサンプルでも眺めつつ楽しみたいなと思います。

にしても、ScreenletsとPlasmaは互換性ないんかなぁ。せめてコンバートできてくれたらいいんだけど。
今日紹介する曲も昨日に引き続き、明るくポップなナンバーです。

結構いいと思うんだけどなぁ。再生数がかなり少ない>< ま、埋もれていようといい曲はいい曲ということで^^


青空に春色 by zyun

鏡音リン・レンは結構力強い歌い方ができるので好きなんですが、いかんせん活舌が難しいらしく、あんまり上がってこないんですよねぇ^^; 声はいいだけにもったいない感じ。

今後に期待ですねぇ。
関連記事
スポンサーサイト
コメント
この記事へのコメント
コメントを投稿
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可
 
トラックバック
この記事のトラックバックURL
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。