Como executar gnome javascript extensions (gjs) do terminal

3

Eu criei uma extensão para o shell do gnome e quero poder iniciá-lo usando um atalho de teclado (algo como ctrl + space). Eu não encontrei boa documentação ou tutoriais que me ajudaram a criar a extensão e os que eu encontrei não mencionam atalhos de teclado. A solução mais fácil que posso imaginar é escrever um script bash que execute a extensão e, em seguida, mapeie esse script para um atalho-chave. Quando eu uso gjs extension.js eu recebo isso:

(gjs:2929): Gjs-WARNING **: JS ERROR: Error: Requiring St, version none: Typelib file for namespace 'St' (any version) not found
@extension.js:5

JS_EvaluateScript() failed
    
por cie 24.03.2016 / 10:25

1 resposta

5

Como pré-requisito, o Gnome Shell Extension deve ser instalado onde o gnome-shell possa encontrá-lo. Isso está em

  • /usr/share/gnome-shell/extensions/ para extensões do sistema (gerenciadas pelo seu gerenciador de pacotes de distribuição)
  • $HOME/.local/share/gnome-shell/extensions/ para extensões de usuários (é aqui que você coloca as suas).

Em seguida, para ativar / desativar a extensão, use a opção gnome-shell-extension-tool com o -e e -d . Por exemplo. para habilitar a extensão test@test , use

gnome-shell-extension-tool -e test@test

Você pode atribuir um atalho de teclado para este comando através do Centro de Controle do Gnome.

Dito isto, provavelmente não é o que você quer fazer. Em vez disso, você deve escrever a extensão de modo que esteja ativada o tempo todo. Ao habilitar, sua extensão deve adicionar um atalho ao gnome-shell via Main.wm.addKeybinding() . Esse atalho aciona a ação desejada de sua extensão. Para obter detalhes sobre como fazer isso, procure ajuda em stackoverflow , consulte o código-fonte do gnome-shell ou veja o código fonte de outras extensões .

    
por 24.03.2016 / 20:20