Workaround for bug in the kitty terminal application.

This commit is contained in:
Jørn Gustav Larsen 2024-03-26 09:59:44 +01:00
parent 56d31ac22b
commit 5b5aa4c3b4

View File

@ -841,22 +841,22 @@ void ScreenInteractive::Draw(Component component) {
// Set cursor position for user using tools to insert CJK characters.
{
const int dx = dimx_ - 1 - cursor_.x + int(dimx_ != terminal.dimx);
const int dy = dimy_ - 1 - cursor_.y;
int const dx = dimx_ - 1 - cursor_.x;
int const dy = dimy_ - 1 - cursor_.y;
set_cursor_position.clear();
reset_cursor_position.clear();
if (dx != 0) {
set_cursor_position += "\x1B[" + std::to_string(dx) + "D";
reset_cursor_position += "\x1B[" + std::to_string(dx) + "C";
}
if (dy != 0) {
set_cursor_position += "\x1B[" + std::to_string(dy) + "A";
reset_cursor_position += "\x1B[" + std::to_string(dy) + "B";
}
if (dx != 0) {
set_cursor_position += "\x1B[" + std::to_string(dx) + "D";
reset_cursor_position += "\x1B[" + std::to_string(dx) + "C";
}
if (cursor_.shape == Cursor::Hidden) {
set_cursor_position += "\033[?25l";
} else {