X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=st.c;h=2ad13efe391fb5412fab63262effa0fbf9559001;hb=5d39afc9023bc9a692ba6faf590abf9397a890ae;hp=265467665fb058e4c3396264fb16e849f4ec788b;hpb=9888c5064badc60cd5e894f60451c2be762a481c;p=st.git diff --git a/st.c b/st.c index 2654676..2ad13ef 100644 --- a/st.c +++ b/st.c @@ -673,6 +673,10 @@ bpress(XEvent *e) { sel.mode = 1; sel.ex = sel.bx = x2col(e->xbutton.x); sel.ey = sel.by = y2row(e->xbutton.y); + } else if(e->xbutton.button == Button4) { + ttywrite("\031", 1); + } else if(e->xbutton.button == Button5) { + ttywrite("\005", 1); } } @@ -1834,8 +1838,8 @@ tputc(char *c, int len) { } } /* - * STR sequences must be checked before of anything - * because it can use some control codes as part of the sequence + * STR sequences must be checked before anything else + * because it can use some control codes as part of the sequence. */ if(term.esc & ESC_STR) { switch(ascii) { @@ -1855,6 +1859,7 @@ tputc(char *c, int len) { } return; } + /* * Actions of control codes must be performed as soon they arrive * because they can be embedded inside a control sequence, and @@ -1895,11 +1900,11 @@ tputc(char *c, int len) { case '\030': /* CAN */ csireset(); return; - case '\005': /* ENQ (IGNORED) */ - case '\000': /* NUL (IGNORED) */ - case '\021': /* XON (IGNORED) */ - case '\023': /* XOFF (IGNORED) */ - case 0177: /* DEL (IGNORED) */ + case '\005': /* ENQ (IGNORED) */ + case '\000': /* NUL (IGNORED) */ + case '\021': /* XON (IGNORED) */ + case '\023': /* XOFF (IGNORED) */ + case 0177: /* DEL (IGNORED) */ return; } } else if(term.esc & ESC_START) { @@ -2694,6 +2699,9 @@ kpress(XEvent *ev) { selpaste(); break; case XK_Return: + if(meta) + ttywrite("\033", 1); + if(IS_SET(MODE_CRLF)) { ttywrite("\r\n", 2); } else { @@ -2750,8 +2758,6 @@ cresize(int width, int height) void resize(XEvent *e) { - fprintf(stderr, "resize -> %d,%d\n", e->xconfigure.width, - e->xconfigure.height); if(e->xconfigure.width == xw.w && e->xconfigure.height == xw.h) return;