ascii-chat 0.6.0
Real-time terminal-based video chat with ASCII art conversion
Loading...
Searching...
No Matches
terminal.h File Reference

🖥️ Cross-platform terminal interface for ascii-chat More...

Go to the source code of this file.

Data Structures

struct  terminal_size_t
 Terminal size structure. More...
 
struct  terminal_capabilities_t
 Complete terminal capabilities structure. More...
 
struct  tty_info_t
 TTY detection and management structure. More...
 

Enumerations

enum  terminal_color_mode_t {
  TERM_COLOR_AUTO = -1 , TERM_COLOR_NONE = 0 , TERM_COLOR_16 = 1 , TERM_COLOR_256 = 2 ,
  TERM_COLOR_TRUECOLOR = 3
}
 Terminal color support levels. More...
 
enum  terminal_capability_flags_t {
  TERM_CAP_COLOR_16 = 0x0001 , TERM_CAP_COLOR_256 = 0x0002 , TERM_CAP_COLOR_TRUE = 0x0004 , TERM_CAP_UTF8 = 0x0008 ,
  TERM_CAP_BACKGROUND = 0x0010
}
 Terminal capability flags (bitmask) More...
 
enum  render_mode_t { RENDER_MODE_FOREGROUND = 0 , RENDER_MODE_BACKGROUND = 1 , RENDER_MODE_HALF_BLOCK = 2 }
 Render mode preferences. More...
 

Functions

asciichat_error_t terminal_get_size (terminal_size_t *size)
 Get terminal size.
 
asciichat_error_t terminal_set_raw_mode (bool enable)
 Set terminal to raw mode.
 
asciichat_error_t terminal_set_echo (bool enable)
 Set terminal echo mode.
 
bool terminal_supports_color (void)
 Check if terminal supports color.
 
bool terminal_supports_unicode (void)
 Check if terminal supports unicode.
 
bool terminal_supports_utf8 (void)
 Check if terminal supports UTF-8.
 
asciichat_error_t terminal_clear_screen (void)
 Clear the terminal screen.
 
asciichat_error_t terminal_move_cursor (int row, int col)
 Move cursor to specified position.
 
void terminal_enable_ansi (void)
 Enable ANSI escape sequences.
 
asciichat_error_t terminal_set_buffering (bool line_buffered)
 Set terminal buffering mode.
 
asciichat_error_t terminal_flush (int fd)
 Flush terminal output.
 
asciichat_error_t terminal_get_cursor_position (int *row, int *col)
 Get current cursor position.
 
asciichat_error_t terminal_save_cursor (void)
 Save cursor position.
 
asciichat_error_t terminal_restore_cursor (void)
 Restore saved cursor position.
 
asciichat_error_t terminal_set_title (const char *title)
 Set terminal window title.
 
asciichat_error_t terminal_ring_bell (void)
 Ring terminal bell.
 
asciichat_error_t terminal_hide_cursor (int fd, bool hide)
 Hide or show cursor.
 
asciichat_error_t terminal_set_scroll_region (int top, int bottom)
 Set scroll region.
 
asciichat_error_t terminal_reset (int fd)
 Reset terminal to default state.
 
asciichat_error_t terminal_cursor_home (int fd)
 Move cursor to home position (top-left)
 
asciichat_error_t terminal_clear_scrollback (int fd)
 Clear terminal scrollback buffer.
 
terminal_capabilities_t detect_terminal_capabilities (void)
 Detect terminal capabilities.
 
tty_info_t get_current_tty (void)
 Get current TTY information.
 
bool is_valid_tty_path (const char *path)
 Check if a TTY path is valid.
 
asciichat_error_t get_terminal_size (unsigned short int *width, unsigned short int *height)
 Get terminal size with multiple fallback methods.
 
const char * terminal_color_level_name (terminal_color_mode_t level)
 Get name of color level.
 
const char * terminal_capabilities_summary (const terminal_capabilities_t *caps)
 Get summary string of terminal capabilities.
 
void print_terminal_capabilities (const terminal_capabilities_t *caps)
 Print terminal capabilities to stdout.
 
void test_terminal_output_modes (void)
 Test terminal output modes.
 
terminal_capabilities_t apply_color_mode_override (terminal_capabilities_t caps)
 Apply command-line overrides to detected capabilities.
 

Detailed Description

🖥️ Cross-platform terminal interface for ascii-chat

Definition in file terminal.h.