v0.3.0
Added
- PowerShell shell integration:
powershell.exeandpwshnow emit the OSC 133
semantic-prompt marks and OSC 7 cwd that zsh/bash/fish already do, injected
via-EncodedCommandafter 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 echoing0;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 offportable-pty'sget_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 topowershell.exedirectly.