web-dev-qa-db-fra.com

14.10 Gnome Classic Metacity incapable de connecter le raccourci clavier au binaire

J'essaie d'obtenir l'effet Aero Snap fonctionne sur un Ubuntu 14.10 en utilisant Gnome Classic Metacity .

J'ai trouvé une commande qui fonctionne si j'exécute dans une fenêtre de terminal:

wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,0,0,`xwininfo -root | grep Width | awk '{ print (($2/2))}'`,`xwininfo -root | grep Height | awk '{ print $2 }'`

Et je peux l'exécuter avec un sleep 1 pour avoir le temps de passer à la fenêtre que je veux redimensionner:

sleep 1 && wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,0,0,`xwininfo -root | grep Width | awk '{ print (($2/2))}'`,`xwininfo -root | grep Height | awk '{ print $2 }'`

Ça marche bien.

Je peux également l'exécuter en tant que script bash dans mes $ HOME/bin/left.sh et $ HOME/bin/right.sh, ou plus court, Alt+F2 puis $HOME/bin/aaa pour gauche et $HOME/bin/fff pour la droite. Il fonctionne également sur la fenêtre active derrière le Alt+F2 menu.

Maintenant, je veux connecter cette commande à un raccourci clavier. J'ai essayé:

System Settings -> Keyboard -> Shortcuts -> Custom Shortcuts -> "Aero Left" - Super+Left

que je relie à un /bin/bash /home/myusername/bin/aero_left.sh avec la ligne de commande ci-dessus. Mais cela n'a aucun effet. Encore une fois, l'exécution de la commande bash dans une fenêtre de terminal fonctionne, mais pas le raccourci clavier.

En fait, il ne se passe pas grand-chose pour aucun des Custom Shortcuts J'essaye de mettre en place:

/usr/bin/mplayer /usr/share/aisleriot/sounds/splat.ogg

or

/bin/bash -c "/usr/bin/mplayer /usr/share/aisleriot/sounds/splat.ogg"

et essayez de l'accrocher à n'importe quel type de combinaison de clavier, cela ne fonctionne pas ...

MISE À JOUR: J'ai essayé xbindkeys et aucun de mes exemples ne fonctionne. Toujours fasciné de savoir pourquoi le Custom Shortcuts ne fait pas grand chose. Dans l'attente d'une solution.

[hpenvy15 ~] $ mkdir ~/bin ; ls -l -d1 ~/bin | wc -l
1
[hpenvy15 ~] $ cat > ~/bin/left.sh
#!/bin/bash
sleep 0.1 && wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,0,0,`xwininfo -root | grep Width | awk '{ print (($2/2))}'`,`xwininfo -root | grep Height | awk '{ print $2 }'`
^C
[hpenvy15 ~] $ cat > ~/bin/right.sh
#!/bin/bash
sleep 0.1 && wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,`xwininfo -root | grep Width | awk '{ print (($2/2)+5) ",0," (($2/2)) }'`,`xwininfo -root | grep Height | awk '{ print $2 }'`
^C

[hpenvy15 ~] $ Sudo apt-get install xbindkeys
Reading package lists... Done
Building dependency tree       
Reading state information... Done
xbindkeys is already the newest version.
0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.

printf '"bash $HOME/bin/left.sh"\n Mod4+Super_L+Left\n' > ~/.xbindkeysrc
printf '"bash $HOME/bin/right.sh"\n Mod4+Super_L+Right\n' >> ~/.xbindkeysrc
xbindkeys

Si je tape alors control+alt+b Je peux entendre un son de batterie, mais rien ne se passe.

Des idées?

2
719016

Voici les étapes:

  1. Créez un fichier de script qui démarre la ligne #!/bin/bash suivi de votre commande donnée dans la question.
  2. Sudo apt-get install xbindkeys
  3. Type:

    printf '"bash $HOME/bin/left.sh"\n Control+Alt+A\n' > ~/.xbindkeysrc 
    printf '"bash $HOME/bin/right.sh"\n Control+Alt+F\n' >> ~/.xbindkeysrc
    
    xbindkeys
    

Maintenant, vérifiez si cela fonctionne.

J'espère que ça marchera.

0
Wolverine