Testing #297073
Bug
When displaying an image with the Kitty Graphics Protocol using the C=1 (do not move cursor) flag, the cursor is not preserved at its original position. Instead, it moves to the bottom-right corner of the image.
Repro
- Enable
terminal.integrated.enableImages and terminal.integrated.gpuAcceleration: "auto"
- Clone https://github.com/xtermjs/vtc and
bun install
- Run:
bun run src/index.ts image-kitty <any-image.png> --noMove && echo "cursor position check"
Expected
The echo text should appear at the original cursor position (before the image), overlapping the top-left of the image — per the KGP spec, C=1 means "do not move the cursor when this image is placed."
Actual
The echo text appears at the bottom-right corner of the image, indicating the cursor was partially moved to the end of the image's last row.
Environment
- macOS
- VS Code Insiders (latest as of 2026-02-24)
terminal.integrated.enableImages: true
terminal.integrated.gpuAcceleration: "auto"
Testing #297073
Bug
When displaying an image with the Kitty Graphics Protocol using the
C=1(do not move cursor) flag, the cursor is not preserved at its original position. Instead, it moves to the bottom-right corner of the image.Repro
terminal.integrated.enableImagesandterminal.integrated.gpuAcceleration: "auto"bun installExpected
The
echotext should appear at the original cursor position (before the image), overlapping the top-left of the image — per the KGP spec,C=1means "do not move the cursor when this image is placed."Actual
The
echotext appears at the bottom-right corner of the image, indicating the cursor was partially moved to the end of the image's last row.Environment
terminal.integrated.enableImages: trueterminal.integrated.gpuAcceleration: "auto"