Files
TUI-WM/docs/KNOWN-ISSUES.md
2026-07-16 00:53:43 +02:00

46 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Kända problem
## Spöktecken i vissa terminaler vid fönsterflytt
**Status:** öppen — behöver reproduktionsinfo från värdterminalen.
**Symptom:** när ett fönster (t.ex. TUI-FM) dras runt kan enstaka ikoner
och bokstäver "fastna" på skärmen — ofta från vänsterspalten i TUI-FM —
tills en annan ruta dras över dem.
**Analys hittills:**
- Kompositorn är verifierat korrekt: headless-frames (daemon-läget) är
pixelperfekta efter godtyckliga drag — varje rad exakt rätt bredd,
inga dubbletter (`tests/integration.py` + manuella tmux-tester).
- I tmux (strikt referensterminal) uppstår inga spöken, varken under
eller efter drag.
- Rotorsaksklass: terminalen/fonten och `unicode-width` är oense om
glyfbredder (typiskt emoji med tvetydig East-Asian-Width, t.ex. ⭐ ),
eller terminalens hantering av delvis överskrivna breda glyfer.
**Åtgärdade delar (som inte räckt fullt ut enligt rapport):**
1. Full omritning vid drag-släpp/stängning/snap (`needs_full_redraw`).
2. `SafeBackend`: explicit markörpositionering (`ESC[y;xH`) för varje
cell som skrivs — breddoenighet kan inte längre ackumuleras inom en
rad.
3. Skade-expansion för breda glyfer: när ett brett tecken ersätts av
ett smalt skrivs högercellen över explicit (ratatui-diffen ser den
inte eftersom båda buffertarna har space där).
**För att komma vidare behövs:**
- Terminalemulator + version (Konsole? Kitty? Alacritty? ...) och font.
- `echo $TERM` i terminalen där felet syns.
- En PNG-skärmbild via TUI-WM:s inbyggda `alt+p` när spöket syns
(visar kompositorns bild) **plus** en riktig skärmdump av terminalen
(visar vad terminalen faktiskt ritar) — skiljer de sig är felet
bekräftat terminal-sidigt.
- Test i en annan terminal (t.ex. kitty eller wezterm) för jämförelse.
**Möjliga nästa steg:** rendera om hela raden (inte bara cellen) när en
rad innehåller tecken med tvetydig bredd; alternativt heltäckande
frame-omskrivning med synkroniserade uppdateringar (DEC 2026) som i
klient-läget, där problemet inte kan uppstå.