- New open_file IPC message: resolves [open_with] extension mapping,
falls back to default_editor for known text formats, otherwise opens
an 'Öppna med' dialog where the user types a command (live preview
of the full command line, path tail-truncated so the extension stays
visible) and chooses open-once or save-as-default for the extension
(persisted to [open_with] in config.toml)
- default_editor configurable in the settings dialog (new Editor row
with inline text editing) and in config.toml; '{}' in commands is
replaced with the shell-quoted path
- Documented in SOCKET_API.md; integration suite covers dialog →
save-association → direct open (38/38)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- New key_event/mouse_event client messages (crossterm serde) that run
through the complete WM event handling on the server — remote clients
get window focus, drag/resize and mouse forwarding into virtual
terminals (SGR/UTF-8/X10) identical to standalone mode
- tui-wm -c now forwards mouse events; previously only keyboard worked
remotely
- IPC unit tests + end-to-end integration test (tests/integration.py):
daemon, frames, click/scroll SGR forwarding, popups, TUI-FM in a
window — 12/12 passing
- Document the new messages in SOCKET_API.md
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Added `kitty_gfx` module to handle loading, scaling, and displaying background images using the Kitty graphics protocol.
- Integrated background image handling into the main application loop, allowing dynamic updates based on configuration.
- Enhanced terminal rendering to support transparent backgrounds when a Kitty image is active.
- Updated IPC server to manage client connections and messages, including handling background image settings.
- Modified `PtyTerminal` to accept additional environment variables during shell spawning.
- Improved rendering logic to support popup dialogs and terminal background color customization.