Introduction
Introduction Statistics Contact Development Disclaimer Help
tAdd MC sequence - st - [fork] customized build of st, the simple terminal
git clone git://src.adamsgaard.dk/st
Log
Files
Refs
README
LICENSE
---
commit 1f0d981bd7a1450ddfae3591c6e457253b3a6842
parent cdb3b1892af40110660da8c3f6fc06b1b054fd12
Author: Roberto E. Vargas Caballero <[email protected]>
Date: Fri, 31 Jan 2014 20:57:09 +0100
Add MC sequence
This sequence control when the printer is enabled or disabled. This
sequence control the behaviour of the -o option.
Diffstat:
M st.c | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
---
diff --git a/st.c b/st.c
t@@ -134,6 +134,7 @@ enum term_mode {
MODE_MOUSEX10 = 131072,
MODE_MOUSEMANY = 262144,
MODE_BRCKTPASTE = 524288,
+ MODE_PRINT = 1048576,
MODE_MOUSE = MODE_MOUSEBTN|MODE_MOUSEMOTION|MODE_MOUSEX10\
|MODE_MOUSEMANY,
};
t@@ -469,7 +470,7 @@ static STREscape strescseq;
static int cmdfd;
static pid_t pid;
static Selection sel;
-static int iofd = -1;
+static int iofd;
static char **opt_cmd = NULL;
static char *opt_io = NULL;
static char *opt_title = NULL;
t@@ -1256,6 +1257,7 @@ ttynew(void) {
cmdfd = m;
signal(SIGCHLD, sigchld);
if(opt_io) {
+ term.mode |= MODE_PRINT;
iofd = (!strcmp(opt_io, "-")) ?
STDOUT_FILENO :
open(opt_io, O_WRONLY | O_CREAT, 0666);
t@@ -1979,6 +1981,18 @@ csihandle(void) {
DEFAULT(csiescseq.arg[0], 1);
tmoveto(term.c.x, term.c.y+csiescseq.arg[0]);
break;
+ case 'i': /* MC -- Media Copy */
+ switch(csiescseq.arg[0]) {
+ case 0:
+ case 1:
+ case 4:
+ term.mode &= ~MODE_PRINT;
+ break;
+ case 5:
+ term.mode |= MODE_PRINT;
+ break;
+ }
+ break;
case 'c': /* DA -- Device Attributes */
if(csiescseq.arg[0] == 0)
ttywrite(VT102ID, sizeof(VT102ID) - 1);
t@@ -2332,7 +2346,7 @@ tputc(char *c, int len) {
width = wcwidth(u8char);
}
- if(iofd != -1) {
+ if(IS_SET(MODE_PRINT) && iofd != -1) {
if(xwrite(iofd, c, len) < 0) {
fprintf(stderr, "Error writing in %s:%s\n",
opt_io, strerror(errno));
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.