Skip to content

Conversation

@Acters
Copy link

@Acters Acters commented Nov 17, 2025

In an attempt to reduce chances of leaked private details, the block-out-from has been hardened to intentionally delay the unblocking until subsurface draws reported by wayland compositor stops, or a hard cap timer is reached.

  • Track block-out-from transition to unblock per window via the BlockOutHoldAction, so we know when a hold starts or clears.
  • Add per-window silence and force timers (30 ms debounce + 200 ms failsafe) to keep screencasts blocked until
    subsurface commits settle, resetting timers on each commit and cancelling them on unmap.
  • Extend the layout/Niri plumbing to locate windows by MappedId, manage timer lifecycles, and finish holds when
    timers fire.
  • Update compositor/xdg-shell handlers to hook into the new timer APIs and avoid borrowing conflicts while
    recomputing window rules.

Unfortunately, I am new to rust and had the help of AI to make these changes.
Overall, it does correctly delay the unblocking of the window to allow the window to finish committing all the rendering changes.

fixes #1348

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add timeout for block-out-from to make matching by name more usable

1 participant