Niri 0.1.9 Unveils Enhanced Workspace and Window Management

Niri 0.1.9, the scrollable-tiling Wayland compositor, now features IPC event streams, on-demand VRR, NVIDIA flicker fixes, and more.

Niri, the innovative scrollable-tiling Wayland compositor, has just released version 0.1.9, bringing a tons of changes, new features, and improvements.

For those unfamiliar, it is a new rising star in the tiling compositors’ field. It bets on Wayland and arranges windows in columns on an infinite strip extending to the right, ensuring that opening a new window never resizes existing ones. Now, let’s see what the new version has in store.

Niri 0.1.9: Key Highlights

Before diving into the new features, it’s important to mention that Niri now requires libdisplay-info. So, if you plan to use it, ensure you have this dependency installed to enjoy the latest enhancements.

In this release, Niri introduces an event stream in its IPC that lets you continuously listen to compositor events such as workspace or window changes. As a result, taskbar applications can now create accurate and efficient widgets tailored for Niri.

Moreover, Niri’s modules for workspaces, focused windows, and keyboard layout have been implemented in Waybar, a highly customizable Wayland status bar widely popular among tiling window manager users, available in its fresh 0.11.0 release.

Another novelty in this update is that IPC windows and workspaces now have unique IDs to improve window and workspace management. These IDs allow all individual window and workspace actions to target specific items. For example, you can list all windows with their IDs using:

niri msg windowsCode language: Bash (bash)

And perform actions on a specific window like so:

niri msg action fullscreen-window --id 2Code language: Bash (bash)

Additionally, there are new commands, such as “niri msg action focus-window –id <ID>” and “niri msg keyboard-layouts.”

Listening to its community, one common feedback about Niri’s layout was that multi-window columns did not match the total height of the monitor. Resizing behaviors were sometimes unintuitive, leading to confusion. To address this, the window height distribution has been reworked:

  • Columns with two or more windows now always aim to match the monitor’s height, respecting minimum window sizes.
  • Resizing one window will proportionally resize the other windows in the column.
  • The last resized window retains its height, allowing precise sizing that is unaffected by adding new windows or moving across monitors.

It’s worth noting also that single-window columns can still be resized freely, accommodating uses that require exact-sized windows until floating windows are implemented.

On the side of window sizing, Niri 0.1.9 now features a “preset-window-heights” layout option and a corresponding “switch-preset-window-height” bind. This works similarly to the existing column width presets, providing more flexibility in window management.

By default, this function is bound to the “Mod+Shift+R” keyboard shortcut, aligning with the convention that “Shift” modifies resize binds to affect height instead of width.

Furthermore, to ensure that “every frame is perfect,” Niri has implemented transactional updates for common actions like resizing and closing windows. So, when resizing, windows within the same column now adjust in unison, maintaining consistent widths and ensuring their heights add up to the monitor’s height.

At the same time, previously, closing a window could cause flickering due to the immediate resizing of other windows. With the new closing transaction, Niri waits until other windows have resized before hiding the closed window, resulting in a smoother transition.

Another striking feature in the new release is an improvement made to VRR. More specifically, Niri now supports on-demand VRR as a window rule. This new feature allows VRR to be enabled only when specific windows are on screen, such as video players or games, helping to avoid issues like monitor flickering at low refresh rates.

For NVIDIA users, an issue causing flickering on NVIDIA GPUs has been resolved. Previously, users needed to enable the “wait-for-frame-completion-before-queueing” debug flag to fix this. With this update, such workarounds are no longer necessary, and NVIDIA GPUs should operate smoothly with Niri out of the box.

But wait, that’s not all. There is more. Niri 0.1.9 brings several user experience enhancements, with the most notable being:

  • The horizontal touchpad swipe gesture no longer goes past the first or last column on a workspace, providing a more intuitive navigation experience.
  • The focus-follows-mouse feature has been refined to prevent unintended window focus when switching workspaces, which is especially beneficial when using new workspace bar modules.
  • Niri will now attempt to read the config file from “/etc/niri/config.kdl” if “~/.config/niri/config.kdl” is missing.
  • Niri now makes a more robust effort to activate monitors, potentially improving multi-monitor setups on various hardware.

On the bug fixes side, the highlights include:

  • Resolved issues with “xdg-desktop-portal-gnome” when opening file choosers from Xwayland windows.
  • Fixed crashes related to resuming from suspend or monitoring power-on events.
  • Corrected rendering issues across monitor scale and transform changes.
  • Addressed problems with moving columns between workspaces.

Check out the release announcement for more information about all novelties, where you will also find a few videos showing the new features of the Niri 0.1.9 scrollable-tiling Wayland compositor.

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.

Think You're an Ubuntu Expert? Let's Find Out!

Put your knowledge to the test in our lightning-fast Ubuntu quiz!
Ten questions to challenge yourself to see if you're a Linux legend or just a penguin in the making.

1 / 10

Ubuntu is an ancient African word that means:

2 / 10

Who is the Ubuntu's founder?

3 / 10

What year was the first official Ubuntu release?

4 / 10

What does the Ubuntu logo symbolize?

5 / 10

What package format does Ubuntu use for installing software?

6 / 10

When are Ubuntu's LTS versions released?

7 / 10

What is Unity?

8 / 10

What are Ubuntu versions named after?

9 / 10

What's Ubuntu Core?

10 / 10

Which Ubuntu version is Snap introduced?

The average score is 68%