Summary
Fork Konsole to add native wrightty protocol support, similar to the Alacritty fork.
Why fork instead of bridge
Konsole's D-Bus interface can send input and manage sessions, but cannot read screen content — no D-Bus method exposes the terminal buffer. Additionally, the sendText and runCommand D-Bus methods have been flagged as security concerns and may be restricted in future releases.
A native fork embeds the wrightty protocol directly into the emulator, reading from the internal VTE/terminal state with zero overhead.
What native support provides
Full wrightty protocol support:
- All Screen methods (getText, getContents, getScrollback, screenshot, waitForText, waitForCursor)
- All Input methods (sendKeys, sendText, sendMouse)
- All Session methods (using Konsole's native tab/split model)
- All Terminal methods (resize, getSize, setColorPalette, getModes)
- All Events (screen updates, shell integration, title changes, etc.)
Implementation approach
- Fork Konsole
- Add a WebSocket server (port 9420) behind a
--wrightty flag or config option
- Wire JSON-RPC handlers to Konsole's internal terminal state
- Expose the same protocol as the Alacritty fork
Konsole internals (relevant)
- Written in C++ / Qt / KDE Frameworks
- Terminal emulation via
Emulation and Screen classes (KDE's own VTE, not GNOME VTE)
TerminalDisplay handles rendering
Session class manages PTY + emulation — maps to wrightty sessions
- Profile system for terminal configuration
- Supports splits and tabs natively
KDE ecosystem consideration
Konsole is a core KDE application. A fork would need to track upstream releases. Alternatively, the wrightty integration could be proposed as an upstream feature behind a build flag.
References
Summary
Fork Konsole to add native wrightty protocol support, similar to the Alacritty fork.
Why fork instead of bridge
Konsole's D-Bus interface can send input and manage sessions, but cannot read screen content — no D-Bus method exposes the terminal buffer. Additionally, the
sendTextandrunCommandD-Bus methods have been flagged as security concerns and may be restricted in future releases.A native fork embeds the wrightty protocol directly into the emulator, reading from the internal VTE/terminal state with zero overhead.
What native support provides
Full wrightty protocol support:
Implementation approach
--wrighttyflag or config optionKonsole internals (relevant)
EmulationandScreenclasses (KDE's own VTE, not GNOME VTE)TerminalDisplayhandles renderingSessionclass manages PTY + emulation — maps to wrightty sessionsKDE ecosystem consideration
Konsole is a core KDE application. A fork would need to track upstream releases. Alternatively, the wrightty integration could be proposed as an upstream feature behind a build flag.
References