2 puntos por GN⁺ 2025-03-13 | 1 comentarios | Compartir por WhatsApp
  • Un usuario de Sway e i3 desde hace años pasó de los gestores de ventanas en mosaico tradicionales a Niri a raíz de un bug de clic y arrastre en Sway
  • Niri maneja los espacios de trabajo como una franja infinita que se desplaza horizontalmente, por lo que abrir una ventana nueva no altera demasiado la disposición de las ventanas existentes
  • Tras el cambio, en unas horas logró una configuración usable y en menos de una semana ya le resultaba más adecuada que Sway; destaca como ventajas compartir pantalla por ventana, excluir ventanas de la pantalla compartida, capturas de pantalla integradas y cerca de 2 horas más de batería
  • Los gestores de ventanas en mosaico tradicionales generan carga cognitiva al reorganizar ventanas y administrar espacios de trabajo; los más de 11 espacios que usaba en Sway se redujeron a 5 o menos en Niri
  • Considerando la variedad de tamaños de pantalla y la capacidad de procesamiento actual, el mosaico tradicional no tiene por qué ser el flujo de trabajo predeterminado para usuarios avanzados; quienes usen Sway o gestores en mosaico basados en Wayland deberían probar Niri

Qué motivó el cambio de Sway a Niri

  • El autor ha usado gestores de ventanas en mosaico durante un período equivalente al 35% de su vida: 5 años con Sway y 2 años con i3
  • Al adoptar Wayland relativamente temprano, se acostumbró a que muchas cosas estuvieran rotas, y durante mucho tiempo ya tenía incorporado el flujo de trabajo de Sway
  • El disparador directo fue un problema de clic y arrastre en Sway: después de seleccionar texto y arrastrar, la selección seguía activa incluso tras soltar el mouse
    • Como el problema no se resolvió durante días que se convirtieron en semanas, incluso el acto de hacer clic para seleccionar texto empezó a sentirse poco confiable
    • En lugar de buscar la biblioteca causante o ejecutar git bisect, decidió abandonar años de memoria muscular y flujo de trabajo para probar Niri

Cómo funciona Niri y primeras impresiones

  • Niri es un gestor de ventanas en mosaico con desplazamiento: cada espacio de trabajo funciona como una franja infinitamente ancha que se puede desplazar de izquierda a derecha
  • Al abrir una ventana nueva, no cambia la disposición de las demás, lo que reduce los casos en que Firefox termina empujado a una posición inesperada al abrir una terminal
  • En unas horas consiguió una configuración suficientemente usable, y en menos de una semana ya le resultaba más adecuado que Sway
  • Dice que volvió a sentir aquella sensación de la época en que cambiaba de distribución o de gestor de ventanas probando herramientas nuevas y aparentemente riesgosas sin pensarlo demasiado

Mejoras percibidas frente a Sway

  • Niri admite compartir pantalla por ventana y también ofrece una función para impedir que ciertas ventanas aparezcan en la pantalla compartida
    • Al transmitir tareas, esto reduce la preocupación de que aparezcan en una esquina notificaciones sensibles, como avisos de correo del banco
  • La herramienta integrada de capturas de pantalla le resultó satisfactoria, y la considera mejor que la combinación grim+slurp recomendada en Sway
  • En comparación con Sway, la duración de la batería aumentó alrededor de 2 horas
  • También tuvo una buena experiencia de desarrollo al intentar agregar funcionalidad IPC a Niri
    • A diferencia de Sway/wlroots, Niri/Smithay está escrito en Rust
    • Según el autor, el código fue más accesible de lo esperado

Críticas a los gestores de ventanas en mosaico tradicionales

  • Los gestores de ventanas en mosaico tradicionales empujan al usuario a optimizar al máximo la disposición de las ventanas y, en el proceso, hacen que gaste carga cognitiva en el objetivo equivocado: minimizar la reorganización de ventanas
  • Si no estás alternando constantemente entre pantalla completa y ventanas normales, o si no te estás quedando sin espacios de trabajo, entonces probablemente no tengas tantas ventanas abiertas
  • Considera que los layouts con pestañas o apilados y los contenedores anidados son soluciones temporales menos ergonómicas para ocultar la falta de espacio
  • En Sway solía abrir con frecuencia hasta 11 espacios de trabajo, y como no le alcanzaban agregó atajos para los espacios 11 a 20
    • Llegó a cerrar ventanas para ahorrar espacios de trabajo y terminó perdiendo el hilo de algunos proyectos
    • En Niri, incluso con 3 proyectos grandes, varias apps de chat, un video de YouTube y trabajo de 3 clases abierto, no supera los 5 espacios de trabajo
    • Esa misma configuración en Sway llegaba hasta el espacio de trabajo 15, y para encontrar lo que buscaba tenía que ir saltando entre varios espacios

