Después de tres meses de desarrollo, se ha publicado la versión del servidor compuesto Niri 25.11, que implementa el método de disposición en mosaico (tiling) al estilo de la extensión PaperWM de GNOME, donde las ventanas se agrupan en una cinta que se desplaza infinitamente 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 a través del servidor DDX Xwayland. El código del proyecto está escrito en el lenguaje Rust y se distribuye bajo la licencia GPLv3. Los paquetes se generan para Fedora, NixOS, Arch Linux y FreeBSD.
La diferencia fundamental entre Niri y PaperWM es que cada monitor tiene su propia cinta de ventanas, que no se cruza con las cintas de otros monitores (en PaperWM el trabajo separado con monitores no puede realizarse debido a la vinculación a las coordenadas de ventana globales en GNOME Shell). Niri soporta HiDPI y puede trabajar en sistemas con múltiples GPU (por ejemplo, sistemas híbridos con tarjeta gráfica discreta e integrada). Tiene una interfaz incorporada para crear capturas de pantalla y grabar screencasts, cuya característica es la posibilidad de excluir de la grabación ventanas individuales con 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 una interfaz para alternar entre ventanas con Alt+Tab mostrando miniaturas durante el desplazamiento de ventanas. Es posible mostrar las ventanas vinculadas al escritorio virtual actual (tecla «w») o al dispositivo de salida (tecla «o»). También está disponible la combinación de teclas Alt+»`» para alternar entre las ventanas de la aplicación actual.

- Se han añadido efectos de animación para la transición de la ventana a modo pantalla completa y su salida.
- Se ha implementado un soporte completo para el modo de pantalla completa (anteriormente solo se admitía la expansión de la ventana a todo lo ancho con bordes y márgenes, pero ahora se soporta la expansión ocupando toda el área disponible sin mostrar bordes). La expansión se realiza al hacer clic en el botón correspondiente en la parte superior de la ventana o al hacer doble clic en el encabezado.

- Se ha añadido la capacidad de generar eventos de desplazamiento del contenido al realizar un arrastre horizontal del encabezado de la ventana en la disposición en mosaico (el arrastre vertical mueve la ventana, mientras que el horizontal desplaza la información en la ventana).
- Se ha proporcionado la capacidad de definir configuraciones de distribución de ventanas específicas, vinculadas a un dispositivo de salida (monitor) o a un escritorio virtual.
- En los archivos de configuración se ha implementado la directiva «include» para insertar el contenido de otros archivos.
- Se ha añadido soporte para monitores externos conectados a través del puerto DisplayLink.
- Se han realizado cambios para reducir el parpadeo de la pantalla.
- Se ha añadido soporte para definir modos de video personalizados para dispositivos de salida, sin limitarse a los modos transmitidos a través de EDID. Por ejemplo, ‘mode custom=true «1920×1080@100″‘.
- Se ha añadido soporte para iniciar una sesión de ventanas niri en WSL (Subsistema de Windows para Linux).
Fuente: opennet.ru


