📄 screen.cc
字号:
/* Handles screen manipulations for screen width and inverse mode. */#include "screen.h"#ifndef hpuxextern "C" int tgetent(void *, const char *);extern "C" int tgetnum(const char*);extern "C" char *tgetstr(const char *, char**);typedef int (*int_func)(int);extern "C" void tputs(char *, int, int_func);#endif/* Initializes the current screen width via the terminal independent operation routines. */char Screen_Handler::term_entry[1024]; char Screen_Handler::temp_buf[100];int Screen_Handler::width; char * Screen_Handler::current_ptr;char * Screen_Handler::inverse_start;char * Screen_Handler::inverse_end;Screen_Handler::Screen_Handler (void){ if (tgetent (term_entry, getenv ("TERM")) != 1) { perror ("main"); exit (1); } else { width = tgetnum ("co") - 1; current_ptr = temp_buf; inverse_start = tgetstr("so", ¤t_ptr); inverse_end = tgetstr("se", ¤t_ptr); }}static int fputchar (int i){ return putchar (i);}/* Prints out leading blanks so as to center buf assuming a screen width of width. */void Screen_Handler::center (char *buf){ int offset; int len = strlen (buf); offset = width - len >> 1; for (int i = 0; i < offset; i++) putchar (' ');}/* Centers, ``inverse-videos'' and prints buf. */void Screen_Handler::print_inverse_centered (char *buf){ putchar ('\n'); center (buf); tputs (inverse_start, 1, fputchar); printf ("%s\n\n", buf); tputs (inverse_end, 1, fputchar);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -