Skip to content

Add terminal visibility reports - #1784

Open
rockorager wants to merge 1 commit into
raphamorim:mainfrom
rockorager:visibility-reports
Open

rockorager wants to merge 1 commit into
raphamorim:mainfrom
rockorager:visibility-reports

Conversation

@rockorager

Copy link
Copy Markdown

Summary

  • implement private mode 2033 and the one-shot CSI ? 998 n visibility query
  • report whether each terminal pane is potentially visible as CSI ? 999 ; Ps n
  • combine active-tab state with window visibility, minimization, suspension, and occlusion
  • route protocol replies back to terminals in inactive tabs
  • publish Wayland suspended state and X11 map/unmap visibility changes

Testing

  • cargo fmt --all -- --check
  • git diff --check
  • cargo test -p rio-window --lib
  • cargo test -p rio-vt visibility_reporting_protocol
  • cargo test -p rioterm visibility_follows_active_tab_and_window

Terminal applications cannot currently tell whether their view is hidden,
so they continue expensive rendering and polling while minimized, occluded,
or placed in an inactive tab.

Implement private mode 2033 and the visibility status query and report
sequences. Track active tabs and host-window state, route replies back to
inactive terminals, and synthesize reliable occlusion events from Wayland
and X11 lifecycle state.

Amp-Thread-ID: https://ampcode.com/threads/T-019fb391-166e-772d-8625-c6772ded11d8
Co-authored-by: Amp <amp@ampcode.com>
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.

1 participant