Puis-je afficher le panneau dans Xfce en appuyant sur une touche plutôt qu'en survolant le curseur de la souris pour le révéler?

17

Je voudrais pouvoir afficher le panneau Xfce en appuyant sur une touche au lieu de placer le curseur de la souris au bord de l'écran.

J'utilise Xubuntu 12.04 mais mis à jour vers Xfce 4.10

Borsook
la source
hmmm .. Je pense que je pourrais trouver quelque chose qui pourrait déplacer votre souris là-bas sur une touche. Est-ce que ça ferait ce que vous voulez?
Seth
@iSeth - si rien de mieux n'est possible, alors oui. Mais de manière optimale, j'aimerais pouvoir appuyer sur une touche et voir le panneau indépendamment de l'endroit où se trouve le curseur ...
Borsook

Réponses:

10

Prenez les commandes suivantes et associez-les à des combinaisons de super-touches distinctes:

Commandes pour Xfce 4.12 à Xfce 4.14:

Les commandes suivantes sont désormais utilisées pour définir les propriétés de masquage automatique:

xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 0
xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 1 
xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 2

Commandes pour Xfce 4.10:

xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -s false
xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -s true

Mise à jour: 12/09/2018 : Comme mentionné dans les commentaires, les commandes ci-dessus ne sont plus prises en charge.

Valeurs de commande:

La valeur «0» est utilisée pour «jamais» masquer automatiquement. La valeur «1» sert à masquer «intelligemment» automatiquement le panneau et «2» est utilisée pour définir la valeur sur «toujours» masquer automatiquement.

Définition des raccourcis clavier:

Cela peut être fait en sélectionnant, Menu Applications → Paramètres → Clavier → Raccourcis d'application, ou en exécutant à xfce4-keyboard-settingspartir de la ligne de commande ( Ctrl+ Alt+ t).

J'ai lié la première commande à Super+ u(pour «afficher» le panneau). Pour la deuxième commande, je lie Super+ h(pour «masquer» le panneau).

Comme vous pouvez le voir dans les commandes ci-dessus, le comportement n'est modifié que sur un seul panneau (dans ce cas, le panneau-0 est en cours de modification).

Vous pouvez remarquer un léger retard pendant que le panneau change d'état.

Plus de détails sur la xfconf-querycommande peuvent être trouvés dans la documentation Xfce ou à partir de ce fil sur le forum Xfce .

Kevin Bowen
la source
Hmmm, j'ai essayé et j'ai eu une xconf command not founderreur. Quelle version de Xfce utilisez-vous?
Seth
1
@iSeth La commande ne l'est xfconfpas xconf. ;-) La commande est disponible depuis xfce 4.6. J'exécute xfce 4.10 à partir de ce PPA ppa.launchpad.net/xubuntu-dev/xfce-4.10/ubuntu
Kevin Bowen
Ah, tu as raison. Fonctionne maintenant. +1
Seth
4
Vous pouvez également utiliser l' toggleoption dans Xfce 4.10 et simplement lier une seule commande à une touche: iexfconf-query -c xfce4-panel -p /panels/panel-0/autohide -T
3
Juste pour mettre à jour la dernière version de xfce4-panel. Le dernier panneau xfce4 n'a pas la propriété 'autohide'. Au lieu de cela, il existe un «comportement de masquage automatique» et non plus un booléen, mais une valeur numérique de 0, 1 ou 2. 0: ne jamais masquer, 1: masquer intelligent, 2: toujours masquer. Pour obtenir le même résultat, vous pouvez utiliser xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 0et xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 2.
Richard Wong
4

Essayez cette solution:

Installer xteet xdotoolavecsudo apt-get install xdotool xautomation

Vous pouvez utiliser xdotoolpour trouver les coordonnées x, y de la souris. Ouvrez un type de terminal, xdotool getmouselocationpuis déplacez la souris quelque part où elle activera le panneau et appuyez sur Entrée. Vous obtiendrez une sortie comme:

findclient: 62914741
findclient: 6291474  
x:1282 y:1079 screen:0 window:62914741  

