Alternativa para alternar o menu
Esta resposta é apenas "metade" da resposta que foi postada aqui . Como essa pergunta estava em Gnome
e marcada da mesma forma, acho que é legítimo publicar uma versão levemente editada aqui para cobrir Lubuntu
( lxde
) ou qualquer outro gerenciador de janelas.
Eu testei em Lubuntu 14.04
e (como esperado) fiz exatamente o que deveria fazer.
A solução é, na verdade, um script que você pode facilmente configurar para automaticamente (virtualmente) clicar em qualquer posição na tela, incluindo o menu. Já que clicar no menu uma vez irá abri-lo, clicando nele novamente irá fechá-lo, colocando o comando sob a sua chave, como você fez, fará exatamente o que você está procurando.
O script
#!/usr/bin/env python3
import subprocess
import time
import sys
import os
option = sys.argv[1]
datafile = os.path.join(os.environ["HOME"], ".run_click")
def get_mousepos():
cursordata = subprocess.check_output(["xdotool", "getmouselocation"]).decode("utf-8").split()
return [d.split(":")[1] for d in cursordata[:2]]
if option == "-run":
try:
data = open(datafile).read()
coords = (" ").join([l for l in data.splitlines()])
except FileNotFoundError:
message = "Please run the command: 'run_click -set' first, to set the click position"
subprocess.Popen(["zenity", "--info", "--text", message])
else:
cmd1 = "xdotool mousemove "+coords; cmd2 = "xdotool click 1"; cmd3 = "xdotool mousemove "+(" ").join(get_mousepos())
for cmd in [cmd1, cmd2, cmd3]:
subprocess.Popen(["/bin/bash", "-c", cmd])
time.sleep(0.05)
elif option == "-set":
open(datafile, "wt").write(("\n").join(get_mousepos()))
Sobre o roteiro; como configurar
-
O script precisa de
xdotool
:sudo apt-get install xdotool
-
Copie o script acima em um arquivo vazio, salve-o como
click_menu.py
-
Agora você precisa fazer o script lembrar a posição do menu para clicar (virtualmente):
O script precisa ser executado com a opção
-set
, com o mouse na posição:-
abra uma janela de terminal, digite o comando:
sleep 5 && python3 /path/to/click_menu.py -set
-
posicione o mouse imediatamente acima do menu (não clique)
- após os 5 segundos terem passado, a posição do menu é "lembrada". A posição é gravada em um arquivo invisível, então você só precisará fazer isso uma vez.
-
-
Teste se tudo funciona bem com o comando:
python3 /path/to/click_menu.py -run
O menu deve abrir, conforme mostrado na imagem acima.
-
Se tudo funcionar, adicione o comando:
python3 /path/to/click_menu.py -run
para a chave, como você fez com o outro comando que você mencionou na sua pergunta. Agora, pressionar a tecla deve alternar o menu.