Introduction
Introduction Statistics Contact Development Disclaimer Help
tExpand the last line with '\n' in case of overselection. - st - [fork] customi…
git clone git://src.adamsgaard.dk/st
Log
Files
Refs
README
LICENSE
---
commit 0c2b513d01697aea20bb4a2a144b55e72c625e86
parent 634c247fa76a5f649cdcc51109970e46ddaf5c32
Author: Christoph Lohmann <[email protected]>
Date: Sat, 4 May 2013 19:00:32 +0200
Expand the last line with '\n' in case of overselection.
Thanks Alexander Rezinsky <[email protected]>!
Diffstat:
M st.c | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
---
diff --git a/st.c b/st.c
t@@ -900,7 +900,7 @@ bpress(XEvent *e) {
void
selcopy(void) {
char *str, *ptr;
- int x, y, bufsize, size;
+ int x, y, bufsize, size, i, ex;
Glyph *gp, *last;
if(sel.bx == -1) {
t@@ -938,6 +938,21 @@ selcopy(void) {
*/
if(y < sel.e.y && !((gp-1)->mode & ATTR_WRAP))
*ptr++ = '\n';
+
+ /*
+ * If the last selected line expands in the selection
+ * after the visible text '\n' is appended.
+ */
+ if(y == sel.e.y) {
+ i = term.col;
+ while(--i > 0 && term.line[y][i].c[0] == ' ')
+ /* nothing */;
+ ex = sel.e.x;
+ if(sel.b.y == sel.e.y && sel.e.x < sel.b.x)
+ ex = sel.b.x;
+ if(i < ex)
+ *ptr++ = '\n';
+ }
}
*ptr = 0;
}
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.