Les gestionnaires de fenêtres en mosaïque ont une réputation : pour puristes, pointilleux, le domaine de ceux qui compilent leur propre noyau pour le plaisir. Cette réputation est surtout fausse, et elle gêne une affirmation simple. Pour un travail de concentration, un gestionnaire en mosaïque piloté au clavier bat presque toujours un bureau piloté à la souris, et la raison n'a rien à voir avec l'envie de paraître malin.
La souris est une taxe payée à chaque changement de contexte
Les fenêtres flottantes semblent naturelles parce qu'elles imitent des feuilles sur un bureau. La métaphore du bureau est le problème. Les vrais bureaux s'encombrent, les papiers se chevauchent, et l'on dépense de l'énergie à les déplacer. À l'écran, cette énergie est le trajet de la main vers la souris, la chasse au bord d'une fenêtre, le glisser, le relâcher, la correction.
Pris isolément, cela ne représente rien. Sur une journée passée entre un éditeur, un terminal, un fichier de journal en suivi et un navigateur, cela s'additionne en une vraie friction, et chacun de ces gestes arrive au moment exact où vous alliez penser à autre chose. Le coût n'est pas la seconde que cela prend. C'est l'endroit où cette seconde tombe.
Un gestionnaire de fenêtres en mosaïque supprime entièrement la négociation. Les fenêtres ne se chevauchent pas, elles se partagent l'écran. Quand vous ouvrez quelque chose, cela prend automatiquement sa part de l'espace, et vous passez d'une zone à l'autre d'une simple touche. Vos mains restent sur la rangée de repos.
Le but n'est pas de ressembler à un film de hackers. C'est de faire en sorte que la gestion des fenêtres cesse d'être une décision que l'on prend des centaines de fois par jour.
Les pixels ne sont pas gratuits, et votre attention non plus
Une configuration flottante accumule discrètement deux sortes de gaspillage.
- Des pixels gaspillés : barres de titre, habillage des fenêtres, vides entre fenêtres qui se chevauchent, et le fond d'écran que l'on voit sans jamais l'utiliser.
- De l'attention gaspillée : chaque fenêtre que l'on voit en partie sans l'utiliser mobilise un peu, en permanence, votre concentration.
La mosaïque règle les deux. Chaque pixel est attribué à une fenêtre qui travaille, il n'y a pas d'habillage que vous n'avez pas demandé, et comme les dispositions sont explicites, vous décidez de ce qui est visible : une séparation nette entre le code et un lanceur de tests, sans rien qui dépasse par derrière.
C'est la partie à contre-courant. Plus de minimalisme visuel donne plus d'écran utilisable, pas moins. Un portable de 14 pouces avec un gestionnaire en mosaïque offre souvent une surface de travail réelle supérieure à celle d'un grand moniteur enseveli sous des fenêtres flottantes empilées, parce que le grand moniteur dépense sa surface en chevauchements.
i3 est un contrat, pas un jouet
Ce qui rend i3 digne d'être appris, c'est qu'il est déterministe. Vous énoncez les règles une fois, en texte brut, et il les respecte. Pas de positions de fenêtres qui dérivent, pas de panneau dont on se demande où il est passé. La configuration est le comportement, et vous pouvez lire la configuration.
Voici l'extrait qui compte quand on débute :
# le modificateur dont dépend chaque raccourci. Mod4 est la touche Super
set $mod Mod4
# un terminal et un lanceur d'applications
bindsym $mod+Return exec --no-startup-id i3-sensible-terminal
bindsym $mod+d exec --no-startup-id rofi -show drun
# déplacer le focus avec la rangée de repos, style vim
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# orientation de la découpe : la fenêtre suivante s'ouvre-t-elle à côté ou en dessous
bindsym $mod+v split v
bindsym $mod+b split h
# un mode de redimensionnement que l'on active et quitte délibérément, pour que h et l puissent signifier
# autre chose tant que l'on est dedans
mode "resize" {
bindsym h resize shrink width 5 px or 5 ppt
bindsym l resize grow width 5 px or 5 ppt
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"Lisez cela et vous comprenez le système. bindsym associe une touche à une action, exec lance un programme, et mode ouvre une disposition de touches temporaire pour qu'une même touche puisse signifier « réduire cette fenêtre » pendant le redimensionnement et « focus à gauche » le reste du temps. Il n'y a pas d'état caché ni de démon de paramètres qui détiendrait un avis que vous ne voyez pas.
Là où l'on abandonne, et pourquoi il ne faudrait pas
L'objection honnête : les deux premiers jours sont pénibles. Les réflexes acquis en dix ans de clics ne se transfèrent pas, et vous allez tâtonner. C'est le moment où l'on abandonne, et c'est exactement le mauvais moment pour le faire.
La courbe est concentrée au début et courte, et le bénéfice se cumule pendant des années. Vous échangez deux jours inconfortables contre un flux de travail qui ne vous demande plus jamais d'attraper la souris pour ranger une fenêtre. L'option confortable n'est pas gratuite non plus. Elle vous facture simplement par petites sommes, chaque jour, indéfiniment.
Les réglages par défaut font le destin
Si la mosaïque reste marginale, ce n'est pas parce qu'elle est difficile. C'est que, sur la plupart des systèmes, il faut l'installer, la configurer et la déboguer avant qu'elle serve à quoi que ce soit, et la plupart des gens n'y arrivent jamais. Un flux de travail verrouillé derrière un après-midi de mise en place est un flux de travail que presque personne n'adopte, quelle que soit sa qualité une fois de l'autre côté.
La position de conception de 0dyssey est que i3 doit être le réglage par défaut plutôt qu'une option réservée aux experts, et que le travail peu glorieux est tout l'enjeu : une disposition de touches raisonnable avant même que vous y ayez touché, une configuration qui reste un seul fichier lisible que vous pouvez ouvrir et modifier, une liste consultable des raccourcis pour que la première heure ne soit pas de la devinette, et le flottant à la demande pour les rares applications qui en ont vraiment besoin (éditeurs d'images, appels vidéo) afin que personne n'ait à lutter contre le paradigme pour un travail ordinaire.
Rien de cela n'est un logiciel en fonctionnement que vous pourriez utiliser aujourd'hui. Le système d'exploitation est en développement et il n'y a rien à télécharger. Lisez donc le paragraphe ci-dessus comme une position de conception plutôt que comme une liste de fonctionnalités : rendre facile la bonne chose, et abaisser le coût du chemin difficile jusqu'à ce que l'emprunter soit évident.