diff options
Diffstat (limited to 'st.c')
| -rw-r--r-- | st.c | 8 | 
1 files changed, 8 insertions, 0 deletions
@@ -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. */  | 
