summaryrefslogtreecommitdiff
path: root/app/xterm/ptyx.h
diff options
context:
space:
mode:
Diffstat (limited to 'app/xterm/ptyx.h')
-rw-r--r--app/xterm/ptyx.h132
1 files changed, 126 insertions, 6 deletions
diff --git a/app/xterm/ptyx.h b/app/xterm/ptyx.h
index 440a9f5d2..2a6e4e7f1 100644
--- a/app/xterm/ptyx.h
+++ b/app/xterm/ptyx.h
@@ -1,4 +1,4 @@
-/* $XTermId: ptyx.h,v 1.767 2013/05/27 22:21:32 tom Exp $ */
+/* $XTermId: ptyx.h,v 1.776 2013/06/23 22:00:58 tom Exp $ */
/*
* Copyright 1999-2012,2013 by Thomas E. Dickey
@@ -517,6 +517,10 @@ typedef struct {
#define OPT_DEC_RECTOPS 0 /* true if xterm is configured for VT420 rectangles */
#endif
+#ifndef OPT_SIXEL_GRAPHICS
+#define OPT_SIXEL_GRAPHICS 0 /* true if xterm supports VT220-style sixel graphics */
+#endif
+
#ifndef OPT_DEC_SOFTFONT
#define OPT_DEC_SOFTFONT 0 /* true if xterm is configured for VT220 softfonts */
#endif
@@ -891,6 +895,112 @@ typedef enum {
#define IsTitleMode(xw,mode) (((xw)->screen.title_modes & mode) != 0)
+#include <xcharmouse.h>
+
+/*
+ * Use this enumerated type to check consistency among dpmodes(), savemodes()
+ * restoremodes() and do_decrpm().
+ */
+typedef enum {
+ srm_DECCKM = 1
+ ,srm_DECANM = 2
+ ,srm_DECCOLM = 3
+ ,srm_DECSCLM = 4
+ ,srm_DECSCNM = 5
+ ,srm_DECOM = 6
+ ,srm_DECAWM = 7
+ ,srm_DECARM = 8
+ ,srm_X10_MOUSE = SET_X10_MOUSE
+#if OPT_TOOLBAR
+ ,srm_RXVT_TOOLBAR = 10
+#endif
+#if OPT_BLINK_CURS
+ ,srm_ATT610_BLINK = 12
+#endif
+ ,srm_DECPFF = 18
+ ,srm_DECPEX = 19
+ ,srm_DECTCEM = 25
+ ,srm_RXVT_SCROLLBAR = 30
+#if OPT_SHIFT_FONTS
+ ,srm_RXVT_FONTSIZE = 35
+#endif
+#if OPT_TEK4014
+ ,srm_DECTEK = 38
+#endif
+ ,srm_132COLS = 40
+ ,srm_CURSES_HACK = 41
+ ,srm_DECNRCM = 42
+ ,srm_MARGIN_BELL = 44
+ ,srm_REVERSEWRAP = 45
+#ifdef ALLOWLOGGING
+ ,srm_ALLOWLOGGING = 46
+#endif
+ ,srm_OPT_ALTBUF_CURSOR = 1049
+ ,srm_OPT_ALTBUF = 1047
+ ,srm_ALTBUF = 47
+ ,srm_DECNKM = 66
+ ,srm_DECBKM = 67
+ ,srm_DECLRMM = 69
+#if OPT_SIXEL_GRAPHICS
+ ,srm_DECSDM = 80 /* Sixel Display Mode */
+#endif
+ ,srm_DECNCSM = 95
+ ,srm_VT200_MOUSE = SET_VT200_MOUSE
+ ,srm_VT200_HIGHLIGHT_MOUSE = SET_VT200_HIGHLIGHT_MOUSE
+ ,srm_BTN_EVENT_MOUSE = SET_BTN_EVENT_MOUSE
+ ,srm_ANY_EVENT_MOUSE = SET_ANY_EVENT_MOUSE
+#if OPT_FOCUS_EVENT
+ ,srm_FOCUS_EVENT_MOUSE = SET_FOCUS_EVENT_MOUSE
+#endif
+ ,srm_EXT_MODE_MOUSE = SET_EXT_MODE_MOUSE
+ ,srm_SGR_EXT_MODE_MOUSE = SET_SGR_EXT_MODE_MOUSE
+ ,srm_URXVT_EXT_MODE_MOUSE = SET_URXVT_EXT_MODE_MOUSE
+ ,srm_ALTERNATE_SCROLL = SET_ALTERNATE_SCROLL
+ ,srm_RXVT_SCROLL_TTY_OUTPUT = 1010
+ ,srm_RXVT_SCROLL_TTY_KEYPRESS = 1011
+ ,srm_EIGHT_BIT_META = 1034
+#if OPT_NUM_LOCK
+ ,srm_REAL_NUMLOCK = 1035
+ ,srm_META_SENDS_ESC = 1036
+#endif
+ ,srm_DELETE_IS_DEL = 1037
+#if OPT_NUM_LOCK
+ ,srm_ALT_SENDS_ESC = 1039
+#endif
+ ,srm_KEEP_SELECTION = 1040
+ ,srm_SELECT_TO_CLIPBOARD = 1041
+ ,srm_BELL_IS_URGENT = 1042
+ ,srm_POP_ON_BELL = 1043
+ ,srm_TITE_INHIBIT = 1048
+#if OPT_TCAP_FKEYS
+ ,srm_TCAP_FKEYS = 1050
+#endif
+#if OPT_SUN_FUNC_KEYS
+ ,srm_SUN_FKEYS = 1051
+#endif
+#if OPT_HP_FUNC_KEYS
+ ,srm_HP_FKEYS = 1052
+#endif
+#if OPT_SCO_FUNC_KEYS
+ ,srm_SCO_FKEYS = 1053
+#endif
+ ,srm_LEGACY_FKEYS = 1060
+#if OPT_SUNPC_KBD
+ ,srm_VT220_FKEYS = 1061
+#endif
+#if OPT_SIXEL_GRAPHICS
+ ,srm_PRIVATE_COLOR_REGISTERS = 1070
+#endif
+#if OPT_READLINE
+ ,srm_BUTTON1_MOVE_POINT = SET_BUTTON1_MOVE_POINT
+ ,srm_BUTTON2_MOVE_POINT = SET_BUTTON2_MOVE_POINT
+ ,srm_DBUTTON3_DELETE = SET_DBUTTON3_DELETE
+ ,srm_PASTE_IN_BRACKET = SET_PASTE_IN_BRACKET
+ ,srm_PASTE_QUOTE = SET_PASTE_QUOTE
+ ,srm_PASTE_LITERAL_NL = SET_PASTE_LITERAL_NL
+#endif /* OPT_READLINE */
+} DECSET_codes;
+
/* indices for mapping multiple clicks to selection types */
typedef enum {
Select_CHAR=0
@@ -1458,12 +1568,16 @@ typedef enum {
#if OPT_SHIFT_FONTS
DP_RXVT_FONTSIZE,
#endif
+#if OPT_SIXEL_GRAPHICS
+ DP_DECSDM,
+#endif
#if OPT_TEK4014
DP_DECTEK,
#endif
#if OPT_TOOLBAR
DP_TOOLBAR,
#endif
+ DP_X_PRIVATE_COLOR_REGISTERS,
DP_LAST
} SaveModes;
@@ -1955,7 +2069,7 @@ typedef struct {
int scrolls; /* outstanding scroll count,
used only with multiscroll */
SavedCursor sc[SAVED_CURSORS]; /* data for restore cursor */
- unsigned save_modes[DP_LAST]; /* save dec/xterm private modes */
+ unsigned int save_modes[DP_LAST]; /* save dec/xterm private modes */
int title_modes; /* control set/get of titles */
SaveTitle *save_title;
@@ -1995,6 +2109,11 @@ typedef struct {
Boolean scroll_dirty; /* scrolling makes screen dirty */
#endif
+#if OPT_SIXEL_GRAPHICS
+ Boolean sixel_scrolling; /* sixel scrolling */
+ Boolean privatecolorregisters; /* private color registers for each graphic */
+#endif
+
#if OPT_VT52_MODE
Char vt52_save_curgl;
Char vt52_save_curgr;
@@ -2452,11 +2571,12 @@ extern WidgetClass tekWidgetClass;
#endif
/* define masks for keyboard.flags */
-#define MODE_KAM xBIT(0) /* keyboard action mode */
+#define MODE_KAM xBIT(0) /* mode 2: keyboard action mode */
#define MODE_DECKPAM xBIT(1) /* keypad application mode */
-#define MODE_DECCKM xBIT(2) /* cursor keys */
-#define MODE_SRM xBIT(3) /* send-receive mode */
-#define MODE_DECBKM xBIT(4) /* backarrow */
+#define MODE_DECCKM xBIT(2) /* private mode 1: cursor keys */
+#define MODE_SRM xBIT(3) /* mode 12: send-receive mode */
+#define MODE_DECBKM xBIT(4) /* private mode 67: backarrow */
+#define MODE_DECSDM xBIT(5) /* private mode 80: sixel scrolling mode */
#define N_MARGINBELL 10