web-dev-qa-db-fra.com

Clé pour développer le menu Application dans Gnome-Classic pour 14.04?

  1. Dans Gnome-Classic (metacity) le 14.04,

    • existe-t-il une clé pour appeler le menu Applications?
    • existe-t-il une touche pour basculer entre les éléments du panneau supérieur, tels que le menu Applications, Lieux, icône sans fil, batterie, heure, menu arrêt/suspension/déconnexion/verrouillage, ...?
  2. Si possible, comment ajouter la clé du menu Application?

    Pour ajouter une clé pour faire apparaître le menu de l'application, quelle est la commande pour le faire?

  3. Contrairement à https://askubuntu.com/a/133915/1471 , il n'y a pas de clé pour le menu Applications dans mon cas.

    Mon 14.04 est livré avec compiz + unit, puis j'installe metacity + gnomeclassic. Partagent-ils les mêmes paramètres de clavier? Est-ce la raison pour laquelle je n'ai pas de clé pour le menu Application?

    enter image description here

Merci!

3
Tim

Avec une solution de contournement sale, cela peut être fait assez bien. En utilisant xdotool, vous pouvez le faire déplacer la souris à la position du menu Applications, l'ouvrir et revenir automatiquement à sa position d'origine.

Puisque tout se passe très rapidement et la souris est ramenée à sa position d'origine, vous ne le remarquerez pas.

enter image description here

Le script suppose que votre menu Applications se trouve dans le coin supérieur gauche, comme dans l'image ci-dessus. Si ce n'est pas le cas, les coordonnées dans cmd1 doivent être modifiés.

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

En détail:

récupérer la position actuelle de la souris:

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

Analyser la sortie (x/y) en coordonnées:

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

Exécutez les commandes [cmd1, cmd2, cmd3] à par la suite:

  • déplacer la souris vers le menu Applications
  • cliquez sur
  • ramenez la souris là où elle était
for cmd in [cmd1, cmd2, cmd3]:
    subprocess.Popen(["/bin/bash", "-c", cmd])
    time.sleep(0.05)

Comment utiliser le script

  1. Installez xdotool:

    Sudo apt-get install xdotool
    
  2. Collez le script dans un fichier vide, enregistrez-le sous open_appmenu.py

  3. Testez-le avec la commande:

    python3 /path/to/open_appmenu.py
    
  4. Si tout fonctionne bien, ajoutez-le à une touche de raccourci: choisissez: Paramètres système> "Clavier"> "Raccourcis"> "Raccourcis personnalisés". Cliquez sur le "+" et ajoutez la commande:

    python3 /path/to/open_appmenu.py
    

Déplacer vers les autres éléments

Une fois que vous avez ouvert le menu Applications, vous pouvez simplement passer à l'élément suivant avec les touches fléchées.


Edit: version généralisée

Ci-dessous une version du script qui peut être utilisée de manière flexible, pour cliquer sur l'écran sur la position any, à modifier facilement. Le script peut être exécuté avec deux options:

  1. to set (souvenez-vous) de l'emplacement actuel de la souris:

    run_click -set
    
  2. pour cliquer sur la dernière position mémorisée:

    run_click -run
    

Si aucune position n'a été définie, un message de zénité apparaît, vous invitant à définir une position:

enter image description here

Le script crée un fichier caché; ~/.run_click où il stocke les dernières coordonnées mémorisées.

Comme test, j'ai mis les deux commandes sous les combinaisons de touches: Ctrl+Alt+R, et Ctrl+Alt+A, ce qui permet de changer facilement la position du clic sur place.

Comment installer

  1. comme dans le premier script, installez xdotool:

    Sudo apt-get install xdotool
    
  2. copiez le script ci-dessous dans un fichier vide, enregistrez-le sous run_click (sans extension) dans ~/bin (créez le répertoire si nécessaire) et rendez le script exécutable.

  3. Si vous venez de créer ~/bin, courir source ~/.profile.
  4. Testez les deux commandes, d'abord run_click -set, puis run_click -run pour voir si tout fonctionne comme prévu.
  5. Ajoutez les deux commandes à deux combinaisons de touches différentes: choisissez: Paramètres système> "Clavier"> "Raccourcis"> "Raccourcis personnalisés". Cliquez sur le "+" et ajoutez les commandes.

Le 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()))
3
Jacob Vlijm