summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Lohmann2013-01-20 17:12:41 +0100
committerChristoph Lohmann2013-01-20 17:12:41 +0100
commit57f39defaf3f84b5d9efb3e7a8494cc7ff09e7af (patch)
tree8dc3beff20c36b49efd4e22e96262953a1a12af6
parent3036051fb18addd8ac15eac9e0ef3ee6aeb8bbc6 (diff)
downloadst-57f39defaf3f84b5d9efb3e7a8494cc7ff09e7af.tar.gz
st-57f39defaf3f84b5d9efb3e7a8494cc7ff09e7af.tar.xz
st-57f39defaf3f84b5d9efb3e7a8494cc7ff09e7af.zip
Fixing the clipboard copying to st itself.
-rw-r--r--st.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/st.c b/st.c
index 6749dbd..1a40765 100644
--- a/st.c
+++ b/st.c
@@ -793,6 +793,7 @@ void selclear(XEvent *e) {
void
selrequest(XEvent *e) {
+ fprintf(stderr, "selrequest\n");
XSelectionRequestEvent *xsre;
XSelectionEvent xev;
Atom xa_targets, string;
@@ -828,6 +829,7 @@ selrequest(XEvent *e) {
void
xsetsel(char *str) {
+ fprintf(stderr, "xsetsel: %s\n", str);
/* register the selection for both the clipboard and the primary */
Atom clipboard;
@@ -842,6 +844,7 @@ xsetsel(char *str) {
void
brelease(XEvent *e) {
+ fprintf(stderr, "brelease\n");
struct timeval now;
if(IS_SET(MODE_MOUSE)) {
@@ -2479,6 +2482,7 @@ xzoom(const Arg *arg)
void
xinit(void) {
XSetWindowAttributes attrs;
+ XGCValues gcvalues;
Cursor cursor;
Window parent;
int sw, sh, major, minor;
@@ -2544,7 +2548,10 @@ xinit(void) {
usedbe = True;
} else {
*/
- dc.gc = XCreateGC(xw.dpy, parent, 0, 0);
+ memset(&gcvalues, 0, sizeof(gcvalues));
+ gcvalues.graphics_exposures = False;
+ dc.gc = XCreateGC(xw.dpy, parent, GCGraphicsExposures,
+ &gcvalues);
xw.buf = XCreatePixmap(xw.dpy, xw.win, xw.w, xw.h,
DefaultDepth(xw.dpy, xw.scr));
XSetForeground(xw.dpy, dc.gc, 0);
@@ -2872,7 +2879,6 @@ draw(void) {
XCopyArea(xw.dpy, xw.buf, xw.win, dc.gc, 0, 0, xw.w,
xw.h, 0, 0);
XSetForeground(xw.dpy, dc.gc, 0);
- XSync(xw.dpy, False);
}
}
@@ -3169,6 +3175,7 @@ run(void) {
XNextEvent(xw.dpy, &ev);
if(XFilterEvent(&ev, None))
continue;
+ fprintf(stderr, "ev.type = %d\n", ev.type);
if(handler[ev.type])
(handler[ev.type])(&ev);
}