如何从命令行启动Cinnamon applet?


Answers:


2

我有同样的问题,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"
}

(请注意也要复制逗号,如果您忘记了它,将会遇到麻烦)

对我来说,这行得通(到目前为止,没有什么大的麻烦),但是我都不是精通json的javascript,并且很多是try&error的复制和粘贴。

因此,这可能仅仅是一个起点,而不是最终的答案。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.