rcedit requires a real ICO format file. The generate script was just
copying a PNG and renaming it to .ico, which worked locally but failed
in CI with "Reserved header is not 0 or image type is not icon".
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The build/icon.* files were gitignored, causing electron-builder
to fall back to the default Electron icon on CI.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Switch fontHintTarget from 'light' to 'normal' for crisper grid-fitting
- Enable fontThicken for bolder glyph rendering (restty feature)
- Add per-pane font zoom via Cmd+/- (only affects focused terminal pane)
- Fall back to browser zoom when not on a terminal view
- Add UI Zoom control to General settings with +/- buttons and reset
- Handle zoom shortcuts via before-input-event for reliable Cmd+- support
- Fix race condition in PTY exit handler (use captured ID, not mutable ref)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
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>