Activer / désactiver le menu lxpanelctrl dans lubuntu?

5

Je veux que ma clé Windows (ou super_l) permute le menu lubuntu. Je suis en mesure de l'ouvrir avec la clé Windows après avoir ajouté la liaison de clé de la question ci-dessous, mais je n'ai pas encore trouvé le moyen de la fermer en appuyant à nouveau sur la même touche. Un commentaire dans la question posée ici portait sur la même chose en novembre 2011, mais après avoir cherché Google, je n'ai pas trouvé de solution. Est-ce que quelqu'un sait si c'est possible?

Lier la touche Windows au menu de démarrage de Lubuntu

L42
la source
Je viens de poster une réponse, mais j'ai réalisé que c'était faux et je l'ai donc supprimée. Mais je veux poser la question suivante: si vous vous liez à vous- Super_Lmême, ne verrez-vous pas un "double effet" lorsque vous utilisez beaucoup de liens de clé que lubuntu-rc.xml possède avec la touche "Windows" conjointement avec une autre clé? En d'autres termes, si vous utilisez "WL" ou "WR" ou "W-Up" ou "W-Down", par exemple, ne basculerez-vous pas également lxpanelctl menuen même temps? Le même argument ne s'appliquera-t-il à aucun autre lien unique ?
DK Bose
Cela pourrait être un autre problème pour une autre question. Dans le texte sublime (à titre d'exemple), j'ai une liaison pour ctrl + alt + r et une pour ctrl + alt + r + r. Cela fonctionne comme suit: Si je clique sur Ctrl + Alt + R, rien ne se passe tant que je n’ai pas cliqué de nouveau sur r (activation de la deuxième liaison de clé), ni sur une autre clé que r (activation de la première liaison de clé).
L42
Mon anglais n'est pas très bon, je n'ai donc pas compris la 5ème étape. Où devrais-je ajouter "python3 /path/to/click_menu.py -run" de manière exacte?

Réponses:

3

Autre moyen de basculer le menu

Cette réponse ne représente que "la moitié" de la réponse affichée ici . Depuis que cette question a été posée Gnomeet étiquetée de la même manière, je pense qu'il est légitime de poster ici une version légèrement modifiée pour couvrir Lubuntu( lxde), ou tout autre gestionnaire de fenêtres.

Je l'ai testé Lubuntu 14.04et, comme prévu, j'ai fait exactement ce qu'il devait faire.

La solution est en fait un script que vous pouvez facilement configurer pour cliquer automatiquement (virtuellement) sur n’importe quelle position de votre écran, y compris le menu. Puisqu'il suffit de cliquer une fois sur le menu pour l'ouvrir, il suffit de cliquer à nouveau pour la fermer, en plaçant la commande sous votre clé, comme vous l'avez fait, fera exactement ce que vous recherchez.

Le scénario

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

À propos du script; comment mettre en place

  1. Le script a besoin de xdotool:

    sudo apt-get install xdotool
    
  2. Copiez le script ci-dessus dans un fichier vide, enregistrez-le sous. click_menu.py

  3. Maintenant, vous devez faire en sorte que le script se souvienne de la position du menu pour (virtuellement) cliquer:

    Le script doit être exécuté avec l'option -set, avec la souris en position:

    • ouvrez une fenêtre de terminal, tapez la commande:

      sleep 5 && python3 /path/to/click_menu.py -set
      
    • positionner immédiatement la souris au-dessus du menu (ne pas cliquer)

    • une fois les 5 secondes écoulées, la position du menu est "mémorisée". La position est écrite dans un fichier invisible, vous ne devrez donc le faire qu’une seule fois.
  4. Testez si tout fonctionne bien avec la commande:

    python3 /path/to/click_menu.py -run
    

    entrez la description de l'image ici

    Le menu devrait s'ouvrir, comme le montre l'image ci-dessus.

  5. Si tout fonctionne bien, ajoutez la commande:

    python3 /path/to/click_menu.py -run
    

    à la clé, comme vous l'avez fait avec l'autre commande que vous avez mentionné dans votre question. Appuyez maintenant sur la touche pour faire basculer le menu.

Jacob Vlijm
la source
Belle solution! Je ne peux pas le tester maintenant, mais je le ferai demain. Merci :)
L42
@ L42 juste curieux, mais avez-vous essayé?
Jacob Vlijm
Haha, comme tu l'as dit mec. Merci beaucoup! Je n'ai jamais pensé à le résoudre comme ça.
L42
@ L42 parfait, super que ça vous
plaise
1
@ L42 AHA, cela montre clairement que le script fonctionne bien, cela doit être quelque chose avec le traitement du raccourci.
Jacob Vlijm