Ce qui est important ici x:1282 y:1079, c'est:, qui nous donne les coordonnées x, y de la souris.

Tapez maintenant xte 'mousemove 1282 1079' (en remplaçant 1282 1079par les coordonnées que vous avez obtenues plus tôt). Cela devrait déplacer la souris où vous le souhaitez.

Vous pouvez utiliser xbindkeyspour lier cette commande à une touche du clavier. Je peux ajouter des instructions sur demande ou vous pouvez les définir dans les paramètres du clavier de Xubuntu.

Seth
la source
2

Éditer:

@JQuigley a souligné "Cela ne fonctionne plus ..." voir les commentaires.


Comme l'a dit Kevin, vous pouvez utiliser xfconf, mais je le ferais de cette façon:

xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -T

le -T bascule la valeur vrai / faux. De cette façon, vous pouvez utiliser la même clé pour masquer / afficher.

Pour obtenir plus d'options, procédez comme suit:

xfconf-query --help

Je voulais faire un commentaire sur la réponse de Kevin, car c'est ce qui m'a mis sur la bonne voie. Mais je suis nouveau ici, pas assez de réputation ..

fede s.
la source
Cela ne fonctionne malheureusement plus; la propriété autohide semble avoir été remplacée par autohide-behavior, qui est un entier pouvant être 0, 1 ou 2. Mais l'approche à deux clés fonctionne toujours. J'imagine également qu'une personne pourrait écrire un petit script à bascule d'une certaine sorte pour peut-être stocker l'état dans un fichier ou quelque chose et permettre à une stratégie à clé de fonctionner à nouveau.
J Quigley
@JQuigley oh, merci de l'avoir signalé. Je ne suis plus sur xfce ... Si c'est le cas, j'irais avec un script pour lire la valeur actuelle et la changer en conséquence (le fichier externe est sujet aux erreurs).
fede s.
2

Le script de topisani ci-dessus fonctionne toujours bien dans xfce 4.12. Vous pouvez changer le panneau cible en changeant panel-0dans le script en panel-1ou panel-2etc. N'oubliez pas qu'il y a deux lignes à changer.

eylem akcay
la source
1

Je sais que j'ai quelques années de retard pour la fête, mais juste pour tous ceux qui pourraient voir cela à l'avenir: Voici un script bash qui bascule le masquage automatique dans le nouveau système, enregistrez simplement cela dans un fichier texte quelque part, exécutez chmod +x file/that/i/savedet définissez le script sur une touche dans Paramètres -> Clavier -> Raccourcis.

#!/bin/bash

cur=$(xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior)
if [[ cur -eq 0 ]]; then
  nxt=1
else
  nxt=0
fi
xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s $nxt
topisani
la source
0

ÉDITER:

Il a été souligné dans un commentaire que la propriété autohide a été changée en quelque chose d'autre, et -T ne fonctionne pas avec la nouvelle: /


Donc, pendant que je m'amusais avec ça, j'ai fait un petit script rubis pour basculer tous les panneaux en même temps. Cela semble fonctionner.

#!/usr/bin/env ruby

#Toggle all panels' autohide property in xfce4
# fede s.
out = `xfconf-query -c xfce4-panel -l`.split
out.inject(Array.new) {|res, val|
    m= /panel-([0-9]+)/.match(val);                 #get the panel numbers
    if m then res.push(m[1]) end;                   #add only if it matches
    res}.sort.uniq.each do                          #filter duplicates
        | num |
            `xfconf-query -c xfce4-panel -p /panels/panel-#{num}/autohide -T` #here is the command that will repeat for every panel found
    end

Ce n'est probablement pas la meilleure façon de le faire, et je ne connais pas grand-chose au rubis, alors n'hésitez pas à me jeter au feu! : P

Si quelqu'un veut l'utiliser:

  1. assurez-vous d'avoir installé ruby.

  2. copiez-le dans un fichier où bon vous semble (j'ai le mien comme ~/scripts/xfce/toogleautohide.rb).

  3. Rendez-le exécutable

    chmod +x path/to/your/script
    
fede s.
la source