Chiave per espandere il menu Applicazioni in Gnome-Classic per 14.04?

  1. In Gnome-Classic (metacity) nel 14.04,

    • c’è una chiave per richiamare il menu Applicazioni?
    • c’è una chiave per passare tra gli elementi nel pannello superiore, come il menu Applicazioni, Luoghi, icona wireless, batteria, tempo, menu di spegnimento / sospensione / disconnessione / blocco, …?
  2. Se ansible, Come devo aggiungere la chiave per il menu Applicazione?

    Per aggiungere una chiave per far apparire il menu dell’applicazione, qual è il comando per farlo?

  3. A differenza di https://askubuntu.com/a/133915/1471 , nel mio caso non è presente alcuna chiave per il menu Applicazioni.

    Il mio 14.04 viene fornito con compiz + unity, quindi installo metacity + gnomeclassic. Condividono le stesse impostazioni della tastiera? È questo il motivo per cui non ho la chiave per il menu dell’applicazione?

    inserisci la descrizione dell'immagine qui

Grazie!

Con una soluzione sporca, può essere fatto abbastanza bene. Usando xdotool , puoi farlo muovere il mouse nella posizione del menu Applicazioni, aprirlo e tornare automaticamente alla sua posizione originale.

Poiché tutto accade molto velocemente e il mouse viene spostato nella sua posizione originale, non te ne accorgi.

inserisci la descrizione dell'immagine qui

Lo script presuppone che il menu Applicazioni sia nell’angolo in alto a sinistra, come nell’immagine sopra. Se questo non è il caso, le coordinate in cmd1 devono essere modificate.

 #!/usr/bin/env python3 import subprocess import time cursordata = subprocess.check_output(["xdotool", "getmouselocation"]).decode("utf-8").split() loc = [d.split(":")[1] for d in cursordata[:2]] cmd1 = "xdotool mousemove 10 5"; cmd2 = "xdotool click 1"; cmd3 = "xdotool mousemove "+(" ").join(loc) for cmd in [cmd1, cmd2, cmd3]: subprocess.Popen(["/bin/bash", "-c", cmd]) time.sleep(0.05) 

In dettaglio:

recupera la posizione corrente del mouse:

 cursordata = subprocess.check_output(["xdotool", "getmouselocation"]).decode("utf-8").split() 

Analizza l’output (x / y) in coordinate:

 loc = [d.split(":")[1] for d in cursordata[:2]] 

Esegui i comandi [cmd1, cmd2, cmd3] in seguito:

  • sposta il mouse sul menu Applicazioni
  • clic
  • sposta il mouse indietro dove era
 for cmd in [cmd1, cmd2, cmd3]: subprocess.Popen(["/bin/bash", "-c", cmd]) time.sleep(0.05) 

Come usare lo script

  1. Installa xdotool :

     sudo apt-get install xdotool 
  2. Incolla lo script in un file vuoto, salvalo come open_appmenu.py

  3. Provalo con il comando:

     python3 /path/to/open_appmenu.py 
  4. Se tutto funziona correttamente, aggiungilo a un tasto di scelta rapida: scegli: Impostazioni di sistema> “Tastiera”> “Collegamenti”> “Collegamenti personalizzati”. Fai clic su “+” e aggiungi il comando:

     python3 /path/to/open_appmenu.py 

Passa agli altri oggetti

Una volta aperto il menu Applicazioni, puoi semplicemente passare alla voce successiva con i tasti freccia.


Modifica: versione generalizzata

Di seguito una versione dello script che può essere utilizzata in modo flessibile, per fare clic sullo schermo in qualsiasi posizione, per essere modificata facilmente. Lo script può essere eseguito con due opzioni:

  1. per impostare (ricordare) la posizione corrente del mouse:

     run_click -set 
  2. cliccare sull’ultima posizione memorizzata:

     run_click -run 

Se non è stata impostata alcuna posizione, viene visualizzato un messaggio di zenity che invita a impostare una posizione:

inserisci la descrizione dell'immagine qui

Lo script crea un file nascosto; ~/.run_click dove memorizza le ultime coordinate memorizzate.

Come test, ho messo entrambi i comandi sotto le combinazioni di tasti : Ctrl + Alt + R e Ctrl + Alt + A , rendendo facile cambiare la posizione del clic sul posto.

Come impostare

  1. come nel primo script, installa xdotool :

     sudo apt-get install xdotool 
  2. copia lo script sotto in un file vuoto, salvalo come run_click (senza estensione) in ~/bin (crea la directory se necessario) e rendi eseguibile lo script .

  3. Se hai appena creato ~/bin , avvia source ~/.profile .
  4. Prova entrambi i comandi, first run_click -set , quindi run_click -run per vedere se tutto funziona come previsto.
  5. Aggiungi entrambi i comandi a due combinazioni di tasti diverse: scegli: Impostazioni di sistema> “Tastiera”> “Collegamenti”> “Collegamenti personalizzati”. Fai clic su “+” e aggiungi i comandi.

Il copione

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