Ivan Molodetskikh
5ddcf195dd
Remove unused portable-atomic dep
...
Has been unused for a long while (since the animation clock refactor).
2026-01-25 20:49:07 +03:00
Ivan Molodetskikh
e11abe554f
Fix expel-window-from-column comment
...
It's been changed to this a while ago.
2026-01-25 13:33:15 +03:00
Ivan Molodetskikh
9261fd6342
layout/tests: Add test for second workspace y = 0
2026-01-25 18:28:35 +08:00
SAKURA
fb2f66f361
layout/monitor: round workspace render geo to physical pixels
2026-01-25 18:28:35 +08:00
dependabot[bot]
e2e15b7a18
build(deps): bump zbus in the rust-dependencies group
...
Bumps the rust-dependencies group with 1 update: [zbus](https://github.com/z-galaxy/zbus ).
Updates `zbus` from 5.13.0 to 5.13.1
- [Release notes](https://github.com/z-galaxy/zbus/releases )
- [Changelog](https://github.com/z-galaxy/zbus/blob/main/release-plz.toml )
- [Commits](https://github.com/z-galaxy/zbus/compare/zbus-5.13.0...zbus-5.13.1 )
---
updated-dependencies:
- dependency-name: zbus
dependency-version: 5.13.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-25 18:23:49 +08:00
Xarth
0a416eedda
docs: Update Arch Linux installation instructions
...
Removed 'wl-clipboard' and 'cliphist' from the installation command for Arch Linux. Because dms doesn't request that now.
2026-01-25 18:22:38 +08:00
Ivan Molodetskikh
d7184a04b9
render_helpers: Add Smithay Tracy GPU spans
2026-01-17 22:31:05 +03:00
Ivan Molodetskikh
bdf394260a
render_helpers: Add Tracy spans to draw() calls
2026-01-17 22:30:32 +03:00
Ivan Molodetskikh
74d14be01f
Update Smithay (virtual keyboard, layer-shell geometry, GPU profiling)
...
Also includes the necessary code to handle the virtual keyboard
compositor-side. Similar to the virtual pointer, we have an InputDevice
impl that allows reusing the logic from process_input_event().
Co-authored-by: wxt <3264117476@qq.com >
2026-01-17 22:29:10 +03:00
Ivan Molodetskikh
3ccb06f564
Fix panic in screencopy manager destroyed()
2026-01-17 15:32:20 +03:00
Ivan Molodetskikh
d9e755d575
screencasting: Only render pointer when it's within output
2026-01-17 13:59:23 +03:00
Ivan Molodetskikh
87e2dd0361
Revert "Move set_dynamic_cast_target() stub closer to the other ones"
...
This reverts commit dd93c39ed0 .
Why did I do this, that function is on a different type
2026-01-15 17:29:37 +03:00
Ivan Molodetskikh
dd93c39ed0
Move set_dynamic_cast_target() stub closer to the other ones
2026-01-15 13:14:23 +03:00
Ivan Molodetskikh
849788bb28
Add niri msg stop-cast --session-id
2026-01-15 13:13:50 +03:00
Ivan Molodetskikh
9015ff8e36
ipc: Add pw_node_id to PipeWire Casts
2026-01-15 08:42:25 +03:00
Ivan Molodetskikh
e546b339a3
ipc: Add PID to screencopy Casts
2026-01-15 08:42:25 +03:00
Ivan Molodetskikh
b39edf405a
screencopy: Add timeout to casts considered stopped
...
Otherwise xdp-wlr never stops the cast after it first starts.
2026-01-15 08:42:25 +03:00
Ivan Molodetskikh
b98f4906da
ipc: Add CastKind
2026-01-15 08:42:25 +03:00
Ivan Molodetskikh
e82830c68c
ipc: Add screencopy cast tracking
...
Track wlr-screencopy sessions that use with_damage as screencasts. These
are used by tools like wl-screenrec for continuous recording.
2026-01-15 08:42:25 +03:00
Ivan Molodetskikh
238caaf8da
ipc: Add screencast request and events for PipeWire casts
...
Allows desktop bars to show when screen recording is active.
2026-01-15 08:42:25 +03:00
Ivan Molodetskikh
9c79108afa
Refactor wlr-screencopy state cleanup
...
Before we cleaned up when binding a new manager, meaning that after a
screencopy client exited, the queue kept existing until a new one is
bound. We'll need precise tracking for the screencast IPC, so this
commit refactors to do just that: clean up the queue immediately when
all referring objects no longer exist.
This commit also fixes an issue where destroyed frames (e.g. from a
killed client) didn't clean the corresponding screencopy objects,
leading them to exist forever.
2026-01-13 23:01:21 +03:00
Ivan Molodetskikh
2571242887
screencopy: Pop first screencopy instead of last
...
This was never found probably because no client submits multiple frames
at once.
2026-01-13 23:00:38 +03:00
Ivan Molodetskikh
6f92b3296a
Store output name in CastTarget
...
Will be useful in the next commit to avoid fetching it every time.
2026-01-13 21:31:51 +03:00
Ivan Molodetskikh
570ea119ba
Extract cast session/stream ID counters to global scope
...
Add CastSessionId and CastStreamId newtypes. This lifts the atomic
counters from the D-Bus mutter_screen_cast module to a shared location,
preparing for adding screencopy cast tracking which will need the same
ID types.
2026-01-13 21:31:51 +03:00
Ivan Molodetskikh
df4614e62c
screencasting: Use spans to reduce logging boilerplate
2026-01-12 21:33:29 +03:00
Ivan Molodetskikh
3672e79369
Delay starting dynamic casts until there's a target
...
This avoids a weird 1x1 stream as well as one renegotiation which is a
complex operation, and some clients apparently have a problem with it.
2026-01-12 08:45:03 +03:00
Ivan Molodetskikh
2d16abdaae
Move dynamic_target set outside pw_utils
2026-01-12 08:37:58 +03:00
Ivan Molodetskikh
ff081acddc
screencasting: Extract some logic into functions
2026-01-12 08:37:58 +03:00
Ivan Molodetskikh
afe27a143b
Move xdp-gnome-screencast code into separate module
2026-01-12 07:59:56 +03:00
Ivan Molodetskikh
fd2916eb72
Honor pointer visibility in screencasts
...
Regressed in 05599ce2c4 .
2026-01-12 07:11:56 +03:00
Janis
e9d888cd52
Set NIRI_BUILD_COMMIT in flake.nix ( #3235 )
2026-01-11 19:59:43 +03:00
abmantis
05599ce2c4
Implement cursor metadata in window screencast
...
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2026-01-11 06:51:14 -08:00
Ivan Molodetskikh
0fb6c5706b
Extract pointer_pos_for_window_cast()
...
Will be used for window screencasts too.
2026-01-11 06:51:14 -08:00
Ivan Molodetskikh
79aaa4c6c0
Upgrade dependencies
2026-01-11 15:37:00 +03:00
Ivan Molodetskikh
7e559dc468
Use unadjusted clock for config notification shown duration
...
It shouldn't be affected by anim slowdown (or, more importantly,
speedup).
2026-01-11 15:08:58 +03:00
Ivan Molodetskikh
45fc763281
Update Insta snapshots for new Insta version
...
No functional changes intended.
2026-01-10 15:45:47 +03:00
Ivan Molodetskikh
39d3cd2415
Add a push version of render()
...
Will be useful for screencasting.
2026-01-10 15:32:21 +03:00
Ivan Molodetskikh
19b1074a8b
Fix root surface tracking for sync subsurfaces
...
In particular, fixes screenshot-window with show-pointer on foot CSD.
2026-01-10 15:32:21 +03:00
Ivan Molodetskikh
539a5a8030
Fix tablet cursor for screenshot-window with pointer
2026-01-10 15:32:21 +03:00
Ivan Molodetskikh
53b7477d20
render_helpers: Fix encompassing_geo() argument type
2026-01-10 15:32:21 +03:00
Ivan Molodetskikh
c34f7b18ec
pick_color_grab: Remove unnecessary Vec allocation
2026-01-10 15:32:21 +03:00
Anton Kesy
a6baef7b68
Fix typo
2026-01-10 04:30:42 -08:00
Manuel Romei
10df9f4717
fix(pw_utils): prevent write-after-free by reordering Cast struct fields
...
The Cast struct fields were ordered such that `stream` was dropped before
`_listener`. In Rust, struct fields are dropped in declaration order.
Because `StreamListener` attempts to unregister itself from the stream on
drop, and `StreamRc` destroys the underlying PipeWire stream on drop, the
previous order caused `_listener` to access the stream after it had
already been freed.
This reorders the fields so `_listener` is declared before `stream`,
ensuring the listener unregisters itself while the stream is still valid.
* Apply suggestion from @YaLTeR
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2026-01-07 13:32:06 +00:00
Ivan Molodetskikh
9f8eadc5bc
Add screenshot-window show-pointer=true
2026-01-07 07:53:05 +03:00
Ivan Molodetskikh
a496307daf
Move pointer visibility check outside render_pointer()
2026-01-07 07:53:05 +03:00
Ivan Molodetskikh
bc7bb51b6f
Fix Tracy span name
2026-01-07 07:53:05 +03:00
Ivan Molodetskikh
b7eb8a635b
default-config: Bind Mod+M to maximize-window-to-edges
2026-01-05 10:28:18 +03:00
Ivan Molodetskikh
d060b06667
Replace TODO with FIXME
...
We use TODO for things to be fixed before committing.
2026-01-05 08:29:05 +03:00
Ivan Molodetskikh
54c2e2ab47
utils/spawning: Remove unnecessary cfgs
...
Forgotten when this was refactored.
2026-01-04 15:43:42 +03:00
Ivan Molodetskikh
df3f3979e9
layout/scrolling: Preserve gesture anim in dnd_scroll_gesture_end()
...
Fixes interactive move unmaximize/unfullscreen into floating skipping
the view offset anim.
2026-01-04 15:43:42 +03:00