1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <X11/Xlib.h> 5 #include <X11/keysym.h> 6 #include <X11/Xatom.h> 7 #include <X11/Xutil.h> 8 9 struct _win_st 10 { 11 int _cur_y, _cur_x; 12 int _car_y, _car_x; 13 int _num_y, _num_x; 14 int _cur_attr; 15 char *_text; 16 short *_attr; 17 }; 18 19 #define WINDOW struct _win_st 20 #define stdscr NULL 21 22 typedef unsigned chtype; 23 24 extern Display *Xdp; 25 extern Window Xw; 26 extern Window Xwc; 27 extern Window Xwp; 28 extern Window Xroot; 29 extern GC Xgc; 30 extern Visual *Xvi; 31 extern Screen *Xsc; 32 extern Colormap Xcmap; 33 extern int Xdscreen; 34 extern int Xdepth; 35 extern char *Xmessage; 36 extern char *Xdisplay; 37 extern char *Xgeometry; 38 extern char *Xfontname; 39 extern char *Xfontnamebold; 40 extern Atom wm_delete_window, wm_protocols; 41 42 extern int COLS; 43 extern int LINES; 44 45 extern void Open_XDisplay(); 46 47 extern void cbreak(void); 48 extern void nocbreak(void); 49 extern void echo(void); 50 extern void noecho(void); 51 extern void clear(void); 52 extern int standout(void); 53 extern int standend(void); 54 extern void endwin(void); 55 extern void refresh(int line1, int line2); 56 extern void xpopup(char *str); 57 extern void mvcur(int oldrow, int oldcol, int newrow, int newcol); 58 59 extern void delwin(WINDOW *win); 60 extern void waddch(WINDOW *win, const chtype ch); 61 extern void waddstr(WINDOW *win, char *str); 62 extern void wclear(WINDOW *win); 63 extern void wdeleteln(WINDOW *win); 64 extern void winsertln(WINDOW *win); 65 extern void wmove(WINDOW *win, int y, int x); 66 extern void wrefresh(WINDOW *win); 67 extern void xrefresh(WINDOW *win, int line1, int line2); 68 extern void touchwin(WINDOW *win); 69 extern void wtouchln(WINDOW *win, int y, int n, int changed); 70 extern void wstandout(WINDOW *win); 71 extern void wstandend(WINDOW *win); 72 73 extern WINDOW *newwin(int nlines, int ncols, int begin_y, int begin_x); 74 extern WINDOW *initscr(void); 75 extern void set_margins(int width, int height); 76 77 #define getyx(win,y,x) (y = (win)->_cur_y, x = (win)->_cur_x) 78 79 80