X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=st.c;h=ea0726cd267532ef878655868c75dbfc4d920e59;hb=5683b1f80c5ac274adf98517ce2217b4d4896243;hp=9cfa5470925cd360469c7ae1d3471a336c366e56;hpb=8b564c1a3f51c08e64c2f589852a02b8595d44ca;p=st.git diff --git a/st.c b/st.c index 9cfa547..ea0726c 100644 --- a/st.c +++ b/st.c @@ -365,13 +365,9 @@ base64dec(const char *src) void selinit(void) { - clock_gettime(CLOCK_MONOTONIC, &sel.tclick1); - clock_gettime(CLOCK_MONOTONIC, &sel.tclick2); sel.mode = SEL_IDLE; sel.snap = 0; sel.ob.x = -1; - sel.primary = NULL; - sel.clipboard = NULL; } int @@ -419,7 +415,8 @@ selnormalize(void) int selected(int x, int y) { - if (sel.mode == SEL_EMPTY) + if (sel.mode == SEL_EMPTY || sel.ob.x == -1 || + sel.alt != IS_SET(MODE_ALTSCREEN)) return 0; if (sel.type == SEL_RECTANGULAR) @@ -670,7 +667,6 @@ void ttynew(char *line, char *out, char **args) { int m, s; - struct winsize w = {term.row, term.col, 0, 0}; if (out) { term.mode |= MODE_PRINT; @@ -691,7 +687,7 @@ ttynew(char *line, char *out, char **args) } /* seems to work fine on linux, openbsd and freebsd */ - if (openpty(&m, &s, NULL, NULL, &w) < 0) + if (openpty(&m, &s, NULL, NULL, NULL) < 0) die("openpty failed: %s\n", strerror(errno)); switch (pid = fork()) {