aboutsummaryrefslogtreecommitdiff
path: root/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
commit72e4e43b1fc1743dc3e9dae70682f2945eeba45d (patch)
tree2ac8bc85fd4214f1fa07f64aada4809fb1fc3fd6 /src/tui/terminal.cc
parent4ef9c771444943008bb990343127a7d659fd6df2 (diff)
downloadrwebbrowser-72e4e43b1fc1743dc3e9dae70682f2945eeba45d.tar.gz
rwebbrowser-72e4e43b1fc1743dc3e9dae70682f2945eeba45d.tar.xz
feat: implement URL navigation and input handling in browser TUI
Diffstat (limited to 'src/tui/terminal.cc')
-rw-r--r--src/tui/terminal.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/tui/terminal.cc b/src/tui/terminal.cc
index 75c6c1f..9e78a02 100644
--- a/src/tui/terminal.cc
+++ b/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