MyGit

v0.1.0-beta.1

YaLTeR/niri

版本发布时间: 2024-01-20 14:08:27

YaLTeR/niri最新发布版本:v0.1.8(2024-08-10 20:40:27)

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.

┌ ~
└─ niri msg outputs
Output "eDP-1" (Unknown - Unknown - eDP-1)
  Current mode: 2560x1600 @ 165.004 Hz
  Physical size: 340x210 mm
  Available modes:
    2560x1600@165.004
    2560x1600@60.002
    2560x1600@120.028
    2560x1600@96.030
    2560x1600@72.005
    2560x1600@60.001
    1920x1200@165.004
    1920x1080@165.004
    1600x1200@165.004
    1680x1050@165.004
    1280x1024@165.004
    1440x900@165.004
    1280x800@165.004
    1280x720@165.004
    1024x768@165.004
    800x600@165.004
    640x480@165.004

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

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.

Important hotkeys overlay.

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:

Config error overlay.

And the second one prompts for a confirmation when pressing the exit bind:

Exit confirmation dialog.

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.

DOSBox-X with CSD.

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.

┌ ~
└─ wl-copy 'My secret clipboard contents!'
┌ ~
└─ flatpak run --command=bash --filesystem=home org.gnome.Adwaita1.Demo
[📦 org.gnome.Adwaita1.Demo ~]$ wl-paste
Error: A required Wayland protocol (zwlr_data_control_manager_v1 version 1) is not supported by the compositor
[📦 org.gnome.Adwaita1.Demo ~]$
exit
┌ ~ 1
└─ wl-paste
My secret clipboard contents!

More improvements in this release

[!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.

相关地址:原始地址 下载(tar) 下载(zip)

1、 niri-0.1.0-beta.1-vendored-dependencies.tar.xz 51.17MB

查看:2024-01-20发行的版本