| General cleanup - st - simple terminal | |
| git clone git://git.suckless.org/st | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit 20e0da7f14cc5f30863e0b8014fa223fbaff1e30 | |
| parent 403c57ebb5b3745ff93e49b87e526c49dc59a5b9 | |
| Author: Devin J. Pohly <[email protected]> | |
| Date: Sat, 24 Feb 2018 17:09:13 -0600 | |
| General cleanup | |
| Simplifies logic in a couple places and removes a redundant function | |
| call. | |
| Signed-off-by: Devin J. Pohly <[email protected]> | |
| Diffstat: | |
| M st.c | 1 - | |
| M x.c | 46 ++++++++++++++---------------… | |
| 2 files changed, 21 insertions(+), 26 deletions(-) | |
| --- | |
| diff --git a/st.c b/st.c | |
| @@ -1693,7 +1693,6 @@ csihandle(void) | |
| tputtab(csiescseq.arg[0]); | |
| break; | |
| case 'J': /* ED -- Clear screen */ | |
| - selclear(); | |
| switch (csiescseq.arg[0]) { | |
| case 0: /* below */ | |
| tclearregion(term.c.x, term.c.y, term.col-1, term.c.y); | |
| diff --git a/x.c b/x.c | |
| @@ -149,8 +149,8 @@ static void xunloadfont(Font *); | |
| static void xunloadfonts(void); | |
| static void xsetenv(void); | |
| static void xseturgency(int); | |
| -static int x2col(int); | |
| -static int y2row(int); | |
| +static int evcol(XEvent *); | |
| +static int evrow(XEvent *); | |
| static void expose(XEvent *); | |
| static void visibility(XEvent *); | |
| @@ -308,17 +308,17 @@ zoomreset(const Arg *arg) | |
| } | |
| int | |
| -x2col(int x) | |
| +evcol(XEvent *e) | |
| { | |
| - x -= borderpx; | |
| + int x = e->xbutton.x - borderpx; | |
| LIMIT(x, 0, win.tw - 1); | |
| return x / win.cw; | |
| } | |
| int | |
| -y2row(int y) | |
| +evrow(XEvent *e) | |
| { | |
| - y -= borderpx; | |
| + int y = e->xbutton.y - borderpx; | |
| LIMIT(y, 0, win.th - 1); | |
| return y / win.ch; | |
| } | |
| @@ -335,7 +335,7 @@ mousesel(XEvent *e, int done) | |
| break; | |
| } | |
| } | |
| - selextend(x2col(e->xbutton.x), y2row(e->xbutton.y), seltype, done); | |
| + selextend(evcol(e), evrow(e), seltype, done); | |
| if (done) | |
| setsel(getsel(), e->xbutton.time); | |
| } | |
| @@ -343,9 +343,8 @@ mousesel(XEvent *e, int done) | |
| void | |
| mousereport(XEvent *e) | |
| { | |
| - int x = x2col(e->xbutton.x), y = y2row(e->xbutton.y), | |
| - button = e->xbutton.button, state = e->xbutton.state, | |
| - len; | |
| + int len, x = evcol(e), y = evrow(e), | |
| + button = e->xbutton.button, state = e->xbutton.state; | |
| char buf[40]; | |
| static int ox, oy; | |
| @@ -440,7 +439,7 @@ bpress(XEvent *e) | |
| xsel.tclick2 = xsel.tclick1; | |
| xsel.tclick1 = now; | |
| - selstart(x2col(e->xbutton.x), y2row(e->xbutton.y), snap); | |
| + selstart(evcol(e), evrow(e), snap); | |
| } | |
| } | |
| @@ -464,18 +463,16 @@ selnotify(XEvent *e) | |
| ulong nitems, ofs, rem; | |
| int format; | |
| uchar *data, *last, *repl; | |
| - Atom type, incratom, property; | |
| + Atom type, incratom, property = None; | |
| incratom = XInternAtom(xw.dpy, "INCR", 0); | |
| ofs = 0; | |
| - if (e->type == SelectionNotify) { | |
| + if (e->type == SelectionNotify) | |
| property = e->xselection.property; | |
| - } else if(e->type == PropertyNotify) { | |
| + else if (e->type == PropertyNotify) | |
| property = e->xproperty.atom; | |
| - } else { | |
| - return; | |
| - } | |
| + | |
| if (property == None) | |
| return; | |
| @@ -625,7 +622,7 @@ setsel(char *str, Time t) | |
| XSetSelectionOwner(xw.dpy, XA_PRIMARY, xw.win, t); | |
| if (XGetSelectionOwner(xw.dpy, XA_PRIMARY) != xw.win) | |
| - selclear_(NULL); | |
| + selclear(); | |
| } | |
| void | |
| @@ -1407,12 +1404,13 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Gl… | |
| og.mode ^= ATTR_REVERSE; | |
| xdrawglyph(og, ox, oy); | |
| + if (IS_SET(MODE_HIDE)) | |
| + return; | |
| + | |
| /* | |
| * Select the right color for the right mode. | |
| */ | |
| g.mode &= ATTR_BOLD|ATTR_ITALIC|ATTR_UNDERLINE|ATTR_STRUCK|ATTR_WIDE; | |
| - g.fg = defaultbg; | |
| - g.bg = defaultcs; | |
| if (IS_SET(MODE_REVERSE)) { | |
| g.mode |= ATTR_REVERSE; | |
| @@ -1426,17 +1424,15 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Gl… | |
| } | |
| } else { | |
| if (selected(cx, cy)) { | |
| - drawcol = dc.col[defaultrcs]; | |
| g.fg = defaultfg; | |
| g.bg = defaultrcs; | |
| } else { | |
| - drawcol = dc.col[defaultcs]; | |
| + g.fg = defaultbg; | |
| + g.bg = defaultcs; | |
| } | |
| + drawcol = dc.col[g.bg]; | |
| } | |
| - if (IS_SET(MODE_HIDE)) | |
| - return; | |
| - | |
| /* draw the new one */ | |
| if (IS_SET(MODE_FOCUSED)) { | |
| switch (win.cursor) { |