From 2a012f86d852bfc622a1d06eff5fad7e43db9023 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Fri, 15 Jan 2021 18:02:17 +0100 Subject: [PATCH] term: keep cursor state in grid, for now, but document that it _could_ be moved --- csi.c | 2 -- terminal.h | 8 ++++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/csi.c b/csi.c index a199005f..8a4adb7e 100644 --- a/csi.c +++ b/csi.c @@ -507,7 +507,6 @@ decset_decrst(struct terminal *term, unsigned param, bool enable) term->grid = &term->alt; /* Cursor retains its position from the normal grid */ - /* TODO: don’t need separate cursors */ term_cursor_to( term, min(term->normal.cursor.point.row, term->rows - 1), @@ -526,7 +525,6 @@ decset_decrst(struct terminal *term, unsigned param, bool enable) term->grid = &term->normal; /* Cursor retains its position from the alt grid */ - /* TODO: don’t need separate cursors */ term_cursor_to( term, min(term->alt.cursor.point.row, term->rows - 1), min(term->alt.cursor.point.col, term->cols - 1)); diff --git a/terminal.h b/terminal.h index 5c3aacd7..04d2d5b7 100644 --- a/terminal.h +++ b/terminal.h @@ -106,6 +106,14 @@ struct grid { int offset; int view; + /* + * Note: the cursor (not the *saved* cursor) could most likely be + * global state in the term struct. + * + * However, we have grid specific functions that does not have + * access to the owning term struct, but does need access to the + * cursor. + */ struct cursor cursor; struct cursor saved_cursor;