{
 "url": "https://11d.im/journal/2025/1213005031-niri-paperwm-exploration/",
 "published": "Sat Dec 13 2025 01:23:43 GMT+0100 (Central European Standard Time)",
 "updated": "Tue Sep 15 2026 09:38:55 GMT+0200 (Central European Summer Time)",
 "author": {
  "name": "tk",
  "url": "https://11d.im"
 },
 "content": "<section>\n<p>Je profite d'avoir du temps et un nouvel ordinateur pour me faire une configuration \u00e0 ma sauce.\nAvoir choisi Arch Linux demande un investissement important en temps au d\u00e9but, mais cette distribution et sa documentation ont la vertu de permettre de comprendre le fonctionnement d'un empilement de logiciels dans le moindre d\u00e9tail.\nJ'avais des intuitions et une vue d'ensemble des diff\u00e9rentes composantes (serveur graphique, gestionnaire de fen\u00eatre, de session, etc.), mais d'avoir tout assembl\u00e9 \u00e0 la main me donne l'impression d'en avoir maintenant une vision plus pr\u00e9cise et mieux contr\u00f4l\u00e9e.\nTout cela m'a donn\u00e9 envie de me replonger dans un environnement en kit plut\u00f4t que la bonne exp\u00e9rience guid\u00e9e que peut offrir Gnome.</p>\n</section>\n<section>\n<div class=\"section-link\">\n<a class=\"no-tufte-underline\" href=\"https://11d.im/journal/2025/1213005031-niri-paperwm-exploration/#des-histoires-de-disposition-de-fen%C3%AAtres\"></a><h2 id=\"des-histoires-de-disposition-de-fen%C3%AAtres\" tabindex=\"-1\">des histoires de disposition de fen\u00eatres</h2>\n</div>\n<p>Il y a quelques ann\u00e9es, je m'\u00e9tais lass\u00e9 d'<a href=\"https://i3wm.org/\">i3</a> qui fait partie de la famille des gestionnaires de fen\u00eatre ayant pour parti pris que les fen\u00eatres ne se superposent pas.\n<label class=\"margin-toggle\" for=\"mn-xerox\">\u2295</label><input class=\"margin-toggle\" id=\"mn-xerox\" type=\"checkbox\"/><span class=\"marginnote\">Le <a href=\"https://en.wikipedia.org/wiki/Xerox_Star\">Xerox Star</a>, le premier PC commercialis\u00e9 pour le grand public, venait avec <a href=\"https://en.wikipedia.org/wiki/Xerox_Star#User_interface\">une interface graphique</a> introduisant le concept de fen\u00eatre et un syst\u00e8me de pavage imposant une non-superposition, sauf pour certains cas, comme les menus d'option.</span></p>\n<p>\u00c0 partir de l\u00e0, il y a une logique relativement intuitive :\nles nouvelles fen\u00eatres s'ouvrent \u00e0 c\u00f4t\u00e9 ou en dessous,\nles fen\u00eatres sont permutables horizontalement ou verticalement,\net enfin, pour que tout tienne \u00e0 l'\u00e9cran, les fen\u00eatres sont organis\u00e9es en espace de travail (<em>workspace</em>).</p>\n<!--\nins\u00e9rer capture d'\u00e9cran paperwm\n--->\n<figure><img alt=\"Une capture d'\u00e9cran de l'environnement Gnome avec le greffon PaperWM. On voit deux fen\u00eatres c\u00f4te \u00e0 c\u00f4te se partageant \u00e9quitablement l'\u00e9cran. \u00c0 droite, un \u00e9diteur de texte, neovim, dans un terminal et ouvert sur la version markdown de cet article. De l'autre c\u00f4t\u00e9, une fen\u00eatre de navigateur affichant le rendu html dans un navigateur.\" height=\"1125\" src=\"https://11d.im/img/N69EBGNZdE-2000.png\" width=\"2000\"/></figure>\n<p><a href=\"https://github.com/paperwm/PaperWM\">PaperWM</a> est un greffon pour l'environnement <a href=\"https://www.gnome.org/\">Gnome</a> permettant de reprendre cette logique en y ajoutant une id\u00e9e suppl\u00e9mentaire : pas de contrainte horizontale pour les espaces de travail.\nIl faut s'imaginer les fen\u00eatres comme autant de feuilles de papier mises c\u00f4te \u00e0 c\u00f4te.\n<label class=\"margin-toggle\" for=\"mn-material-shell\">\u2295</label><input class=\"margin-toggle\" id=\"mn-material-shell\" type=\"checkbox\"/><span class=\"marginnote\">J'avais \u00e9galement test\u00e9 pendant quelques jours <a href=\"https://material-shell.com\">material shell</a> qui \u00e9tait bien sur le papier, mais \u00e9tait trop bugg\u00e9 pour un usage pragmatique.\nLe site explique d'ailleurs tr\u00e8s bien les id\u00e9es sous-jacentes \u00e0 cette famille de patterns.</span></p>\n<p>Tout l'int\u00e9r\u00eat de ces logiciels est qu'ils permettent de naviguer dans l'interface utilisateur graphique en utilisant autant que possible le clavier.\nComme toutes les fen\u00eatres suivent un pavage, il suffit alors de reporter sur les notions de haut, bas, gauche et droite.\nDans un certain espace de pratique, celui de vim, il est courant d'avoir ces quatre commandes report\u00e9es sur les lettres <code>h</code>, <code>j</code>, <code>k</code>, et <code>l</code>, \u00e9vitant ainsi d'avoir besoin de touches correspondant aux fl\u00e8ches ou de d\u00e9pla\u00e7ant sa main trop loin.\nLa touche <code>j</code> est \u00e9galement celle qui est cens\u00e9e se trouver sous l'index de la main droite.\nC'est \u00e0 \u00e7a que servent les bitoniaux sur les claviers.</p>\n<p>Je ne sais pas si Gnome est l'environnement graphique le plus populaire, mais il est l'un des principaux.\nIl a notamment remplac\u00e9 Unity dans Ubuntu, une distribution Linux populaire et accessible.\nJ'aime bien Gnome, car j'aime bien avoir le sentiment d'\u00eatre un normie et d'avoir une impression sur l'exp\u00e9rience utilisateur d'une personne utilisant un ordinateur sous Linux de fa\u00e7on normale.\nLa surcouche de PaperWM n'\u00e9tant qu'une petite extravagance qui passe facilement inaper\u00e7ue.</p>\n<figure><img alt=\"Une capture d'\u00e9cran d'un environnement de travail utilisant niri. Au centre, une fen\u00eatre affichant un terminal dans lequel tourne neovim et le contenu de cet article. \u00c0 c\u00f4t\u00e9, une autre fen\u00eatre de terminal dans lequel on peut voir le logo d'Arch Linux, une sorte de A, en ASCII.\" height=\"1080\" src=\"https://11d.im/img/JcOrsje3Ch-1920.png\" width=\"1920\"/></figure>\n<p>Sauf que je souffre aussi d'une forme avanc\u00e9e d'hipsterisme.\nJe me suis donc laiss\u00e9 tent\u00e9 par <a href=\"https://github.com/YaLTeR/niri\">niri</a>, un gestionnaire de fen\u00eatre reprenant les codes de PaperWM, mais en repartant de z\u00e9ro, sans me reposer sur Gnome pour tout le reste.\nCela laisse la libert\u00e9 de choisir les diff\u00e9rentes briques logicielles de l'interface :\nun gestionnaire de barre (waybar par d\u00e9faut),\nun gestionnaire de notification (mako par d\u00e9faut),\nde quoi d\u00e9marrer de nouvelles applications (fuzzel par d\u00e9faut),\nun gestionnaire de fond d'\u00e9cran (waybg par d\u00e9faut),\netc.\nPour ne pas se prendre trop la t\u00eate, il existe aussi des <em>shells</em> pour s'occuper de tout sauf de la gestion des fen\u00eatres.\n<a href=\"https://quickshell.org/\">QuickShell</a> est le <em>shell</em> qui a l'air d'avoir le vent en poupe.</p>\n<p>Il y a un certain plaisir \u00e0 sortir des sentiers battus impos\u00e9s par l'outil et de l'adapter autant \u00e0 nos go\u00fbts et \u00e0 nos envies.\nUne sorte de reprise de contr\u00f4le sur la machine, mais n\u00e9cessitant tout de m\u00eame un effort et du temps qui est un luxe, proprement inaccessible.\nUn autre risque est une combinaison de client\u00e9lisme et de consum\u00e9risme.\nPasser d'un logiciel, ou d'un environnement, \u00e0 un autre par effet de mode ou opportunit\u00e9 de procrastination.\nNiri est programm\u00e9 avec le langage <em>Rust</em>, qui est tr\u00e8s bien, mais aussi tr\u00e8s \u00e0 la mode et donc \u00e0 approcher avec une l\u00e9g\u00e8re attention.\nJe crois que c'est ce que j'aimais bien dans i3, son petit c\u00f4t\u00e9 simple, vieillot et d\u00e9mod\u00e9.</p>\n<p>Cette libert\u00e9 peut alors donner lieu \u00e0 des configurations extr\u00eames et hyperpersonnalis\u00e9es qui rappellent d'une certaine mani\u00e8re le bon vieux temps de winamp ou des logiciels pour d\u00e9corer ses fen\u00eatres Windows XP.\n<label class=\"margin-toggle\" for=\"mn-niche\">\u2295</label><input class=\"margin-toggle\" id=\"mn-niche\" type=\"checkbox\"/><span class=\"marginnote\">Il serait certainement possible d'avoir le m\u00eame genre de r\u00e9flexions concernant des sujets de niche qui font fureur sur Mastodon, comme les claviers m\u00e9caniques, les layouts exotiques, les v\u00e9los, etc.</span></p>\n<p>Sur le subreddit <a href=\"https://www.reddit.com/r/unixporn/\">/r/unixporn</a> des internautes s'en donnent \u00e0 c\u0153ur joie.\nLa blague \u00e9tant apr\u00e8s de demander ce qu'iels font de l'ordi une fois que tout est configur\u00e9.</p>\n</section>\n<section>\n<div class=\"section-link\">\n<a class=\"no-tufte-underline\" href=\"https://11d.im/journal/2025/1213005031-niri-paperwm-exploration/#la-pratique\"></a><h2 id=\"la-pratique\" tabindex=\"-1\">la pratique</h2>\n</div>\n<p>Le principe est assez simple.\nJe peux naviguer entre les fen\u00eatres et les espaces de travail avec une seule main : pouce sur la touche <code>mod</code> (alt droite ou altgr chez moi) et les quatre doigts sur l'\u00e9quivalent de <code>hjkl</code> sur mon layout maison.\nPour d\u00e9placer une fen\u00eatre, je rajoute la touche <code>shift</code>.\nPour d\u00e9placer un espace de travail, je rajoute la touche <code>ctrl</code>.</p>\n<p>La vie \u00e9tant bien faite, je peux avoir les m\u00eames commandes pour PaperWM comme pour niri \u00e0 quelques nuances pr\u00e8s et n\u00e9gligeables.\nMon ordinateur principal \u00e9tant encore sous Gnome/PaperWM, il reste utilisable sans aucune surcharge cognitive. Je passe de l'un \u00e0 l'autre sans friction.</p>\n<ul>\n<li>\n<p><code>mod+n</code> et <code>mod+o</code> pour aller \u00e0 gauche ou \u00e0 droite.</p>\n</li>\n<li>\n<p><code>mod+e</code> et <code>mod+i</code> pour aller d'un espace de travail suivant ou pr\u00e9c\u00e9dent, d'en bas ou d'en haut.</p>\n</li>\n<li>\n<p><code>mod+u</code> et <code>mod+y</code> pour aller de la fen\u00eatre du dessous ou du dessous.\nJ'utilise assez peu la superposition de fen\u00eatres dans la m\u00eame colonne.\nC'est au cas o\u00f9 et par conscience de ne pas \u00eatre pris un jour au d\u00e9pourvu.</p>\n</li>\n<li>\n<p><code>mod+shift+direction</code> : tout ce qui concerne le mouvement des fen\u00eatres.</p>\n</li>\n<li>\n<p><code>mod+ctrl+direction</code> : tout ce qui concerne le mouvement des workspaces.\n<label class=\"margin-toggle\" for=\"mn-paperwm\">\u2295</label><input class=\"margin-toggle\" id=\"mn-paperwm\" type=\"checkbox\"/><span class=\"marginnote\">Cette manipulation est, pour l'instant, impossible dans PaperWM.</span></p>\n</li>\n</ul>\n<p>Autant PaperWM que niri, et i3, ont un syst\u00e8me de <em>scratchpad</em> avec des fen\u00eatres volantes qui peuvent \u00eatre appel\u00e9es dans n'importe quel espace de travail.\nUn peu comme la console venant avec la touche <code>~</code> dans Quake.\nCependant je pr\u00e9f\u00e8re que chacun des espaces soit accessible sans avoir \u00e0 faire tout un itin\u00e9raire.\nJe sais que, par exemple, le premier est celui des terminaux,\nle second est celui du navigateur et de la prise de notes,\nle troisi\u00e8me est celui de la communication o\u00f9 r\u00e8gne le client mail (thunderbird ou aerc) ainsi que signal,\net le quatri\u00e8me enfin, est consacr\u00e9 \u00e0 l'\u00e9criture.\nLes autres espaces sont souvent temporaires.\nJe peux passer d'un espace \u00e0 l'autre en appuyant sur la touche <code>mod</code> et le num\u00e9ro de l'espace de travail, <code>mod+1</code>, <code>mod+2</code>, etc.\nJe n'ai ainsi pas \u00e0 savoir o\u00f9 est quelle fen\u00eatre.</p>\n<p>Sur codeberg, il est possible de voir <a href=\"https://codeberg.org/taniki/dotfiles/src/branch/main/niri/.config/niri/binds.kdl\">mes fichiers de configuration niri</a>.</p>\n</section>",
 "content-plain": "Je profite d'avoir du temps et un nouvel ordinateur pour me faire une configuration \u00e0 ma sauce. Avoir choisi Arch Linux demande un investissement important en temps au d\u00e9but, mais cette distribution et sa documentation ont la vertu de permettre de comprendre le fonctionnement d'un empilement de logiciels dans le moindre d\u00e9tail. J'avais des intuitions et une vue d'ensemble des diff\u00e9rentes composantes (serveur graphique, gestionnaire de fen\u00eatre, de session, etc.), mais d'avoir tout assembl\u00e9 \u00e0 la main me donne l'impression d'en avoir maintenant une vision plus pr\u00e9cise et mieux contr\u00f4l\u00e9e. Tout cela m'a donn\u00e9 envie de me replonger dans un environnement en kit plut\u00f4t que la bonne exp\u00e9rience guid\u00e9e que peut offrir Gnome.\n des histoires de disposition de fen\u00eatres\nIl y a quelques ann\u00e9es, je m'\u00e9tais lass\u00e9 d'i3 qui fait partie de la famille des gestionnaires de fen\u00eatre ayant pour parti pris que les fen\u00eatres ne se superposent pas. \u2295Le Xerox Star, le premier PC commercialis\u00e9 pour le grand public, venait avec une interface graphique introduisant le concept de fen\u00eatre et un syst\u00e8me de pavage imposant une non-superposition, sauf pour certains cas, comme les menus d'option.\n\n\u00c0 partir de l\u00e0, il y a une logique relativement intuitive : les nouvelles fen\u00eatres s'ouvrent \u00e0 c\u00f4t\u00e9 ou en dessous, les fen\u00eatres sont permutables horizontalement ou verticalement, et enfin, pour que tout tienne \u00e0 l'\u00e9cran, les fen\u00eatres sont organis\u00e9es en espace de travail (workspace).\n Une capture d'\u00e9cran de l'environnement Gnome avec le greffon PaperWM. On voit deux fen\u00eatres c\u00f4te \u00e0 c\u00f4te se partageant \u00e9quitablement l'\u00e9cran. \u00c0 droite, un \u00e9diteur de texte, neovim, dans un terminal et ouvert sur la version markdown de cet article. De l'autre c\u00f4t\u00e9, une fen\u00eatre de navigateur affichant le rendu html dans un navigateur.\nPaperWM est un greffon pour l'environnement Gnome permettant de reprendre cette logique en y ajoutant une id\u00e9e suppl\u00e9mentaire : pas de contrainte horizontale pour les espaces de travail. Il faut s'imaginer les fen\u00eatres comme autant de feuilles de papier mises c\u00f4te \u00e0 c\u00f4te. \u2295J'avais \u00e9galement test\u00e9 pendant quelques jours material shell qui \u00e9tait bien sur le papier, mais \u00e9tait trop bugg\u00e9 pour un usage pragmatique. Le site explique d'ailleurs tr\u00e8s bien les id\u00e9es sous-jacentes \u00e0 cette famille de patterns.\n\nTout l'int\u00e9r\u00eat de ces logiciels est qu'ils permettent de naviguer dans l'interface utilisateur graphique en utilisant autant que possible le clavier. Comme toutes les fen\u00eatres suivent un pavage, il suffit alors de reporter sur les notions de haut, bas, gauche et droite. Dans un certain espace de pratique, celui de vim, il est courant d'avoir ces quatre commandes report\u00e9es sur les lettres h, j, k, et l, \u00e9vitant ainsi d'avoir besoin de touches correspondant aux fl\u00e8ches ou de d\u00e9pla\u00e7ant sa main trop loin. La touche j est \u00e9galement celle qui est cens\u00e9e se trouver sous l'index de la main droite. C'est \u00e0 \u00e7a que servent les bitoniaux sur les claviers.\n\nJe ne sais pas si Gnome est l'environnement graphique le plus populaire, mais il est l'un des principaux. Il a notamment remplac\u00e9 Unity dans Ubuntu, une distribution Linux populaire et accessible. J'aime bien Gnome, car j'aime bien avoir le sentiment d'\u00eatre un normie et d'avoir une impression sur l'exp\u00e9rience utilisateur d'une personne utilisant un ordinateur sous Linux de fa\u00e7on normale. La surcouche de PaperWM n'\u00e9tant qu'une petite extravagance qui passe facilement inaper\u00e7ue.\n Une capture d'\u00e9cran d'un environnement de travail utilisant niri. Au centre, une fen\u00eatre affichant un terminal dans lequel tourne neovim et le contenu de cet article. \u00c0 c\u00f4t\u00e9, une autre fen\u00eatre de terminal dans lequel on peut voir le logo d'Arch Linux, une sorte de A, en ASCII.\nSauf que je souffre aussi d'une forme avanc\u00e9e d'hipsterisme. Je me suis donc laiss\u00e9 tent\u00e9 par niri, un gestionnaire de fen\u00eatre reprenant les codes de PaperWM, mais en repartant de z\u00e9ro, sans me reposer sur Gnome pour tout le reste. Cela laisse la libert\u00e9 de choisir les diff\u00e9rentes briques logicielles de l'interface : un gestionnaire de barre (waybar par d\u00e9faut), un gestionnaire de notification (mako par d\u00e9faut), de quoi d\u00e9marrer de nouvelles applications (fuzzel par d\u00e9faut), un gestionnaire de fond d'\u00e9cran (waybg par d\u00e9faut), etc. Pour ne pas se prendre trop la t\u00eate, il existe aussi des shells pour s'occuper de tout sauf de la gestion des fen\u00eatres. QuickShell est le shell qui a l'air d'avoir le vent en poupe.\n\nIl y a un certain plaisir \u00e0 sortir des sentiers battus impos\u00e9s par l'outil et de l'adapter autant \u00e0 nos go\u00fbts et \u00e0 nos envies. Une sorte de reprise de contr\u00f4le sur la machine, mais n\u00e9cessitant tout de m\u00eame un effort et du temps qui est un luxe, proprement inaccessible. Un autre risque est une combinaison de client\u00e9lisme et de consum\u00e9risme. Passer d'un logiciel, ou d'un environnement, \u00e0 un autre par effet de mode ou opportunit\u00e9 de procrastination. Niri est programm\u00e9 avec le langage Rust, qui est tr\u00e8s bien, mais aussi tr\u00e8s \u00e0 la mode et donc \u00e0 approcher avec une l\u00e9g\u00e8re attention. Je crois que c'est ce que j'aimais bien dans i3, son petit c\u00f4t\u00e9 simple, vieillot et d\u00e9mod\u00e9.\n\nCette libert\u00e9 peut alors donner lieu \u00e0 des configurations extr\u00eames et hyperpersonnalis\u00e9es qui rappellent d'une certaine mani\u00e8re le bon vieux temps de winamp ou des logiciels pour d\u00e9corer ses fen\u00eatres Windows XP. \u2295Il serait certainement possible d'avoir le m\u00eame genre de r\u00e9flexions concernant des sujets de niche qui font fureur sur Mastodon, comme les claviers m\u00e9caniques, les layouts exotiques, les v\u00e9los, etc.\n\nSur le subreddit /r/unixporn des internautes s'en donnent \u00e0 c\u0153ur joie. La blague \u00e9tant apr\u00e8s de demander ce qu'iels font de l'ordi une fois que tout est configur\u00e9.\n la pratique\nLe principe est assez simple. Je peux naviguer entre les fen\u00eatres et les espaces de travail avec une seule main : pouce sur la touche mod (alt droite ou altgr chez moi) et les quatre doigts sur l'\u00e9quivalent de hjkl sur mon layout maison. Pour d\u00e9placer une fen\u00eatre, je rajoute la touche shift. Pour d\u00e9placer un espace de travail, je rajoute la touche ctrl.\n\nLa vie \u00e9tant bien faite, je peux avoir les m\u00eames commandes pour PaperWM comme pour niri \u00e0 quelques nuances pr\u00e8s et n\u00e9gligeables. Mon ordinateur principal \u00e9tant encore sous Gnome/PaperWM, il reste utilisable sans aucune surcharge cognitive. Je passe de l'un \u00e0 l'autre sans friction.\n\nmod+n et mod+o pour aller \u00e0 gauche ou \u00e0 droite.\n\nmod+e et mod+i pour aller d'un espace de travail suivant ou pr\u00e9c\u00e9dent, d'en bas ou d'en haut.\n\nmod+u et mod+y pour aller de la fen\u00eatre du dessous ou du dessous. J'utilise assez peu la superposition de fen\u00eatres dans la m\u00eame colonne. C'est au cas o\u00f9 et par conscience de ne pas \u00eatre pris un jour au d\u00e9pourvu.\n\nmod+shift+direction : tout ce qui concerne le mouvement des fen\u00eatres.\n\nmod+ctrl+direction : tout ce qui concerne le mouvement des workspaces. \u2295Cette manipulation est, pour l'instant, impossible dans PaperWM.\n\nAutant PaperWM que niri, et i3, ont un syst\u00e8me de scratchpad avec des fen\u00eatres volantes qui peuvent \u00eatre appel\u00e9es dans n'importe quel espace de travail. Un peu comme la console venant avec la touche ~ dans Quake. Cependant je pr\u00e9f\u00e8re que chacun des espaces soit accessible sans avoir \u00e0 faire tout un itin\u00e9raire. Je sais que, par exemple, le premier est celui des terminaux, le second est celui du navigateur et de la prise de notes, le troisi\u00e8me est celui de la communication o\u00f9 r\u00e8gne le client mail (thunderbird ou aerc) ainsi que signal, et le quatri\u00e8me enfin, est consacr\u00e9 \u00e0 l'\u00e9criture. Les autres espaces sont souvent temporaires. Je peux passer d'un espace \u00e0 l'autre en appuyant sur la touche mod et le num\u00e9ro de l'espace de travail, mod+1, mod+2, etc. Je n'ai ainsi pas \u00e0 savoir o\u00f9 est quelle fen\u00eatre.\n\nSur codeberg, il est possible de voir mes fichiers de configuration niri.",
 "syndication": [],
 "type": "entry",
 "name": "naviguer en dehors de la fen\u00eatre"
}