iterm.h - iomenu - interactive terminal-based selection menu Err bitreich.org 70 hgit clone git://bitreich.org/iomenu git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/iomenu URL:git://bitreich.org/iomenu git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/iomenu bitreich.org 70 1Log /scm/iomenu/log.gph bitreich.org 70 1Files /scm/iomenu/files.gph bitreich.org 70 1Refs /scm/iomenu/refs.gph bitreich.org 70 1Tags /scm/iomenu/tag bitreich.org 70 1README /scm/iomenu/file/README.gph bitreich.org 70 1LICENSE /scm/iomenu/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 iterm.h (949B) Err bitreich.org 70 i--- Err bitreich.org 70 i 1 #ifndef TERM_H Err bitreich.org 70 i 2 #define TERM_H Err bitreich.org 70 i 3 Err bitreich.org 70 i 4 #include Err bitreich.org 70 i 5 #include Err bitreich.org 70 i 6 #include Err bitreich.org 70 i 7 #include Err bitreich.org 70 i 8 #include Err bitreich.org 70 i 9 Err bitreich.org 70 i 10 #define TERM_KEY_CTRL(c) ((c) & ~0x40) Err bitreich.org 70 i 11 #define TERM_KEY_ALT(c) (0x100 + (c)) Err bitreich.org 70 i 12 #define TERM_KEY_CSI(c, i) (0x100 + (c) * 0x100 + (i)) Err bitreich.org 70 i 13 Err bitreich.org 70 i 14 enum term_key { Err bitreich.org 70 i 15 TERM_KEY_ESC = 0x1b, Err bitreich.org 70 i 16 TERM_KEY_DELETE = 127, Err bitreich.org 70 i 17 TERM_KEY_BACKSPACE = TERM_KEY_CTRL('H'), Err bitreich.org 70 i 18 TERM_KEY_TAB = TERM_KEY_CTRL('I'), Err bitreich.org 70 i 19 TERM_KEY_ENTER = TERM_KEY_CTRL('J'), Err bitreich.org 70 i 20 TERM_KEY_ARROW_UP = TERM_KEY_CSI('A', 0), Err bitreich.org 70 i 21 TERM_KEY_ARROW_DOWN = TERM_KEY_CSI('B', 0), Err bitreich.org 70 i 22 TERM_KEY_PAGE_UP = TERM_KEY_CSI('~', 5), Err bitreich.org 70 i 23 TERM_KEY_PAGE_DOWN = TERM_KEY_CSI('~', 6), Err bitreich.org 70 i 24 }; Err bitreich.org 70 i 25 Err bitreich.org 70 i 26 struct term { Err bitreich.org 70 i 27 struct winsize winsize; Err bitreich.org 70 i 28 struct termios termios; Err bitreich.org 70 i 29 }; Err bitreich.org 70 i 30 Err bitreich.org 70 i 31 extern struct term term; Err bitreich.org 70 i 32 Err bitreich.org 70 i 33 int term_width_at_pos(uint32_t codepoint, int pos); Err bitreich.org 70 i 34 int term_at_width(char const *s, int width, int pos); Err bitreich.org 70 i 35 int term_raw_on(int fd); Err bitreich.org 70 i 36 int term_raw_off(int fd); Err bitreich.org 70 i 37 int term_get_key(FILE *fp); Err bitreich.org 70 i 38 Err bitreich.org 70 i 39 #endif Err bitreich.org 70 .