Command reference
oko sessions repaint
Asks the program in one session to redraw its screen.
Invocation#
oko sessions repaint ID [--socket PATH]Inputs and options#
- ID is required.
Output and state effect#
- Sends the broker's repaint request to the process group created for the terminal; no session is created or ended. Success means the operating system accepted the window-change signal, not that a redraw was visually observed.
- In Oko Desktop → Sessions, select a running broker session and choose Request redraw in its inspector. The action uses the same native repaint request, prevents duplicate requests while it is pending, and shows the actual broker refusal in the shared mutation bar. Ended sessions cannot request redraw. Inventory read failures also display their concrete cause, including when older rows remain visible.
- Real signal qualification is part of `sessions-lifecycle`. When execution is permitted, build `cargo build --manifest-path rust/Cargo.toml --example pty-window-probe`, set OKO_TEST_WINDOW_PROBE to that actual executable, declare OKO_TEST_SOURCE_REVISION and positive OKO_TEST_TERMINAL_COLUMNS/OKO_TEST_TERMINAL_ROWS, then run `cargo test --manifest-path rust/Cargo.toml --test sessions-lifecycle -- --nocapture`. The resize destination must differ from the foreground process's measured starting dimensions.
- The real foreground observer blocks SIGWINCH before reporting readiness, reads its actual controlling-terminal dimensions, then reports the received signal and resulting dimensions through the broker attach socket. The journey exercises CLI repaint and native resize, observes natural terminal EOF and verifies that the session disappears. Reports retain the observer digest and actual output alongside the candidate-bound service exchanges. This covers accepted signal delivery, not a visual redraw, an operating-system signal refusal or a graphical journey; those require separate real evidence.
Refusals and safe exits#
- “oko sessions repaint requires <id>” (exit 2); broker failures exit unsuccessfully with the broker's answer. A window-change signal failure names the broker session, process group and actual operating-system cause. It does not silently signal only the group leader or report success.