Como posso abrir um menu com uma tecla de atalho se não existir nenhuma tecla de atalho para o menu?

Como posso abrir um menu com uma tecla de atalho se não existir nenhuma tecla de atalho para o menu?

Existe um atalho de teclado para abrir/suspenso o menu/indicador de som, para, por exemplo, ver a música que está sendo reproduzida no momento? Se não, como eu poderia definir um?

Responder1

Com o script abaixo em uma tecla de atalho, você pode fazerqualqueritem de menu suspenso, se não existir nenhum atalho para ele, incluindo o menu de som:

insira a descrição da imagem aqui

Na verdade, é praticamente a mesma resposta postadaaqui, mas a questão é diferente. Tomei a liberdade, no entanto, de ampliar um pouco (o título da) sua pergunta para cobrir possíveis questões futuras semelhantes.

O que faz

O script simula o movimento do mouse até o menu ou ícone, clica e depois retorna o mouse para onde estava. Tudo isso acontece em uma fração de segundo, então você nem notará.

Pode ser utilizado de forma flexível, clicando na telaqualquerposição, para ser alterada facilmente. Funciona com duas opções:

  1. paradefinir(lembre-se) da localização atual do mouse:

    run_click -set
    
  2. para clicar na última posição lembrada:

    run_click -run
    

Se nenhuma posição foi definida, uma mensagem zenity aparece, convidando para definir uma posição

O script cria um arquivo oculto; ~/.run_clickonde armazena as últimas coordenadas lembradas.

Como usar

  1. Instalarxdotool

    sudo apt-get install xdotool
    
  2. Copie o script abaixo em um arquivo vazio, salve-o como open_menu(sem extensão) no formato ~/bin. Crie o diretório, se necessário, etornar o script executável.

  3. Se você acabou de criar ~/bin, execute source ~/.profile.
  4. Teste os dois comandos primeiro open_menu -sete depois open_menu -runpara ver se tudo funciona conforme o esperado.
  5. Agora criedoisatalhos: um para fazer o script lembrar a posição do seu item de menu, o segundo para realmente abrir o menu. escolha: Configurações do sistema > "Teclado" > "Atalhos" > "Atalhos personalizados". Clique em "+" e adicione os comandos a duas combinações diferentes de teclas de atalho:

    open_menu -set
    

    e

    open_menu -run
    

Agora coloque o mouse sobre o ícone do menu de som e pressione a primeira tecla de atalho. A partir daí, você pode abrir o menu com a segunda tecla de atalho.

O roteiro

#!/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()))

Responder2

Não há um atalho específico para abrir o Indicador de Som, mas você pode pressionar Alt+F10 para focar o Indicador de Menu e traduzir para o Indicador de Som.

informação relacionada