Ivan Molodetskikh
084f2cb193
tty: Skip initialization if session is inactive
2026-04-19 09:23:30 +03:00
Ivan Molodetskikh
25c88b542f
tty: Add primary node first when resuming session
2026-04-19 09:19:58 +03:00
Dubakula Sai Venkata Chaitanya
6fc50a1fb8
Fix input lock when starting compositor while on a different TTY ( #3593 )
...
* fix: no longer input locks when TTY is switched before full compositor
start
* reword
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2026-04-19 09:14:38 +03:00
Ivan Molodetskikh
5e11b96f12
backend: Downgrade bind_wl_display() warn! to trace!
2026-04-19 08:43:31 +03:00
Austin Riba
849d26d646
backend/winit: Add DMA-BUF support ( #3327 )
...
* backend/winit: DMA-BUF setup for Nvidia support
Creates a dmabuf global in the same manner as the tty backend. This
fixes applications failing to launch on Nvidia when using the winit
backend.
This code is adapted from Smithay's Anvil compositor.
See smithay/anvil/src/winit.rs
* fixes
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2026-04-19 05:43:11 +00:00
Benjamin Bäumler
9e5716a9db
Add tablet option map-to-focused-output
2026-04-18 12:41:08 +03:00
Ivan Molodetskikh
f4ebbc8017
wiki: Emphasize non-xray warnings
2026-04-18 12:02:39 +03:00
sodiboo
ce9dd33213
protocols: implement ext-foreign-toplevel-list-v1
...
clean up foreign toplevel destruction: don't `retain` to remove one item
document why we have duplicate destruction logic in foreign toplevel
messy to have two of the same comment but like how else do i make that
information readily available to both
Co-authored-by: HigherOrderLogic <73709188+HigherOrderLogic@users.noreply.github.com >
2026-04-18 09:56:50 +03:00
Ivan Molodetskikh
10995ec62c
Fix 1 new Clippy warning
...
I don't like the other ones
2026-04-18 09:30:28 +03:00
Ivan Molodetskikh
c814c656c5
Dlsym set_default_max_buffer_size() to avoid wayland-server 1.23 requirement
...
Ubuntu 24.04 users rejoice
2026-04-17 16:32:10 +03:00
ArijanJ
82d4c7569e
Handle trackball scrolling in overview
2026-04-16 21:17:49 +03:00
Ivan Molodetskikh
4f0db78248
wiki/FAQ: Describe hybrid GPU laptop external monitor lag
2026-04-16 21:09:39 +03:00
Ivan Molodetskikh
3e250cdc12
wiki/FAQ: Blur now exists
2026-04-16 21:09:16 +03:00
Ivan Molodetskikh
a1b0bd6d1c
Assume square corners for windowed fullscreen windows
2026-04-16 19:47:28 +03:00
Ivan Molodetskikh
892470afd3
Call on_maybe_dnd_ended() in two more places
...
This is not exhaustive and not a good solution. A proper Smithay
callback is needed: https://github.com/Smithay/smithay/issues/1996
2026-04-16 12:35:35 +03:00
Ivan Molodetskikh
f1cb02cfab
default-config: Bind Mod+Shift+R to switch-preset-column-width-back by default
...
Height presets aren't frequently needed in my experience, but switching
preset width back is very useful on 21:9 and wider monitors where you
have many more presets.
2026-04-16 10:03:47 +03:00
Ivan Molodetskikh
5dc4e83ba7
Upgrade dependencies
2026-04-16 09:54:53 +03:00
Ivan Molodetskikh
2b58e03d30
Upgrade tracing-subscriber and disable ANSI sanitization
2026-04-16 09:54:53 +03:00
Ivan Molodetskikh
d4b4407236
Implement cancelling DnD with Escape
...
The last Smithay upgrade includes a fix that lets us do this.
2026-04-16 09:54:53 +03:00
Ivan Molodetskikh
26ff5f4bf1
Upgrade Smithay (fix disappeared connectors, fix DnD hang in Electron)
2026-04-16 09:54:53 +03:00
Ivan Molodetskikh
d7905e6b74
Downgrade accesskit_unix to 0.17.0
...
Workaround for a 0.18 regression where accessibility doesn't work under
normal conditions.
https://github.com/niri-wm/niri/issues/3594
https://github.com/AccessKit/accesskit-c/issues/76
2026-04-16 09:54:48 +03:00
Ivan Molodetskikh
71d7fa9a61
effect_buffer: Change debug! to trace!
2026-04-15 21:35:28 +03:00
Ivan Molodetskikh
707f08559c
postprocess: Replace IGN with more white-noise-like noise
...
IGN gives visible patterns when zooming in or increasing noise amount.
2026-04-15 21:28:22 +03:00
Ivan Molodetskikh
4d21489101
Add geometry-corner-radius and background-effect popup rules
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
5a24aae560
Add popups { opacity } window and layer rule
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
9170161a0a
Implement ext-background-effect for popups
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
66d66d6030
Implement non-xray background effects
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
19866f8b0b
Refactor screencopy/screencast to render via the damage tracker, fix cursorless screencopy with damage
...
The damage tracker stores framebuffer effect cache, so we want anything
that renders repeatedly to render through a reused damage tracker. This
way, the cache persists and is reused across renders.
This will be important for the non-xray background effects.
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
4bc3ede4b7
blur: Update to use GlesRenderer in a subframe
...
Will be necessary for non-xray.
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
250aa1f3cb
Upgrade Smithay (framebuffer effect, subframes)
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
0117d6953d
Document background effects
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
931123f38c
Implement ext-background-effect protocol
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
73c0ce75d8
Implement blur background effect
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
1b1715fe9b
Implement noise and saturation background effects
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
fee8719299
Implement xray background effect
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
7f9c7d1415
Get state in one place instead of three
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
b81cb13c2c
Simplify popup position computation
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
45582ad095
render_helpers: Extract common functions
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
b3f5255bb9
layout: Narrow error! condition in update_render_elements()
...
As far as I can tell, the only place where we can hit this currently is
do-screen-transition when no outputs are connected. A check could be
trivially added there, but I don't think it's worth enforcing it with an
error! -- it's just an optimization (avoiding running unnecessary code)
while being rare and difficult to find if it does get logged.
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
8c169b1a14
offscreen: Guard against zero size (empty elements)
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
525b33777b
offscreen: Add error message
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
dec0e3bf5a
layout: Improve view_rect computation for the interactively moved window
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
6bcaaf9d21
Add layer matcher to layer-rule
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
f022b3c504
damage: Remove set_size()
...
Changes in geometry already cause a repaint.
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
ab10a260fa
Rename Niri::render_inner() => render()
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
0eddd16b8a
Rename Niri::render() => render_to_vec()
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
d020d986ed
shaders: Optimize rounding_alpha() a little
...
Simplified clamping exploiting half_px + half_px = 1.0 / niri_scale.
Makes the resize shader fit on a Eee PC ALU.
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
5abeb923de
shaders: Extract niri_rounding_alpha() into a file
...
To have it in one place.
2026-04-15 14:35:14 +03:00
Ivan Molodetskikh
dd1f28998f
Bundle renderer and target into a RenderCtx
2026-04-15 14:35:14 +03:00
Semper_
874e7fd70e
Fix typo in switch-preset-window-height-back
2026-04-14 10:02:37 +03:00