J'essaie de créer une liste rapide sur le lanceur du commutateur d'espace de travail qui permet de passer rapidement à un certain espace de travail. (Mon ami utilise parfois mon ordinateur et n'aime tout simplement pas les raccourcis clavier, donc je veux l'aider.)
Alors, y a-t-il une commande que l'on pourrait taper dans un terminal qui forcerait un certain espace de travail à se concentrer?
Réponses:
Vous pouvez utiliser wmctrl .
Commandes de base:
wmctrl -d
pour afficher tous vos espaces de travail.wmctrl -s <workspace_name>
pour passer à un espace de travail spécifique.Si vous utilisez Compiz, vous devrez faire un tour car les "espaces de travail" Compiz sont en fait des fenêtres d'un seul espace de travail.
Instructions de tour
Vérifiez la sortie de
wmctrl -d
Par exemple, la mienne est:Cela signifie que j'ai en fait un espace de travail de 4098 x 2304 au lieu de ce que je "pense" que j'ai (neuf "espaces de travail", 3 x 3).
J'étais à ce qui était censé être un "espace de travail" 2, mais en fait j'étais à la fenêtre d'affichage (VP) 1366,0 (4098/3 = 1366) comme le montre la sortie ci-dessus.
Voici comment cela fonctionne: nous prenons tout l'espace de travail et divisons pour le nombre d '"espaces de travail" que nous "pensons" avoir. Dans mon cas: 4098/3 = 1366 et 2304/3 = 768.
Si je veux accéder à mon "espace de travail" 1, la commande est:
Ensuite, si je veux aller dans mon "espace de travail" 4, la commande est:
Si je veux aller dans mon "espace de travail" 8, la commande est:
Si je veux aller dans mon "espace de travail" 9, la commande est:
Je l'ai? ;-)
Le
-o
drapeau "tronque" leurs valeurs. En d'autres termes, il modifie "l'espace de travail" auquel appartient le pixel réel. Les éléments suivants sont équivalents:la source
Il est magnifiquement simple de réaliser ce que vous voulez, avec
xdotool
plusieurs options pour gérer différents espaces de travail (également appelés «bureaux» dans la documentation du programme). Je trouve qu'il peut être très intéressant et créatif de regrouper des commandes à partir deman xdotool
; les commandes que j'ai formulées ci-dessous pourraient être utiles dans les scripts.Remarque: Avec certains gestionnaires de fenêtres, ou si vous utilisez
compiz
, vous devrez peut-être utiliser desxdotool
commandes telles queset_desktop_viewport
etget_desktop_viewport
. Vous devrez peut-être spécifier les commandes d'une manière différente, comme le suggère desgua ci-dessus, mais pour moi, les commandesset_desktop
et se sontset_desktop_for_window
avérées les plus utiles sur un système non compiz.)( La solution est la plus utile pour les utilisateurs de Xubuntu / Lubuntu, ou ceux qui n'exécutent pas compiz, etc. )
Pour répertorier le nombre d'espaces de travail actuels, entrez
Les commandes suivantes ne fonctionneront que si vous avez au moins 1 autre espace de travail.
Pour changer le focus sur votre espace de travail 1, entrez simplement
Ensuite, pour revenir à l'espace de travail par défaut, entrez
L'espace de travail doit simplement être spécifié comme dernière valeur de la commande (1 ou 2 ou 3, etc.).
Pour trouver le numéro de l'espace de travail sur lequel vous vous trouvez actuellement, vous pouvez utiliser
Ces commandes peuvent être utilisées dans des scripts et devraient être très utiles pour réaliser ce que vous voulez.
Pour savoir comment basculer les applications vers un bureau particulier, consultez ma réponse ici:
Pour des options plus utiles disponibles pour le changement d'espace de travail, consultez
man xdotool
.la source
xdotool set_desktop --relative -- -1
J'ai implémenté un script qui fait ce que vous voulez. Le voici: https://github.com/norswap/wmov/blob/master/wmov.sh
Cela fonctionne en effet comme décrit dans l'article de Desgua. Il a également la capacité d'envoyer des fenêtres à d'autres espaces de travail.
la source
Il y a un script appelé compiz-send.py sur le wiki compiz qui répond en partie à votre question: ce n'est pas un espace de travail spécifique mais vous pouvez accéder à celui à côté.
Avec cela, vous pouvez émettre une commande
./compiz-dbus-send.py put put_viewport_left_key
./compiz-dbus-send.py put put_viewport_right_key
et faire passer la fenêtre 1 à gauche ou à droite.
la source
Aller à un espace de travail spécifique et y effectuer des actions peut être implémenté avec Python et la bibliothèque pyautogui , qui permet aux scripts Python d'effectuer des clics de souris, des frappes, etc.
J'ai écrit un court tutoriel sur le forum pour Peppermint OS sur le démarrage d'une application sur un lieu de travail spécifique.
la source