diff options
| author | blasty <blasty@local> | 2026-08-07 15:53:53 +0200 |
|---|---|---|
| committer | blasty <blasty@local> | 2026-08-07 15:53:53 +0200 |
| commit | 08b471dbdba30e4664a74f74fb3998afa879ea3b (patch) | |
| tree | eb1abd5d5ab7cc61228c8fed3a5976a781d2f6c4 /experiments/graph_shot.py | |
| parent | tools/demo.py: a scripted feature tour, and the RPC bug it found (diff) | |
| download | ida-tui-08b471dbdba30e4664a74f74fb3998afa879ea3b.tar.gz ida-tui-08b471dbdba30e4664a74f74fb3998afa879ea3b.tar.xz ida-tui-08b471dbdba30e4664a74f74fb3998afa879ea3b.zip | |
demo: --here, render the TUI in the terminal that ran the demo
--spawn needs tmux or zellij and puts the app in a second pane, which is wrong
when the capture is one terminal. --here launches the TUI through the ./ida-tui
launcher with stdio inherited, so it draws on the terminal you ran the demo
from, then drives it over the socket exactly as before and quits it at the end.
Going through the launcher rather than re-deriving the interpreter keeps the
$IDATUI_PYTHON rules in one place.
Two things this mode has to get right:
- Narration would be drawn over the app, so it is collected and replayed after
the alternate screen is gone. The operator still sees the full scene list,
just at the end instead of during.
- The socket is waited for with a deadline that also watches the child, so a
TUI that dies before it ever listens fails in a second instead of hanging
until the timeout. Teardown reaps the process (wait, then terminate, then
kill) and removes the scratch copy on every path.
--here and --spawn are rejected together. Verified: argument handling, the
mutual exclusion, and that the pure suites are unaffected. The end-to-end
--here run is NOT verified here -- it needs a real terminal, which this
environment does not have.
Diffstat (limited to 'experiments/graph_shot.py')
0 files changed, 0 insertions, 0 deletions
