v0.1.0-beta.1 #111
YaLTeR
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I've made a ton of improvements since the last alpha tag. I am now happy enough with the feature set to make the first proper release. So, this is a beta tag, and 0.1.0 should follow several days later.
Note
Packagers: niri now depends on pangocairo.
IPC, output list
I've implemented the beginnings of IPC, and a new
niri msg outputs
subcommand that will list all connected monitors and their available modes. Finally, you no longer need to dig in niri's debug output to find this information.Output settings improvements
All output settings (scale, position, mode, on/off) are now live-reloaded without having to replug the monitors.
Additionally, monitors are now always repositioned from scratch on every change, with preference given to monitors with explicitly-configured positions. Practically this means that your monitor positions will be consistent regardless of the order they are connected in (especially relevant at startup where the order is random).
More libinput settings, live-reload
accel-profile
,dwt
,tap-button-map
settings.natural-scroll
,accel-speed
,accel-profile
settings.This should cover most of the important libinput settings. These are relatively straightforward to add, so feel free to open a PR if you need some libinput setting that is still missing.
Hotkey help overlay
I've added Pango for text rendering, which unlocks a ton of useful features. One of them is the new Important Hotkeys list that shows up at startup and helps you learn your way around niri.
The list of actions to show is hardcoded, but the actual hotkeys come from the current config, so you will see the keys that you had configured. The bind to display this overlay is
show-hotkey-overlay
.More overlays
I've added two more overlays using text rendering. One shows up when there's an error in your config:
And the second one prompts for a confirmation when pressing the exit bind:
Wayland popup grabs
Niri now correctly implements popup grabs. Practically, this means that:
Client-side decoration fixes
By default (without the
prefer-no-csd
setting), niri wants clients to use client-side decorations. Turns out that SDL2 has a bug (already fixed but not released) in its xdg-decoration protocol implementation that prevents windows from showing up when the compositor insists on CSD.To make all apps work properly, niri will now hide the xdg-decoration protocol from the clients when it wants client-side decorations, and only show it when
prefer-no-csd
is set.Improved security
Niri now implements the security-context Wayland protocol which lets it hide a number of sensitive protocols from sandboxed clients. This protocol is used by Flatpak, so now Flatpak apps can no longer steal your clipboard through wlr-data-control, as an example.
More improvements in this release
move-column-to-workspace*
andmove-column-to-monitor*
binds that operate on columns, as opposed to the existingmove-window-to-*
binds. I believe this behavior makes more sense, so I changed the default binds to the new column ones.center-focused-column
layout setting that can be set tonever
(the default),always
(always center the focused column) andon-overflow
, which will center the focused column when it doesn't fit together with the previously focused column. Thanks @tversteeg for working on this feature.niri panic
subcommand that triggers a panic, which you can use to check that you have built / packaged niri with enough debuginfo to produce useful crash backtraces.disable-cursor-plane
setting, you might no longer need it.Caution
This is an beta tag. There may be breaking changes leading to the release.
Please check the README for building and installation instructions. Also, if you're on Fedora, I've got a COPR. NixOS users, check out https://github.com/sodiboo/niri-flake.
This discussion was created from the release v0.1.0-beta.1.
Beta Was this translation helpful? Give feedback.
All reactions