Intercept Shift+Enter and send Ctrl+V + LF (\x16\x0a) to the PTY,
which triggers quoted-insert in both bash (readline) and zsh (zle)
to insert a literal newline without executing the command.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implement URL detection from PTY output since Restty's canvas-based
rendering doesn't expose a text layer for link detection.
- TerminalLinkDetector tracks PTY output, strips ANSI codes, and
maintains a line buffer to detect URLs at screen positions
- Each pane gets its own detector fed via beforeRenderOutput hook
- Ctrl+Click (or Cmd+Click) on a detected URL opens it in the
default browser via shell.openExternal
- Ctrl+hover shows pointer cursor when over a URL, reverts on release
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Override window.open in the renderer to route http/https URLs through
Electron's shell.openExternal, gated by Ctrl (or Cmd on macOS) being
held during the click. Restty already detects URLs and shows a pointer
cursor on hover, but its window.open call with noopener/noreferrer may
not properly trigger Electron's setWindowOpenHandler.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Restty does not map Ctrl+Backspace to backward-kill-word by default.
Intercept the key combination at the capture phase and send \x17 via
sendKeyInput so it reaches the PTY process directly.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Pass --no-sandbox to Electron dev script to work around Linux namespace restrictions
- Switch restty renderer from hardcoded 'webgpu' to 'auto' for WebGL2 fallback
- Add Linux font fallbacks (DejaVu Sans Mono, Liberation Mono, Ubuntu Mono, monospace)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>