Skip to content

v1.0.1

Choose a tag to compare

@Lazy-Beee Lazy-Beee released this 20 May 01:40
· 72 commits to main since this release

Fixes

  • Simulator hang from unread stderr PIPE. stderr was opened but never drained; once the OS pipe buffer filled, the simulator's next write blocked — stdout stopped advancing and the UI appeared to freeze, even when stdout was producing fewer than one line per second. stderr is now merged into stdout so the existing reader handles both, and stdin is pointed at DEVNULL.
  • Footer key order shifting when an Input was focused. Ctrl+X (Stop) and Ctrl+W (Close case tab) collide with Input's built-in cut / delete-word bindings; Textual interleaves them at Input.BINDINGS slot positions, scrambling the visible key order. Both are now show=False. Ctrl+X stays priority so Stop still fires from inside an Input; Ctrl+W stays non-priority so Input keeps delete-word.

TUI improvements

  • Explicit drag-and-drop target. The next paste / drop lands in the input you last clicked or Tab-focused, shown as Drag target: Simulator / Scene under the Scene input. Replaces focus-based routing, which broke when an OLE drag cleared Textual focus.
  • Clear button next to each of Simulator / Scene inputs. Clear empties the field and re-focuses it (which also sets it as the next drag target).
  • Copy log button in the Running tab toolbar and in each case-log tab. Textual's click-drag selection works for Static / Label but not for RichLog (mouse-down is consumed by the scrollable container), so the button pipes the active RichLog through app.copy_to_clipboard (OSC 52) for a reliable cross-terminal copy. Terminal-native Shift+drag still works for finer-grained selection.
  • Tighter Running and case-tab headers. Single-line header rows now line up with the Copy button alongside them. Case-tab header shows Case | Exe on row 1 and Status | Time | Warnings | Errors + Copy on row 2.