Is this a reproducible bug?
Current behavior
Graphics panes render visibly blurry under WSL. pane.graphics.info reports {"cell_width_px":8,"cell_height_px":16}, but the outer terminal's actual cell size is 10x21 px (its CSI 16 t reply is ESC[6;21;10t). Under WSL the pty reports xpixel=0 ypixel=0 (TIOCGWINSZ).
Expected behavior
Pane graphics use the terminal's actual cell size (10x21 here) so frames match the pane's real pixel size and render crisply — as the same setup does on a native Linux host.
Reproduction
- Windows WezTerm →
wsl.exe → herdr with experimental.kitty_graphics = true
- Open a plugin graphics pane (e.g. the herdr-browser plugin) — the image is upscaled and blurry
printf '{"id":"p","method":"pane.graphics.info","params":{"pane_id":"<pane>"}}\n' | nc -U ~/.config/herdr/herdr.sock → {"cell_width_px":8,"cell_height_px":16}
- In the same terminal outside herdr:
printf '\e[16t' and read the reply → ESC[6;21;10t; TIOCGWINSZ on the same tty → rows=37 cols=161 xpixel=0 ypixel=0
Impact
Every graphics pane on WSL is produced at roughly 60% of its actual pixel area and upscaled by the terminal, so browser panes and images are noticeably blurry. The identical config on native Linux (ghostty) renders crisply.
Environment
- Herdr version: 0.7.4
- Update channel (stable or preview): stable
- Operating system: NixOS 26.05 on WSL2 (Windows 11 host)
- Terminal: WezTerm 20260331-040028-577474d8 (Windows) via wsl.exe
- Shell, if relevant: zsh
- Relevant config, if any:
[experimental] kitty_graphics = true
Is this a reproducible bug?
Current behavior
Graphics panes render visibly blurry under WSL.
pane.graphics.inforeports{"cell_width_px":8,"cell_height_px":16}, but the outer terminal's actual cell size is 10x21 px (itsCSI 16 treply isESC[6;21;10t). Under WSL the pty reportsxpixel=0 ypixel=0(TIOCGWINSZ).Expected behavior
Pane graphics use the terminal's actual cell size (10x21 here) so frames match the pane's real pixel size and render crisply — as the same setup does on a native Linux host.
Reproduction
wsl.exe→ herdr withexperimental.kitty_graphics = trueprintf '{"id":"p","method":"pane.graphics.info","params":{"pane_id":"<pane>"}}\n' | nc -U ~/.config/herdr/herdr.sock→{"cell_width_px":8,"cell_height_px":16}printf '\e[16t'and read the reply →ESC[6;21;10t; TIOCGWINSZ on the same tty →rows=37 cols=161 xpixel=0 ypixel=0Impact
Every graphics pane on WSL is produced at roughly 60% of its actual pixel area and upscaled by the terminal, so browser panes and images are noticeably blurry. The identical config on native Linux (ghostty) renders crisply.
Environment
[experimental] kitty_graphics = true