Skip to content

v0.4.1

Choose a tag to compare

@cohix cohix released this 07 Apr 21:11
· 220 commits to main since this release
0407f32

Release v0.4.1

Features

  • Terminal text selection and copy: Select text in the container window by
    clicking and dragging the mouse. The selected region is highlighted with
    inverted colours. Press Ctrl+Y to copy the selection to the system
    clipboard as plain text (ANSI colour codes are stripped). Ctrl+Y with no
    active selection forwards the key to the agent as normal. Selection is
    automatically cleared on Esc, terminal resize, or when a new container
    session starts.

  • Expanded scrollback history (10,000 lines): The container terminal now
    retains up to 10,000 lines of scrollback history by default (up from the
    previous ~50-line effective limit). The scroll speed increases to 5 lines per
    mouse-wheel tick. The scrollback indicator in the title bar now shows
    ↑ scrollback (N / M lines) — the current offset N and the total depth M
    — so you can see at a glance how far back you have scrolled and how much
    history is available.

  • Configurable scrollback line count: The scrollback capacity can be tuned
    per-repository or globally via a new terminal_scrollback_lines config field.
    Per-repo config takes precedence over global config; both fall back to the
    built-in default of 10,000 lines. Reduce this value to lower memory usage
    when running many tabs; increase it for very long build or test runs.

    Per-repo (GITROOT/.amux/config.json):

    { "terminal_scrollback_lines": 5000 }

    Global ($HOME/.amux/config.json):

    { "terminal_scrollback_lines": 20000 }

Improvements

  • Scrollback depth probe: The scroll handler now probes the actual number of
    retained scrollback rows (via a set_scrollback(usize::MAX) sentinel) instead
    of capping at the visible screen height. This was the root cause of the
    previous ~50-line limit — the parser held 1,000 rows but the scroll offset was
    incorrectly bounded to the ~24-row screen size.

  • Clipboard abstraction for CI: The clipboard write path is abstracted
    behind a ClipboardWriter trait, making the copy flow testable without a real
    display server. In headless environments (no X11/Wayland), clipboard
    initialisation fails gracefully with a log warning instead of a panic.

Fixes

  • Fixed the container terminal scrollback being limited to approximately one
    screen height regardless of how much history was stored in the parser.