Implement Kitty graphics protocol for background image rendering

- 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.
This commit is contained in:
2026-03-29 04:28:31 +02:00
parent 3a9e292088
commit 339ad9530e
14 changed files with 2667 additions and 59 deletions

View File

@@ -213,6 +213,49 @@ Möss-tracking fungerar automatiskt — om appen i terminalen aktiverar ANSI mus
---
## Startlägen
TUI-WM kan startas i tre lägen:
### Standalone (standard)
```bash
tui-wm
```
Kör fönsterhanteraren i den aktuella terminalen och startar samtidigt en Unix-socket-server. Andra program kan ansluta till socketen medan TUI-WM kör.
### Daemon (`-d`)
```bash
tui-wm -d
```
Kör headless — ingen lokal terminal-rendering. State hanteras enbart via socketen. Frames renderas internt och skickas till anslutna display-klienter. Passar för att köra TUI-WM som bakgrundstjänst.
### Klient (`-c`)
```bash
tui-wm -c [socket-sökväg]
```
Ansluter till en befintlig TUI-WM-server (standalone eller daemon) som display-klient. Renderar mottagna frames och vidarebefordrar tangentbords- och resize-events. Om `socket-sökväg` utelämnas används standard-sökvägen. Koppla ned med **Ctrl+Shift+Q**.
---
## Socket-API
Appar som körs inne i TUI-WM får miljövariablerna `TUI_WM_SOCKET` (sökväg till socketen) och `TUI_WM_WINDOW_ID` (fönstrets ID) satta automatiskt. Via socketen kan de:
- Spawna nya terminalfönster
- Visa popup-dialoger med knappar och vänta på svar
- Lista eller stänga fönster
- Ta emot renderade frames (ANSI) för att visa TUI-WM:s skärm
Se [SOCKET_API.md](SOCKET_API.md) för fullständig protokolldokumentation med JSON-exempel och kodexempel i Bash och Python.
---
## Standardtangenter
| Tangent | Funktion |