The release of the Niri compositing server 25.08 has been published, implementing a mosaic (tiling) layout method similar to the GNOME extension PaperWM, where windows are grouped in an infinitely scrollable strip on the screen. Opening a new window expands the strip, while previously added windows retain their size. The project is based on the Wayland protocol but allows X11 applications to run through the Xwayland DDX server. The project code is written in Rust and is distributed under the GPLv3 license. Packages are created for Fedora, NixOS, Arch Linux, and FreeBSD.
A fundamental difference between Niri and PaperWM is the binding of a separate window strip to each monitor, which does not intersect with strips on other monitors (in PaperWM, separate monitor handling cannot be implemented due to binding to global window coordinates in GNOME Shell). Niri supports HiDPI and can operate on systems with multiple GPUs (for example, hybrid systems with a discrete graphics card and integrated GPU). It features a built-in interface for taking screenshots and recording screencasts, which notably allows the exclusion of specific windows with confidential information.
Virtual desktops in Niri are created dynamically and, similar to GNOME, are arranged vertically (the window ribbon rotates horizontally while the desktop ribbon is vertical). An independent set of desktops can be displayed on each monitor. virtual desktops. To switch between desktops and windows, control gestures on the touchpad can be used. When a monitor is disconnected, the layout of virtual desktops is remembered and transferred to the remaining monitor, and when the monitor returns, it is restored to its original state. Configuration is done through a configuration file, allowing changes to parameters such as frame width, padding, output modes, and window sizes. Changes made to the configuration file are applied automatically without restarting the compositing server.

In the new version:
- To run X11 applications using Xwayland, the xwayland-satellite component is integrated, allowing the use of standard windows based on Wayland for X11 sessions without the need to add X11-specific window management features, such as a global coordinate system. With xwayland-satellite, games, Steam, Proton, JetBrains IDEs, Ghidra, Electron-based applications, and most other X11 clients can be run without issues.
- Support for screen readers has been added. For the Orca project, a D-Bus interface org.freedesktop.a11y.KeyboardMonitor has been implemented, allowing key presses to be intercepted. Voice commands can be executed via AccessKit to switch between desktops, confirm exits, take screenshots, and activate hotkeys. A keyboard shortcut Super+Alt+S has been added to enable and disable Orca.
- A modal dialog for session termination confirmation has been added, which dims the background when activated, and features an animated effect when opening/closing.

- When taking screenshots, the interface for selecting the desired area and window for capture has been expanded, with support for multi-monitor configurations and touch screen control. Issues with flickering during screen recording on systems with NVIDIA graphics cards have been resolved.

- The ability to obtain keyboard layout information via systemd-localed has been implemented, using the D-Bus interface org.freedesktop.locale1, allowing the use of the selected installation layout parameters without the need for separate XKB layout configuration.
- Support for the Wayland protocol ext-workspace has been added, enabling events with information about the state of virtual desktops, as well as options for activating and deactivating desktops. The ext-workspace support has made the desktop indicator compatible with other composite servers and allowed the use of the ext/workspaces module in Waybar 0.14, as well as future releases of sfwbar and xfce4-panel.
- Support for the second version of the Wayland protocol cursor-shape has been added, providing an alternative way to customize the appearance of the cursor based on a series of cursor images instead of binding to a surface (wl_surface).
- Capabilities for controlling the position and size of windows have been added to the IPC interface.
- A D-Bus service has been implemented to prevent automatic activation of the screensaver while watching videos in programs like VLC.
- A project logo has been created and a wiki site with documentation has been launched.

Source: opennet.ru



