A minus sign is illegal at that position in a control sequence, so if
ESC[13t should report something like ESC[3;-123;234t then we won't
accept it as input. Switch to printing the numbers as unsigned, so
that negative window coordinates are output as their 32-bit two's
complement; experimentation suggests that PuTTY does accept that on
input.
case 13:
if (term->ldisc) {
get_window_pos(term->frontend, &x, &y);
- len = sprintf(buf, "\033[3;%d;%dt", x, y);
+ len = sprintf(buf, "\033[3;%u;%ut",
+ (unsigned)x,
+ (unsigned)y);
ldisc_send(term->ldisc, buf, len, 0);
}
break;