X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=st.c;h=d4dfe6e1fa04a42a45fd4661ff54c93dbbc9aefa;hb=138caf294ea4d7968df36ead9d5ff5fc49f6215f;hp=fdf697bfe14f9b943b7ffd62d09222120ec5e73e;hpb=323d38da20c8a1d295ab1dbc0fc7ce947ef824e1;p=st.git diff --git a/st.c b/st.c index fdf697b..d4dfe6e 100644 --- a/st.c +++ b/st.c @@ -21,13 +21,8 @@ #include #include #include -#include #include -/* X11 */ -#include -#include - #include "st.h" #include "win.h" @@ -424,7 +419,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) @@ -675,7 +671,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; @@ -696,7 +691,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()) { @@ -1747,7 +1742,7 @@ strhandle(void) dec = base64dec(strescseq.args[2]); if (dec) { - xsetsel(dec, CurrentTime); + xsetsel(dec); xclipcopy(); } else { fprintf(stderr, "erresc: invalid base64\n");