Linux mint cinnamonのdesklet開発奮闘記 第一回 deskletとは

Author:

自分がお気に入りのLinux mint cinnamon Editionにはdeskletというガジェット機能があります。
こいつの開発手法が国内国外問わず殆どないため、試行錯誤しながら現在学んでいるのですが。
ある程度分かってきたのでメモを残していこうと思います。
とりあえずいつか自作deskletを一般リリースしたいものだ。

deskletとは

deskletとはwindows7まであったデスクトップガジェットみたいなもの。
あれはセキュリティ的な理由から排除されてしまいましたが。
MacのDashboardとは違いデスクトップに常駐するので、別スクリーンに切り替えても当然表示されています。

言語

deskletはJavaScriptとCSSで書かれています。
cinnamonのベースとなるGNOME3のgnome extensionがJavaScriptで書かれていますし、その延長線にあるものですね。
そのためWebの知識があれば飲み込みは早いです。

インタープリタ

deskletはCJSというツールで実行されます。
こいつはGNOME3のGJSをベースに拡張されたもの。
元々はSpiderMonky、Firefoxのエンジンがベースですが。

そのためCommonJSのrequireなんかは使えないですが、ES6あたりの記法はだいたいサポートされている感じですね。

Shell Toolkit

deskletではこいつを使ってGPUレンダリングします。
書き方はswingとかに近く、Buttonオブジェクトをコンテナにバインドする、という感じ。
ただこいつだけじゃなくてClutterおよびGtkも知ってないと色々こんがらがります。
ClutterというGPUレンダリングオブジェクトを継承したものなので。

とりあえずまずはこんなものか。
次回に続く。

第二回

Facebook にシェア
Pocket