Wie kann ich ein Menü mit einer Tastenkombination öffnen, wenn für das Menü keine Tastenkombination existiert?

Wie kann ich ein Menü mit einer Tastenkombination öffnen, wenn für das Menü keine Tastenkombination existiert?

Gibt es eine Tastenkombination zum Öffnen/Ausklappen des Soundmenüs/der Soundanzeige, um beispielsweise das aktuell gespielte Lied anzuzeigen? Wenn nicht, wie kann ich eine solche festlegen?

Antwort1

Mit dem untenstehenden Skript unter einer Tastenkombination können SiebeliebigDropdown-Menüelement, wenn keine Verknüpfung dafür vorhanden ist, einschließlich des Soundmenüs:

Bildbeschreibung hier eingeben

Es handelt sich eigentlich so ziemlich um die gleiche Antwort wie gepostetHier, aber die Frage ist anders. Ich habe mir jedoch die Freiheit genommen, (den Titel) Ihrer Frage ein wenig zu erweitern, um mögliche zukünftige ähnliche Fragen abzudecken.

Was es macht

Das Skript simuliert eine Mausbewegung zum Menü oder Symbol, klickt und bringt die Maus dann dorthin zurück, wo sie war. Das alles geschieht in Sekundenbruchteilen, sodass Sie es überhaupt nicht bemerken.

Es kann flexibel verwendet werden, um auf dem Bildschirm zu klicken aufbeliebigPosition, die leicht geändert werden kann. Es gibt zwei Optionen:

  1. ZuSatz(Merken) Sie sich die aktuelle Mausposition:

    run_click -set
    
  2. um auf die letzte gemerkte Position zu klicken:

    run_click -run
    

Wenn keine Position festgelegt wurde, erscheint eine Zenity-Meldung, die zur Festlegung einer Position auffordert

Das Skript erstellt eine versteckte Datei, ~/.run_clickin der es die zuletzt gespeicherten Koordinaten speichert.

Wie benutzt man

  1. Installierenxdotool

    sudo apt-get install xdotool
    
  2. Kopieren Sie das folgende Skript in eine leere Datei und speichern Sie es unter open_menu(ohne Erweiterung) in ~/bin. Erstellen Sie bei Bedarf das Verzeichnis undMachen Sie das Skript ausführbar.

  3. Wenn Sie gerade erstellt haben ~/bin, führen Sie aus source ~/.profile.
  4. Testen Sie zuerst beide Befehle und open_menu -setdann, open_menu -runum zu sehen, ob alles wie erwartet funktioniert.
  5. Jetzt erstellenzweiTastenkombinationen: eine, damit sich das Skript die Position Ihres Menüelements merkt, die zweite, um das Menü tatsächlich zu öffnen. Wählen Sie: Systemeinstellungen > „Tastatur“ > „Tastenkombinationen“ > „Benutzerdefinierte Tastenkombinationen“. Klicken Sie auf das „+“ und fügen Sie die Befehle zwei verschiedenen Tastenkombinationen hinzu:

    open_menu -set
    

    Und

    open_menu -run
    

Platzieren Sie nun die Maus auf dem Soundmenü-Symbol und drücken Sie die erste Tastenkombination. Von da an können Sie das Menü mit der zweiten Tastenkombination öffnen.

Das Drehbuch

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

Antwort2

Es gibt keine spezielle Tastenkombination zum Öffnen des Soundindikators, Sie können jedoch Alt+F10 drücken, um den Menüindikator zu fokussieren und zum Soundindikator zu wechseln.

verwandte Informationen