Я хочу присвоить сочетание клавиш "Недавним документам" Коричный апплет, но я не могу вполне изобразить, какова команда для апплета была бы.
У меня был тот же вопрос, и kynan/ожидает ответ - если немного краткий:
необходимо изменить апплет, Вы хотите получить доступ ярлыком, таким образом, что он реагирует на упомянутый ярлык. По крайней мере, это - то, что я сделал.
Моя цель состояла в том, чтобы иметь "Windows Quick List", доступный коротким путем, поэтому взял "Окно Быстрый Список с близкой кнопкой" как шаблон.
В _init applet.js я добавил следующие строки:
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 здравом смысле, и это было много copy& вставка вместе с try& ошибка.
Так, вероятно, это - только начальная точка и еще окончательный ответ.
Короткий ответ: Я не знаю о пути.
Коричные апплеты не являются двоичными приложениями или сценариями, но более подобный плагинам реализованный в JavaScript с некоторыми метаданными JSON . Взгляните на установленные апплеты в масштабе всей системы в /usr/share/cinnamon/applets/
для того, как они похожи.