Commit Graph

2759 Commits

Author SHA1 Message Date
Ivan Molodetskikh fad02316f1 wiki: Update binds list on Getting Started 2026-04-22 13:22:57 +03:00
Ivan Molodetskikh 47385c2ecd wiki: Add missing Since next release 2026-04-22 13:18:39 +03:00
Uzlkav e430d3ab2b wiki: explicitly mention possible include methods 2026-04-22 13:18:14 +03:00
Ivan Molodetskikh e472b5b0f1 wiki: Fix typos 2026-04-21 22:35:13 +03:00
Ivan Molodetskikh efb169416d wiki: Mention these are the default blur values 2026-04-21 22:35:06 +03:00
Ivan Molodetskikh 3a3a97ec2a Remove wrong return before dlclose() 2026-04-21 17:58:59 +03:00
Ivan Molodetskikh e9c182a13c Make use of new DndGrabHandler::cancelled() 2026-04-20 20:42:21 +03:00
Ivan Molodetskikh cfe059c303 Fix clipped surface + y_invert buffer 2026-04-20 20:38:26 +03:00
Ivan Molodetskikh bd7c748a4f Upgrade Smithay (old laptop screenshot fix) 2026-04-20 20:37:33 +03:00
Ivan Molodetskikh 68bb942d21 Add test for set_fullscreen panic on removed wl_output 2026-04-19 14:35:36 +03:00
jan Lemata 04c422e43f tty: Re-evaluate ignored nodes on udev add events and session resume (#3651)
* tty: Re-evaluate ignored nodes on udev add events

When a DRM device is removed and rescanned (e.g. during a dGPU
suspend/resume cycle), the kernel may assign it a new device ID.
Re-evaluating the config paths specifically on UdevEvent::Added
ensures that symlinks like /dev/dri/by-path/... are resolved to
their new underlying IDs, preventing niri from accidentally
opening an ignored hotplugged device.

This check is restricted to device additions to avoid unnecessary
filesystem I/O on the hot path during bursts of other udev events.

* fixes

---------

Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2026-04-19 08:50:56 +00:00
Ivan Molodetskikh d09fa2709c Guard against removed outputs in several places
Output::from_resource() succeeds even after the global has been disabled
and removed from niri. Clients operating on these disabled outputs could
cause panics in several places because niri assumed the output existed.
2026-04-19 11:19:41 +03:00
urayde 2c3315aebb wiki/getting-started: replace dms-shell references for arch 2026-04-19 10:53:55 +03:00
Indi 5a45088061 config: Print first definition in duplicate bind error message (#3536)
* improve config error messages for duplicate binds

* fixes

---------

Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2026-04-19 07:00:18 +00:00
Ivan Molodetskikh 404d6dccc4 config: Expand ~ to home dir in includes 2026-04-19 09:41:24 +03:00
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