Wez Furlong's patch to add xterm mouse reporting and proper mouse
[u/mdw/putty] / putty.h
diff --git a/putty.h b/putty.h
index 755704c..0bca719 100644 (file)
--- a/putty.h
+++ b/putty.h
@@ -72,6 +72,9 @@ GLOBAL int outbuf_head, outbuf_reap;
 
 GLOBAL int has_focus;
 
+GLOBAL int in_vbell;
+GLOBAL long vbell_timeout;
+
 GLOBAL int app_cursor_keys, app_keypad_keys, vt52_mode;
 GLOBAL int repeat_off, cr_lf_return;
 
@@ -80,6 +83,9 @@ GLOBAL int seen_disp_event;
 
 GLOBAL int session_closed;
 
+#define LGXF_OVR  1 /* existing logfile overwrite */
+#define LGXF_APN  0 /* existing logfile append */
+#define LGXF_ASK -1 /* existing logfile ask */
 #define LGTYP_NONE  0  /* logmode: no logging */
 #define LGTYP_ASCII 1  /* logmode: pure ascii */
 #define LGTYP_DEBUG 2  /* logmode: all chars of taffic */
@@ -105,7 +111,10 @@ typedef enum {
 } Telnet_Special;
 
 typedef enum {
-    MB_NOTHING, MB_SELECT, MB_EXTEND, MB_PASTE
+    MBT_NOTHING,
+    MBT_LEFT, MBT_MIDDLE, MBT_RIGHT,   /* `raw' button designations */
+    MBT_SELECT, MBT_EXTEND, MBT_PASTE, /* `cooked' button designations */
+    MBT_WHEEL_UP, MBT_WHEEL_DOWN       /* mouse wheel */
 } Mouse_Button;
 
 typedef enum {
@@ -205,6 +214,7 @@ typedef struct {
     int scroll_on_key;
     int scroll_on_disp;
     int compose_key;
+    int ctrlaltkeys;
     char wintitle[256];                /* initial window title */
     /* Terminal options */
     int savelines;
@@ -213,7 +223,14 @@ typedef struct {
     int lfhascr;
     int cursor_type;                  /* 0=block 1=underline 2=vertical */
     int blink_cur;
-    int beep;
+    enum {
+       BELL_DISABLED, BELL_DEFAULT, BELL_VISUAL, BELL_WAVEFILE
+    } beep;
+    int bellovl;                      /* bell overload protection active? */
+    int bellovl_n;                    /* number of bells to cause overload */
+    int bellovl_t;                    /* time interval for overload (seconds) */
+    int bellovl_s;                    /* period of silence to re-enable bell (s) */
+    char bell_wavefile[FILENAME_MAX];
     int scrollbar;
     int locksize;
     int bce;
@@ -226,7 +243,10 @@ typedef struct {
     int fontcharset;
     char logfilename[FILENAME_MAX];
     int logtype;
+    int logxfovr;
     int hide_mouseptr;
+    int sunken_edge;
+    char answerback[256];
     /* Colour options */
     int try_palette;
     int bold_colour;
@@ -297,6 +317,8 @@ void palette_reset (void);
 void write_clip (void *, int, int);
 void get_clip (void **, int *);
 void optimised_move (int, int, int);
+void set_raw_mouse_mode(int);
+Mouse_Button translate_button(Mouse_Button b);
 void connection_fatal(char *, ...);
 void fatalbox (char *, ...);
 void beep (int);
@@ -351,7 +373,7 @@ void term_paint (Context, int, int, int, int);
 void term_scroll (int, int);
 void term_pwron (void);
 void term_clrsb (void);
-void term_mouse (Mouse_Button, Mouse_Action, int, int);
+void term_mouse (Mouse_Button, Mouse_Action, int, int, int, int);
 void term_deselect (void);
 void term_update (void);
 void term_invalidate(void);
@@ -409,7 +431,7 @@ void random_get_savedata(void **data, int *len);
  * Exports from misc.c.
  */
 
-#include "puttymem.h"
+#include "misc.h"
 
 /*
  * Exports from version.c.
@@ -443,11 +465,5 @@ void crypto_wrapup();
 void agent_query(void *in, int inlen, void **out, int *outlen);
 int agent_exists(void);
 
-#ifdef DEBUG
-void dprintf(char *fmt, ...);
-#define debug(x) (dprintf x)
-#else
-#define debug(x)
-#endif
 
 #endif