Several important additions have landed since alpha.1.
Implemented the relative-pointer and pointer-constraints protocols
These protocols allow apps to lock or confine the mouse pointer within their window. In particular, Xwayland makes use of these protocols to make 3D games with mouse look "just work"!
mouse-look.mp4
Other examples include Blender and virtual machines.
blender-warp.mp4
Implemented popup unconstraining
Popups will no longer open partially off-screen. Niri will also try to position popups within the application's window horizontally so that if a window is fully on-screen, the popup will also be fully visible.
Added a struts
option
This one allows you to add a kind of "outer gaps" if you like those layouts. Also, left and right struts will make windows to the sides always partially visible, which can help with mouse-only navigation.
More improvements in this release
- New windows can no longer steal focus from a fullscreen window. All it took was a Syncthing dialog interrupting my Hollow Knight boss battle.
- Tablets will now match their target monitor's aspect ratio (works the same way as in GNOME Shell).
- Tablets can no longer move the cursor outside of their target monitor's bounds.
- Tablets will no longer send wl_pointer events (as they shouldn't), which makes them work correctly with GTK 4 apps.
- Added a
niri validate
subcommand that will check if your config parses successfully. - Added a way to disable an output with an
off
config flag. - Added
focus-window-or-workspace-up
/down
andmove-window-up-or-to-workspace-up
/down
bind commands that do a workspace switch when the focus is at the end of a window column (not bound to anything by default). This way you can avoid an extra set of workspace switch binds. Thanks @rabidpug for adding this. - Keyboard config is now live-reloaded, including the XKB options.
- Fixed screen not immediately redrawing in some cases, most notably when a layer-shell surface shows a popup.
- Allegedly, high-resolution scroll wheel mice should now work after a Smithay update, but I don't have one so I don't know for sure.
This is an alpha tag. There are known bugs and missing features. Don't be surprised if there's a breaking config change in the future.
Please check the README for building and installation instructions. Also, if you're on Fedora, I've got a COPR.