Skip to content

Commit 760dc78

Browse files
committed
Merge remote-tracking branch 'upstream/main' into force_render
2 parents 0311782 + c558516 commit 760dc78

25 files changed

+1113
-425
lines changed

docs/wiki/Accessibility.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Specifically, niri will announce:
1010

1111
- workspace switching, for example it'll say "Workspace 2" when you switch to the second workspace;
1212
- the exit confirmation dialog (appears on <kbd>Super</kbd><kbd>Shift</kbd><kbd>E</kbd> by default);
13+
- <sup>Since: next release</sup> niri has an <kbd>Alt</kbd><kbd>Tab</kbd> window switcher where it will announce the selected window title;
1314
- entering the screenshot UI and the overview (niri will say when these are focused, nothing else for now);
1415
- whenever a config parse error occurs;
1516
- the important hotkeys list (for now, as one big announcement without tab navigation; appears on <kbd>Super</kbd><kbd>Shift</kbd><kbd>/</kbd> by default).
@@ -27,7 +28,6 @@ The default config binds <kbd>Super</kbd><kbd>Alt</kbd><kbd>S</kbd> to toggle Or
2728

2829
Note that there are some limitations:
2930

30-
- We don't have an Alt-Tab window switcher yet; it's in the works.
3131
- We don't have a bind to move focus to layer-shell panels. This is not hard to add, but it would be good to have some consensus or prior art with LXQt/Xfce on how exactly this should work.
3232
- You need to have a screen connected and enabled. Without a screen, niri won't give focus any window. This makes sense for sighted users, and I'm not entirely sure what makes the most sense for accessibility purposes (maybe, it'd be better solved with virtual monitors).
3333
- You need working EGL (hardware acceleration).

docs/wiki/Application-Issues.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,17 @@ To fix this, run them with the `_JAVA_AWT_WM_NONREPARENTING=1` environment varia
5252
For some reason, DMABUF screencasts are disabled in the Zen Browser, so screencasting doesn't work out of the box on niri.
5353
To fix it, open `about:config` and set `widget.dmabuf.force-enabled` to `true`.
5454

55+
### GTK 4 dead keys / Compose
56+
57+
GTK 4.20 [stopped](https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/8556) handling dead keys and Compose on its own on Wayland.
58+
To make them work, either run an IME like IBus or Fcitx5, or set the `GTK_IM_MODULE=simple` environment variable.
59+
60+
```kdl
61+
environment {
62+
GTK_IM_MODULE "simple"
63+
}
64+
```
65+
5566
### Fullscreen games
5667

5768
Some video games, both Linux-native and on Wine, have various issues when using non-stacking desktop environments.

docs/wiki/Configuration:-Debug-Options.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ debug {
3232
honor-xdg-activation-with-invalid-serial
3333
skip-cursor-only-updates-during-vrr
3434
deactivate-unfocused-windows
35-
keep-max-bpc-unchanged
3635
}
3736
3837
binds {
@@ -320,6 +319,10 @@ Apparently, setting max bpc to 8 breaks some displays driven by AMDGPU.
320319
If this happens to you, set this debug flag, which will prevent niri from changing max bpc.
321320
AMDGPU bug report: https://gitlab.freedesktop.org/drm/amd/-/issues/4487.
322321

322+
<sup>Since: next release</sup>
323+
This setting is deprecated and does nothing: niri no longer sets max bpc.
324+
The old niri behavior with this setting enabled matches the new behavior.
325+
323326
```kdl
324327
debug {
325328
keep-max-bpc-unchanged

docs/wiki/Configuration:-Outputs.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,10 @@ output "eDP-1" {
9797
You can configure a custom mode (not offered by the monitor) by setting `custom=true`.
9898
In this case, the refresh rate is mandatory.
9999

100+
Custom modes are not guaranteed to work.
101+
Niri is asking the monitor to run in a mode not supported by the manufacturer.
102+
Use at your own risk.
103+
100104
> [!CAUTION]
101105
> Custom modes may damage your monitor, especially if it's a CRT.
102106
> Follow the maximum supported limits in your monitor's instructions.
@@ -115,6 +119,10 @@ output "HDMI-A-1" {
115119
Directly configures the monitor's mode via a modeline, overriding any configured `mode`.
116120
The modeline can be calculated via utilities such as [cvt](https://man.archlinux.org/man/cvt.1.en) or [gtf](https://man.archlinux.org/man/gtf.1.en).
117121

122+
Modelines are not guaranteed to work.
123+
Niri is asking the monitor to run in a mode not supported by the manufacturer.
124+
Use at your own risk.
125+
118126
> [!CAUTION]
119127
> Out of spec modelines may damage your monitor, especially if it's a CRT.
120128
> Follow the maximum supported limits in your monitor's instructions.

docs/wiki/Configuration:-Recent-Windows.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,8 @@ recent-windows {
138138
}
139139
```
140140

141-
The recent windows binds have a precedence over the [normal binds](./Configuration:-Key-Bindings.md), meaning that if you have <kbd>Alt</kbd><kbd>Tab</kbd> bound to something else in the normal binds, the `recent-windows` bind will override it.
141+
The recent windows binds have lower precedence than the [normal binds](./Configuration:-Key-Bindings.md), meaning that if you have <kbd>Alt</kbd><kbd>Tab</kbd> bound to something else in the normal binds, the `recent-windows` bind won't work.
142+
In this case, you can remove the conflicting normal bind.
142143

143144
All binds in this section must have a modifier key like <kbd>Alt</kbd> or <kbd>Mod</kbd> because the recent windows switcher remains open only while you hold any modifier key.
144145

docs/wiki/FAQ.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,3 +142,8 @@ profile {
142142
output eDP-1 enable scale 1.25 position 1920,0
143143
}
144144
```
145+
146+
### Why does Firefox or Thunderbird have 1 px smaller border?
147+
148+
They draw their own 1 px dark border around the window, which obscures one pixel of niri's border.
149+
If you don't like this, set the [`clip-to-geometry true` window rule](./Configuration:-Window-Rules.md#clip-to-geometry).

docs/wiki/Getting-Started.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ systemctl --user add-wants niri.service dms
1111

1212
Arch Linux (via [paru](https://github.com/morganamilo/paru)):
1313
```
14-
sudo pacman -Syu niri xwayland-satellite xdg-desktop-portal-gnome xdg-desktop-portal-gtk
14+
sudo pacman -Syu niri xwayland-satellite xdg-desktop-portal-gnome xdg-desktop-portal-gtk alacritty
1515
paru -S dms-shell-bin matugen wl-clipboard cliphist cava qt6-multimedia-ffmpeg
1616
systemctl --user add-wants niri.service dms
1717
```

docs/wiki/_assets/stylesheets/niri.css

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,8 @@
5959
padding: .5em 1.25em;
6060
vertical-align: middle;
6161
}
62+
63+
/* Improve keyboard shortcuts for screen readers: this way they won't break on them. */
64+
.md-typeset kbd {
65+
display: inline;
66+
}

niri.spec.rpkg

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,10 @@ sed -i 's/\[env\]/[env]\nNIRI_BUILD_COMMIT="%{version}"/' .cargo/config.toml
128128
%build
129129
%cargo_build
130130

131+
target/rpm/niri completions bash > ./niri
132+
target/rpm/niri completions fish > ./niri.fish
133+
target/rpm/niri completions zsh > ./_niri
134+
131135
%install
132136
%cargo_install
133137

@@ -137,6 +141,10 @@ install -Dm644 -t %{buildroot}%{_datadir}/xdg-desktop-portal ./resources/niri-po
137141
install -Dm644 -t %{buildroot}%{_userunitdir} ./resources/niri.service
138142
install -Dm644 -t %{buildroot}%{_userunitdir} ./resources/niri-shutdown.target
139143

144+
install -Dm644 -t %{buildroot}%{bash_completions_dir} ./niri
145+
install -Dm644 -t %{buildroot}%{fish_completions_dir} ./niri.fish
146+
install -Dm644 -t %{buildroot}%{zsh_completions_dir} ./_niri
147+
140148
%if %{with check}
141149
%check
142150
# Skip tests that run into open fd limits, until we figure out a fix.
@@ -155,6 +163,9 @@ install -Dm644 -t %{buildroot}%{_userunitdir} ./resources/niri-shutdown.target
155163
%{_datadir}/xdg-desktop-portal/niri-portals.conf
156164
%{_userunitdir}/niri.service
157165
%{_userunitdir}/niri-shutdown.target
166+
%{bash_completions_dir}/niri
167+
%{fish_completions_dir}/niri.fish
168+
%{zsh_completions_dir}/_niri
158169

159170
%changelog
160171
{{{ git_dir_changelog }}}

resources/default-config.kdl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,8 @@ binds {
374374
// Example volume keys mappings for PipeWire & WirePlumber.
375375
// The allow-when-locked=true property makes them work even when the session is locked.
376376
// Using spawn-sh allows to pass multiple arguments together with the command.
377-
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+"; }
377+
// "-l 1.0" limits the volume to 100%.
378+
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; }
378379
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
379380
XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
380381
XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; }

0 commit comments

Comments
 (0)