Un gestionnaire d’espaces de travail fondé sur l’arborescence
Le développeur Charlie Holland a publié space-tree, un gestionnaire d’espaces de travail pour l’éditeur Emacs. Contrairement aux solutions existantes – qu’il s’agisse des bureaux virtuels des systèmes d’exploitation (macOS Spaces, i3, GNOME) ou des modules Emacs comme tab-bar – space-tree organise les espaces de travail non pas en ligne ou en grille, mais en arbre : chaque espace peut en contenir un autre, à une profondeur arbitraire.
Holland expose son projet sur son blog, daté du 27 mai 2026. Il précise que space-tree repose sur les primitives natives d’Emacs window-state-get et window-state-put. L’implémentation utilise une table de hachage imbriquée pour la structure arborescente, une table plate pour les captures d’état des fenêtres, et une table creuse pour les noms facultatifs.
Pourquoi la hiérarchie plutôt que la liste ?
L’auteur consacre une partie importante de son billet à justifier le choix de l’arborescence par la psychologie cognitive. Il invoque les limites de la mémoire de travail (Cowan, 2001), le concept de « chunking » issu des travaux de Chase et Simon (1973), et les gains de mémorisation démontrés par Bower et al. (1969). Selon lui, une organisation hiérarchique conçue par l’utilisateur est plus facile à maintenir en mémoire qu’une organisation plate de même volume.
Holland compare l’espace de travail numérique à l’organisation physique : « une maison a des pièces, les pièces ont des étagères, les étagères ont des tiroirs », écrit-il, citant la méthode Marie Kondo. Il note que l’organisation physique est « récursive ou arborescente », alors que les espaces de travail numériques ne le sont presque jamais.
Cinq exigences de conception
space-tree répond à cinq exigences énoncées par son créateur :
- Profondeur arbitraire (et non largeur arbitraire) ;
- Pas d’obligation de nommer chaque espace (« naming tax ») ;
- Pas de persistance obligatoire (fonctionnement uniquement en session) ;
- Pas de cloisonnement des tampons par espace de travail ;
- Construction sur les mécanismes existants d’Emacs.
Holland souligne que space-tree ne remplace pas les outils de projet, de session ou de fenêtrage déjà présents dans Emacs. Il se concentre uniquement sur la commutation entre dispositions de fenêtres.
Un champ déjà fourni
L’auteur compare space-tree à sept autres solutions de gestion d’espaces de travail pour Emacs. Selon lui, space-tree est la seule à offrir une structure de profondeur arbitraire, un nommage optionnel et un modèle mémoire limité à la session en cours. Le code est disponible sur GitHub, et l’installation se fait par use-package avec un raccourci clavier basé sur la touche Super.