pinosaur
/
st.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
When the cursor is moved, clear the selection.
[st.git]
/
st.c
diff --git
a/st.c
b/st.c
index
144954b
..
0c528d5
100644
(file)
--- a/
st.c
+++ b/
st.c
@@
-1811,6
+1811,7
@@
tmoveto(int x, int y)
{
int miny, maxy;
{
int miny, maxy;
+ selclear(NULL);
if (term.c.state & CURSOR_ORIGIN) {
miny = term.top;
maxy = term.bot;
if (term.c.state & CURSOR_ORIGIN) {
miny = term.top;
maxy = term.bot;
@@
-3828,6
+3829,7
@@
xdrawcursor(void)
static int oldx = 0, oldy = 0;
int curx;
Glyph g = {' ', ATTR_NULL, defaultbg, defaultcs};
static int oldx = 0, oldy = 0;
int curx;
Glyph g = {' ', ATTR_NULL, defaultbg, defaultcs};
+ int ena_sel = sel.ob.x != -1 && sel.alt == IS_SET(MODE_ALTSCREEN);
LIMIT(oldx, 0, term.col-1);
LIMIT(oldy, 0, term.row-1);
LIMIT(oldx, 0, term.col-1);
LIMIT(oldy, 0, term.row-1);
@@
-3841,6
+3843,8
@@
xdrawcursor(void)
curx--;
g.u = term.line[term.c.y][term.c.x].u;
curx--;
g.u = term.line[term.c.y][term.c.x].u;
+ if (ena_sel && selected(term.c.x, term.c.y))
+ g.mode ^= ATTR_REVERSE;
/* remove the old cursor */
xdrawglyph(term.line[oldy][oldx], oldx, oldy);
/* remove the old cursor */
xdrawglyph(term.line[oldy][oldx], oldx, oldy);