diff options
| author | Malfurious <m@lfurio.us> | 2020-11-01 02:34:44 -0500 |
|---|---|---|
| committer | Matt Hunter <m@lfurio.us> | 2026-02-06 00:32:05 -0500 |
| commit | 5e12fb719c4bd0064f57bdd90a32b0d805e3094e (patch) | |
| tree | 7ce6faf2910554ff8a64b0af55817ee794e4d42e | |
| parent | 3728de46418d26edffc21ac017d52ab668175b0b (diff) | |
| download | st-5e12fb719c4bd0064f57bdd90a32b0d805e3094e.tar.gz st-5e12fb719c4bd0064f57bdd90a32b0d805e3094e.zip | |
This patch addresses two issues with selections in st.
First, the SelectionClear signal from X is no longer ignored. So, if
another selection is made in another window, st's selection will
disappear.
Second (and this one is more of a personal preference), new selections
that begin after the end of a line are now considered to begin at the
start of the following line. This makes selecting a group of lines
easier for either copy/paste or readability in the terminal. Previously,
the newline character from the preceeding line would be included in the
clipboard and the dead-space at the end of that line would be
highlighted.
| -rw-r--r-- | st.c | 5 | ||||
| -rw-r--r-- | x.c | 2 |
2 files changed, 5 insertions, 2 deletions
@@ -495,7 +495,10 @@ selnormalize(void) return; i = tlinelen(sel.nb.y); if (i < sel.nb.x) - sel.nb.x = i; + { + sel.nb.x = 0; + sel.nb.y++; + } if (tlinelen(sel.ne.y) <= sel.ne.x) sel.ne.x = term.col - 1; } @@ -213,7 +213,7 @@ static void (*handler[LASTEvent])(XEvent *) = { * Uncomment if you want the selection to disappear when you select something * different in another window. */ -/* [SelectionClear] = selclear_, */ + [SelectionClear] = selclear_, [SelectionNotify] = selnotify, /* * PropertyNotify is only turned on when there is some INCR transfer happening |
