File: xio.h

package info (click to toggle)
xzip 1%3A1.8.2-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 908 kB
  • sloc: ansic: 17,579; makefile: 244; sh: 11
file content (240 lines) | stat: -rw-r--r-- 6,715 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
#ifndef TRUE
#define TRUE 1
#endif

#ifndef FALSE
#define FALSE 0
#endif

#include "version.h"

typedef struct preferences_t {
    int leading; /* leading width */
    int marginx, marginy; /* margin around text */
    char *font[NUMFONTS];
    unsigned long forecolor;
    unsigned long backcolor;
    unsigned long textcolor[NUMFONTS];
    unsigned long greycolor;
    int paging; /* flag: use "[MORE]" and pause while paging? */
    int inputattr; /* style for input (absolute, not additive) */
    int fulljustify; /* flag: full-justify text window? */
    int autoresize; /* flag: automatically resize status window? */
    int resizeupward; /* flag: resize status window upward rather than down? */
    int autoclear; /* flag: automatically clear anything below status line? */
    int historylength; /* lines in command history */
    long buffersize; /* how much stuff to save, minimum */
    long bufferslack; /* how much to save (over the minumum) before trimming */
    int winx, winy; /* geometry stuff */
    int winw, winh; /* geometry stuff */
    int statwinx, statwiny;
    int statwid, stathgt; /* in chars */
} preferences;

#ifdef __STDC__
typedef void (*cmdfunc_ptr)(int operand);
#else
typedef void (*cmdfunc_ptr)();
#endif

typedef struct cmdentry_t {
    cmdfunc_ptr func;
    int operand;
    int ignoremods;
    char *name;
} cmdentry;

extern int xioscn;
extern Display *xiodpy;
extern Window xiowin, xioswin;
extern int xiodepth;
extern int xiobackstore;
extern GC gcblack, gcwhite, gcgrey, gcflip; 
extern GC gcfont[NUMFONTS];
extern GC gcsblack, gcsflip; 
extern GC gcsfont[NUMFONTS], gcsnegfont[NUMFONTS];
extern XFontStruct *fontstr[NUMFONTS]; 
extern int spacewidth[NUMFONTS]; 
extern int lineheight, lineheightoff;
extern int curfont;
extern preferences prefs;

extern cmdentry *keycmds[];
extern char *keycmdargs[];

#define keytype_main (0)
#define keytype_meta (256)
#define keytype_sym  (512)
#define keytype_Mask (768)

#ifdef __STDC__

extern void xinit_openconnection();
extern void xio_pause();

extern void xtext_init();
extern void xtext_add(char ch, long pos);
extern void xtext_replace(long pos, long oldlen, char *buf, long newlen);
extern void xtext_setstyle(long pos, int font, int attr);
extern void xtext_layout();
extern void xtext_resize(int xpos, int ypos, int width, int height);
extern void xtext_redraw();
extern void xtext_hitdown(int xpos, int ypos, unsigned int button, unsigned int mods, int clicknum);
extern void xtext_hitmove(int xpos, int ypos, unsigned int button, unsigned int mods, int clicknum);
extern void xtext_hitup(int xpos, int ypos, unsigned int button, unsigned int mods, int clicknum);
extern void xtext_end_visible();
extern void xtext_set_lastseen();
extern void xtext_clear_window();
extern void xtext_line_timeout();

extern void xkey_init();
extern char *xkey_get_key_name(int key);
extern void xkey_parse_bindings(char *str);
extern cmdentry *xkey_find_cmd_by_name(char *str);

extern void xmess_init();
extern void xmess_resize(int xpos, int ypos, int width, int height);
extern void xmess_redraw();
extern void xmess_set_message(char *str, int sticky);
extern void xmess_check_timeout();

extern void xstat_init(int cols, int rows, int xpos, int ypos);
extern void xstat_redraw();
extern void xstat_layout();
extern void xstat_insert(int ch);
extern void xstat_setattr(int attr, int font);
extern void xstat_newline();
extern void xstat_getpos(int *row, int *col);
extern void xstat_setpos(int row, int col);
extern void xstat_set_window_size(int lines);
extern void xstat_clear_window();
extern void xstat_newgeometry(int newx, int newy, int newwid, int newhgt);
extern void xstat_set_dot_active(int visible);

#else

extern void xinit_openconnection();
extern void xio_pause();

extern void xtext_init();
extern void xtext_add();
extern void xtext_replace();
extern void xtext_setstyle();
extern void xtext_layout();
extern void xtext_resize();
extern void xtext_redraw();
extern void xtext_hitdown();
extern void xtext_hitmove();
extern void xtext_hitup();
extern void xtext_end_visible();
extern void xtext_set_lastseen();
extern void xtext_clear_window();
extern void xtext_line_timeout();

extern void xkey_init();
extern char *xkey_get_key_name();
extern void xkey_parse_bindings();
extern cmdentry *xkey_find_cmd_by_name();

extern void xmess_init();
extern void xmess_resize();
extern void xmess_redraw();
extern void xmess_set_message();
extern void xmess_check_timeout();

extern void xstat_init();
extern void xstat_redraw();
extern void xstat_layout();
extern void xstat_insert();
extern void xstat_setattr();
extern void xstat_newline();
extern void xstat_getpos();
extern void xstat_setpos();
extern void xstat_set_window_size();
extern void xstat_clear_window();
extern void xstat_newgeometry();
extern void xstat_set_dot_active();

#endif

/* for cutbuf */
#define op_Yank 1
#define op_Wipe 2
#define op_Copy 3
#define op_YankReplace 4
#define op_Kill 5
#define op_Untype 6

/* for movecursor and delete */
#define op_ForeChar 1
#define op_BackChar 2
#define op_ForeWord 3
#define op_BackWord 4
#define op_ForeLine 5
#define op_BackLine 6
#define op_BeginLine 7
#define op_EndLine 8

/* for scroll */
#define op_UpLine 1
#define op_DownLine 2
#define op_UpPage 3
#define op_DownPage 4
#define op_ToTop 5
#define op_ToBottom 6

#define op_Enter 1
/* for redraw */
#define op_TextWin 1
/* for meta */
#define op_Cancel 1
#define op_Escape 2
#define op_DefineMacro 3
#define op_ExplainKey 4
/* for redraw */
#define op_Screen 1
#define op_Status 2
#define op_AllWindows 3
/* for status window */
#define op_Shrink 1
#define op_Zoom 2
#define op_Clear 3

#ifdef __STDC__

extern void xted_init(int buflen, char *buffer, int *readpos, int *killflag,
  int firsttime);
extern void xted_insert(int ch);
extern void xted_delete(int op);
extern void xted_enter(int op);
extern void xted_scroll(int op);
extern void xted_movecursor(int op);
extern void xted_cutbuf(int op);
extern void xted_history(int op);
extern void xted_noop(int op);
extern void xtexted_redraw(int op);
extern void xtexted_meta(int op);
extern void xted_macro(int op);
extern void xted_define_macro(int keynum);
extern void xstat_reset_window_size(int op);
extern void xtexted_modify(int keynum, int op);

#else

extern void xted_init();
extern void xted_insert();
extern void xted_delete();
extern void xted_enter();
extern void xted_scroll();
extern void xted_movecursor();
extern void xted_cutbuf();
extern void xted_history();
extern void xted_noop();
extern void xtexted_redraw();
extern void xtexted_meta();
extern void xted_macro();
extern void xted_define_macro();
extern void xstat_reset_window_size();
extern void xtexted_modify();

#endif