Contexto de tamaños de pantalla, DPI y monitores ultrawide

  • Dada la variedad de tamaños de pantalla y la mejora en capacidad de procesamiento, considera que los gestores de ventanas en mosaico tradicionales no tienen por qué ser la opción predeterminada del flujo de trabajo de usuarios avanzados
  • Evalúa que el mosaico tradicional limita el espacio de forma artificial, fuerza la redistribución del contenido y tampoco encaja bien con configuraciones de monitores no estándar
  • La principal razón para cambiar a Wayland fue el DPI mixto
    • Si se usan juntos un monitor 4K y uno FHD del mismo tamaño físico, el 4K tiene cerca de 4 veces más densidad de píxeles
    • Una ventana de ancho fijo en píxeles puede verse pequeña en 4K y grande en FHD
    • Para que la ventana se vea de un tamaño físico similar, hace falta escalado
    • La implementación de X11 no encajaba bien en ese momento, mientras que Wayland lo admite como función central
    • X11 también tiene dificultades con el escalado fraccional con factores no enteros como 1.6, y Wayland es mejor en este aspecto
  • Considera que los gestores de ventanas en mosaico con desplazamiento encajan bien con los monitores ultrawide
    • Sway hace que una ventana nueva ocupe todo el ancho del ultrawide, mientras que el modelo de Niri permite un mosaico más natural y aprovecha mejor el espacio
  • Recomienda a quienes usen gestores de ventanas en mosaico tradicionales basados en Wayland, como Sway, que prueben Niri directamente
    • Si se quiere una experiencia de atajos de teclado similar a Sway, se puede consultar esta configuración de Niri pública

