Como posso iniciar um applet Cinnamon na linha de comando?

0

Eu quero atribuir uma tecla de atalho ao miniaplicativo Cinnamon "Documentos recentes", mas não consigo definir qual seria o comando do miniaplicativo.

    
por Dan Dascalescu 25.08.2016 / 09:27

2 respostas

1

Eu tive a mesma pergunta e kynan antecipou uma resposta - se bem que um pouco:

Você precisa alterar o applet que deseja acessar por atalho, de modo que ele reaja ao dito atalho. Pelo menos foi o que eu fiz.

Meu objetivo era ter a "Lista Rápida do Windows" acessível por um atalho, então peguei a "Lista Rápida da Janela com o botão Fechar" como modelo.

No _init do applet.js eu adicionei as seguintes linhas:

        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();

E os dois manipuladores são necessários, é claro:

    _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));
},

Finalmente, para ter a chance de definir a tecla de atalho personalizável, adicionei as seguintes linhas ao settings.json (também a ser antecipado pelo acima on_keybinding_changed):

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

(Por favor, tome cuidado para copiar a vírgula também, se você esquecer, você vai ter problemas)

Para mim, isso funcionou (até agora, sem grandes soluços), mas eu não sou nem javascript em json savvy, e foi um monte de copiar e colar junto com try & amp; erro.

Então, provavelmente, este é apenas um ponto de partida e ainda não é a resposta final.

    
por tommy 30.11.2016 / 22:06
0

Resposta curta: não sei de uma maneira.

Os applets de canela não são aplicativos ou scripts binários, mas são mais semelhantes aos plug-ins implementados em javascript com alguns metadados JSON . Veja os miniaplicativos instalados em todo o sistema em /usr/share/cinnamon/applets/ para a aparência deles.

    
por kynan 07.09.2016 / 20:42