Atalho de teclado para ativar / desativar o lançador de unidade de ocultação automática

6

Eu gostaria de criar um atalho de teclado para alternar a opção de ocultação automática para o iniciador de unidade. Com base na resposta em Como programaticamente mudar o comportamento de esconderijo do lançador Eu tentei fazer um script python para fazer o trabalho. Então devo descobrir como executar isso com um atalho de teclado.

Meu script é assim:

#!/bin/python
AUTOHIDE=$(dconf read /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode)
if (AUTOHIDE==1):
   dconf write /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode 0
else:
    dconf write /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode 1

Mas executar o script a partir de um terminal (fazendo 'python scriptname.py') não funciona. Recebo um erro de "sintaxe inválida" no sinal $.

Você tem que saber que eu não tenho quase nenhum conhecimento de python (ou escrever scripts em geral). (Acabei de passar algumas horas pesquisando na web por ajuda e exemplos).

Então, as perguntas reais:

  • O que eu fiz de errado?
  • Escolhi uma maneira de abordar complicadamente isso e como posso fazê-lo mais facilmente nesse caso?
por user138784 08.05.2013 / 15:07

3 respostas

9

Se você quiser fazer isso de maneira Pythonic.

#!/bin/python
import subprocess
AUTOHIDE = subprocess.check_output (["/usr/bin/dconf", "read", "/org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode"])
if (AUTOHIDE==1):
   subprocess.call (["/usr/bin/dconf", "write", "/org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode", "0"])
else:
   subprocess.call (["/usr/bin/dconf", "write", "/org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode", "1"])

você tem que executar os programas criando um subprocesso.

E esta é a versão do script bash

#!/bin/bash
AUTOHIDE=$(dconf read /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode)
if [[ $AUTOHIDE -eq 1 ]]
then
   dconf write /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode 0
else
   dconf write /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode 1
fi

O atalho pode ser atribuído como este .

    
por thefourtheye 08.05.2013 / 15:30
3

Uma maneira de fazer isso é simplesmente criar um atalho personalizado.

Acesse as configurações do sistema > Teclado > Atalhos > Atalhos personalizados Em seguida, clique em '+' para adicionar um novo atalho e, na caixa de comando, cole:

dconf write /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode 0

Isto irá criar um atalho para mostrar o lançador. Agora, para esconder o lançador, você deve criar outro atalho adicionando o comando:

dconf write /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode 1

Claro, agora você terá um comando para cada função, mas eu os coloco lado a lado e acho isso muito intuitivo.

    
por Bruno Henrique 17.05.2013 / 23:09
1

Para o Unity 2D, as linhas do dconf devem ser

/com/canonical/unity-2d/launcher/hide-mode

Existe também um terceiro modo "Intellihide", cujo valor é 2.

    
por Moilleadóir 22.04.2014 / 10:55