aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevin J. Pohly <djpohly@gmail.com>2018-02-24 17:09:13 -0600
committerDevin J. Pohly <djpohly@gmail.com>2018-02-25 21:56:26 -0600
commit20e0da7f14cc5f30863e0b8014fa223fbaff1e30 (patch)
tree565e9db20e2873c6029553bb622b0209a76fc560
parent403c57ebb5b3745ff93e49b87e526c49dc59a5b9 (diff)
downloadst-20e0da7f14cc5f30863e0b8014fa223fbaff1e30.tar.gz
General cleanup
Simplifies logic in a couple places and removes a redundant function call. Signed-off-by: Devin J. Pohly <djpohly@gmail.com>
-rw-r--r--st.c1
-rw-r--r--x.c46
2 files changed, 21 insertions, 26 deletions
diff --git a/st.c b/st.c
index 543c615..75c3dd1 100644
--- 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
index d0acfee..f005687 100644
--- 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, Glyph og)
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, Glyph og)
}
} 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) {