|
@@ -132,6 +132,7 @@ enum term_mode {
|
|
|
MODE_FOCUS = 65536,
|
|
|
MODE_MOUSEX10 = 131072,
|
|
|
MODE_MOUSEMANY = 262144,
|
|
|
+ MODE_BRCKTPASTE = 524288,
|
|
|
MODE_MOUSE = MODE_MOUSEBTN|MODE_MOUSEMOTION|MODE_MOUSEX10\
|
|
|
|MODE_MOUSEMANY,
|
|
|
};
|
|
@@ -1013,7 +1014,11 @@ selnotify(XEvent *e) {
|
|
|
*repl++ = '\r';
|
|
|
}
|
|
|
|
|
|
+ if(IS_SET(MODE_BRCKTPASTE))
|
|
|
+ ttywrite("\033[200~", 6);
|
|
|
ttywrite((const char *)data, nitems * format / 8);
|
|
|
+ if(IS_SET(MODE_BRCKTPASTE))
|
|
|
+ ttywrite("\033[201~", 6);
|
|
|
XFree(data);
|
|
|
/* number of 32-bit chunks returned */
|
|
|
ofs += nitems * format / 32;
|
|
@@ -1868,6 +1873,9 @@ tsetmode(bool priv, bool set, int *args, int narg) {
|
|
|
case 1048:
|
|
|
tcursor((set) ? CURSOR_SAVE : CURSOR_LOAD);
|
|
|
break;
|
|
|
+ case 2004: /* 2004: bracketed paste mode */
|
|
|
+ MODBIT(term.mode, set, MODE_BRCKTPASTE);
|
|
|
+ break;
|
|
|
/* Not implemented mouse modes. See comments there. */
|
|
|
case 1001: /* mouse highlight mode; can hang the
|
|
|
terminal by design when implemented. */
|