diff options
author | Ori Bernstein <ori@eigenstate.org> | 2020-05-06 13:38:39 -0700 |
---|---|---|
committer | Ori Bernstein <ori@eigenstate.org> | 2020-05-06 13:38:39 -0700 |
commit | 0dc9c8d0199db2746f2ca651911e8fa60e90e02f (patch) | |
tree | 058989d01fa16c74982b5026a394b1cf2bee435b /sys/src/cmd/acme | |
parent | 7de7414e885c3fa3c52200c49528e1e8da5adcc9 (diff) |
Reset click count on mouse motion.
Diffstat (limited to 'sys/src/cmd/acme')
-rw-r--r-- | sys/src/cmd/acme/text.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/src/cmd/acme/text.c b/sys/src/cmd/acme/text.c index 9611a2e4b..1821778c4 100644 --- a/sys/src/cmd/acme/text.c +++ b/sys/src/cmd/acme/text.c @@ -868,7 +868,8 @@ textcommit(Text *t, int tofile) static Text *clicktext; static uint clickmsec; -static int clickcount; +static int clickcount; +static Point clickpt; static Text *selecttext; static uint selectq; @@ -927,9 +928,12 @@ textselect(Text *t) b = mouse->buttons; q0 = t->q0; q1 = t->q1; + dx = abs(clickpt.x - w->mc.xy.x); + dy = abs(clickpt.y - w->mc.xy.y); + clickpt = w->mc.xy; selectq = t->org+frcharofpt(t, mouse->xy); clickcount++; - if(mouse->msec-clickmsec >= 500 || selecttext != t || clickcount > 3) + if(mouse->msec-clickmsec >= 500 || selecttext != t || clickcount > 3 || dx > 3 || dy > 3) clickcount = 0; if(clickcount >= 1 && selecttext==t && mouse->msec-clickmsec < 500){ textstretchsel(t, selectq, &q0, &q1, clickcount); |