Se ha publicado la versión del servidor compuesto Niri 25.05, que implementa el método de disposición mosaico (tiling) en el estilo de la extensión GNOME PaperWM, en el que las ventanas se agrupan en una cinta infinitamente desplazable en la pantalla. Abrir una nueva ventana provoca la expansión de la cinta, mientras que las ventanas ya añadidas no cambian de tamaño. El proyecto se basa en el uso del protocolo Wayland, pero permite ejecutar aplicaciones X11 mediante el servidor DDX Xwayland. El código del proyecto está escrito en lenguaje Rust y se distribuye bajo la licencia GPLv3. Los paquetes se generan para Fedora, NixOS, Arch Linux y FreeBSD.
La diferencia clave de Niri respecto a PaperWM es la asignación de una cinta de ventanas propia a cada monitor, que no se cruzan con las cintas de otros monitores (en PaperWM, el trabajo separado con monitores no se puede realizar debido a la vinculación a coordenadas globales de ventana en GNOME Shell). Niri soporta HiDPI y puede funcionar en sistemas con múltiples GPU (por ejemplo, sistemas híbridos con una tarjeta gráfica dedicada y una GPU integrada). Cuenta con una interfaz incorporada para crear capturas de pantalla y grabar screencasts, destacando la opción de excluir de la grabación ventanas individuales que contienen información confidencial.
Los escritorios virtuales en Niri se crean dinámicamente y, al igual que en GNOME, se colocan verticalmente (la cinta de ventanas gira horizontalmente, mientras que la cinta de escritorios lo hace verticalmente). En cada monitor puede mostrarse un conjunto independiente. escritorios virtuales. Para cambiar entre escritorios y ventanas, se pueden usar gestos de control en el touchpad. Al desconectar el monitor, la disposición de los escritorios virtuales se recuerda y se transfiere al monitor restante, y al volver a conectar el monitor, se restaura en su estado inicial. La configuración se realiza a través de un archivo de configuración que permite modificar parámetros como el ancho de los bordes, los márgenes, los modos de salida y los tamaños de las ventanas. Los cambios realizados en el archivo de configuración se aplican automáticamente sin reiniciar el servidor compuesto.

En la nueva versión:
- Se ha añadido un modo de vista previa para la navegación por escritorios virtuales y las ventanas abiertas en ellos. Este modo se activa moviendo el cursor a la esquina superior izquierda o mediante un gesto de cuatro dedos en el panel táctil, tras lo cual se reduce el zoom y se muestra una cinta con los escritorios virtuales disponibles y las ventanas abiertas en ellos. Las ventanas se pueden reorganizar o mover entre escritorios utilizando el ratón o gestos en la pantalla.

- Se han ampliado las posibilidades para la creación de screencasts y el uso compartido de pantalla. Se ha añadido la opción de seleccionar dinámicamente el objeto para grabar el screencast: inicialmente, se crea un flujo de video vacío, que se puede cambiar para capturar la ventana activa o toda la pantalla en el monitor actual. Se ha implementado soporte para grabar la salida de aplicaciones en pantalla completa en forma de ventana virtual.
- En la interfaz para crear capturas de pantalla, se ha añadido la posibilidad de seleccionar el área de la imagen utilizando una tableta gráfica o una pantalla táctil. Se ha añadido un botón separado en la barra inferior para crear una captura de pantalla.
- Se ha añadido la opción de resaltar ventanas que requieren atención especial. Estas ventanas se destacan con un marco de color (el color se establece a través de la configuración urgent-color) y se les proporciona un indicador separado en la barra.
- Se han ampliado las capacidades de la interfaz IPC utilizada para la interacción de sistemas externos con el compositor. el servidorSe han añadido los comandos: «niri msg pick-window» (devuelve el identificador de la ventana en la que hizo clic el usuario) y «niri msg pick-color» (devuelve el color del píxel seleccionado).
- Se han añadido acciones con ventanas: focus-monitor, move-window-to-monitor, move-column-to-monitor, focus-column, move-column-to-index.
- Se han añadido configuraciones para dispositivos de entrada: desactivación de tap-and-drag, desactivación de pantallas táctiles, cambio de la tecla modificadora, selección de la orientación del trackpad, habilitación del Num Lock al inicio.
- Se ha mejorado la eficiencia del renderizado de ventanas en texturas intermedias (offscreening), que están sujetas a un procesamiento adicional (por ejemplo, superposición de capas) antes de ser mostradas en la pantalla.
Fuente: opennet.ru

