1 #ifndef TRUE 2 #define TRUE 1 3 #endif 4 5 #ifndef FALSE 6 #define FALSE 0 7 #endif 8 9 #include "version.h" 10 11 typedef struct preferences_t { 12 int leading; /* leading width */ 13 int marginx, marginy; /* margin around text */ 14 char *font[NUMFONTS]; 15 unsigned long forecolor; 16 unsigned long backcolor; 17 unsigned long textcolor[NUMFONTS]; 18 unsigned long greycolor; 19 int paging; /* flag: use "[MORE]" and pause while paging? */ 20 int inputattr; /* style for input (absolute, not additive) */ 21 int fulljustify; /* flag: full-justify text window? */ 22 int autoresize; /* flag: automatically resize status window? */ 23 int resizeupward; /* flag: resize status window upward rather than down? */ 24 int autoclear; /* flag: automatically clear anything below status line? */ 25 int historylength; /* lines in command history */ 26 long buffersize; /* how much stuff to save, minimum */ 27 long bufferslack; /* how much to save (over the minumum) before trimming */ 28 int winx, winy; /* geometry stuff */ 29 int winw, winh; /* geometry stuff */ 30 int statwinx, statwiny; 31 int statwid, stathgt; /* in chars */ 32 } preferences; 33 34 #ifdef __STDC__ 35 typedef void (*cmdfunc_ptr)(int operand); 36 #else 37 typedef void (*cmdfunc_ptr)(); 38 #endif 39 40 typedef struct cmdentry_t { 41 cmdfunc_ptr func; 42 int operand; 43 int ignoremods; 44 char *name; 45 } cmdentry; 46 47 extern int xioscn; 48 extern Display *xiodpy; 49 extern Window xiowin, xioswin; 50 extern int xiodepth; 51 extern int xiobackstore; 52 extern GC gcblack, gcwhite, gcgrey, gcflip; 53 extern GC gcfont[NUMFONTS]; 54 extern GC gcsblack, gcsflip; 55 extern GC gcsfont[NUMFONTS], gcsnegfont[NUMFONTS]; 56 extern XFontStruct *fontstr[NUMFONTS]; 57 extern int spacewidth[NUMFONTS]; 58 extern int lineheight, lineheightoff; 59 extern preferences prefs; 60 61 extern cmdentry *keycmds[]; 62 extern char *keycmdargs[]; 63 64 #define keytype_main (0) 65 #define keytype_meta (256) 66 #define keytype_sym (512) 67 #define keytype_Mask (768) 68 69 #ifdef __STDC__ 70 71 extern void xinit_openconnection(); 72 extern void xio_pause(); 73 74 extern void xtext_init(); 75 extern void xtext_add(char ch, long pos); 76 extern void xtext_replace(long pos, long oldlen, char *buf, long newlen); 77 extern void xtext_setstyle(long pos, int attr); 78 extern void xtext_layout(); 79 extern void xtext_resize(int xpos, int ypos, int width, int height); 80 extern void xtext_redraw(); 81 extern void xtext_hitdown(int xpos, int ypos, unsigned int button, unsigned int mods, int clicknum); 82 extern void xtext_hitmove(int xpos, int ypos, unsigned int button, unsigned int mods, int clicknum); 83 extern void xtext_hitup(int xpos, int ypos, unsigned int button, unsigned int mods, int clicknum); 84 extern void xtext_end_visible(); 85 extern void xtext_set_lastseen(); 86 extern void xtext_clear_window(); 87 extern void xtext_line_timeout(); 88 89 extern void xkey_init(); 90 extern char *xkey_get_key_name(int key); 91 extern void xkey_parse_bindings(char *str); 92 extern cmdentry *xkey_find_cmd_by_name(char *str); 93 94 extern void xmess_init(); 95 extern void xmess_resize(int xpos, int ypos, int width, int height); 96 extern void xmess_redraw(); 97 extern void xmess_set_message(char *str, int sticky); 98 extern void xmess_check_timeout(); 99 100 extern void xstat_init(int cols, int rows, int xpos, int ypos); 101 extern void xstat_redraw(); 102 extern void xstat_layout(); 103 extern void xstat_insert(int ch); 104 extern void xstat_setattr(int attr); 105 extern void xstat_newline(); 106 extern void xstat_getpos(int *row, int *col); 107 extern void xstat_setpos(int row, int col); 108 extern void xstat_set_window_size(int lines); 109 extern void xstat_clear_window(); 110 extern void xstat_newgeometry(int newx, int newy, int newwid, int newhgt); 111 extern void xstat_set_dot_active(int visible); 112 113 #else 114 115 extern void xinit_openconnection(); 116 extern void xio_pause(); 117 118 extern void xtext_init(); 119 extern void xtext_add(); 120 extern void xtext_replace(); 121 extern void xtext_setstyle(); 122 extern void xtext_layout(); 123 extern void xtext_resize(); 124 extern void xtext_redraw(); 125 extern void xtext_hitdown(); 126 extern void xtext_hitmove(); 127 extern void xtext_hitup(); 128 extern void xtext_end_visible(); 129 extern void xtext_set_lastseen(); 130 extern void xtext_clear_window(); 131 extern void xtext_line_timeout(); 132 133 extern void xkey_init(); 134 extern char *xkey_get_key_name(); 135 extern void xkey_parse_bindings(); 136 extern cmdentry *xkey_find_cmd_by_name(); 137 138 extern void xmess_init(); 139 extern void xmess_resize(); 140 extern void xmess_redraw(); 141 extern void xmess_set_message(); 142 extern void xmess_check_timeout(); 143 144 extern void xstat_init(); 145 extern void xstat_redraw(); 146 extern void xstat_layout(); 147 extern void xstat_insert(); 148 extern void xstat_setattr(); 149 extern void xstat_newline(); 150 extern void xstat_getpos(); 151 extern void xstat_setpos(); 152 extern void xstat_set_window_size(); 153 extern void xstat_clear_window(); 154 extern void xstat_newgeometry(); 155 extern void xstat_set_dot_active(); 156 157 #endif 158 159 /* for cutbuf */ 160 #define op_Yank 1 161 #define op_Wipe 2 162 #define op_Copy 3 163 #define op_YankReplace 4 164 #define op_Kill 5 165 #define op_Untype 6 166 167 /* for movecursor and delete */ 168 #define op_ForeChar 1 169 #define op_BackChar 2 170 #define op_ForeWord 3 171 #define op_BackWord 4 172 #define op_ForeLine 5 173 #define op_BackLine 6 174 #define op_BeginLine 7 175 #define op_EndLine 8 176 177 /* for scroll */ 178 #define op_UpLine 1 179 #define op_DownLine 2 180 #define op_UpPage 3 181 #define op_DownPage 4 182 #define op_ToTop 5 183 #define op_ToBottom 6 184 185 #define op_Enter 1 186 /* for redraw */ 187 #define op_TextWin 1 188 /* for meta */ 189 #define op_Cancel 1 190 #define op_Escape 2 191 #define op_DefineMacro 3 192 #define op_ExplainKey 4 193 /* for redraw */ 194 #define op_Screen 1 195 #define op_Status 2 196 #define op_AllWindows 3 197 /* for status window */ 198 #define op_Shrink 1 199 #define op_Zoom 2 200 #define op_Clear 3 201 202 #ifdef __STDC__ 203 204 extern void xted_init(int buflen, char *buffer, int *readpos, int *killflag, 205 int firsttime); 206 extern void xted_insert(int ch); 207 extern void xted_delete(int op); 208 extern void xted_enter(int op); 209 extern void xted_scroll(int op); 210 extern void xted_movecursor(int op); 211 extern void xted_cutbuf(int op); 212 extern void xted_history(int op); 213 extern void xted_noop(int op); 214 extern void xtexted_redraw(int op); 215 extern void xtexted_meta(int op); 216 extern void xted_macro(int op); 217 extern void xted_define_macro(int keynum); 218 extern void xstat_reset_window_size(int op); 219 extern void xtexted_modify(int keynum, int op); 220 221 #else 222 223 extern void xted_init(); 224 extern void xted_insert(); 225 extern void xted_delete(); 226 extern void xted_enter(); 227 extern void xted_scroll(); 228 extern void xted_movecursor(); 229 extern void xted_cutbuf(); 230 extern void xted_history(); 231 extern void xted_noop(); 232 extern void xtexted_redraw(); 233 extern void xtexted_meta(); 234 extern void xted_macro(); 235 extern void xted_define_macro(); 236 extern void xstat_reset_window_size(); 237 extern void xtexted_modify(); 238 239 #endif 240