PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

blog-libre : Alt-Tab, mémoire spatiale et toogle.sh

samedi 28 avril 2018 à 11:46

J’utilise principalement 3 applications : Terminator (terminal), Firefox (navigateur), Sublime Text (éditeur). J’ai besoin de basculer extrêmement rapidement et régulièrement entre ces trois outils. Le problème (ou le besoin) est identifié, il me faut une solution.

Je n’ai jamais réellement travaillé avec Alt+Tab, je connais évidemment mais j’utilisais très peu. Je mets ça sur le compte de 20 ans de Windows qui nivelle par le bas… on clique. Maintenant que je dois vraiment m’y mettre, je « découvre ». Aviez-vous déjà remarqué qu’on ne bascule pas de la même manière entre les onglets sur Firefox (Ctrl+Tab) et les applications (Alt+Tab) ?

Lorsqu’on fait Ctrl+Tab sur la grande majorité des applications, on passe à l’onglet suivant. Lorsqu’on fait Alt+Tab, on passe à la dernière application utilisée. Le Ctrl+Tab suit une logique ordonnée de gauche à droite, le Alt+Tab suit une logique temporelle qu’on appelle MRU (Most Recently Used, Plus récemment utilisé). Avec Alt+Tab on remonte la liste des applications utilisées chronologiquement. A noter qu’on peut employer ce fonctionnement sur Firefox.

Grâce à un fil Hacker News, je suis remonté à Solving the Alt-Tab Problem et Solving the real Alt-Tab problem (DeepL pour traduire) qu’il vous faut lire : 1/ Mémoire spatiale 2/ Le fonctionnement de Alt+Tab est différent entre Mac et Windows 3/ Pourquoi avoir deux fonctionnement distincts entre Ctrl+Tab et Alt+Tab (l’habitude…) ? 4/ Peut-on faire mieux que MRU ?

C’est la mémoire spatiale qui m’a le plus passionné. En utilisant activement Alt+Tab, on ne regarde même plus l’application vers laquelle on va basculer. On le sait. Le basculement avec Alt+Tab va éviter de « casser » sa concentration. Je ressens cette perte de concentration lorsque je suis concentré sur une tâche, je souhaite basculer sur une autre application, je regarde la barre des tâches puis je clique sur l’application désirée. Je ne suis alors plus dans le fil de mes pensées, dans mon workflow, concentré sur la tâche que j’étais en train d’effectuer, je viens de m’arrêter pour chercher mon chemin. Avec Alt+Tab je reste dans mes pensées, concentré sur ce que je fais.

Cette mémoire spatiale a des limites, 2-3 applications on ne perd pas le fil de ses pensées en basculant entre elles. Quand il y en a 10, on est obligé de se concentrer pour retrouver l’application désirée, on perd le fil. Mais puisqu’il s’agit de mémoire spatiale, de cheminement, posons des jalons (ce qui sert de point de repère, d’étape dans un raisonnement, dans un processus). Quand bien même on a 10 applications ouvertes, on en utilise seulement 2-3 sur la tâche courante, parfois il est nécessaire d’en utiliser une en plus. Au final on a besoin de réordonner rapidement notre mémoire spatiale, on pose donc un jalon pour s’y retrouver. Alt+Tab permet toujours de basculer entre les applications mais on configure un raccourci supplémentaire pour basculer systématiquement sur une application précise.

Il reste à configurer « en dur » les 3 applications qu’on utilise le plus afin de basculer entre les applications et réordonner notre mémoire spatiale sans perdre le fil de nos pensées. Attention les raccourcis clavier pour appeler ces applications doivent être soigneusement choisis/testés car si vous « cherchez » le raccourci ou que vous n’arrivez pas à le taper, vous perdez le fil. A l’heure actuelle j’ai configuré toogle.sh avec Terminator (Ctrl+Espace), Firefox (²) et je réfléchis encore pour Sublime Text.

#!/bin/bash
#
# apt install xdotool wmctrl
# wmctrl -lpx
# cat /proc/$(pgrep firefox)/status
# /home/cascador/scripts/toggle.sh Navigator.Firefox firefox
# /home/cascador/scripts/toggle.sh terminator.Terminator terminator
# /home/cascador/scripts/toggle.sh sublime_text.Sublime_text /opt/sublime_text/sublime_text
#

focused=$(xdotool getactivewindow getwindowpid)
pid_app=$(pgrep -u "$(whoami)" -x "${2##*/}" | head -n 1)

if [ -z "$pid_app" ]; then
    "$2";
else
	if [[ "$focused" == "$pid_app" ]]; then
    	xdotool getactivewindow windowminimize;
	else
    	wmctrl -x -R "$1";
	fi
fi

exit 0

Je suis parti de cet article, j’ai fait un grand ménage avant de me rendre compte que ça fonctionnait mal donc j’ai tout revu. Ça fait globalement la même chose qu’avec Guake (tiling terminal), ça affiche/cache l’application en appuyant sur un raccourci. Si on le configure avec Firefox par exemple, voici le fonctionnement : 1/ Si Firefox n’est pas lancé et qu’on appelle le script, il lance Firefox 2/ Si Firefox est lancé et au premier plan et qu’on appelle le script, il réduit Firefox basculant le focus sur l’application précédente 3/ Si Firefox est lancé mais pas au premier plan et qu’on appelle le script, il affiche Firefox au premier plan

Le script ne doit pas être modifié. C’est dans Paramètres, Clavier, Onglet Raccourcis d’applications (je suis sur Xubuntu) qu’on ajoute les commandes.

J’effectue également les modifications suivantes :

Sinon il y a i3 et Sway ha ha ha !

Gravatar de blog-libre
Original post of blog-libre.Votez pour ce billet sur Planet Libre.