Adiciona o lançador de lista rápida de unidades com um comando zenity

5

Eu tento adicionar um lançador de lista rápida para o gedit que me permitiu abrir um novo documento no gedit diretamente da unidade de traço

então eu tentei adicionar este comando ao meu grupo de atalhos OpenDoc

[OpenDoc Shortcut Group]
Name=Open file...
Exec=gedit $(zenity --file-selection)
TargetEnvironment=unity

Mas nada acontece quando clico no iniciador da lista rápida ...

Talvez alguém saiba quem deve fazer isso?

Atenciosamente

    
por Winael 03.05.2011 / 15:09

2 respostas

2

Ok, então finalmente encontrei uma ótima solução para este caso.

Como eu disse antes em comentários, a melhor solução é usar um script chamado com o atalho Ayatana. Este é um exemplo do iniciador de lista rápida para o gedit. Com ele você pode abrir um arquivo no gedit ou abrir um arquivo como root no gedit

A parte que eu adiciono no arquivo gedit.desktop:

X-Ayatana-Desktop-Shortcuts=OpenDoc;OpenDocRoot;

[OpenDoc Shortcut Group]
Name=Open file...
Exec=/path/to/the/script normal-mode
TargetEnvironment=Unity

[OpenDocRoot Shortcut Group]
Name=Open file as root...
Exec=/path/to/the/script root-mode
TargetEnvironment=Unity

Usar um script bem é mais fácil para testar o que queremos e fazer algumas coisas complexas com o atalho de lista rápida.

Agora este é o código para o script / caminho / para / o / script (pessoalmente eu crio uma pasta de script na pasta ~ / .local / applications / e crio o script geditshortcut)

#!/bash/bin

case  in
normal-mode) gedit $(zenity --title='Open file...' --file-selection);;
root-mode) gksudo -u root -m "Running Gedit as user root allow you to modify some essential files of your system" "bash -c 'gedit $(zenity --title=\'Open file as user root...\' --file-selection)'";;
esac

Agora arraste & amp; Solte o arquivo gedit.desktop na barra de inicialização ou Unity e aproveite;)

Isso é tudo pessoal !!

    
por Winael 05.05.2011 / 10:44
0

Com base na sua solução nos comentários, você pode escrever um script mais genérico:

#!/bin/bash
 $()

Ele chamaria o primeiro argumento com a saída do outro, então você poderia Exec = path/to/my/script gedit "zenity --file-selection" Ainda uma solução alternativa, mas mais fácil de reutilizar em outros casos.

    
por Egil 04.05.2011 / 10:27