X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;ds=sidebyside;f=st.c;h=bf3993aa01a7ade722f59adbf6b85047443f5815;hb=f471a32d29ad9e5e06cf5e5d5efc8422483f535e;hp=8e31a7357efc792e597111fe5b7a40c005daba95;hpb=017af76f5c89fa1acf9b54ceaad2101dcfd880a0;p=st.git diff --git a/st.c b/st.c index 8e31a73..bf3993a 100644 --- a/st.c +++ b/st.c @@ -311,6 +311,7 @@ static void brelease(XEvent *); static void bpress(XEvent *); static void bmotion(XEvent *); static void selnotify(XEvent *); +static void selclear(XEvent *); static void selrequest(XEvent *); static void selinit(void); @@ -336,6 +337,7 @@ static void (*handler[LASTEvent])(XEvent *) = { [MotionNotify] = bmotion, [ButtonPress] = bpress, [ButtonRelease] = brelease, + [SelectionClear] = selclear, [SelectionNotify] = selnotify, [SelectionRequest] = selrequest, }; @@ -612,6 +614,13 @@ selpaste() { XConvertSelection(xw.dpy, XA_PRIMARY, sel.xtarget, XA_PRIMARY, xw.win, CurrentTime); } +void selclear(XEvent *e) { + if(sel.bx == -1) + return; + sel.bx = -1; + tsetdirt(sel.b.y, sel.e.y); +} + void selrequest(XEvent *e) { XSelectionRequestEvent *xsre;