aboutsummaryrefslogtreecommitdiff
path: root/st.c
diff options
context:
space:
mode:
Diffstat (limited to 'st.c')
-rw-r--r--st.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/st.c b/st.c
index 5946c7c..78d8a01 100644
--- a/st.c
+++ b/st.c
@@ -765,7 +765,7 @@ selsnap(int mode, int *x, int *y, int direction) {
765void 765void
766getbuttoninfo(XEvent *e) { 766getbuttoninfo(XEvent *e) {
767 int type; 767 int type;
768 uint state = e->xbutton.state &~Button1Mask; 768 uint state = e->xbutton.state & ~(Button1Mask | forceselmod);
769 769
770 sel.alt = IS_SET(MODE_ALTSCREEN); 770 sel.alt = IS_SET(MODE_ALTSCREEN);
771 771
@@ -858,7 +858,7 @@ bpress(XEvent *e) {
858 struct timeval now; 858 struct timeval now;
859 Mousekey *mk; 859 Mousekey *mk;
860 860
861 if(IS_SET(MODE_MOUSE)) { 861 if(IS_SET(MODE_MOUSE) && !(e->xbutton.state & forceselmod)) {
862 mousereport(e); 862 mousereport(e);
863 return; 863 return;
864 } 864 }
@@ -1090,7 +1090,7 @@ xsetsel(char *str) {
1090 1090
1091void 1091void
1092brelease(XEvent *e) { 1092brelease(XEvent *e) {
1093 if(IS_SET(MODE_MOUSE)) { 1093 if(IS_SET(MODE_MOUSE) && !(e->xbutton.state & forceselmod)) {
1094 mousereport(e); 1094 mousereport(e);
1095 return; 1095 return;
1096 } 1096 }
@@ -1113,7 +1113,7 @@ void
1113bmotion(XEvent *e) { 1113bmotion(XEvent *e) {
1114 int oldey, oldex, oldsby, oldsey; 1114 int oldey, oldex, oldsby, oldsey;
1115 1115
1116 if(IS_SET(MODE_MOUSE)) { 1116 if(IS_SET(MODE_MOUSE) && !(e->xbutton.state & forceselmod)) {
1117 mousereport(e); 1117 mousereport(e);
1118 return; 1118 return;
1119 } 1119 }