Implement CSI E and F.
This commit is contained in:
parent
c62bba9e15
commit
af700542b0
@ -391,6 +391,40 @@ int guac_terminal_csi(guac_terminal* term, char c) {
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
/* E: Move cursor down given number rows, column 1 */
|
||||||
|
case 'E':
|
||||||
|
|
||||||
|
/* Get move amount */
|
||||||
|
amount = argv[0];
|
||||||
|
if (amount == 0) amount = 1;
|
||||||
|
|
||||||
|
/* Move cursor */
|
||||||
|
term->cursor_row += amount;
|
||||||
|
if (term->cursor_row >= term->term_height)
|
||||||
|
term->cursor_row = term->term_height - 1;
|
||||||
|
|
||||||
|
/* Reset to column 1 */
|
||||||
|
term->cursor_col = 0;
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* F: Move cursor up given number rows, column 1 */
|
||||||
|
case 'F':
|
||||||
|
|
||||||
|
/* Get move amount */
|
||||||
|
amount = argv[0];
|
||||||
|
if (amount == 0) amount = 1;
|
||||||
|
|
||||||
|
/* Move cursor */
|
||||||
|
term->cursor_row -= amount;
|
||||||
|
if (term->cursor_row < 0)
|
||||||
|
term->cursor_row = 0;
|
||||||
|
|
||||||
|
/* Reset to column 1 */
|
||||||
|
term->cursor_col = 0;
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
/* G: Move cursor, current row */
|
/* G: Move cursor, current row */
|
||||||
case 'G':
|
case 'G':
|
||||||
col = argv[0]; if (col != 0) col--;
|
col = argv[0]; if (col != 0) col--;
|
||||||
|
Loading…
Reference in New Issue
Block a user