Simon Vieille : [Astuce] i3wm : traverser les workspaces
lundi 26 novembre 2012 à 14:54Je suis devenu un vrai fan du gestionnaire de fenêtres i3wm et pour cause, il est ultra simple à scripter :)
Jusqu'à aujourd'hui une fonctionnalité majeure me manquait : pouvoir naviguer vers le workspace qui précède ou qui suit celui courant. On peut switcher entre les deux derniers workspaces qui ont été focused ou se déplacer directement vers un workspace (pour autant qu'un mapping soit prévu).
Pour arriver à combler ce manque, j'ai utilisé i3-msg qui permet de récupérer des informations sur i3wm et de lui donner des instructions. Je script en php car il faut lire du json...et en shell c'est compliqué !
L'algo est simple :
- je récupère les workspaces avec :
i3-msg -t get_workspaces
- je les ordonne par ordre alphabétique (c'est comme ça que i3 les affiche)
- je récupère le workspace courant
- suivant ce qu'on demande, je retourne le workspace qui précède ou suit le workspace courant
- je demande à i3 de switcher vers le workspace via :
i3-msg 'workspace "le nom du workspace cible"'
Le script est disponible ici. Placez-le où vous voulez et renseignez un mapping tel que celui-ci (dans ~/.i3/config
) :
bindsym $mod+p exec ~/bin/i3_switch_workspace.php previous bindsym $mod+n exec ~/bin/i3_switch_workspace.php next
Note : dans ce mapping, mes raccourcis sont window+P pour aller au workspace précédant et window+N pour aller au suivant. Mon script se trouve dans ~/bin/
et le fichier est nommé i3_switch_workspace.php
.
N'oubliez pas de rendre le script exécutable (chmod +x).
Original post of Simon Vieille.Votez pour ce billet sur Planet Libre.
Articles similaires
- Simon Vieille : Projet : du P2P dans une page web (04/09/2012)
- Simon Vieille : Fork, le serpent qui se mord la queue (01/11/2012)
- Simon Vieille : [Test] Arduino Uno, prêt pour de la domotique accessible ? (07/11/2012)