diff options
author | Nicholas Marriott <nicm@openbsd.org> | 2011-05-18 18:06:36 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@openbsd.org> | 2011-05-18 18:06:36 +0000 |
commit | 58908fd8c54a3c8d2878a7c6f9ca566093302f92 (patch) | |
tree | 52fa7dc9829fba875a3a40d251e84cc60d429928 /window-copy.c | |
parent | f702dbfea27a05eafcb6c8b8f67073a90c1e9a8a (diff) | |
download | rtmux-58908fd8c54a3c8d2878a7c6f9ca566093302f92.tar.gz rtmux-58908fd8c54a3c8d2878a7c6f9ca566093302f92.tar.bz2 rtmux-58908fd8c54a3c8d2878a7c6f9ca566093302f92.zip |
Add three new copy-mode commands - select-line, copy-line,
copy-end-of-line. From Dave Disser and Randy Stauner a while back.
Diffstat (limited to 'window-copy.c')
-rw-r--r-- | window-copy.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/window-copy.c b/window-copy.c index de0346d0..4ee3c3e3 100644 --- a/window-copy.c +++ b/window-copy.c @@ -500,6 +500,26 @@ window_copy_key(struct window_pane *wp, struct session *sess, int key) window_copy_start_selection(wp); window_copy_redraw_screen(wp); break; + case MODEKEYCOPY_COPYLINE: + case MODEKEYCOPY_SELECTLINE: + window_copy_cursor_start_of_line(wp); + /* FALLTHROUGH */ + case MODEKEYCOPY_COPYENDOFLINE: + window_copy_start_selection(wp); + for (; np > 1; np--) + window_copy_cursor_down(wp, 0); + window_copy_cursor_end_of_line(wp); + window_copy_redraw_screen(wp); + + /* If a copy command then copy the selection and exit. */ + if (sess != NULL && + (cmd == MODEKEYCOPY_COPYLINE || + cmd == MODEKEYCOPY_COPYENDOFLINE)) { + window_copy_copy_selection(wp); + window_pane_reset_mode(wp); + return; + } + break; case MODEKEYCOPY_CLEARSELECTION: window_copy_clear_selection(wp); window_copy_redraw_screen(wp); |