summaryrefslogtreecommitdiff
path: root/display.h
diff options
context:
space:
mode:
Diffstat (limited to 'display.h')
-rw-r--r--display.h46
1 files changed, 32 insertions, 14 deletions
diff --git a/display.h b/display.h
index d1b7fb4..ef99954 100644
--- a/display.h
+++ b/display.h
@@ -23,15 +23,6 @@
*/
#ifdef MAPKEYS
-struct kmap
-{
- char seq[8];
- char off[8];
- int nr;
-};
-
-#define KMAP_SEQ ((int)((struct kmap *)0)->seq)
-#define KMAP_OFF ((int)((struct kmap *)0)->off)
#define KMAP_KEYS (T_OCAPS-T_CAPS)
#define KMAP_AKEYS (T_OCAPS-T_CURSOR)
@@ -39,6 +30,15 @@ struct kmap
#define KMAP_NOTIMEOUT 0x4000
+struct kmap_ext
+{
+ char *str;
+ int fl;
+ struct action um;
+ struct action dm;
+ struct action mm;
+};
+
#endif
struct win; /* forward declaration */
@@ -83,8 +83,8 @@ struct display
int d_vpxmin, d_vpxmax; /* min/max used position on display */
struct win *d_fore; /* pointer to fore window */
struct win *d_other; /* pointer to other window */
- char d_nonblock; /* 1: don't block if obufmax reached */
- /* 2: obufmax is reached, discard */
+ int d_nonblock; /* -1 don't block if obufmax reached */
+ /* >0: block after nonblock secs */
char d_termname[20 + 1]; /* $TERM */
char *d_tentry; /* buffer for tgetstr */
char d_tcinited; /* termcap inited flag */
@@ -116,7 +116,7 @@ struct display
int d_xtermosc[4]; /* osc used */
#endif
struct mchar d_lpchar; /* missing char */
- time_t d_status_time; /* time of status display */
+ struct timeval d_status_time; /* time of status display */
int d_status; /* is status displayed? */
char d_status_bell; /* is it only a vbell? */
int d_status_len; /* length of status line */
@@ -135,6 +135,7 @@ struct display
int d_userfd; /* fd of the tty */
struct event d_readev; /* userfd read event */
struct event d_writeev; /* userfd write event */
+ struct event d_blockedev; /* blocked timeout */
struct mode d_OldMode; /* tty mode when screen was started */
struct mode d_NewMode; /* New tty mode */
int d_flow; /* tty's flow control on/off flag*/
@@ -150,12 +151,14 @@ struct display
#endif
#ifdef MAPKEYS
int d_nseqs; /* number of valid mappings */
- char *d_seqp; /* pointer into keymap array */
+ int d_aseqs; /* number of allocated mappings */
+ unsigned char *d_kmaps; /* keymaps */
+ unsigned char *d_seqp; /* pointer into keymap array */
int d_seql; /* number of parsed chars */
+ unsigned char *d_seqh; /* last hit */
struct event d_mapev; /* timeout event */
int d_dontmap; /* do not map next */
int d_mapdefault; /* do map next to default */
- struct kmap d_kmaps[KMAP_KEYS+KMAP_EXT]; /* keymaps */
#endif
union tcu d_tcs[T_N]; /* terminal capabilities */
char *d_attrtab[NATTR]; /* attrib emulation table */
@@ -177,6 +180,13 @@ struct display
char d_loginhost[100+1];
# endif /* _SEQUENT_ */
#endif
+ int d_blocked;
+ int d_blocked_fuzz;
+ struct event d_idleev; /* screen blanker */
+#ifdef BLANKER_PRG
+ int d_blankerpid;
+ struct event d_blankerev;
+#endif
};
#ifdef MULTI
@@ -255,8 +265,10 @@ extern struct display TheDisplay;
#define D_obuffree DISPLAY(d_obuffree)
#define D_auto_nuke DISPLAY(d_auto_nuke)
#define D_nseqs DISPLAY(d_nseqs)
+#define D_aseqs DISPLAY(d_aseqs)
#define D_seqp DISPLAY(d_seqp)
#define D_seql DISPLAY(d_seql)
+#define D_seqh DISPLAY(d_seqh)
#define D_dontmap DISPLAY(d_dontmap)
#define D_mapdefault DISPLAY(d_mapdefault)
#define D_kmaps DISPLAY(d_kmaps)
@@ -282,7 +294,13 @@ extern struct display TheDisplay;
#define D_loginhost DISPLAY(d_loginhost)
#define D_readev DISPLAY(d_readev)
#define D_writeev DISPLAY(d_writeev)
+#define D_blockedev DISPLAY(d_blockedev)
#define D_mapev DISPLAY(d_mapev)
+#define D_blocked DISPLAY(d_blocked)
+#define D_blocked_fuzz DISPLAY(d_blocked_fuzz)
+#define D_idleev DISPLAY(d_idleev)
+#define D_blankerev DISPLAY(d_blankerev)
+#define D_blankerpid DISPLAY(d_blankerpid)
#define GRAIN 4096 /* Allocation grain size for output buffer */