Introduction
Introduction Statistics Contact Development Disclaimer Help
tAdd enumeration for sel.mode - st - [fork] customized build of st, the simple …
git clone git://src.adamsgaard.dk/st
Log
Files
Refs
README
LICENSE
---
commit 1811b6030cd9ac6bb938449eef778c6f54ab0e49
parent 22571ea4e8729efee6940b704666566b46e42e76
Author: noname <[email protected]>
Date: Fri, 1 May 2015 17:13:13 +0000
Add enumeration for sel.mode
This patch also prevents sel.mode from increasing beyond 2. It is almost
impossible, but sel.mode may overflow if mouse is moved around for too
long while selecting.
Diffstat:
M st.c | 23 ++++++++++++++---------
1 file changed, 14 insertions(+), 9 deletions(-)
---
diff --git a/st.c b/st.c
t@@ -162,6 +162,12 @@ enum window_state {
WIN_FOCUSED = 2
};
+enum selection_mode {
+ SEL_IDLE = 0,
+ SEL_EMPTY = 1,
+ SEL_READY = 2
+};
+
enum selection_type {
SEL_REGULAR = 1,
SEL_RECTANGULAR = 2
t@@ -643,7 +649,7 @@ void
selinit(void) {
memset(&sel.tclick1, 0, sizeof(sel.tclick1));
memset(&sel.tclick2, 0, sizeof(sel.tclick2));
- sel.mode = 0;
+ sel.mode = SEL_IDLE;
sel.ob.x = -1;
sel.primary = NULL;
sel.clipboard = NULL;
t@@ -897,7 +903,7 @@ bpress(XEvent *e) {
/* Clear previous selection, logically and visually. */
selclear(NULL);
- sel.mode = 1;
+ sel.mode = SEL_EMPTY;
sel.type = SEL_REGULAR;
sel.oe.x = sel.ob.x = x2col(e->xbutton.x);
sel.oe.y = sel.ob.y = y2row(e->xbutton.y);
t@@ -920,7 +926,7 @@ bpress(XEvent *e) {
* make clicks visible
*/
if(sel.snap != 0) {
- sel.mode++;
+ sel.mode = SEL_READY;
tsetdirt(sel.nb.y, sel.ne.y);
}
sel.tclick2 = sel.tclick1;
t@@ -1142,13 +1148,12 @@ brelease(XEvent *e) {
if(e->xbutton.button == Button2) {
selpaste(NULL);
} else if(e->xbutton.button == Button1) {
- if(sel.mode < 2) {
- selclear(NULL);
- } else {
+ if(sel.mode == SEL_READY) {
getbuttoninfo(e);
selcopy(e->xbutton.time);
- }
- sel.mode = 0;
+ } else
+ selclear(NULL);
+ sel.mode = SEL_IDLE;
tsetdirt(sel.nb.y, sel.ne.y);
}
}
t@@ -1165,7 +1170,7 @@ bmotion(XEvent *e) {
if(!sel.mode)
return;
- sel.mode++;
+ sel.mode = SEL_READY;
oldey = sel.oe.y;
oldex = sel.oe.x;
oldsby = sel.nb.y;
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.