C-Menu 0.2.9
A User Interface Toolkit
Loading...
Searching...
No Matches
view.h
Go to the documentation of this file.
1/** @file view.h
2 @brief View data structures, enums, types, end external declarations
3 @author Bill Waller
4 Copyright (c) 2025
5 MIT License
6 billxwaller@gmail.com
7 @date 2026-02-09
8 */
9
10#ifndef _VIEW_H
11#define _VIEW_H 1
12
13#define _GNU_SOURCE
14// #define _XOPEN_SOURCE_EXTENDED 1
15#define NCURSES_WIDECHAR 1
16#include <ncursesw/ncurses.h>
17#include <ncursesw/panel.h>
18#include <signal.h>
19#include <stddef.h>
20#include <stdlib.h>
21#ifndef _COMMON_H
22typedef struct Init Init;
23#endif
24#define COLOR_LEN 8
25#define NPOS 256
26#define NMARKS 256
27#define MAXLEN 256
28#define NULSL
29#define NULL_POSITION -1
30#define VBUFSIZ 65536
31#define BUFSIZ 8192
32#define PAD_COLS 4096
33
34typedef enum { PT_NONE,
37 PT_STRING } PromptType;
38
39#define LINE_TBL_INCR
40 1024 // number of entries to add to line_tbl when reallocating
41
42typedef struct {
43 int fg_clr_idx; /**< foreground_color */
44 int bg_clr_idx; /**< background_color */
45 int bo_clr_idx; /**< bold_color */
46 int ln_clr_idx; /**< line_number_color */
47 int ln_bg_clr_idx; /**< line_number_background_color */
48 char fg_clr_x[COLOR_LEN]; /**< foreground_color in hex, e.g. "#RRGGBB" */
49 char bg_clr_x[COLOR_LEN]; /**< background_color in hex, e.g. "#RRGGBB" */
50 char bo_clr_x[COLOR_LEN]; /**< bold_color in hex, e.g. "#RRGGBB" */
51 char ln_clr_x[COLOR_LEN]; /**< line_number_color in hex, e.g. "#RRGGBB" */
52 char ln_bg_clr_x[COLOR_LEN]; /**< line_number_background_color in hex */
53 int lines; /**< number of lines for window size */
54 int cols; /**< number of columns for window size */
55 int begy; /**< screen line upper left corner of window */
56 int begx; /**< screen column upper left corner of window */
57 char provider_cmd[MAXLEN]; /**< command provides input */
58 char receiver_cmd[MAXLEN]; /**< command receives output */
59 char cmd[MAXLEN]; /**< command to execute in foreground, e.g. an editor */
60 char cmd_all[MAXLEN]; /**< View - command to execute at start of program */
61 char prompt_str[MAXLEN]; /**< prompt string for chyron */
62 char title[MAXLEN]; /**< title string for window */
63 int argc; /**< command line arguments count */
64 char **argv; /**< command line arguments vector */
65 int optind; /**< getopt pointer to non-option arguments in argv */
66 bool f_ignore_case; /**< View - ignore case in search */
67 bool f_at_end_remove; /**< obsolete, unneeded */
68 bool f_squeeze; /**< View - print one line for each group of blank lines */
69 bool f_strip_ansi; /**< strip ansi escape sequences when writing buffer */
70 bool f_multiple_cmd_args; /**< View - put multiple arguments in a single */
71
72 WINDOW *box_win;
73 PANEL *box_pan;
74 WINDOW *win_win;
75 PANEL *win_pan;
76 WINDOW *lnno_win;
77 PANEL *lnno_pan;
78 WINDOW *cmdln_win;
79 PANEL *cmdln_pan;
82 WINDOW *pad;
83 WINDOW *pad_view_win;
85
86 char tmp_prompt_str[MAXLEN]; /**< temporary prompt string used when building
87 prompt */
88 int curr_argc; /**< current argument count when processing multiple */
89
90 char cmd_arg[MAXLEN]; /**< argument string */
91 int tab_stop; /**< number of spaces between tab stops */
92 int h_shift; /**< horizontal scroll shift width */
93 int next_cmd_char; /**< index of next character in cmd string to process
94 when building prompt */
95 bool f_bod; /**< beginning of data */
96 bool f_eod; /**< end of data */
97 bool f_forward; /**< motion flag forward */
98 bool f_is_pipe; /**< input is from a pipe */
99 char file_name[MAXLEN]; /**< basename of file being viewed */
100 bool f_redisplay_page; /**< flag indicating page needs to be redisplayed */
101 bool f_displaying_help; /**< currently didsplaying help information */
102 bool f_first_iter; /**< first iteration of search */
103 bool f_search_complete; /**< Entire file has been searched */
104 bool f_full_screen; /**< default mode if lines and columns not specified */
105 bool f_timer; /**< time commands and display elapsed time in prompt */
106
107 bool f_cmd; /**< cmd is verified */
108 bool f_cmd_all; /**< cmd_all is verified */
109 char cur_file_str[MAXLEN]; /**< file currently open for viewing */
110 char line_in_s[PAD_COLS]; /**< raw input line from buffer */
111 char line_out_s[PAD_COLS]; /**< scratch buffer */
112 char stripped_line_out[PAD_COLS]; /**< printable characters only */
113 cchar_t cmplx_buf[PAD_COLS]; /**< complex character buffer */
114 char *line_out_p; /**< pointer to current position in line_out_s */
115 char *line_in_beg_p; /**< pointer used in matching search targets */
116 char *line_in_end_p; /**< pointer used in matching search targets */
117 int cury; /**< cury is the pad row of the cursor location */
118 int curx; /**< curx is the pad column of the cursor location */
119 int scroll_lines; /**< number of lines to scroll */
120 int cmd_line; /**< command line location on pad */
121 int maxcol; /**< length of longest line on pad */
122 int pminrow; /**< first pad row displayed in view window */
123 int pmincol; /**< first pad column displayed in view window */
124 int sminrow; /**< screen position of first row of pad displayed in view
125 window */
126 int smincol; /**< screen position of first column of pad displayed in view
127 window */
128 int smaxrow; /**< screen position of last row of pad displayed in view
129 windiow */
130 int smaxcol; /**< screen position of last column of pad displayed in view
131 window */
132 int first_match_x; /**< first column of current search match in
133 stripped_line_out */
134 int last_match_x; /**< last column of current search match in
135 stripped_line_out */
136 char in_spec[MAXLEN]; /**< input file spec */
137 char out_spec[MAXLEN]; /**< output file spec */
138 char help_spec[MAXLEN]; /**< help file spec */
139 bool f_in_spec; /**< input file verified */
140 bool f_out_spec; /**< output file verified */
141 bool f_help_spec; /**< output file verified */
142 char *file_spec_ptr; /**< pointer to current file spec */
143 char *next_file_spec_ptr; /**< pointer to next file spec */
144 char *tmp_file_name_ptr; /**< pointer to temporary file spec */
145 off_t file_size; /**< size of file being viewed */
146 off_t file_pos; /**< current file position */
147 off_t prev_file_pos; /**< previous file position */
148 off_t page_top_pos; /**< file position of top line displayed */
149 off_t page_bot_pos; /**< file position of last line displayed */
150 off_t srch_curr_pos; /**< current search position */
151 off_t srch_beg_pos; /**< file position when search started */
152 off_t mark_tbl[NMARKS]; /**< not implemented */
153 bool f_in_pipe; /**< input is from a pipe */
154 int in_fd; /**< input file descriptor */
155 int out_fd; /**< output file descriptor */
156 FILE *in_fp; /**< pointer to input stream data structure */
157 int stdin_fd; /**< standard input file descriptor */
158 FILE *stdin_fp; /**< pointer to standard input stream data structure */
159 int stdout_fd; /**< standard output file descriptor */
160 FILE *stdout_fp; /**< pointer to standard output stream data structure */
161 char *buf; /**< pointer to first byte of virtual buffer */
162 char *buf_curr_ptr; /**< pointer to current position in virtual buffer */
163 char *buf_end_ptr; /**< pointer to first byte after end of data in virtual
164 buffer */
165 char *lnbuf; /**< pointer to first byte of virtual buffer */
166 char *lnbuf_curr_ptr; /**< pointer to first byte of virtual buffer */
167 char *lnbuf_end_ptr; /**< pointer to first byte after end of data in virtual
168 buffer */
169 int ln_win_lines; /**< number of lines in line number window */
170 int ln_win_cols; /**< number of columns in line number window */
171 bool f_ln; /**< flag - number lines */
172 off_t ln; /**< line number */
173 char ln_s[10]; /**< line number formatted string */
174 off_t *ln_tbl; /**< line number table - array of file positions */
175 off_t ln_tbl_size; /**< number of entries allocated in line_tbl */
176 off_t ln_tbl_cnt; /**< number of entries used in line_tbl */
177 off_t ln_max_pos; /**< position of last page number increment */
178 off_t page_top_ln; /**< line number of top line displayed */
179 off_t page_bot_ln; /**< line number of last line displayed */
180} View;
181// extern View *view;
182
183typedef struct {
184 View *items;
185 size_t capacity;
186 size_t top;
187} ViewStack;
188
189extern int get_cmd_spec(View *, char *);
190extern void go_to_position(View *, long);
191extern void cat_file(View *);
192extern char err_msg[MAXLEN];
193extern int view_accept_cmd(View *);
194#endif
void form_help(char *)
int form_yx_to_fidx(Form *, int, int)
#define FIELD_MAXLEN
Definition form.h:18
@ FF_DECIMAL_INT
Definition form.h:50
@ FF_STRING
Definition form.h:48
@ FF_HEX_INT
Definition form.h:52
@ FF_YYYYMMDD
Definition form.h:61
@ FF_HHMMSS
Definition form.h:63
@ FF_CURRENCY
Definition form.h:58
@ FF_FLOAT
Definition form.h:54
@ FF_INVALID
Definition form.h:68
@ FF_DOUBLE
Definition form.h:56
@ FF_APR
Definition form.h:65
@ FA_END
Definition form.h:42
@ FA_ACCEPT
Definition form.h:29
@ FA_EDIT
Definition form.h:40
@ FA_CALC
Definition form.h:37
@ FA_HELP
Definition form.h:31
@ FA_REFUSE
Definition form.h:35
@ FA_CANCEL
Definition form.h:33
@ FA_CONTINUE
Definition form.h:27
char ff_tbl[][26]
Definition fields.c:26
int form_read_description(Form *)
void display_field(Form *, cchar_t *, int, int)
Definition fields.c:369
void form_display_chyron(Form *)
#define FIELD_MAXCNT
Definition form.h:19
int cmd_processor(Init *)
@ OT_INT
Definition common.h:85
@ OT_BOOL
Definition common.h:86
@ OT_HEX
Definition common.h:87
@ OT_STRING
Definition common.h:84
int popup_ckeys()
Display Curses Keys Responds to curses keys and mouse events, displaying the key code and description...
Definition curskeys.c:23
int process_config_file(char *, Init *)
Definition init.c:631
@ FORM
Definition common.h:77
@ MENU
Definition common.h:79
@ VIEW
Definition common.h:76
@ PICK
Definition common.h:78
int popup_form(Init *, int, char **, int, int)
instantiate a form popup window
Definition popups.c:112
@ OG_FILES
Definition common.h:92
@ OG_DIRS
Definition common.h:93
@ OG_SPECS
Definition common.h:94
@ OG_MISC
Definition common.h:95
@ OG_FLAGS
Definition common.h:97
@ OG_PARMS
Definition common.h:96
@ OG_COL
Definition common.h:98
void destroy_view_win(Init *)
Definition init_view.c:318
int popup_menu(Init *, int, char **, int, int)
instantiate a menu popup window
Definition popups.c:53
ViewStack view_stack
Definition init_view.c:34
int popup_view(Init *, int, char **, int, int, int, int)
instantiate a view popup window
Definition popups.c:144
int popup_pick(Init *, int, char **, int, int)
instantiate a pick popup window
Definition popups.c:83
char minitrc[MAXLEN]
int init_cnt
Definition mem.c:44
void destroy_line_table(View *)
int mpick(int, char **, int, int, int, int, char *, int)
#define OBJ_MAXCNT
Definition pick.h:17
cchar_t CC_YELLOW
Definition dwin.c:216
volatile sig_atomic_t sig_received
Definition sig.c:31
size_t rtrim(char *)
Trims trailing spaces from string s in place.
Definition futil.c:338
const wchar_t bw_chk
Definition dwin.c:152
bool handle_signal(sig_atomic_t)
int cp_box
Definition dwin.c:179
void win_Toggle_Attrs()
#define MAXWIN
Definition cm.h:37
const wchar_t bw_rt
Definition dwin.c:145
int cp_brackets
Definition dwin.c:190
const wchar_t bw_ho
Definition dwin.c:138
int cp_nt
Definition dwin.c:183
int n_cols
int mbegx
int cp_nt_hl
Definition dwin.c:185
int cp_ind
Definition dwin.c:180
cchar_t CC_DATA2
void curskeys(WINDOW *)
int clr_pair_cnt
Definition dwin.c:197
void sig_shell_mode()
WINDOW * win_win[MAXWIN]
Definition dwin.c:52
int cmenu_log_fd
Definition futil.c:54
cchar_t tl
Definition cm.h:501
void get_rfc3339_s(char *, size_t)
bool f_have_shell_tioctl
Definition scriou.c:24
void init_stdscr()
cchar_t chk
Definition cm.h:631
cchar_t CC_DATA1
cchar_t la
Definition cm.h:631
const wchar_t bw_tl
Definition dwin.c:140
const wchar_t bw_ua
Definition dwin.c:149
cchar_t CC_FILL_CHAR
Definition dwin.c:211
char em1[MAXLEN]
Definition dwin.c:176
PANEL * panel_win2[MAXWIN]
Definition dwin.c:55
cchar_t ua
Definition cm.h:631
int dbgfd
void mouse_getch(int *, int *, int *, int *)
int display_ok_message(char *)
int cp_title
Definition dwin.c:182
@ F_REG
Definition cm.h:239
@ F_BLK
Definition cm.h:237
@ F_FIFO
Definition cm.h:232
@ F_F0
Definition cm.h:231
@ F_F3
Definition cm.h:238
@ F_SOCK
Definition cm.h:243
@ F_CHR
Definition cm.h:233
@ F_F5
Definition cm.h:242
@ F_F1
Definition cm.h:234
@ F_DIR
Definition cm.h:235
@ F_UNKNOWN
Definition cm.h:245
@ F_F2
Definition cm.h:236
@ F_F4
Definition cm.h:240
@ F_LNK
Definition cm.h:241
@ F_F6
Definition cm.h:244
int tty_fd
Definition dwin.c:219
int cp_yellow
Definition dwin.c:193
#define KEY_ALTF0
Definition cm.h:502
int cp_default
WINDOW * win_win2[MAXWIN]
Definition dwin.c:51
cchar_t CC_DATA3
int clr_cnt
Definition dwin.c:195
void destroy_win(WINDOW *)
bool f_curses_open
Definition sig.c:33
cchar_t CC_BLUE
Definition dwin.c:217
int enter_option()
cchar_t da
Definition cm.h:631
void resize_panel(PANEL *, int, int, int, int)
#define CHYRON_KEYS
Definition cm.h:333
struct termios shell_tioctl curses_tioctl
Definition scriou.c:34
void dump_opts()
cchar_t br
Definition cm.h:501
WINDOW * mouse_win
Definition dwin.c:118
const wchar_t bw_tr
Definition dwin.c:141
int mg_line
cchar_t CC_NT
Definition dwin.c:204
cchar_t rs
Definition cm.h:501
char * stdio_names(char *, char *)
Definition futil.c:1064
const wchar_t bw_tt
void write_log(char *)
cchar_t lt
Definition cm.h:631
unsigned char uchar
Definition cm.h:648
int clr_pair_idx
Definition dwin.c:196
int cp_bold
cchar_t CC_GREEN
Definition dwin.c:215
cchar_t ran
Definition cm.h:631
bool verify_dir_q(char *, int)
const wchar_t bw_ran
Definition dwin.c:151
int cp_blue
Definition dwin.c:194
cchar_t CC_IND
Definition dwin.c:200
cchar_t CC_BRKTL
Definition cm.h:494
const wchar_t bw_sp
Definition dwin.c:146
String mk_string(size_t)
Create a String struct with a dynamically allocated string.
Definition futil.c:1543
int border_draw(WINDOW *)
Definition dwin.c:1236
const wchar_t bw_ra
Definition dwin.c:147
bool construct_file_spec(char *, char *, char *, char *, char *, int)
cchar_t CC_BOX
Definition dwin.c:199
int mcols
const wchar_t bw_cr
bool strnfill(char *, char, int)
const wchar_t bw_da
Definition dwin.c:150
cchar_t sp
Definition cm.h:631
cchar_t CC_TITLE
Definition dwin.c:203
int cp_red
Definition dwin.c:191
int mg_action
FILE * cmenu_log_fp
const wchar_t bw_lt
Definition dwin.c:144
#define XTERM_256COLOR
Definition cm.h:504
SCREEN * screen
Definition dwin.c:42
cchar_t bl
Definition cm.h:501
const wchar_t bw_la
Definition dwin.c:148
const wchar_t bw_bt
int click_x
Definition dwin.c:81
int cp_nt_hl_rev
Definition dwin.c:186
#define CHYRON_KEY_MAXLEN
Definition cm.h:330
bool verify_file_q(char *, int)
int src_line
Definition dwin.c:172
bool f_debug
cchar_t CC_RED
Definition dwin.c:214
char * src_name
Definition dwin.c:173
int box2_new(int, int, int, int, char *)
#define SCR_COLS
Definition cm.h:49
int cp_highlight
void dump_opts_by_use(char *, char *)
int open_log(char *)
int cp_cmdln_bg
int wait_timeout
Definition futil.c:152
PANEL * panel_win[MAXWIN]
Definition dwin.c:56
int win_attr_even
const wchar_t bw_bl
Definition dwin.c:142
char stdio_names_str[MAXLEN]
Definition futil.c:134
char errmsg[]
Definition futil.c:138
int win_ptr
Definition dwin.c:164
@ LF_EXC_REGEX
Definition cm.h:205
@ LF_HIDE
Definition cm.h:203
@ LF_ISUID
Definition cm.h:215
@ LF_IRUSR
Definition cm.h:213
@ LF_ICASE
Definition cm.h:204
@ LF_ISGID
Definition cm.h:214
@ LF_EXEC
Definition cm.h:207
@ LF_REGEX
Definition cm.h:206
@ LF_USER
Definition cm.h:208
@ LF_IXUSR
Definition cm.h:211
@ LF_IWUSR
Definition cm.h:212
int mlines
@ CLR_CMDLN_BG
Definition cm.h:187
@ CLR_FILL_CHAR_BG
Definition cm.h:183
@ CLR_BOX_BG
Definition cm.h:177
@ CLR_FILL_CHAR_FG
Definition cm.h:182
@ CLR_FG
Definition cm.h:174
@ CLR_RED
Definition cm.h:158
@ CLR_NT_FG
Definition cm.h:188
@ CLR_BRACKETS_FG
Definition cm.h:180
@ CLR_YELLOW
Definition cm.h:160
@ CLR_IND_FG
Definition cm.h:178
@ CLR_BCYAN
Definition cm.h:171
@ CLR_TITLE_FG
Definition cm.h:196
@ CLR_WHITE
Definition cm.h:164
@ CLR_MAGENTA
Definition cm.h:162
@ CLR_BRACKETS_BG
Definition cm.h:181
@ CLR_NT_REV_BG
Definition cm.h:191
@ CLR_BLACK
Definition cm.h:157
@ CLR_BWHITE
Definition cm.h:172
@ CLR_LN_BG
Definition cm.h:185
@ CLR_NT_HL_REV_BG
Definition cm.h:195
@ CLR_BBLACK
Definition cm.h:165
@ CLR_LN_FG
Definition cm.h:184
@ CLR_NT_HL_FG
Definition cm.h:192
@ CLR_BBLUE
Definition cm.h:169
@ CLR_BGREEN
Definition cm.h:167
@ CLR_BYELLOW
Definition cm.h:168
@ CLR_BMAGENTA
Definition cm.h:170
@ CLR_BORANGE
Definition cm.h:173
@ CLR_NT_HL_BG
Definition cm.h:193
@ CLR_NT_HL_REV_FG
Definition cm.h:194
@ CLR_BG
Definition cm.h:175
@ CLR_BOX_FG
Definition cm.h:176
@ CLR_NT_BG
Definition cm.h:189
@ CLR_TITLE_BG
Definition cm.h:197
@ CLR_BRED
Definition cm.h:166
@ CLR_NCOLORS
Definition cm.h:198
@ CLR_BLUE
Definition cm.h:161
@ CLR_IND_BG
Definition cm.h:179
@ CLR_GREEN
Definition cm.h:159
@ CLR_CMDLN_FG
Definition cm.h:186
@ CLR_NT_REV_FG
Definition cm.h:190
@ CLR_CYAN
Definition cm.h:163
void destroy_box(WINDOW *)
bool f_restore_screen
@ LF_FIFO
Definition cm.h:220
@ LF_DIR
Definition cm.h:222
@ LF_UNKNOWN
Definition cm.h:227
@ LF_SOCK
Definition cm.h:226
@ LF_BLK
Definition cm.h:223
@ LF_LNK
Definition cm.h:225
@ LF_REG
Definition cm.h:224
@ LF_CHR
Definition cm.h:221
int exit_code
Definition dwin.c:159
FILE * tty_fp
Definition dwin.c:43
#define COLOR_LEN
Definition cm.h:283
int cp_green
Definition dwin.c:192
int click_y
Definition dwin.c:80
int win_attr_odd
#define min(x, y)
min macro evaluates two expressions, returning least result
Definition cm.h:89
int n_lines
cchar_t CC_REVERSE
char em0[MAXLEN]
Definition dwin.c:175
cchar_t CC_NT_HL
Definition dwin.c:207
cchar_t ts
Definition cm.h:501
int mg_col
bool f_have_curses_tioctl
Definition scriou.c:25
char em3[MAXLEN]
Definition dwin.c:178
cchar_t CC_CMDLN
Definition dwin.c:202
PANEL * panel_box[MAXWIN]
Definition dwin.c:57
void w_mouse_getch(WINDOW *, int *, int *, int *, int *)
char const colors_text[][10]
Color names for .minitrc overrides.
Definition dwin.c:133
int mbegy
bool str_to_bool(const char *)
Converts String to boolean true or false.
Definition futil.c:941
int rgb_clr_to_cube(int)
#define __atexit
This macro registers the end_pgm function to be called when the program exits.
Definition cm.h:297
int cp_ln_fg
const wchar_t bw_ve
Definition dwin.c:139
cchar_t CC_NT_REV
Definition dwin.c:205
int cp_nt_rev
Definition dwin.c:184
struct termios shell_out_tioctl curses_out_tioctl
Definition scriou.c:36
char * stdio_fdnames(char *, char *)
Definition futil.c:1089
int cp_cmdln_fg
cchar_t tr
Definition cm.h:501
void user_end()
int display_curses_keys()
cchar_t ra
Definition cm.h:631
cchar_t ls
Definition cm.h:631
int win_attr
Definition dwin.c:162
cchar_t rt
Definition cm.h:631
WINDOW * win_box[MAXWIN]
Definition dwin.c:53
int cp_fill_char
Definition dwin.c:189
#define Ctrl(c)
Definition cm.h:52
char fn[MAXLEN]
Definition dwin.c:174
char em2[MAXLEN]
Definition dwin.c:177
char * fill_field(char *, char *, char, int)
Definition futil.c:1748
const wchar_t bw_br
Definition dwin.c:143
void display_argv_error_msg(char *, char **)
struct termios shell_in_tioctl curses_in_tioctl
Definition scriou.c:35
int cp_ln_bg
cchar_t bs
Definition cm.h:501
cchar_t CC_BRKTR
Definition cm.h:495
cchar_t CC_LN
Definition dwin.c:201
struct termios shell_err_tioctl curses_err_tioctl
Definition scriou.c:37
cchar_t CC_NT_HL_REV
Definition dwin.c:206
int clr_idx
@ MT_TEXT
Definition menu.h:23
@ MT_CHOICE
Definition menu.h:24
@ MT_NULL
Definition menu.h:22
@ CT_PICK
Definition menu.h:46
@ CT_FORM
Definition menu.h:42
@ CT_DEXE
Definition menu.h:38
@ CT_UNDEFINED
Definition menu.h:52
@ CT_MENU
Definition menu.h:45
@ CT_RETURN
Definition menu.h:49
@ CT_TOGGLE
Definition menu.h:50
@ CT_HELP
Definition menu.h:40
@ CT_WRITE_CONFIG
Definition menu.h:51
@ CT_FORM_WRITE
Definition menu.h:44
@ CT_EXEC
Definition menu.h:39
@ CT_VIEW
Definition menu.h:47
@ CT_NULL
Definition menu.h:37
@ CT_ABOUT
Definition menu.h:41
@ CT_FORM_EXEC
Definition menu.h:43
@ CT_CKEYS
Definition menu.h:48
void free_menu_line(Line *)
@ MA_RETURN
Definition menu.h:29
@ MA_DISPLAY_MENU
Definition menu.h:30
@ MA_RESET_MENU
Definition menu.h:31
@ MA_NEW
Definition menu.h:28
@ MA_CONTINUE
Definition menu.h:32
#define MAX_MENU_LINES
Definition menu.h:19
UiSurface * ui_surface_win[MAXWIN]
Definition ui_ncurses.c:27
UiSurface * ui_surface_box[MAXWIN]
Definition ui_ncurses.c:26
UiSurface * ui_surface_win2[MAXWIN]
Definition ui_ncurses.c:28
int ui_bkgrnd(UiSurface *, const UiStyle *, const char *)
Definition ui_ncurses.c:330
int ui_bkgd_set(UiSurface *, const UiStyle *, const char *)
@ UI_KEY_F8
Definition ui_backend.h:85
@ UI_KEY_BACKSPACE
Definition ui_backend.h:63
@ UI_KEY_F9
Definition ui_backend.h:86
@ UI_KEY_TAB
Definition ui_backend.h:64
@ UI_KEY_F2
Definition ui_backend.h:79
@ UI_KEY_F7
Definition ui_backend.h:84
@ UI_KEY_DELETE
Definition ui_backend.h:75
@ UI_KEY_CHAR
Definition ui_backend.h:60
@ UI_KEY_MOUSE
Definition ui_backend.h:77
@ UI_KEY_F11
Definition ui_backend.h:88
@ UI_KEY_DOWN
Definition ui_backend.h:67
@ UI_KEY_F4
Definition ui_backend.h:81
@ UI_KEY_F3
Definition ui_backend.h:80
@ UI_KEY_HOME
Definition ui_backend.h:70
@ UI_KEY_F6
Definition ui_backend.h:83
@ UI_KEY_PGDN
Definition ui_backend.h:73
@ UI_KEY_PGUP
Definition ui_backend.h:72
@ UI_KEY_NONE
Definition ui_backend.h:59
@ UI_KEY_BTAB
Definition ui_backend.h:65
@ UI_KEY_END
Definition ui_backend.h:71
@ UI_KEY_F5
Definition ui_backend.h:82
@ UI_KEY_ESCAPE
Definition ui_backend.h:62
@ UI_KEY_LEFT
Definition ui_backend.h:68
@ UI_KEY_F1
Definition ui_backend.h:78
@ UI_KEY_ENTER
Definition ui_backend.h:61
@ UI_KEY_UP
Definition ui_backend.h:66
@ UI_KEY_F12
Definition ui_backend.h:89
@ UI_KEY_RESIZE
Definition ui_backend.h:76
@ UI_KEY_INSERT
Definition ui_backend.h:74
@ UI_KEY_RIGHT
Definition ui_backend.h:69
@ UI_KEY_F10
Definition ui_backend.h:87
@ UI_MOUSE_SCROLL_DOWN
Definition ui_backend.h:105
@ UI_MOUSE_PRESS
Definition ui_backend.h:101
@ UI_MOUSE_SCROLL_UP
Definition ui_backend.h:104
@ UI_MOUSE_NONE
Definition ui_backend.h:100
@ UI_MOUSE_DRAG
Definition ui_backend.h:103
@ UI_MOUSE_RELEASE
Definition ui_backend.h:102
@ UI_BORDER_ROUNDED
Definition ui_backend.h:119
@ UI_BORDER_ASCII
Definition ui_backend.h:117
@ UI_BORDER_LIGHT
Definition ui_backend.h:118
@ UI_BORDER_NONE
Definition ui_backend.h:116
#define NMARKS
Definition view.h:26
@ PT_STRING
Definition view.h:37
@ PT_NONE
Definition view.h:34
@ PT_SHORT
Definition view.h:35
@ PT_LONG
Definition view.h:36
#define BUFSIZ
Definition view.h:31
int get_cmd_spec(View *, char *)
int view_accept_cmd(View *)
char err_msg[MAXLEN]
void go_to_position(View *, long)
#define PAD_COLS
Definition view.h:32
#define TRUE
Definition iloan.c:19
#define FALSE
Definition iloan.c:18
#define MAXLEN
Definition curskeys.c:15
int cf_accept(WINDOW *win, char *accept_s, int flin, int fcol, int flen)
Accepts input for a field in a C-Menu window.
Definition cm_fields.c:51
bool f_erase_remainder
Definition cm_fields.c:39
struct termios shell_tioctl
Definition scriou.c:22
bool open_curses(SIO *)
Initialize NCurses and color settings.
Definition dwin.c:244
int border_title(WINDOW *, char *)
Draw a box with a title around the specified window.
Definition dwin.c:1327
int dxwgetch(WINDOW *, WINDOW *, WINDOW *, WINDOW *, WINDOW *, Chyron *, int)
Wrapper for wgetch that handles signals, mouse events, checks for clicks on the chyron line,...
Definition dwin.c:2180
int xwgetch(WINDOW *, Chyron *, int)
Wrapper for wgetch that handles signals, mouse events, checks for clicks on the chyron line,...
Definition dwin.c:2094
void restore_wins()
Restore all windows after a screen resize.
Definition dwin.c:1225
void win_del()
Delete the current window and its associated box window.
Definition dwin.c:1179
void check_panels(int)
Check and display the panels for a given window index.
Definition dwin.c:1090
void view_full_screen_resize(Init *)
Resize the full screen view and its components.
Definition init_view.c:140
void view_boxwin_resize(Init *)
Resize the current window and its box.
Definition init_view.c:346
int border_hsplit_text(WINDOW *, char *, int)
Draw a box with a separator line and text around the specified window.
Definition dwin.c:1289
int bare_box_new(int, int, int, int, char *)
Create a new window with optional box and title.
Definition dwin.c:981
int win_new(int, int)
Create a new window with specified dimensions and position.
Definition dwin.c:1037
int border_hsplit(WINDOW *, int)
Draw a box with a separator line around the specified window.
Definition dwin.c:1269
void win_init_attrs()
Initialize window attributes.
Definition dwin.c:226
void mvwaddstr_fill(WINDOW *, int, int, char *, int)
For lines shorter than their display area, fill the rest with spaces.
Definition dwin.c:1941
int box_new(int, int, int, int, char *)
Create a new window with optional box and title.
Definition dwin.c:967
int box_hsplit_new(int, int, int, int, int, char *)
Create a new window with optional box and title, and a second window inside it, split horizontally.
Definition dwin.c:925
int win2_new(int, int, int, int)
Create a new subwindow (win2) with specified dimensions and position.
Definition dwin.c:1066
int vgetch(WINDOW *, int)
Wrapper for wgetch that handles signals and mouse events, and accepts a single character answer.
Definition dwin.c:2258
void win_resize(int, int, char *)
Resize the current window and its box, and update the title.
Definition dwin.c:1128
void destroy_curses()
Gracefully shut down NCurses and restore terminal settings.
Definition dwin.c:670
void win_redraw(WINDOW *)
Redraw the specified window.
Definition dwin.c:1168
int win2_box_new(int, int, int, int, char *)
Create a new window with optional box and title, and a second window inside it.
Definition dwin.c:952
void initialize_local_colors(SIO *)
Initialize local color variables and color pairs based on SIO settings.
Definition dwin.c:320
void display_cmplx_str(WINDOW *, cchar_t *, int, int)
Display a complex character string on a window.
Definition dwin.c:857
RGB xterm256_idx_to_rgb(int)
Convert XTerm 256 color index to RGB.
Definition dwin.c:483
size_t str_to_cc(cchar_t *, const char *, attr_t, int, size_t)
Convert a multibyte string to an array of cchar_t complex characters.
Definition dwin.c:786
int clr_name_to_idx(char *)
Get color index from color name.
Definition dwin.c:1966
int rgb_to_curses_clr(RGB *)
Get color index for RGB color.
Definition dwin.c:432
size_t mk_cmplx_str(cchar_t *, char *, attr_t, int)
Convert a multibyte string to an array of cchar_t complex characters.
Definition dwin.c:828
bool init_clr_palette(SIO *)
Initialize color palette based on SIO settings.
Definition dwin.c:546
void apply_gamma(RGB *)
Apply gamma correction to RGB color.
Definition dwin.c:518
int rgb_to_xterm256_idx(RGB *)
Convert RGB color to XTerm 256 color index.
Definition dwin.c:461
cchar_t mkcc(int, attr_t, const char *)
Create a cchar_t with the specified color pair index.
Definition dwin.c:748
int get_clr_pair(int, int)
Get color pair index for foreground and background colors.
Definition dwin.c:401
WINDOW * message_win(char *)
Display a message in a window or print to stderr if curses is not available.
Definition dwin.c:1377
bool wait_destroy(Chyron *)
Destroy the waiting message window and chyron.
Definition dwin.c:1621
bool waitpid_with_timeout(pid_t, int)
Wait for a process to finish with a timeout and optional user cancellation.
Definition dwin.c:2033
bool action_disposition(char *eitle, char *action_str)
Display a simple action disposition message window or print to stderr.
Definition dwin.c:1651
int answer_yn(char *, char *, char *, char *)
Accept a single letter answer.
Definition dwin.c:1406
int wait_continue(WINDOW *, Chyron *, int)
Update the waiting message with remaining time and check for user input.
Definition dwin.c:1636
WINDOW * wait_mk_win(Chyron *, char *)
Display a popup waiting message.
Definition dwin.c:1589
int Perror(char *)
Display a simple error message window or print to stderr.
Definition dwin.c:1526
void abend(int, char *)
Abnormal program termination.
Definition dwin.c:2018
Chyron * wait_mk_chyron()
Create a Chyron struct for the waiting message.
Definition dwin.c:1576
int display_error(char *, char *, char *, char *)
Display an error message window or print to stderr.
Definition dwin.c:1467
bool is_set_chyron_key(Chyron *, int)
Check if function key label is set.
Definition dwin.c:1743
void set_chyron_key(Chyron *, int, char *, int)
Set chyron key with default color pair (cp_nt_rev).
Definition dwin.c:1783
void display_chyron(WINDOW *, Chyron *, int, int)
Display chyron on window.
Definition dwin.c:1892
Chyron * destroy_chyron(Chyron *chyron)
Destroy Chyron structure.
Definition dwin.c:1722
void activate_chyron_key(Chyron *, int)
Activate chyron key.
Definition dwin.c:1807
int get_chyron_key(Chyron *, int)
Get keycode from chyron.
Definition dwin.c:1917
void set_chyron_key_cp(Chyron *, int, char *, int, int)
Set chyron key with color pair (cp).
Definition dwin.c:1759
void compile_chyron(Chyron *)
construct the chyron string from the chyron structure
Definition dwin.c:1848
void activate_all_chyron_keys(Chyron *)
Deactivate chyron key.
Definition dwin.c:1816
void unset_chyron_key(Chyron *, int)
Unset chyron key.
Definition dwin.c:1798
void deactivate_all_chyron_keys(Chyron *)
Deactivate all chyron keys.
Definition dwin.c:1834
void deactivate_chyron_key(Chyron *, int)
Deactivate chyron key.
Definition dwin.c:1826
Chyron * new_chyron()
Create and initialize Chyron structure.
Definition dwin.c:1701
int fork_exec(char **)
Fork and exec a command.
Definition exec.c:126
int shell(char *)
Execute a shell command.
Definition exec.c:78
int full_screen_fork_exec(char **)
Execute a command in full screen mode.
Definition exec.c:46
int full_screen_shell(char *)
Execute a shell command in full screen mode.
Definition exec.c:62
int fork_detach_execvp(char **)
Fork, set new session ID, close files, and execute detached command.
Definition detach.c:29
int form_fmt_field(Form *, char *s)
Format field according to its format type.
Definition fields.c:444
int field_editor(Form *)
Accept input for a field.
Definition fields.c:55
void numeric(char *d, char *s)
Extract numeric characters from source string to destination string.
Definition fields.c:644
bool is_valid_date(int yyyy, int mm, int dd)
Check if a given date is valid, including leap years.
Definition fields.c:607
void left_justify(char *s)
Left justify string by removing leading spaces.
Definition fields.c:568
bool is_valid_time(int hh, int mm, int ss)
Check if a given time is valid.
Definition fields.c:628
int form_display_field_n(Form *, int)
Display field n.
Definition fields.c:362
void right_justify(char *, int)
Right justify string by removing trailing spaces and adding leadingspaces.
Definition fields.c:581
int form_display_field(Form *)
Display current field.
Definition fields.c:384
int form_desc_error(Form *, int, char *, char *)
Handle errors encountered while parsing the form description file, providing detailed error messages ...
int init_form(Init *, int, char **, int, int)
Initialize form data structure and parse description file.
Definition form_engine.c:61
int field_navigator(Form *)
Handle user input for field entry, allowing navigation between fields and looping until an exit actio...
bool locate_file_in_path(char *, char *)
Locates a file in the system PATH.
Definition futil.c:1287
size_t canonicalize_file_spec(char *)
Removes quotes and trims at first space.
Definition futil.c:1341
size_t strnz__cpy(char *, const char *, size_t)
safer alternative to strncpy
Definition futil.c:544
int destroy_argv(int argc, char **argv)
Deallocates memory allocated for argument strings in argv.
Definition futil.c:494
bool parse_local_timestamp(const char *, time_t *)
Parses an ISO 8601 timestamp string in local time and converts it to time_t.
Definition futil.c:280
bool trim_ext(char *, char *)
trims the file extension from "filename" and copies the result to "buf"
Definition futil.c:1016
bool stripz_quotes(char *)
removes leading and trailing double quotes if present
Definition futil.c:733
void write_cmenu_log(char *)
Write message to C-Menu log file with timestamp.
Definition futil.c:1685
size_t trim(char *)
Trims leading and trailing spaces from string s in place.
Definition futil.c:391
char * get_local_timestamp()
Returns the current local time as an ISO 8601 formatted string.
Definition futil.c:314
bool is_directory(const char *)
Checks if the given path is a directory.
Definition futil.c:1372
bool file_spec_path(char *, char *)
extracts the path component of a file specification
Definition futil.c:870
bool str_to_upper(char *)
Converts a string to uppercase.
Definition futil.c:522
bool dir_name(char *, char *)
Returns the directory name of a file specification.
Definition futil.c:1149
double str_to_double(char *)
converts string to double
Definition futil.c:929
bool str_to_lower(char *)
Converts a string to lowercase.
Definition futil.c:508
size_t strnz(char *, size_t)
terminates string at New Line, Carriage Return, or max_len
Definition futil.c:615
size_t ssnprintf(char *, size_t, const char *,...)
ssnprintf was designed to be a safer alternative to snprintf.
Definition futil.c:420
bool expand_tilde(char *, int)
Replaces "~/" in string with the user's home directory.
Definition futil.c:970
bool strip_quotes(char *)
removes leading and trailing double quotes if present
Definition futil.c:718
bool is_valid_regex(const char *)
Checks if the given regular expression pattern is valid.
Definition futil.c:1400
void open_cmenu_log()
Open new C-Menu log file.
Definition futil.c:1667
char * strnz_dup(char *, size_t)
Allocates memory for and duplicates string s up to length l or until line feed or carriage return.
Definition futil.c:654
bool file_spec_name(char *, char *)
extracts the file name component of a file specification
Definition futil.c:897
size_t strip_ansi(char *, char *)
Strips ANSI SGR escape sequences (ending in 'm') from string s to d.
Definition futil.c:829
bool mk_dir(char *dir)
If directory doesn't exist, make it.
Definition futil.c:1320
int wccp_to_str(wchar_t, uint8_t *)
Converts a Unicode code point to a UTF-8 encoded string.
Definition dwin.c:871
size_t strnz__cat(char *, const char *, size_t)
safer alternative to strncat
Definition futil.c:573
bool str_subc(char *, char *, char, char *, int)
Replaces "ReplaceChr" in "s" with "Withstr" in "d" won't copy more than "l" bytes to "d" Replaces all...
Definition futil.c:690
bool get_argp_doc_by_name(char *comment, const struct argp_option *, const char *)
Retrieves the documentation string for a given key name from an argp options array.
Definition futil.c:176
bool verify_file(char *, int)
Verifies that the file specified by "in_spec" exists and is accessible with the permissions specified...
Definition futil.c:1240
char * rep_substring(const char *, const char *, const char *)
Replace all occurrences of "tgt_s" in "org_s" with "rep_s".
Definition futil.c:1440
bool is_symlink_to_dir(const char *)
Checks if the given path is a symbolic link to a directory.
Definition futil.c:1385
size_t strnlf(char *, size_t)
terminates string with line feed
Definition futil.c:633
int a_toi(char *, bool *)
a safer alternative to atoi() for converting ASCII strings to integers.
Definition futil.c:769
bool is_hex_str(char *, int)
Validates that a string consists of exactly len hexadecimal digits.
Definition futil.c:209
void write_cmenu_log_nt(char *)
Write message to C-Menu log file without timestamp.
Definition futil.c:1701
bool verify_dir(char *, int)
Verifies that the directory specified by "spec" exists and is accessible with the permissions specifi...
Definition futil.c:1189
bool chrep(char *, char, char)
Replaces all occurrences of old_chr in s with new_chr in place.
Definition futil.c:750
bool base_name(char *, char *)
Returns the base name of a file specification.
Definition futil.c:1123
char * get_ip_addresses(char *, int)
Retrieves the IP addresses of the local machine and formats them into a string.
Definition futil.c:354
bool normalize_file_spec(char *)
replace backslashes with forward lashes
Definition futil.c:853
char * format_local_timestamp(time_t, char *, size_t)
Formats a time_t as an ISO 8601 string in local time.
Definition futil.c:303
bool is_newer(char *, char *)
Checks if the file specified by "fut" is newer than the file specified by "control".
Definition futil.c:160
char * fdname(int, char *)
Retrieves the file path associated with a given file descriptor.
Definition futil.c:1054
int str_to_args(char **, char *, int)
Converts a string into an array of argument strings.
Definition futil.c:440
char * get_user_str(char *, size_t)
Retrieves the current user's name and UID, and formats it into a string.
Definition futil.c:327
bool trim_path(char *)
Trims trailing spaces and slashes from directory path in place.
Definition futil.c:988
unsigned long a_to_ul(const char *)
Converts a string to an unsigned long long integer, with support for suffixes K, M,...
Definition futil.c:793
bool unstr_hex_clr(char *, char *)
Validates that a string is a hex color code in the format "#RRGGBB".
Definition futil.c:232
char * iso8601_time(char *, int, time_t *, bool)
Formats a struct tm as an ISO 8601 string.
Definition futil.c:264
size_t string_cpy(String *, const String *)
Copy src String to dest String, allocating additional memory for dest String if necessary.
Definition futil.c:1577
String to_string(const char *)
String functions provide a simple string library to facilitate string manipulation in C,...
Definition futil.c:1523
size_t string_ncpy(String *, const String *, size_t)
copies up to n characters from src String to dest String, allocating additional memory for dest Strin...
Definition futil.c:1634
size_t string_cat(String *, const String *)
Concatenates src String to dest String, allocating additional memory for dest String if necessary.
Definition futil.c:1594
String free_string(String)
Free the dynamically allocated String.
Definition futil.c:1562
size_t string_ncat(String *, const String *, size_t)
Concatenates up to n characters from src String to dest String, allocating additional memory for dest...
Definition futil.c:1613
int segmentation_fault()
Function to intentionally cause a segmentation fault for testing purposes.
Definition futil.c:1659
int parse_opt_args(Init *, int, char **)
Parse command-line options and set Init struct values accordingly.
Definition init.c:559
bool derive_file_spec(char *, char *, char *)
Derive full file specification from directory and file name.
Definition init.c:1306
int write_config(Init *)
Write the current configuration to a file specified in init->minitrc.
Definition init.c:1049
void mapp_initialization(Init *, int, char **)
Main initialization function for MAPP - Menu Application.
Definition init.c:441
void zero_opt_args(Init *)
Initialize optional arguments in the Init struct to default values.
Definition init.c:574
void view_calc_boxwin_dimensions(Init *)
Calculate the dimensions and position of the box window for C-Menu View.
Definition init_view.c:362
int init_view_full_screen(Init *)
Initialize C-Menu View in full screen mode.
Definition init_view.c:49
int init_view_boxwin(Init *)
Initialize the C-Menu View in box window mode.
Definition init_view.c:194
void view_calc_full_screen_dimensions(Init *)
Calculate the dimensions for full screen mode.
Definition init_view.c:159
int view_init_input(Init *, char *)
Initialize the input for the C-Menu View.
Definition init_view.c:447
View * destroy_view(Init *init)
Destroy View structure.
Definition mem.c:356
Form * new_form(Init *, int, char **, int, int)
Create and initialize Form structure.
Definition mem.c:263
bool init_menu_files(Init *, int, char **)
Initialize Menu file specifications.
Definition mem.c:502
bool verify_spec_arg(char *, char *, char *, char *, int)
Verify file specification argument.
Definition mem.c:380
Init * new_init(int, char **)
Create and initialize Init structure.
Definition mem.c:71
Menu * new_menu(Init *, int, char **, int, int)
Create and initialize Menu structure.
Definition mem.c:145
Menu * destroy_menu(Init *init)
Destroy Menu structure.
Definition mem.c:166
Form * destroy_form(Init *init)
Destroy Form structure.
Definition mem.c:286
View * new_view(Init *)
Create and initialize View structure.
Definition mem.c:310
Pick * new_pick(Init *, int, char **, int, int)
Create and initialize Pick structure.
Definition mem.c:197
Init * destroy_init(Init *init)
Destroy Init structure.
Definition mem.c:106
Pick * destroy_pick(Init *init)
Destroy Pick structure.
Definition mem.c:236
unsigned int menu_engine(Init *)
The main loop of the menu system.
Definition menu_engine.c:38
unsigned int get_command_type(char *)
Get command type from command string.
unsigned int parse_menu_description(Init *)
Parse menu description file and create Menu.
void save_object(Pick *, char *)
Saves a string as an object in the pick structure.
void toggle_object(Pick *)
Toggles the selection state of the currently selected object in pick window.
int init_pick(Init *, int, char **, int, int)
Initializes pick structure and opens pick input file or pipe.
Definition pick_engine.c:66
int output_objects(Pick *)
Outputs selected objects to specified output file.
void reverse_object(Pick *)
Reverses the display of the currently selected object in pick window.
int pick_engine(Init *)
Initializes pick interface, calculates window size and position, and enters picker loop.
void display_pick_page(Pick *)
Displays current page of objects in pick window.
int open_pick_win(Init *)
Initializes the pick window based on the parameters specified in the Pick structure.
bool capture_shell_tioctl()
capture_shell_tioctl() - capture shell terminal settings
Definition scriou.c:43
char di_getch()
get single character from terminal in raw mode
Definition scriou.c:148
bool restore_curses_tioctl()
restore_curses_tioctl() - restore curses terminal settings
Definition scriou.c:81
bool capture_curses_tioctl()
capture_curses_tioctl() - capture curses terminal settings
Definition scriou.c:68
bool mk_raw_tioctl(struct termios *)
mk_raw_tioctl() - set terminal to raw mode
Definition scriou.c:126
bool set_sane_tioctl(struct termios *)
set_sane_tioctl() - set terminal to sane settings for C-MENU
Definition scriou.c:95
bool restore_shell_tioctl()
restore_shell_tioctl() - restore shell terminal settings
Definition scriou.c:56
void sig_dfl_mode()
Set signal handlers to default behavior.
Definition sig.c:42
void signal_handler(int)
Signal handler for interrupt signals.
Definition sig.c:95
void sig_prog_mode()
Set up signal handlers for interrupt signals.
Definition sig.c:62
int view_file(Init *)
Start view.
bool view_stack_pop(ViewStack *, View *)
Pop Item from View Stack.
bool view_stack_peek(const ViewStack *, View *)
Peek at Top Item of View Stack.
void cat_file(View *)
Concatenate File to Standard Output.
void view_stack_free(ViewStack *)
Free View Stack.
int view_cmd_processor(Init *)
Main Command Processing Loop for View.
bool view_stack_init(ViewStack *, size_t)
Initialize View Stack.
void build_prompt(View *)
Build Prompt String.
bool view_stack_push(ViewStack *, View)
Push Item onto View Stack.
void initialize_line_table(View *)
Initialize Line Table.
void next_page(View *)
Advance to Next Page.
int pad_refresh(View *)
Refresh Pad and Line Number Window.
int display_prompt(View *, char *)
Display Command Line Prompt.
int ui_draw_vline(UiSurface *s, int y, int x, int len, const UiStyle *style)
Draw a vertical line on a UiSurface.This function uses the ncurses mvwvline function to draw a vertic...
UiSurface * ui_surface_new(UiRuntime *ui, UiSurface *parent, UiRect rect)
Create a new UI surface.
Definition ui_ncurses.c:37
int ui_surface_hide(UiSurface *s)
Hide a UI surface.
Definition ui_ncurses.c:155
int ui_surface_clear(UiSurface *s)
Clear the contents of a UI surface.
Definition ui_ncurses.c:119
int ui_draw_border(UiSurface *s, UiBorderKind kind, const UiStyle *style)
Draw a border around a UiSurface.This function draws a border around the UiSurface's window based on ...
void ui_get_screen_size(UiRuntime *ui, int *rows, int *cols)
Get the current screen size.
Definition ui_ncurses.c:257
int ui_render(UiRuntime *ui)
Render the UI by updating panels and refreshing the screen.
Definition ui_ncurses.c:272
void ui_surface_destroy(UiSurface *s)
Destroy a UI surface and free its resources.
Definition ui_ncurses.c:74
int ui_surface_show(UiSurface *s)
Show a UI surface.
Definition ui_ncurses.c:143
void ui_shutdown(UiRuntime *ui)
Shutdown the UI runtime and free its resources.
Definition ui_ncurses.c:240
int ui_clear_screen(UiRuntime *ui)
Clear the entire screen.
Definition ui_ncurses.c:284
int ui_surface_erase(UiSurface *s)
Erase the contents of a UI surface.
Definition ui_ncurses.c:131
UiRuntime * ui_init(const UiConfig *cfg)
Initialize NCUrses.
Definition ui_ncurses.c:180
int ui_surface_set_base(UiSurface *s, const UiStyle *style, uint32_t fill_ch)
Set the base fill character and style for a UiSurface.This function sets the background fill characte...
int ui_cursor_move(UiSurface *s, int y, int x)
Move the cursor within a UI surface.
Definition ui_ncurses.c:170
int ui_suspend(UiRuntime *ui)
Suspend the UI, restoring the terminal to its normal state.
Definition ui_ncurses.c:295
int ui_draw_box_title(UiSurface *s, int x, const UiStyle *style, const char *title)
Draw a title on the top border of a UiSurface.This function draws the provided title string at the sp...
int ui_draw_text_n(UiSurface *s, int y, int x, const UiStyle *style, const char *text, size_t n)
Draw a specified number of characters from a string on a UiSurface.This function is similar to ui_dra...
int ui_draw_text(UiSurface *s, int y, int x, const UiStyle *style, const char *text)
Draw text on a UiSurface at a specified position with a given style.This function uses the ncurses mv...
int ui_surface_set_style(UiSurface *s, const UiStyle *style)
Set the style for a UiSurface.This function applies the given UiStyle to the ncurses window associate...
int ui_resume(UiRuntime *ui)
Resume the UI after being suspended, reinitializing the screen.
Definition ui_ncurses.c:307
int ui_surface_move(UiSurface *s, int y, int x)
Move a UI surface to a new position.
Definition ui_ncurses.c:91
int ui_surface_resize(UiSurface *s, int rows, int cols)
Resize a UI surface to new dimensions.
Definition ui_ncurses.c:106
int ui_get_event(UiRuntime *ui, UiSurface *target, UiEvent *ev, int timeout_ms)
Retrieves an input event from the specified UI surface.
int ui_draw_hline(UiSurface *s, int y, int x, int len, const UiStyle *style)
Draw a horizontal line on a UiSurface.This function uses the ncurses mvwhline function to draw a hori...
int ui_cursor_enable(UiRuntime *ui, bool visible)
Enable or disable the cursor visibility.
Definition ui_ncurses.c:322
char title[MAXLEN]
Definition common.h:129
char mapp_data[MAXLEN]
Definition common.h:147
char minitrc[MAXLEN]
Definition common.h:173
bool f_out_spec
Definition common.h:170
char mapp_help[MAXLEN]
Definition common.h:148
int begx
Definition common.h:118
bool f_title
Definition common.h:165
char chyron_s[MAXLEN]
Definition common.h:128
SIO * sio
Definition common.h:114
int pick_cnt
Definition common.h:187
bool f_cmd_all
Definition common.h:164
Form * form
Definition common.h:184
char in_spec[MAXLEN]
Definition common.h:167
char cmd_all[MAXLEN]
Definition common.h:123
bool f_mapp_help
Definition common.h:156
bool f_mapp_msrc
Definition common.h:157
int argc
Definition common.h:130
bool f_cmd
Definition common.h:163
int prompt_type
Definition common.h:126
char about_fn[MAXLEN]
Definition common.h:174
char mapp_msrc[MAXLEN]
Definition common.h:149
int cols
Definition common.h:116
int menu_cnt
Definition common.h:183
int tab_stop
Definition common.h:180
bool f_mapp_home
Definition common.h:153
bool f_erase_remainder
Definition common.h:141
bool f_mapp_data
Definition common.h:154
bool f_read_theme
Definition common.h:142
bool f_mapp_desc
Definition common.h:160
char mapp_home[MAXLEN]
Definition common.h:146
bool f_mapp_user
Definition common.h:158
char prompt_str[MAXLEN]
Definition common.h:125
char fill_char[4]
Definition common.h:145
bool f_squeeze
Definition common.h:137
int begy
Definition common.h:117
char parent_cmd[MAXLEN]
Definition common.h:124
char mapp_spec[MAXLEN]
Definition common.h:175
char receiver_cmd[MAXLEN]
Definition common.h:121
int h_shift
Definition common.h:181
bool f_multiple_cmd_args
Definition common.h:139
int select_max
Definition common.h:178
bool f_ln
Definition common.h:143
bool f_mapp_spec
Definition common.h:155
char provider_cmd[MAXLEN]
Definition common.h:120
char out_spec[MAXLEN]
Definition common.h:168
bool f_strip_ansi
Definition common.h:136
View * view
Definition common.h:188
bool p_view_files
Definition common.h:134
Menu * menu
Definition common.h:182
bool f_at_end_remove
Definition common.h:135
int view_cnt
Definition common.h:189
char brackets[3]
Definition common.h:144
bool f_ignore_case
Definition common.h:133
char ** argv
Definition common.h:131
int lines
Definition common.h:115
char mapp_user[MAXLEN]
Definition common.h:150
char cmd[MAXLEN]
Definition common.h:122
char mapp_theme[MAXLEN]
Definition common.h:151
int optind
Definition common.h:132
bool f_help_spec
Definition common.h:166
bool f_receiver_cmd
Definition common.h:162
bool f_provider_cmd
Definition common.h:161
int form_cnt
Definition common.h:185
char help_spec[MAXLEN]
Definition common.h:176
char editor[MAXLEN]
Definition common.h:171
Pick * pick
Definition common.h:186
bool f_in_spec
Definition common.h:169
char menuapp[MAXLEN]
Definition common.h:172
int dd
Definition cm.h:58
int yyyy
Definition cm.h:56
int mm
Definition cm.h:57
int ss
Definition cm.h:64
int mm
Definition cm.h:63
int hh
Definition cm.h:62
char text[CHYRON_KEY_MAXLEN]
Definition cm.h:337
int end_pos
Definition cm.h:340
int cp
Definition cm.h:341
int keycode
Definition cm.h:339
bool active
Definition cm.h:336
int l
Definition cm.h:348
cchar_t cmplx_buf[MAXLEN]
Definition cm.h:347
char s[MAXLEN]
Definition cm.h:346
ChyronKey * key[CHYRON_KEYS]
Definition cm.h:345
int r
Definition cm.h:382
int b
Definition cm.h:382
int g
Definition cm.h:382
int pair_id
Definition cm.h:428
int fg
Definition cm.h:426
int bg
Definition cm.h:427
char * s
Definition cm.h:748
size_t l
Definition cm.h:749
Arg ** v
Definition cm.h:755
size_t n
Definition cm.h:757
size_t l
Definition cm.h:764
char * s
Definition cm.h:763
size_t l
allocated length
Definition cm.h:773
wchar_t * s
Definition cm.h:772
size_t l
Definition cm.h:785
cchar_t * s
Definition cm.h:784
char nt_hl_rev_bg[COLOR_LEN]
Definition cm.h:852
double green_gamma
Definition cm.h:807
char nt_rev_bg[COLOR_LEN]
Definition cm.h:846
char ln_fg[COLOR_LEN]
Definition cm.h:839
int cp_nt_hl_rev
Definition cm.h:873
char black[COLOR_LEN]
Definition cm.h:810
FILE * stdout_fp
Definition cm.h:857
char title_bg[COLOR_LEN]
Definition cm.h:854
double blue_gamma
Definition cm.h:808
int clr_idx
Definition cm.h:866
char bred[COLOR_LEN]
Definition cm.h:820
char yellow[COLOR_LEN]
Definition cm.h:813
int clr_cnt
Definition cm.h:864
char nt_hl_bg[COLOR_LEN]
Definition cm.h:848
int stdout_fd
Definition cm.h:861
char nt_hl_fg[COLOR_LEN]
Definition cm.h:847
char cmdln_bg[COLOR_LEN]
Definition cm.h:842
char abg[COLOR_LEN]
Definition cm.h:828
int stderr_fd
Definition cm.h:862
int cp_ln
Definition cm.h:879
int cp_box
Definition cm.h:874
FILE * stdin_fp
Definition cm.h:856
char ind_fg[COLOR_LEN]
Definition cm.h:833
char bcyan[COLOR_LEN]
Definition cm.h:825
char borange[COLOR_LEN]
Definition cm.h:827
double red_gamma
Definition cm.h:806
char red[COLOR_LEN]
Definition cm.h:811
char nt_fg[COLOR_LEN]
Definition cm.h:843
FILE * tty_fp
Definition cm.h:859
char magenta[COLOR_LEN]
Definition cm.h:815
char ln_bg[COLOR_LEN]
Definition cm.h:840
char bgreen[COLOR_LEN]
Definition cm.h:821
char nt_rev_fg[COLOR_LEN]
Definition cm.h:845
char brackets_fg[COLOR_LEN]
Definition cm.h:835
char fill_char_fg[COLOR_LEN]
Definition cm.h:837
int cp_bold
Definition cm.h:876
char byellow[COLOR_LEN]
Definition cm.h:822
char bwhite[COLOR_LEN]
Definition cm.h:826
char box_bg[COLOR_LEN]
Definition cm.h:832
char fg[COLOR_LEN]
Definition cm.h:829
char cyan[COLOR_LEN]
Definition cm.h:816
int cp_ind
Definition cm.h:875
int cp_default
Definition cm.h:868
char brackets_bg[COLOR_LEN]
Definition cm.h:836
FILE * stderr_fp
Definition cm.h:858
char box_fg[COLOR_LEN]
Definition cm.h:831
char tty_name[MAXLEN]
Definition cm.h:855
int cp_highlight
Definition cm.h:878
int cp_cmdln
Definition cm.h:880
int cp_title
Definition cm.h:877
char orange[COLOR_LEN]
Definition cm.h:818
int clr_pair_cnt
Definition cm.h:865
char fill_char_bg[COLOR_LEN]
Definition cm.h:838
char green[COLOR_LEN]
Definition cm.h:812
char white[COLOR_LEN]
Definition cm.h:817
char bg[COLOR_LEN]
Definition cm.h:830
char bblue[COLOR_LEN]
Definition cm.h:823
int tty_fd
Definition cm.h:863
char title_fg[COLOR_LEN]
Definition cm.h:853
char cmdln_fg[COLOR_LEN]
Definition cm.h:841
int cp_norm
Definition cm.h:869
char bmagenta[COLOR_LEN]
Definition cm.h:824
char blue[COLOR_LEN]
Definition cm.h:814
int cp_win
Definition cm.h:870
int cp_nt_rev
Definition cm.h:871
char nt_hl_rev_fg[COLOR_LEN]
Definition cm.h:850
int stdin_fd
Definition cm.h:860
double gray_gamma
Definition cm.h:809
char bblack[COLOR_LEN]
Definition cm.h:819
int clr_pair_idx
Definition cm.h:867
int cp_nt_hl
Definition cm.h:872
char ind_bg[COLOR_LEN]
Definition cm.h:834
char nt_bg[COLOR_LEN]
Definition cm.h:844
int len
Definition form.h:106
int col
Definition form.h:102
char str[SCR_COLS]
Definition form.h:104
int line
Definition form.h:100
int line
Definition form.h:113
char display_s[FIELD_MAXLEN]
Definition form.h:130
char accept_s[FIELD_MAXLEN]
Definition form.h:126
int ff
Definition form.h:119
int col
Definition form.h:115
char input_s[FIELD_MAXLEN]
Definition form.h:123
cchar_t filler_cc[FIELD_MAXLEN]
Definition form.h:141
cchar_t display_cc[FIELD_MAXLEN]
Definition form.h:135
int len
Definition form.h:117
char filler_s[FIELD_MAXLEN]
Definition form.h:136
cchar_t brktr
Definition form.h:294
FILE * out_fp
Definition form.h:161
Text * text[FIELD_MAXCNT]
Definition form.h:338
bool f_in_pipe
Definition form.h:221
bool f_mapp_spec
Definition form.h:192
bool f_erase_remainder
Definition form.h:235
WINDOW * box
Definition form.h:156
Field * field[FIELD_MAXCNT]
Definition form.h:351
char receiver_cmd[MAXLEN]
Definition form.h:178
bool f_process
Definition form.h:246
int didx
Definition form.h:323
int begy
Definition form.h:151
char provider_cmd[MAXLEN]
Definition form.h:170
bool f_query
Definition form.h:248
int out_fd
Definition form.h:165
int cols
Definition form.h:150
int lines
Definition form.h:149
int fcnt
Definition form.h:316
int begx
Definition form.h:153
bool f_out_pipe
Definition form.h:226
int fidx
Definition form.h:308
bool f_provider_cmd
Definition form.h:256
bool f_calculate
Definition form.h:244
int bg_clr_idx
Definition form.h:147
char fill_char[4]
Definition form.h:297
bool help
Definition form.h:250
bool f_cmd
Definition form.h:271
cchar_t brktl
Definition form.h:291
bool f_help_spec
Definition form.h:231
FILE * in_fp
Definition form.h:159
char out_spec[MAXLEN]
Definition form.h:208
Chyron * chyron
Definition form.h:363
int bo_clr_idx
Definition form.h:148
bool f_receiver_cmd
Definition form.h:263
bool f_multiple_cmd_args
Definition form.h:243
char in_spec[MAXLEN]
Definition form.h:201
char mapp_spec[FIELD_MAXLEN]
Definition form.h:167
char cmd[MAXLEN]
Definition form.h:185
char title[MAXLEN]
Definition form.h:157
char brackets[3]
Definition form.h:279
int dcnt
Definition form.h:330
int fg_clr_idx
Definition form.h:146
bool f_out_spec
Definition form.h:218
WINDOW * win
Definition form.h:155
bool f_in_spec
Definition form.h:215
int in_fd
Definition form.h:163
char help_spec[MAXLEN]
Definition form.h:194
char * choice_text
Definition menu.h:79
void * ui_surface
Definition menu.h:66
void * ui_runtime
Definition menu.h:59
char * raw_text
Definition menu.h:76
char * command_str
Definition menu.h:95
unsigned int type
Definition menu.h:74
int letter_pos
Definition menu.h:85
unsigned int command_type
Definition menu.h:89
char choice_letter
Definition menu.h:82
char provider_cmd[MAXLEN]
Definition menu.h:151
int cols
Definition menu.h:117
char mapp_spec[MAXLEN]
Definition menu.h:140
int argc
Definition menu.h:134
Line * line[MAX_MENU_LINES]
Definition menu.h:219
bool f_help_spec
Definition menu.h:178
WINDOW * win
Definition menu.h:125
WINDOW * box
Definition menu.h:128
char cmd[MAXLEN]
Definition menu.h:166
bool f_provider_cmd
Definition menu.h:183
int bo_clr_idx
Definition menu.h:113
int fg_clr_idx
Definition menu.h:107
int begy
Definition menu.h:119
int text_max_len
Definition menu.h:206
bool f_mapp_spec
Definition menu.h:173
char receiver_cmd[MAXLEN]
Definition menu.h:159
int item_count
Definition menu.h:212
bool f_receiver_cmd
Definition menu.h:190
int choice_max_len
Definition menu.h:200
int bg_clr_idx
Definition menu.h:110
bool f_cmd
Definition menu.h:196
int line_idx
Definition menu.h:215
char help_spec[MAXLEN]
Definition menu.h:146
int lines
Definition menu.h:115
char ** argv
Definition menu.h:137
char title[MAXLEN]
Definition menu.h:131
int begx
Definition menu.h:122
int pg_line
Definition pick.h:78
bool f_mapp_spec
Definition pick.h:53
int tbl_lines
Definition pick.h:85
char ** m_object
Definition pick.h:68
int select_idx
Definition pick.h:69
int tbl_pages
Definition pick.h:82
int tbl_cols
Definition pick.h:86
bool f_cmd
Definition pick.h:66
bool f_provider_cmd
Definition pick.h:64
WINDOW * win2
Definition pick.h:36
bool p_view_files
Definition pick.h:61
int pg_lines
Definition pick.h:79
WINDOW * box
Definition pick.h:37
bool f_in_spec
Definition pick.h:54
int m_idx
Definition pick.h:74
char ** d_object
Definition pick.h:76
int fg_clr_idx
Definition pick.h:26
char cmd[MAXLEN]
Definition pick.h:51
bool f_help_spec
Definition pick.h:58
int width
Definition pick.h:30
FILE * in_fp
Definition pick.h:41
int tbl_col_width
Definition pick.h:88
int d_idx
Definition pick.h:75
int bg_clr_idx
Definition pick.h:27
bool f_out_spec
Definition pick.h:55
int argc
Definition pick.h:39
int tbl_page
Definition pick.h:83
int bo_clr_idx
Definition pick.h:28
bool f_multiple_cmd_args
Definition pick.h:60
int d_cnt
Definition pick.h:73
int x
Definition pick.h:34
int separator_line
Definition pick.h:89
char mapp_spec[MAXLEN]
Definition pick.h:45
bool f_in_pipe
Definition pick.h:56
bool f_selected[OBJ_MAXCNT]
Definition pick.h:62
int out_fd
Definition pick.h:44
int select_cnt
Definition pick.h:70
char title[MAXLEN]
Definition pick.h:38
bool help
Definition pick.h:63
char help_spec[MAXLEN]
Definition pick.h:48
char in_buf[BUFSIZ]
Definition pick.h:67
int lines
Definition pick.h:29
int tbl_line
Definition pick.h:84
int in_fd
Definition pick.h:43
bool f_out_pipe
Definition pick.h:57
char receiver_cmd[MAXLEN]
Definition pick.h:50
char ** argv
Definition pick.h:40
int m_cnt
Definition pick.h:72
int pg_objs
Definition pick.h:80
int select_max
Definition pick.h:71
bool f_read_theme
Definition pick.h:59
char in_spec[MAXLEN]
Definition pick.h:46
WINDOW * win
Definition pick.h:35
FILE * out_fp
Definition pick.h:42
int begx
Definition pick.h:32
char parent_cmd[MAXLEN]
Definition pick.h:52
int y_offset
Definition pick.h:77
Chyron * chyron
Definition pick.h:91
int begy
Definition pick.h:31
int tbl_col
Definition pick.h:87
int tab_idx
Definition pick.h:81
bool f_receiver_cmd
Definition pick.h:65
char provider_cmd[MAXLEN]
Definition pick.h:49
char out_spec[MAXLEN]
Definition pick.h:47
int y
Definition pick.h:33
int bo_clr_idx
Definition view.h:45
char provider_cmd[MAXLEN]
Definition view.h:57
char in_spec[MAXLEN]
Definition view.h:136
char * lnbuf_curr_ptr
Definition view.h:166
char ln_bg_clr_x[COLOR_LEN]
Definition view.h:52
char fg_clr_x[COLOR_LEN]
Definition view.h:48
int cury
Definition view.h:117
int argc
Definition view.h:63
int optind
Definition view.h:65
char ** argv
Definition view.h:64
int smaxrow
Definition view.h:128
bool f_search_complete
Definition view.h:103
int next_cmd_char
Definition view.h:93
char * buf
Definition view.h:161
char * line_out_p
Definition view.h:114
int curx
Definition view.h:118
char * line_in_end_p
Definition view.h:116
int in_fd
Definition view.h:154
off_t srch_curr_pos
Definition view.h:150
bool f_in_spec
Definition view.h:139
WINDOW * pad
Definition view.h:82
off_t page_top_pos
Definition view.h:148
FILE * in_fp
Definition view.h:156
off_t file_pos
Definition view.h:146
off_t page_top_ln
Definition view.h:178
char prompt_str[MAXLEN]
Definition view.h:61
int smincol
Definition view.h:126
off_t prev_file_pos
Definition view.h:147
bool f_bod
Definition view.h:95
bool f_first_iter
Definition view.h:102
char line_in_s[PAD_COLS]
Definition view.h:110
int ln_clr_idx
Definition view.h:46
char help_spec[MAXLEN]
Definition view.h:138
bool f_redisplay_page
Definition view.h:100
char * file_spec_ptr
Definition view.h:142
char * next_file_spec_ptr
Definition view.h:143
int stdout_fd
Definition view.h:159
bool f_is_pipe
Definition view.h:98
bool f_ignore_case
Definition view.h:66
char * lnbuf
Definition view.h:165
PANEL * pad_view_pan
Definition view.h:84
PANEL * lnno_pan
Definition view.h:77
bool f_cmd_all
Definition view.h:108
bool f_help_spec
Definition view.h:141
char cmd[MAXLEN]
Definition view.h:59
off_t ln
Definition view.h:172
int first_match_x
Definition view.h:132
WINDOW * lnno_win
Definition view.h:76
bool f_in_pipe
Definition view.h:153
char receiver_cmd[MAXLEN]
Definition view.h:58
WINDOW * cmdln_win
Definition view.h:78
char * buf_curr_ptr
Definition view.h:162
int smaxcol
Definition view.h:130
off_t * ln_tbl
Definition view.h:174
int cols
Definition view.h:54
bool f_full_screen
Definition view.h:104
int ln_win_cols
Definition view.h:170
bool f_ln
Definition view.h:171
bool f_strip_ansi
Definition view.h:69
WINDOW * pad_container_win
Definition view.h:80
bool f_eod
Definition view.h:96
off_t mark_tbl[NMARKS]
Definition view.h:152
char ln_s[10]
Definition view.h:173
bool f_cmd
Definition view.h:107
int lines
Definition view.h:53
bool f_forward
Definition view.h:97
int fg_clr_idx
Definition view.h:43
int last_match_x
Definition view.h:134
WINDOW * win_win
Definition view.h:74
int pminrow
Definition view.h:122
off_t ln_max_pos
Definition view.h:177
char stripped_line_out[PAD_COLS]
Definition view.h:112
int ln_bg_clr_idx
Definition view.h:47
off_t srch_beg_pos
Definition view.h:151
off_t ln_tbl_cnt
Definition view.h:176
bool f_at_end_remove
Definition view.h:67
char * tmp_file_name_ptr
Definition view.h:144
int pmincol
Definition view.h:123
char bo_clr_x[COLOR_LEN]
Definition view.h:50
off_t file_size
Definition view.h:145
char bg_clr_x[COLOR_LEN]
Definition view.h:49
bool f_squeeze
Definition view.h:68
char tmp_prompt_str[MAXLEN]
Definition view.h:86
char cur_file_str[MAXLEN]
Definition view.h:109
char * buf_end_ptr
Definition view.h:163
char line_out_s[PAD_COLS]
Definition view.h:111
int sminrow
Definition view.h:124
cchar_t cmplx_buf[PAD_COLS]
Definition view.h:113
int bg_clr_idx
Definition view.h:44
FILE * stdin_fp
Definition view.h:158
int cmd_line
Definition view.h:120
PANEL * box_pan
Definition view.h:73
char out_spec[MAXLEN]
Definition view.h:137
bool f_timer
Definition view.h:105
int tab_stop
Definition view.h:91
off_t page_bot_ln
Definition view.h:179
char title[MAXLEN]
Definition view.h:62
char cmd_all[MAXLEN]
Definition view.h:60
off_t page_bot_pos
Definition view.h:149
bool f_displaying_help
Definition view.h:101
int begy
Definition view.h:55
int h_shift
Definition view.h:92
int maxcol
Definition view.h:121
int curr_argc
Definition view.h:88
int out_fd
Definition view.h:155
char * lnbuf_end_ptr
Definition view.h:167
FILE * stdout_fp
Definition view.h:160
char ln_clr_x[COLOR_LEN]
Definition view.h:51
PANEL * win_pan
Definition view.h:75
int scroll_lines
Definition view.h:119
PANEL * cmdln_pan
Definition view.h:79
int ln_win_lines
Definition view.h:169
bool f_out_spec
Definition view.h:140
PANEL * pad_container_pan
Definition view.h:81
char file_name[MAXLEN]
Definition view.h:99
int stdin_fd
Definition view.h:157
int begx
Definition view.h:56
WINDOW * pad_view_win
Definition view.h:83
off_t ln_tbl_size
Definition view.h:175
char * line_in_beg_p
Definition view.h:115
WINDOW * box_win
Definition view.h:72
bool f_multiple_cmd_args
Definition view.h:70
char cmd_arg[MAXLEN]
Definition view.h:90
size_t capacity
Definition view.h:185
size_t top
Definition view.h:186
View * items
Definition view.h:184
uint32_t rgba
Definition ui_backend.h:138
bool use_rgb
Definition ui_backend.h:141
uint8_t g
Definition ui_backend.h:134
uint8_t r
Definition ui_backend.h:135
uint8_t b
Definition ui_backend.h:133
uint32_t index
Definition ui_backend.h:142
uint8_t a
Definition ui_backend.h:132
UiColor bg
Definition ui_backend.h:147
uint32_t idx
Definition ui_backend.h:148
UiColor fg
Definition ui_backend.h:146
bool dim
Definition ui_backend.h:162
UiColor bg
Definition ui_backend.h:160
bool underline
Definition ui_backend.h:164
bool blink
Definition ui_backend.h:165
UiColor fg
Definition ui_backend.h:159
bool invis
Definition ui_backend.h:167
bool italic
Definition ui_backend.h:163
bool reverse
Definition ui_backend.h:166
bool bold
Definition ui_backend.h:161
uint32_t ch
Definition ui_backend.h:180
UiMouseAction mouse_action
Definition ui_backend.h:186
bool shift
Definition ui_backend.h:183
bool ctrl
Definition ui_backend.h:182
UiKey key
Definition ui_backend.h:179
bool alt
Definition ui_backend.h:181
int cols
Definition ui_backend.h:200
int rows
Definition ui_backend.h:199
bool cursor_visible
Definition ui_backend.h:214
bool enable_mouse
Definition ui_backend.h:212
bool enable_alt_screen
Definition ui_backend.h:213
Opaque structure representing the UI runtime environment.
Opaque structure representing a drawable surface in the UI.