O problema é que você não pode "executar" um arquivo .desktop
do Dash com argumentos, então a configuração exatamente como você tem em mente é impossível, receio. No entanto, assumindo que o seu script faz argumentos, existem algumas opções alternativas elegantes, talvez até melhores:
-
Salve seu script em
~/bin
- remova a extensão
- torne-o executável
-
execute-o pressionando Alt F2 , digite o comando
<scriptname> <argument>
-
Crie uma lista rápida no iniciador do Unity:
(supondo que você salvou o script em
~/bin
, tornou executável e removeu a extensão como em 1.)[Desktop Entry] Name=name_of_your_script_like_you_see_it_in_Dash Exec=<scriptname> <default_argument> Icon=/path/to/some/icon Type=Application Actions=Panel;Panel -left;Panel -right; [Desktop Action Panel] Name=Panel Exec=<scriptname> <default_argument> OnlyShowIn=Unity; [Desktop Action Panel -left] Name=Panel -left Exec=<scriptname> <argument_1> OnlyShowIn=Unity; [Desktop Action Panel -left] Name=Panel -right Exec=<scriptname> <argument_2> OnlyShowIn=Unity;
Salve-o como
panel.desktop
em~/.local/share/applications
e arraste-o para o iniciador.
-
Crie três atalhos de teclado diferentes, por exemplo Alt + & lt; , Alt + ^ , Alt + & gt; para executar seu script + argumentos:
"Configurações do sistema" & gt; "Teclado" & gt; "Atalhos" & gt; "Atalhos personalizados"
Clique em "+" para adicionar seus comandos:
<scriptname> <argument>
-
Não é o mais óbvio, mas explorando as opções, deve ser mencionado: você pode chamar uma lista de opções (zenity) do Dash:
Digite o primeiro caractere da sua opção, pressione return e seu script será executado com o argumento escolhido.
Novamente, supondo que você salvou o script em ~ / bin, tornou-o executável e removeu a extensão de idioma como em 1.:
-
Copie o script abaixo em um arquivo vazio, salve-o como
panel_options.sh
, torne-o executável.#!/bin/bash test=$(zenity --list "1. Panel" "2. Panel -left" "3. Panel -right" --column="Panel options" --title="Panel") if [[ "$test" = "1. Panel"* ]]; then <scriptname> <default_argument> elif [[ "$test" = "2. Panel -left"* ]]; then <scriptname> <argument_1> elif [[ "$test" = "3. Panel -right"* ]]; then <scriptname> <argument_2> fi
-
Crie o arquivo .desktop a partir do código abaixo. Na linha
Icon=
, defina o caminho para o seu ícone, na linhaExec=
o caminho parapane_options.sh
, salve-o comopanel.desktop
in~/.local/share/applicatios
[Desktop Entry] Name=Panel Exec=/path/to/panel_options.sh Icon=/path/to/some/icon Type=Application StartupWMClass=Zenity
-