Cinnamon Shell是基于Gnome 3桌面环境的一个桌面环境。Cinnamon Shell扩展可以定制化地增加桌面功能,实现一些自定义化的交互和功能。使用CJS和GJS语言编写的扩展在Cinnamon Shell上得到了广泛的应用。下面是开发Cinnamon Shell扩展(Desklet)的一些步骤:
-
安装"Cinnamon Looking Glass"工具。这个工具提供了一个可视化的调试和开发环境。
-
创建一个Desklet项目。在~/.local/share/cinnamon/desklets/下,创建一个Desklet文件夹,并创建一个metadata.json文件,如下所示:
{
"uuid": "your_desklet_id",
"name": "your_desklet_name",
"description": "your_desklet_description",
"icon": "your_desklet_icon",
"version": "your_desklet_version",
"cinnamon-version": ["1.2", "1.4", "1.6"],
"desklet-type": ["your_desklet_type"]
}
- 创建一个main.js文件。这是Desklet的主要代码文件,可以用CJS或GJS编写。以下是一个使用CJS语言编写的示例代码:
const Cinnamon = imports.gi.Cinnamon;
const Desklet = Cinnamon.Desklet;
const Lang = imports.lang;
const Gtk = imports.gi.Gtk;
function MyDesklet(metadata, deskletId) {
this._init(metadata, deskletID);
};
MyDesklet.prototype = {
proto: Desklet.Desklet.prototype,
_init: function(metadata, deskletId) {
Desklet.Desklet.prototype._init.call(this, metadata);
this.label = new Gtk.Label({ label: "Hello World" });
this.add_actor(this.label);
}
}
function main(metadata, deskletId) {
return new MyDesklet(metadata, deskletId