No estoy hecho para los Tiling WM
No todos los cambios son a mejor. Y en el caso de que sean revertibles, la verdadera sabiduría es saber cuando hay que darse por vencido y volver a la situación anterior. Aunque siempre podemos extraer apredizajes para la nueva etapa. Esto es lo que me ha pasado en el último año con los Tiling Window Manager, es decir, los gestores de ventanas teselados. Una forma de entender el escritorio de tu ordenador sin usar nada más que tu teclado. Simplicidad y personalización extrema. Pero que he abandonado. He regresado a KDE Plasma.
¿Por qué me atraían?
Todo empezó con Niri. Niri fue el primer tiling WM que usé enserio. Yo había hecho una observación y era que, casi siempre, ejecuto mis programas maximizados. Es decir, que se vea la barra y el programa y poco más. Y uno de los programas que más usaba era Emacs, que básicamente es puro teclado. La idea era que tampoco estaba exprimiendo las posibilidades de los floating window managers como el que usa KDE, donde puedes mover varias ventanas, a tu gusto con el ratón. Y si ya usaba Emacs mucho con el teclado, me iría mejor algo que no me obligase a cambiar al ratón para pasar a la terminal o a Firefox.
Niri
Así pues, elegí Niri, un recién llegado. Eficiente, usando Wayland y el más famoso de los de tipo scroll. Los de tipo scroll disponen todas las ventanas en una tira infinita que podemos recorrer a izquierdas y a derechas, y lo que podemos hacer con las ventanas es mover su orden dentro de la tira y el ancho que ocupan en la tira. Hay más opciones pero esta es la idea principal. Este tipo de uso es similar al que tenemos en los smartphones donde podemos cambiar de app moviendo el dedo hacia un lado u otro en una zona de la pantalla. Se considera que esta mecánica es fácil de entender y por tanto, los tiling WM más sencillos de aprender a usar.
He de decir que Niri está muy bien. Buena documentación sobre la configuración en formato KDL (aunque cuando lo usé no tenía página en la wiki de Arch Linux, la creé yo), ningún fallo grave, un estilo gráfico sobrio pero no espartano (en Sway veremos que esto no es así), el escalado fraccional funcionaba genial y aunque XWayland no iba tan fino, no lo necesitaba demasiadas veces.
Una cosa que deberás hacer si usas Niri es añadir un launcher y una barra. Por ejemplo, fuzzel y waybar. Este último es extremadamente personalizable, tanto la funcionalidad, la ubicación de los botones, sus colores, tipografías, etc Y todo en código. Lo puedes dejar en un repo de Git junto a tu configuración de Niri y tachán, puedes replicarlo en cualquier ordenador. No obstante esto llevaba tiempo.
Sin embargo Niri no es el tiling WM más popular. Quizá los más populares sean Sway/i3 de Wayland y X11 respectivamente. Además con Niri a veces me daba cuenta que perdía mucho tiempo scrolleando, buscando la ventana o simplemente por el hecho de scrollear. Decidio, instalé Sway.
Sway
Sway fue de los primeros tiling WM hechos para Wayland, de hecho crearon wlroots, librería que han acabado usando muchos otros WM y escritorios para implementar Wayland. Está basado en i3. Es muy ligero y tiene diferentes modos de ordenar las ventanas: pestañas, stacks, dividir la pantalla... y todo se puede aplicar de forma recursiva. Tiene un aspecto algo más espartano y sigue necesitando un launcher, una barra (aunque Sway sí que lleva una muy básica por defecto). La documentación es peor, mucho se basa en decir que es igual que en i3 y ya. Pero hay más documentación no oficial. De hecho si quieres configurar salvapantallas, imagen de fondo, bloqueo de sesión, tomar capturas de pantalla,... los programas suelen estar probados y desarrollados principalmente para Sway.
Pero la realidad es que Sway y Niri no se distinguen tanto en las cosas malas, que ahora detallaré.
Lo feo, lo malo y lo malo
Tanto Niri como Sway compartían puntos negativos. El primero es que no todos los programas funcionaban bien. Y me explico porque antes he dicho lo contrario. Arriba he comentado que funcionaban bien. Es decir, no había bugs, las fuentes se renderizaban bien, ... El problema es que muchas aplicaciones no se llevan bien con que el tiling WM te lleve la ventana a otro sitio o que le cambie el tamaño de forma agresiva. Y esto es especialmente visible en los diálogos. Tanto Niri como Sway tienen mecanismos para gestionar estas apps, pero siento que son parches. Realmente dependen de que tengas la lista de apps que lo hacen, que pases al modo floating temporalmente,... Realmente las apps normales no se diseñan teniendo en cuenta esto. Solo programas como los navegadores, Emacs, terminales, y alguno más se pueden adaptar bien. Y es porque por dentro ellos recalculan layouts que en su mayoría son de texto.
Por otro lado, entendí claramente la diferencia entre escritorio y gestor de ventanas. Un escritorio como Plasma no es solo las ventanitas. Es la barra, el launcher, programas preinstalados como Dolpin para explorar los ficheros, programas de ajustes y configuración para el Wi-Fi, para los monitores, para extraer un USB,... Todo esto en Niri o Sway te tienes que buscar la vida. Pero aunque te la busques, un escritorio suele tener unos ajustes por defecto ya muy buenos para que apenas tengas que tocar nada y ya puedas ser productivo. Esta configuración extrema puede ser interesante, pero realmente a mí no me aportaba nada y me quitaba mucho.
Para acabar, vamos a uno de los argumentos clave: usar solo el teclado es positivo. ¿Lo es? Efectivamente puedes ser más rápido al cambiar entre apps. Pero Xah Lee argumenta que muchas de estas mejoras se pueden conseguir en un escritorio tradicional, donde las apps pueden tener su espacio adecuado y no restringido como en los tiling. Además el hecho de quitar el ratón no es algo bueno sin más. Una variación cada cierto intervalo usando el ratón no es malo. Puede que incluso hasta tu cuerpo te lo agradezca.
Y luego en mi caso personal no tenía mucho sentido dedicar todo este tiempo y esfuerzo a construirte tu propio escritorio y aprenderte tus combinaciones de teclas particulares cuando luego usaba Firefox... Y Firefox y la web en general pide un ratón en tantos sitios. Y sí, sé que hay extensiones para no tener que usar el ratón pero es luchar contra algo que no estaba diseñado de esa forma.