Skip to content

v0.3.0

Choose a tag to compare

@l0ng-ai l0ng-ai released this 07 Jul 02:49

Added

  • PowerShell shell integration: powershell.exe and pwsh now emit the OSC 133
    semantic-prompt marks and OSC 7 cwd that zsh/bash/fish already do, injected
    via -EncodedCommand after the user's profile loads (their config is never
    touched). This turns on the inline line editor at the PowerShell prompt — so
    clicking positions the caret and new tabs/splits inherit the working
    directory — which is what previously made mouse clicks a no-op at the prompt
    on Windows.

Fixed

  • Typing exit (or Ctrl-D) left a dead "process exited" pane behind instead
    of closing it. A pane whose shell genuinely ends now closes itself —
    collapsing its split, or closing the tab when it was the only pane (the
    last tab falls back to the home page), like every other terminal. A pane
    that merely lost its daemon connection still stays visible: auto-closing
    those would silently discard — and kill — sessions that may still be alive
    daemon-side. Panes that died while detached clean themselves up on the next
    attach the same way.

  • A full-screen TUI dying without restoring the terminal — the canonical case
    being an ssh session dropping mid-htop/vim — left the pane stranded on
    the alt screen with a hidden cursor and live mouse reporting: a visible
    prompt with no cursor anywhere, mouse clicks echoing 0;19;42M-style junk,
    and broken scrollback. The client now scrubs this residue the moment the
    shell reports its next prompt (OSC 133): it leaves the stranded alt screen,
    re-shows the DECTCEM-hidden cursor, and disables stale mouse/focus reporting
    and kitty keyboard flags — each reset only when its mode is actually set.
    Reattach self-heals the same way, since the daemon replays the prompt state
    after the ring.

  • Windows shell integration never engaged even for the default shell: detection
    keyed off portable-pty's get_shell(), which reports %ComSpec% (cmd.exe)
    regardless of what's actually spawned, so the PowerShell default was mistaken
    for an unsupported shell. It now resolves to powershell.exe directly.