aboutsummaryrefslogtreecommitdiff
path: root/ricochet/src/tui/terminal.cc
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-04-11 06:08:38 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-04-11 06:08:38 +0800
commit3fbda8903b809e50a8e96acd66b2b80b54e1b6bf (patch)
tree57c0edba54be82467403142d09a59e0d17ce6c23 /ricochet/src/tui/terminal.cc
parent12188f045a3f6ccce4359d946167066e3b584939 (diff)
downloadrcc-project-3fbda8903b809e50a8e96acd66b2b80b54e1b6bf.tar.gz
rcc-project-3fbda8903b809e50a8e96acd66b2b80b54e1b6bf.tar.xz
feat: implement URL navigation and input handling in browser TUI
Diffstat (limited to 'ricochet/src/tui/terminal.cc')
-rw-r--r--ricochet/src/tui/terminal.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/ricochet/src/tui/terminal.cc b/ricochet/src/tui/terminal.cc
index 75c6c1f..9e78a02 100644
--- a/ricochet/src/tui/terminal.cc
+++ b/ricochet/src/tui/terminal.cc
@@ -74,4 +74,16 @@ std::pair<std::size_t, std::size_t> Terminal::get_size() // NOLINT(readability-c
return { static_cast<std::size_t>( w.ws_col ), static_cast<std::size_t>( w.ws_row ) };
}
+void Terminal::move_cursor( std::size_t row, std::size_t col ) const // NOLINT
+{
+ // ANSI: \x1b[H move to 1,1; \x1b[row;colH move to specified row and column
+ std::cout << "\x1b[" << row << ";" << col << "H";
+}
+
+void Terminal::show_cursor( bool visible ) const // NOLINT
+{
+ // \x1b[?25h show cursor, \x1b[?25l hide cursor
+ std::cout << ( visible ? "\x1b[?25h" : "\x1b[?25l" );
+}
+
} // namespace ricochet::tui \ No newline at end of file