Atalho de teclado para alternar o iniciador de unidade de ocultação automática

Atalho de teclado para alternar o iniciador de unidade de ocultação automática

Gostaria de criar um atalho de teclado para alternar a opção de ocultação automática do inicializador de unidades. Com base na resposta emComo alterar programaticamente o comportamento de ocultação do inicializadorTentei fazer um script python para fazer o trabalho. Então eu deveria descobrir como executar isso com um atalho de teclado.

Meu script fica 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ê precisa saber que quase não tenho conhecimento de python (ou de escrever scripts em geral). (Acabei de passar algumas horas pesquisando na web por ajuda e exemplos).

Então, as questões reais:

  • O que eu fiz errado?
  • Eu escolhi uma abordagem complicada para isso e como posso fazer isso mais facilmente nesse caso?

Responder1

Se você quiser fazer isso da 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 comoesse.

Responder2

Uma maneira de fazer isso é criar um atalho personalizado.

Acesse 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

Isso criará um atalho para mostrar o inicializador. Agora para ocultar o launcher, você deve criar outro atalho adicionando o comando:

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

Claro que agora você terá um comando para cada função, mas coloquei-os lado a lado e achei muito intuitivo.

Responder3

Para Unity 2D as linhas dconf devem ser

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

Existe também um terceiro modo “Intellihide” cujo valor é 2.

informação relacionada