1 comentarios

 
GN⁺ 2025-03-13
Opiniones de Hacker News
  • Uso Gnome y casi todas las ventanas las abro en pantalla completa. A veces también hago ventanas de media pantalla con win+left/right; ¿eso me convierte en cavernícola?

    • Viendo la “street cred” del autor, también hay que tomar en cuenta que todavía tiene 20 años. Mucha gente probablemente sienta que, a los 20, la paciencia para aguantar todo tipo de retoques y pérdidas de tiempo con el software era casi infinita en comparación con después de trabajar unos años o formar una familia.
      En los últimos 20 años vi aparecer y desaparecer más de una decena de gestores de ventanas en mosaico que fueron llamados “el futuro”. En la práctica, las funciones que realmente aumentan mucho la productividad ya se incorporaron hace tiempo a los principales gestores de ventanas, y es muy probable que los gestores de ventanas puramente en mosaico sigan siendo productos de nicho.
      Al final, para usarlos bien hay que invertir bastante tiempo y esfuerzo; la mejora de productividad que se obtiene es, siendo realistas, incremental, y a cambio también hay que tolerar las asperezas típicas de estos productos de nicho.
    • Yo era parecido, pero descubrí que mi flujo de trabajo encaja bastante bien con un gestor de ventanas en mosaico. Uso divisiones para apps temporales, por ejemplo para entrar a la terminal unos 30 segundos, y para lo demás le doy a cada app un workspace o una pantalla completa.
      Es solo un poco mejor que Gnome, pero es más probable que las ventanas estén desde el inicio donde deben estar y, honestamente, ¿qué tan seguido uno necesita apilar ventanas superpuestas en el eje z?
      Al principio pensaba que un lienzo 2D infinito, donde se pudieran asignar teclas a posiciones y niveles de zoom como la cámara de un juego de estrategia en tiempo real, sería un mejor gestor de ventanas. Pero después de probar Niri, me convencí de que mi idea era demasiado compleja y de que Niri acierta justo en el punto entre funcionalidad y usabilidad.
      Se siente como tecnología regalada por alienígenas del futuro.
    • Creo que la mayoría trabaja así. Vi a un colega desarrollar en React con una MacBook, y las ventanas estaban simplemente en el tamaño y la posición en que se habían abierto, ni siquiera en pantalla completa; con mi mentalidad de usar 3 monitores, no lo pude entender.
      Yo uso la laptop, un monitor central horizontal de 24 pulgadas y otro vertical de 24 pulgadas; Spotify/Teams/shell/Outlook van divididos a la mitad en el vertical, los documentos en la pantalla de la laptop y el IDE en pantalla completa en la pantalla principal. También separo escritorios virtuales para diseño/investigación, desarrollo y uso personal.
      Mantener tamaños de monitor estándar en lugar de 4K o ultrawide también hace que compartir pantalla sea mucho más simple.
      Una queja menor es que el diseño de UI actual mete 10 px de padding en todos lados, así que la mayoría de las apps y páginas tienen que estar en pantalla completa para poder hacer algo.
    • Exactamente igual que yo. Lo que realmente quiero es un Gnome un poco más capaz de hacer mosaico, que me permita dividir en 3 o 4 partes cuando lo necesite de vez en cuando.
      Pero la mayor parte de mis necesidades de mosaico están dentro de la terminal, y tmux cumple el papel de héroe.
    • Creo que a algunas personas les va a gustar esta extensión.
      https://extensions.gnome.org/extension/4548/tactile/
      Yo vengo de i3, pero si no quieres una extensión de mosaico completa y solo quieres un poco de la comodidad del mosaico, Tactile me parece útil porque es una solución muy simple.
  • Si vienes de un gestor de ventanas en mosaico tradicional, me gustaría saber cómo queda el flujo de trabajo con atajos de teclado.
    Para mí, lo más importante son atajos fijos como Super+[0-9] para ir a una ventana específica, un workspace o, en la práctica, un programa específico. Si eso es posible y además se resuelve el problema de “gestión de workspaces” que menciona el artículo, creo que me cambiaría de inmediato.
    ¿Tiene sentido usar “workspaces” así en Niri? Por ejemplo, tener un workspace para el navegador, uno para el editor y uno para varias terminales abiertas, y querer cambiar instantáneamente de “navegador” a “terminales”. Preferiría que no hubiera animaciones.

    • Sí se puede. Niri, al igual que gestores de ventanas como Sway, todavía soporta workspaces numerados. Solo que ahora también puedes desplazarte horizontalmente.
    • Niri se termina usando de forma similar a otros gestores de ventanas en mosaico, pero me gusta que puedes agrupar apps auxiliares con la app principal, en lugar de tener un workspace por app.
      Por ejemplo, dejo el gestor de contraseñas en el mismo workspace que el navegador, normalmente fuera de la pantalla. Cuando necesito crear una contraseña, está justo al lado. Hago lo mismo con las terminales auxiliares que necesito junto al editor de texto.
    • En Sway puedes probar un mosaico parecido al de Niri, o más exactamente al de PaperWM, con papersway; en Hyprland, con hyprscroller. Yo uso este último y, básicamente, es casi igual al mosaico normal y también permite workspaces con nombre.
      Sin embargo, noto que todavía me queda bastante memoria muscular de trabajar bajo las restricciones del mosaico tradicional. Por ejemplo, en mi monitor, si abro más de tres terminales, tengo que ir a un workspace nuevo.
      Así que con frecuencia salto a un workspace nuevo aunque en realidad no haga falta, y me confundo un poco sobre qué está dónde. A veces pienso que quizá sería más fácil cortar de forma más clara con la manera anterior de trabajar.
      Aun así, me gusta muchísimo el mosaico al estilo de Niri. En mi opinión elimina casi todas las desventajas de los gestores de ventanas en mosaico.
    • Llevo usando i3 durante el último año y siento todas las incomodidades que menciona este artículo.
      En general prefiero mucho más i3 que Gnome, pero el dolor de que “todo se redimensione” es muy real. Es especialmente peor cuando hay muchas llamadas de Zoom, porque las “notificaciones” de Zoom parecen saltarse las notificaciones integradas del sistema y tratar cada una como una ventana separada, lo que agrava el problema.
      Creo que voy a probar Niri.
    • Para algo como Super+X en Mac, también recomiendo mucho rcmd.
  • A mí no me funcionó bien. Hay una franja de ventanas que continúa más allá de los bordes de la pantalla, y ver a veces solo la mitad de una ventana me provocaba una ansiedad extraña y me llamaba la atención constantemente.
    Después de usarlo unos dos meses, volví a Hyprland, un compositor en mosaico más tradicional donde las ventanas no se superponen con los bordes de la pantalla.
    Dicho eso, Niri es muy bonito técnicamente. Tiene una base de código moderna en Rust, la estructura del código es buena y es fácil empezar a entenderlo y modificarlo.

    • Yo configuro así el ancho de las columnas para que casi nunca aparezcan ventanas parciales en los bordes.
      En la laptop uso ancho completo o medio ancho según la tarea, y en un ultrawide uso un tercio de ancho, o ancho completo para un editor con divisiones internas de columnas.
    • ¿Esto sería mejor o peor con una pantalla widescreen? A mí me gusta trabajar en UWQHD
  • Me gusta la idea de los gestores de ventanas en mosaico y usé i3 y Hyprland durante bastante tiempo, pero por alguna razón nunca terminé de quedarme del todo y al final siempre volvía a Xfce. Las viejas costumbres no mueren fácil
    El momento en que se acaba el experimento suele ser cuando la cantidad de ventanas supera cierto número. Si no configuraste los workspaces, layouts, etc. con suficiente profundidad, a partir de ahí se vuelve más difícil de manejar
    Acabo de abrir Niri y, en 10 minutos, se sintió mucho más cómodo que otros gestores de ventanas en mosaico. Es inmediatamente intuitivo, y la integración con el mouse también es excelente
    Es temprano para declarar victoria, pero de verdad parece ser justo lo que quería y necesitaba desde hace años. Voy a juzgar qué tan bueno es por cuánto tardo en sentir ganas de volver a Xfce

    • A mí tampoco me fue muy bien con el tiling. Tal vez sea porque uso Linux principalmente en una laptop; la pantalla es chica, así que cuesta hacer mucho tiling más allá de partir la pantalla a la mitad, e incluso eso no encaja muy bien con cosas como un IDE
      Para mí, lo más óptimo fue una configuración con un gestor de ventanas/entorno de escritorio flotante común, aburrido y sin seguir modas, con un tiling opcional ligero
  • Me divertí leyéndolo. Todo el mundo tiene un punto de quiebre
    Me gustó la parte de “por supuesto, en vez de averiguar qué librería introdujo un cambio incompatible y pasar 4 horas corriendo git bisect, decidí tirar por la ventana casi 10 años de memoria muscular y mejoras en mi flujo de trabajo”

  • Yo también soy usuario de i3/Sway desde hace mucho, y Niri se siente bastante cómodo. Pude conservar la mayor parte de la memoria muscular de Sway para cosas como mover el foco o mover ventanas. También es muy estable y funciona bien de inmediato con xwayland-satellite
    El mayor problema es que sigo “perdiendo” ventanas. Dejo una ventana abierta dentro de una pila muy anidada, me pongo a hacer otra cosa y luego olvido que ya tenía esa ventana abierta
    En Sway también pasa hasta cierto punto, pero es mucho más fácil revisar todos los workspaces
    Me gustaría algo como un “mapa de ventanas” asociado a Alt-Tab

    • ¿Te refieres a algo como el issue que enlacé antes? https://news.ycombinator.com/item?id=43347909
      Por cierto, yo estoy imitando una función run-or-raise con una combinación monstruosa de niri IPC / bash / jq, y probablemente funciona mejor que el RoR original. Recorre las ventanas que coinciden con un appId específico y, si no hay ninguna, inicia una nueva
      Al sumarle rofi (wayland) para moverme con búsqueda difusa entre todas las ventanas abiertas, la experiencia mejoró muchísimo
    • ¿alttab podría cubrir lo que necesitas? Lo uso con xmonad y funciona bien. https://github.com/sagb/alttab
    • Hyprscroller, un plugin de Hyprland que hace algo parecido a Niri, tiene una función tipo “expose”. Aunque yo suelo olvidarme de que existe
  • Soy de la generación joven que usa Hyprland, pero también probé Niri un rato y funcionó bastante bien. Para alguien que viene del flujo de trabajo promedio de Windows con un solo monitor, encaja muy bien, sobre todo para la mayoría del trabajo de oficina
    Aun así, creo que una configuración de tiling más compleja tiene un techo de productividad más alto. Si alguien mantiene más de 10 workspaces abiertos como el autor de este texto, probablemente debería elegir Niri
    Me da curiosidad si el aumento en la duración de la batería se mantiene también para quienes solo tienen unas pocas ventanas abiertas. Dos horas solo por cambiar el gestor de ventanas es una diferencia enorme

    • Todavía voy y vengo entre Wayland y X11, y en mi vieja T14s de 2.ª generación la combinación X11+xmonad+sin compositor dura en promedio 1,5 horas más
      Esa es una de las principales razones por las que me cuesta migrar por completo. Tampoco uso un entorno de escritorio, ni funciones donde un compositor sea realmente útil, así que desde mi punto de vista casi no veo ventajas
      Lo único que a veces noto son bordes negros por los menús desplegables con sombra de programas gtk4 que no respetan el tema del sistema que configuré
  • Todavía no probé Niri, pero me interesa
    Últimamente, en GNOME tuve una experiencia bastante buena de gestor de ventanas desplazable con la extensión PaperWM: https://github.com/paperwm/PaperWM

    • Niri está inspirado en PaperWM y es mucho más fluido. Si te gustó PaperWM, vale la pena mirar niri
      Eso sí, como no está hecho dentro del entorno de Gnome, pierde un poco. Varias cosas que Gnome ofrece “gratis” no están en Niri, y para funciones bastante básicas hay que buscar herramientas alternativas por cuenta propia
      Entre las cosas que parecen faltar están las notificaciones de escritorio, un lanzador de apps, un dock o lista de apps en ejecución, y Xwayland para ejecutar aplicaciones X11 de forma fluida. Todas esas funciones tienen que proveerlas herramientas separadas que no vienen incluidas en Niri
      Mi mayor queja es que no hay sincronización del portapapeles entre X11 y Wayland. Gnome parece encargarse de eso automáticamente, pero en Niri no, así que es muy molesto no poder copiar/pegar entre apps Wayland y apps X11
      Hay soluciones alternativas, pero hasta ahora ninguna de las que probé me resultó lo suficientemente cómoda y estable
  • Los gestores de ventanas desplazables son realmente excelentes. Te dan alrededor del 80% de la productividad de un gestor de ventanas en mosaico con el 20% del esfuerzo
    Es curioso que nos haya tomado 30 o 40 años descubrirlo

    • Vi los videos del sitio y, desde el punto de vista de alguien que usa bastante drag and drop entre programas, parece un infierno total
      También soy de los que dejan que las pestañas abiertas del navegador crezcan indefinidamente hasta que al final tengo que marcar cientos como favoritos y cerrarlas todas, así que todo este paradigma parece no encajar conmigo en absoluto
    • Cuando usaba i3 tenía algo muy parecido
      Era código Python bastante improvisado que me permitía sacar y meter ventanas de una pila por nombre, y apartaba la ventana más antigua de la pila. En la práctica era una caché LRU para ventanas
      “Funcionaba”, pero creo que habría disfrutado mucho PaperWM cuando era estudiante universitario
      También hay cosas que solo un gestor de ventanas flotante hace bien. Me gusta mi mala costumbre de fijar algunos documentos como ventanas flotantes en distintos lugares de la pantalla y hacer referencias cruzadas sin moverme demasiado
  • Si quieres aprender más sobre lo que pasa en el escritorio Linux, puedo recomendarle a cualquiera que pruebe al menos un gestor de ventanas no estándar.
    Trasteando con gestores de ventanas en mosaico aprendí más sobre Linux que con cualquier otro tipo de software.
    No sé si realmente aumentó mi productividad, pero fue una excelente experiencia de aprendizaje, la ergonomía es buena y la satisfacción de construir tu propio entorno de escritorio desde cero es enorme.

    • ¿Cuáles creen que son los gestores de ventanas más interesantes?