如何从命令行启动 Cinnamon 小程序?

如何从命令行启动 Cinnamon 小程序?

我想为“最近的文档”Cinnamon 小程序分配一个快捷键,但我不太清楚该小程序的命令是什么。

答案1

我也有同样的问题,并且 Kynan 已经/期待一个答案 - 尽管有点简短:

您必须更改要通过快捷方式访问的小程序,使其对该快捷方式做出反应。至少我就是这么做的。

我的目标是通过快捷方式访问“Windows 快速列表”,因此采用“带有关闭按钮的窗口快速列表”作为模板。

在 applet.js 的 _init 中我添加了以下几行:

        this.settings.bindProperty(Settings.BindingDirection.IN,
                                  "keybinding-def",
                                  "keybinding",
                                   this.on_keybinding_changed,
                                   null);
        this.actor.connect('key-press-event',
                           Lang.bind(this,
                           this._onSourceKeyPress));

        this.on_keybinding_changed();

当然需要两个处理程序:

    _onSourceKeyPress: function(actor, event) {
    let symbol = event.get_key_symbol();

    if (symbol == Clutter.KEY_space || symbol == Clutter.KEY_Return) {
        this.menu.toggle();
        return true;
    } else if (symbol == Clutter.KEY_Escape && this.menu.isOpen) {
        this.menu.close();
        return true;
    } else if (symbol == Clutter.KEY_Down) {
        if (!this.menu.isOpen)
            this.menu.toggle();
        this.menu.actor.navigate_focus(this.actor, Gtk.DirectionType.DOWN, false);
        return true;
    } else
        return false;
},

on_keybinding_changed: function() {
    Main.keybindingManager.addHotKey("must-be-unique-id",
                 this.keybinding,
                 Lang.bind(this,
                       this.on_hotkey_triggered));
},

最后,为了有机会定义可定制的热键,我在 settings.json 中添加了以下几行(上面的 on_keybinding_changed 也可以预料到):

,
"keybinding-def" : {
"type" : "keybinding",
"description" : "Shortcut to open/close the windolist ",
"default" : "Super_R"
}

(请注意复制逗号,如果你忘记了,就会遇到麻烦)

对我来说,这是可行的(到目前为止,没有出现重大问题),但我既不懂 javascript,也不懂 json,而且需要进行大量的复制粘贴以及尝试和错误。

所以,这可能只是一个起点,而不是最终的答案。

答案2

简短的回答:我不知道有什么办法。

Cinnamon 小程序不是二进制应用程序或脚本,而更类似于插件使用一些 JSON 元数据在 javascript 中实现。查看系统范围内安装的小程序的外观/usr/share/cinnamon/applets/

相关内容