Handler for CSI P (delete characters at cursor)
This commit is contained in:
parent
f9d42c7182
commit
52e14322a3
@ -418,7 +418,7 @@ int ssh_guac_terminal_csi(ssh_guac_terminal* term, char c) {
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* L: Delete lines (scroll up) */
|
/* M: Delete lines (scroll up) */
|
||||||
case 'M':
|
case 'M':
|
||||||
|
|
||||||
amount = argv[0];
|
amount = argv[0];
|
||||||
@ -429,6 +429,28 @@ int ssh_guac_terminal_csi(ssh_guac_terminal* term, char c) {
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
/* P: Delete characters (scroll left) */
|
||||||
|
case 'P':
|
||||||
|
|
||||||
|
amount = argv[0];
|
||||||
|
if (amount == 0) amount = 1;
|
||||||
|
|
||||||
|
/* Scroll left by amount */
|
||||||
|
if (term->cursor_col + amount < term->term_width)
|
||||||
|
ssh_guac_terminal_copy(term,
|
||||||
|
term->cursor_row, term->cursor_col + amount,
|
||||||
|
1,
|
||||||
|
term->term_width - term->cursor_col - amount,
|
||||||
|
term->cursor_row, term->cursor_col);
|
||||||
|
|
||||||
|
/* Clear right */
|
||||||
|
ssh_guac_terminal_clear(term,
|
||||||
|
term->cursor_row, term->term_width - amount,
|
||||||
|
1, amount,
|
||||||
|
term->background);
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
/* Warn of unhandled codes */
|
/* Warn of unhandled codes */
|
||||||
default:
|
default:
|
||||||
if (c != ';')
|
if (c != ';')
|
||||||
|
Loading…
Reference in New Issue
Block a user