Xinqi Bao's Git
projects
/
st.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
Add enumeration for sel.mode
[st.git]
/
st.c
diff --git
a/st.c
b/st.c
index
6138817
..
d6dd4de
100644
(file)
--- a/
st.c
+++ b/
st.c
@@
-162,6
+162,12
@@
enum window_state {
WIN_FOCUSED = 2
};
WIN_FOCUSED = 2
};
+enum selection_mode {
+ SEL_IDLE = 0,
+ SEL_EMPTY = 1,
+ SEL_READY = 2
+};
+
enum selection_type {
SEL_REGULAR = 1,
SEL_RECTANGULAR = 2
enum selection_type {
SEL_REGULAR = 1,
SEL_RECTANGULAR = 2
@@
-643,7
+649,7
@@
void
selinit(void) {
memset(&sel.tclick1, 0, sizeof(sel.tclick1));
memset(&sel.tclick2, 0, sizeof(sel.tclick2));
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;
sel.ob.x = -1;
sel.primary = NULL;
sel.clipboard = NULL;
@@
-897,7
+903,7
@@
bpress(XEvent *e) {
/* Clear previous selection, logically and visually. */
selclear(NULL);
/* 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);
sel.type = SEL_REGULAR;
sel.oe.x = sel.ob.x = x2col(e->xbutton.x);
sel.oe.y = sel.ob.y = y2row(e->xbutton.y);
@@
-920,7
+926,7
@@
bpress(XEvent *e) {
* make clicks visible
*/
if(sel.snap != 0) {
* make clicks visible
*/
if(sel.snap != 0) {
- sel.mode
++
;
+ sel.mode
= SEL_READY
;
tsetdirt(sel.nb.y, sel.ne.y);
}
sel.tclick2 = sel.tclick1;
tsetdirt(sel.nb.y, sel.ne.y);
}
sel.tclick2 = sel.tclick1;
@@
-1142,13
+1148,12
@@
brelease(XEvent *e) {
if(e->xbutton.button == Button2) {
selpaste(NULL);
} else if(e->xbutton.button == Button1) {
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);
getbuttoninfo(e);
selcopy(e->xbutton.time);
- }
- sel.mode = 0;
+ } else
+ selclear(NULL);
+ sel.mode = SEL_IDLE;
tsetdirt(sel.nb.y, sel.ne.y);
}
}
tsetdirt(sel.nb.y, sel.ne.y);
}
}
@@
-1165,7
+1170,7
@@
bmotion(XEvent *e) {
if(!sel.mode)
return;
if(!sel.mode)
return;
- sel.mode
++
;
+ sel.mode
= SEL_READY
;
oldey = sel.oe.y;
oldex = sel.oe.x;
oldsby = sel.nb.y;
oldey = sel.oe.y;
oldex = sel.oe.x;
oldsby = sel.nb.y;