General cleanup

Simplifies logic in a couple places and removes a redundant function
call.

Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
dev
Devin J. Pohly 2018-02-24 17:09:13 -06:00
parent 403c57ebb5
commit 20e0da7f14
2 changed files with 21 additions and 26 deletions

1
st.c
View File

@ -1693,7 +1693,6 @@ csihandle(void)
tputtab(csiescseq.arg[0]); tputtab(csiescseq.arg[0]);
break; break;
case 'J': /* ED -- Clear screen */ case 'J': /* ED -- Clear screen */
selclear();
switch (csiescseq.arg[0]) { switch (csiescseq.arg[0]) {
case 0: /* below */ case 0: /* below */
tclearregion(term.c.x, term.c.y, term.col-1, term.c.y); tclearregion(term.c.x, term.c.y, term.col-1, term.c.y);

46
x.c
View File

@ -149,8 +149,8 @@ static void xunloadfont(Font *);
static void xunloadfonts(void); static void xunloadfonts(void);
static void xsetenv(void); static void xsetenv(void);
static void xseturgency(int); static void xseturgency(int);
static int x2col(int); static int evcol(XEvent *);
static int y2row(int); static int evrow(XEvent *);
static void expose(XEvent *); static void expose(XEvent *);
static void visibility(XEvent *); static void visibility(XEvent *);
@ -308,17 +308,17 @@ zoomreset(const Arg *arg)
} }
int int
x2col(int x) evcol(XEvent *e)
{ {
x -= borderpx; int x = e->xbutton.x - borderpx;
LIMIT(x, 0, win.tw - 1); LIMIT(x, 0, win.tw - 1);
return x / win.cw; return x / win.cw;
} }
int int
y2row(int y) evrow(XEvent *e)
{ {
y -= borderpx; int y = e->xbutton.y - borderpx;
LIMIT(y, 0, win.th - 1); LIMIT(y, 0, win.th - 1);
return y / win.ch; return y / win.ch;
} }
@ -335,7 +335,7 @@ mousesel(XEvent *e, int done)
break; break;
} }
} }
selextend(x2col(e->xbutton.x), y2row(e->xbutton.y), seltype, done); selextend(evcol(e), evrow(e), seltype, done);
if (done) if (done)
setsel(getsel(), e->xbutton.time); setsel(getsel(), e->xbutton.time);
} }
@ -343,9 +343,8 @@ mousesel(XEvent *e, int done)
void void
mousereport(XEvent *e) mousereport(XEvent *e)
{ {
int x = x2col(e->xbutton.x), y = y2row(e->xbutton.y), int len, x = evcol(e), y = evrow(e),
button = e->xbutton.button, state = e->xbutton.state, button = e->xbutton.button, state = e->xbutton.state;
len;
char buf[40]; char buf[40];
static int ox, oy; static int ox, oy;
@ -440,7 +439,7 @@ bpress(XEvent *e)
xsel.tclick2 = xsel.tclick1; xsel.tclick2 = xsel.tclick1;
xsel.tclick1 = now; 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; ulong nitems, ofs, rem;
int format; int format;
uchar *data, *last, *repl; uchar *data, *last, *repl;
Atom type, incratom, property; Atom type, incratom, property = None;
incratom = XInternAtom(xw.dpy, "INCR", 0); incratom = XInternAtom(xw.dpy, "INCR", 0);
ofs = 0; ofs = 0;
if (e->type == SelectionNotify) { if (e->type == SelectionNotify)
property = e->xselection.property; property = e->xselection.property;
} else if(e->type == PropertyNotify) { else if (e->type == PropertyNotify)
property = e->xproperty.atom; property = e->xproperty.atom;
} else {
return;
}
if (property == None) if (property == None)
return; return;
@ -625,7 +622,7 @@ setsel(char *str, Time t)
XSetSelectionOwner(xw.dpy, XA_PRIMARY, xw.win, t); XSetSelectionOwner(xw.dpy, XA_PRIMARY, xw.win, t);
if (XGetSelectionOwner(xw.dpy, XA_PRIMARY) != xw.win) if (XGetSelectionOwner(xw.dpy, XA_PRIMARY) != xw.win)
selclear_(NULL); selclear();
} }
void void
@ -1407,12 +1404,13 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og)
og.mode ^= ATTR_REVERSE; og.mode ^= ATTR_REVERSE;
xdrawglyph(og, ox, oy); xdrawglyph(og, ox, oy);
if (IS_SET(MODE_HIDE))
return;
/* /*
* Select the right color for the right mode. * Select the right color for the right mode.
*/ */
g.mode &= ATTR_BOLD|ATTR_ITALIC|ATTR_UNDERLINE|ATTR_STRUCK|ATTR_WIDE; g.mode &= ATTR_BOLD|ATTR_ITALIC|ATTR_UNDERLINE|ATTR_STRUCK|ATTR_WIDE;
g.fg = defaultbg;
g.bg = defaultcs;
if (IS_SET(MODE_REVERSE)) { if (IS_SET(MODE_REVERSE)) {
g.mode |= ATTR_REVERSE; g.mode |= ATTR_REVERSE;
@ -1426,17 +1424,15 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og)
} }
} else { } else {
if (selected(cx, cy)) { if (selected(cx, cy)) {
drawcol = dc.col[defaultrcs];
g.fg = defaultfg; g.fg = defaultfg;
g.bg = defaultrcs; g.bg = defaultrcs;
} else { } 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 */ /* draw the new one */
if (IS_SET(MODE_FOCUSED)) { if (IS_SET(MODE_FOCUSED)) {
switch (win.cursor) { switch (win.cursor) {