Ivan Molodetskikh
c7a8c44a0d
niri.spec.rpkg: Add mesa-libEGL to build requirements
...
Needed for the client-server animation tests.
Signed-off-by: Ivan Molodetskikh <yalterz@gmail.com >
2025-08-14 20:29:27 +03:00
Ivan Molodetskikh
25c1c04349
layout: Offset ongoing column X move anims for non-animated resizes
2025-08-14 15:58:59 +03:00
Ivan Molodetskikh
36af02ad34
layout/tests: Add two width resize tests with the same issue as just fixed
2025-08-14 15:58:59 +03:00
Ivan Molodetskikh
a9f0f4d44f
layout/scrolling: Normalize column X move anim from 1 to 0
...
Will be needed for offsetting to fix the resize cancel issue.
2025-08-14 15:58:59 +03:00
Ivan Molodetskikh
e3101ced70
layout: Offset Y animations for non-animated resizes
2025-08-14 15:58:59 +03:00
Ivan Molodetskikh
ea438b21e9
layout/tests: Add column resize animation tests
2025-08-14 15:58:59 +03:00
Ivan Molodetskikh
42bd107795
layout/tests: Add CompleteAnimations op
2025-08-14 15:58:59 +03:00
Ivan Molodetskikh
a2767041d9
layout/tests: Support forced test window size
2025-08-14 15:58:59 +03:00
Ivan Molodetskikh
5bda3041d0
layout/tests: Support animation snapshot
...
Only the size is needed in these tests; needed for testing animation progress.
2025-08-14 15:58:59 +03:00
Ivan Molodetskikh
54076b7632
layout/tests: Extract check_ops_on_layout()
2025-08-14 15:58:59 +03:00
Ivan Molodetskikh
c9873a0885
layout: Remove by-ref animation_snapshot() getter
...
It was used in only one place, and that place was due for an update to use the
cached data.
2025-08-14 15:58:59 +03:00
Ivan Molodetskikh
7a6be2a923
Add basic client-server resize animation tests
2025-08-14 15:58:59 +03:00
Ivan Molodetskikh
bba9ca1fa2
headless: Add a renderer
...
To be used for animation tests that need animation snapshots.
The renderer is optional to avoid creating it thousands of times in tests when
it's not needed, plus it can deadlock in mesa apparently.
2025-08-14 15:58:59 +03:00
Christian Meissl
af9ce53310
use ScanoutCandidate kind for surfaces
...
this allows to get direct scan-out on surfaces again
2025-08-13 11:39:12 +03:00
Ivan Molodetskikh
0044578681
Fix new lifetime warnings
2025-08-11 09:39:28 +03:00
Ivan Molodetskikh
0c09f2529b
Update dependencies
2025-08-11 09:12:42 +03:00
Ivan Molodetskikh
2fb993d221
Bump Smithay (xkbcommon wvkbd fix)
2025-08-11 09:07:13 +03:00
vanderlokken
67361f88fd
Add the LoadConfigFile action ( #2163 )
...
* Add the `LoadConfigFile` action
* fixes
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2025-08-09 12:20:08 +00:00
BB
f74d83dcca
niri-config: add keep-max-bpc-unchanged option ( #2195 )
...
* niri-config: add disable-set-bpc option
setting bpc to 8 bricks some OLED displays driven by amdgpu
* change to keep-max-bpc-unchanged and add to wiki
* fmt
* Update wiki/Configuration:-Debug-Options.md
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2025-08-07 11:06:11 -07:00
Ivan Molodetskikh
055a94de3d
Reload libinput settings when trackball, tablet and touch change
...
Somehow missed this before.
2025-08-07 17:15:30 +03:00
sodiboo
52c579d556
fix hot reloading /etc/niri/config.kdl ( #1907 )
...
* refactor config load logic, and properly watch the system config path
* move config creation to niri-config, and make the errors a bit nicer
notably, "error creating config" is now a cause for "error loading
config", instead of it being one error and then "error loading config:
no such file or directory". also, failure to load a config is now
printed as an error level diagnostic (because it is indeed an error, not
just a warning you can shrug off)
* refactor watcher tests; add some new ones
now they check for the file contents too! and i added some tests for
ConfigPath::Regular, including a messy one with many symlink swaps
* fixes
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2025-08-05 06:27:28 -07:00
Ivan Molodetskikh
5edd91d37b
pw_utils: Add Tracy span to queue_after_sync()
2025-08-04 16:01:11 +02:00
Ivan Molodetskikh
378a90e4b0
pw_utils: Set sequence in buffer meta header
...
Useful for debugging.
2025-08-04 16:01:11 +02:00
Ivan Molodetskikh
871cf4ba9a
pw_utils: Remove commented-out unused buffer props
2025-08-04 16:01:11 +02:00
Ivan Molodetskikh
f49ecc31c4
pw_utils: Wait for frame completion before queueing
...
Without explicit sync, we have no way to signal the PipeWire consumer when the
rendering is done. So, wait until it's done before giving it the frame.
This should fix flickering screencasts on NVIDIA.
2025-08-04 14:36:34 +02:00
Ivan Molodetskikh
15b4acc17e
pw_utils: Fill dmabuf strides and offsets at add_buffer()
...
As far as I understand, these don't change.
2025-08-04 14:36:34 +02:00
Ivan Molodetskikh
43577f4d97
pw_utils: Store LoopHandle
2025-08-04 14:36:34 +02:00
Ivan Molodetskikh
8fba696d8e
pw_utils: Switch to using raw pw_buffers
...
We're gonna need to store these in the future, and the lifetime on the pw-rs
Buffer prevents us from easily doing that. Besides, we'll need access to
metadata which pw-rs doesn't expose yet.
2025-08-04 14:36:34 +02:00
Ivan Molodetskikh
2e3935d77d
pw_utils: Extract shared state to CastInner
2025-08-04 14:36:34 +02:00
Ivan Molodetskikh
53b7c08363
pw_utils: Unmark CastState as pub
2025-08-04 14:36:34 +02:00
Ivan Molodetskikh
76c3bb20ba
pw_utils: Add clarifying comments on maxsize and size
2025-08-04 14:36:34 +02:00
Ivan Molodetskikh
91b6a111cf
Upgrade dependencies
...
Leave gtk-rs for now as it bumped MSRV to 1.83.
2025-07-31 19:39:12 +02:00
Ivan Molodetskikh
98a42c5557
Update Smithay (clipboard client exit nil fix, input region bottom-right fix)
2025-07-31 19:39:12 +02:00
Ivan Molodetskikh
e19e1f0f10
signals: Gate on target_os = "linux"
...
Hopefully fixes build on FreeBSD.
2025-07-31 14:57:46 +03:00
Ivan Molodetskikh
c0ddf3f9ff
signals: Reduce fn visibility
2025-07-31 14:50:39 +03:00
Ivan Molodetskikh
4ac4cb4a44
xwayland: Make abstract socket optional and Linux-only
...
Hopefully fixes build on FreeBSD.
2025-07-31 14:35:35 +03:00
Ivan Molodetskikh
365274e5e2
default-config: Add a bind to toggle orca (screen reader)
...
Signed-off-by: Ivan Molodetskikh <yalterz@gmail.com >
2025-07-31 13:02:54 +02:00
Ivan Molodetskikh
672bf3e1ff
Implement org.fd.a11y KeyboardMonitor
...
Makes Orca work with niri:
- keyboard watching and announcing everywhere (not just GTK 3 windows)
- grabs for the Orca modifier (with double-press to pass through) and keystrokes
2025-07-31 13:02:54 +02:00
Ivan Molodetskikh
fefc0bc0a7
README: Link LWN article
2025-07-18 23:28:49 +03:00
zimward
0b1a6c76ec
ci/alpine: switch to container to not rely on overloaded alpine gitlab
2025-07-18 12:10:47 -07:00
sodiboo
485e667fec
block signals early: now handled correctly with tracy ondemand
2025-07-18 11:41:17 -07:00
sodiboo
8f442dee06
refactor signal handling, and clear sigmask before spawning
2025-07-18 11:41:17 -07:00
ジムワルド
9c09bc730f
ci: add musl/alpine build ( #2065 )
...
* ci: add musl build
* Update .github/workflows/ci.yml
* Update .github/workflows/ci.yml
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2025-07-17 20:05:36 +00:00
Ivan Molodetskikh
7b065f8618
wiki/Nvidia: Mention screencast flickering fix
2025-07-16 11:57:55 +03:00
hecate cantus
60fbcd2329
Add Nvidia.md leaf file, add links in sidebar & getting started ( #2029 )
...
* Add Nvidia.md leaf file, add links in sidebar & getting started
* squash review-commits from gh to one commit
* heap reuse ratio from 1 => 0 to match currently shipped solution
* Update wiki/Nvidia.md
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2025-07-16 06:06:07 +00:00
Ivan Molodetskikh
5ac440a760
Mention localectl in the docs
2025-07-15 18:38:00 +03:00
Ivan Molodetskikh
0e3d078a85
Implement fetching xkb options from org.freedesktop.locale1
2025-07-15 18:19:11 +03:00
Bloxx12
36efd6e3f9
nix: update flake inputs
2025-07-15 15:55:45 +03:00
Bloxx12
30a9c6c31b
nix: replace nix-filter with lib.fileset
...
Co-authored-by: sodiboo <git@sodi.boo >
2025-07-15 15:55:45 +03:00
Ivan Molodetskikh
bc0a06226a
niri-session: Also unset DISPLAY
...
We set it now for xwayland-satellite integration.
2025-07-15 15:54:50 +03:00