Commit Graph

369 Commits

Author SHA1 Message Date
d88c381ce9 Only redraw affected lines when selection changes with mouse. From
Michael Graczyk.
2014-12-15 10:02:55 +00:00
4429941668 Expand formats in copy-pipe command, suggested by Suraj N Kurapati. 2014-11-09 15:13:01 +00:00
7445d303e0 Wrap when copy mode is used for output, from Balazs Kezes. 2014-11-06 10:56:44 +00:00
e4bf1e5128 Add V for select line with vi(1) keys. From Juho Pohjala. 2014-11-06 09:17:25 +00:00
abfb9656ef Fix some spacing nits. 2014-10-22 23:18:53 +00:00
a27ba6e380 Add xreallocarray and remove nmemb argument from xrealloc. 2014-10-08 17:35:58 +00:00
2f19df09b1 Copy ACS characters as UTF-8, from Balazs Kezes. 2014-10-02 08:36:26 +00:00
4e956d545a Various minor style and spacing nits. 2014-09-01 21:50:18 +00:00
2b79d36652 No need to repeat other-end more than once, from Juho Pohjala. Also add
it to the commands list while here.
2014-08-11 22:39:57 +00:00
29d20a55b6 Fix two copy mode problems:
1. In vi mode the selection doesn't include the last character if you
   moved the cursor up or left.
2. In emacs mode the selection includes the last character if you moved
   the cursor to the left.

From Balazs Kezes.
2014-08-11 22:18:16 +00:00
00ac1af43f Copy newline when at EOL in vi(1) mode, from Balazs Kezes. 2014-06-19 07:37:59 +00:00
58c97695c9 Simplify copy lines, from Keith Amling. 2014-05-14 06:39:58 +00:00
b1a06ef22e Add a copy mode key binding to copy to a named buffer. From J Raynor. 2014-05-13 07:54:20 +00:00
3dbacbb62b Add support for named buffers. If you don't name a buffer, things work
much as before - buffers are automatically named "buffer0000",
"buffer0001" and so on and ordered as a stack. Buffers can be named
explicitly when creating ("loadb -b foo" etc) or renamed ("setb -b
buffer0000 -n foo"). If buffers are named explicitly, they are not
deleted when buffer-limit is reached. Diff from J Raynor.
2014-05-13 07:34:35 +00:00
bec6c807cd There is no longer a need for a paste_stack struct or for global_buffers
to be global. Move to paste.c.
2014-04-24 09:14:43 +00:00
a5d4b7f3d9 Some more long lines. 2014-04-17 14:45:49 +00:00
b8bda67f30 Don't blindly increase offsets by the return value of snprintf, if there
wasn't enough space this will go off the end. Instead clamp to the
available space. Fixes crash reported by Julien Rebetez.
2014-04-11 19:35:54 +00:00
acef311fe3 Work out mouse scroll wheel effect when the mouse is first detected and
store it in struct mouse_event, reduce the scroll size the 3 but allow
shift to reduce it to 1 and meta and ctrl to multiply by 3 if the
terminal supports them, also support wheel in choose mode. From Marcel
Partap.
2014-04-03 08:20:29 +00:00
0e4d1d8493 Add setb -a to append and a copy mode append command, from J Raynor with
minor changes.
2014-03-31 21:39:31 +00:00
6daf06b1ad Fix memory leaks with paste_replace, based on changes from J Raynor. 2014-02-17 23:07:03 +00:00
945339b443 Allow replacing each of the many sets of separate foo-{fg,bg,attr}
options with a single foo-style option. For example:

    set -g status-fg yellow
    set -g status-bg red
    set -g status-attr blink

Becomes:

    set -g status-style fg=yellow,bg=red,blink

The -a flag to set can be used to add to rather than replace a style. So:

    set -g status-bg red

Becomes:

    set -ag status-style bg=red

Currently this is fully backwards compatible (all *-{fg,bg,attr} options
remain) but the plan is to deprecate them over time.

From Tiago Cunha.
2014-01-28 23:07:09 +00:00
7d3d996383 Support paste key in copy mode input (for search etc). Also clamp length
to screen width.
2014-01-22 22:32:15 +00:00
df680d7257 Only exit copy mode at the bottom if no selection in progress, from
Benoit Pierre.
2014-01-22 13:57:49 +00:00
72a4602b88 missing unsigned char casts areound tolower()
ok nicm
2013-11-20 17:01:23 +00:00
f0ed61f53c Support case insensitive searching in the same manner as emacs - all
lowercase means case insensitive, any uppercase means case
sensitive. From J Raynor.
2013-11-09 00:48:57 +00:00
a6cd84869e Correctly redraw the top two lines in copy mode when they are selected -
the selection was being updated before the redraw so the markings were
lost. Based on a fix from J Raynor.
2013-11-08 12:39:20 +00:00
7fa55b0419 Key to swap to other end of selection (bound to o with vi keys), from J
Raynor.
2013-10-23 11:31:03 +00:00
a9ebb62d54 Make next-word-end work properly with vi(1) keys, reported by patrick
keshishian.
2013-07-12 09:52:36 +00:00
7af5fec038 Whitespace nits, from Ben Boeckel. 2013-07-05 14:44:06 +00:00
599dd2a560 Create a new context when copying instead of using the input
context. The input context may not exist yet. Fixes crash when copying
from config file errors.
2013-03-25 11:43:33 +00:00
58932295fc Add copy-pipe mode command to copy selection and also pipe to a command. 2013-03-22 15:52:40 +00:00
8d59b189cc No more lint means no more ARGSUSED. 2013-03-22 10:31:22 +00:00
8903c1f167 Automatically reflow wrapped lines when a pane is resized, requested by
many over the years and finally implemented by Richard Woodbury.
2013-02-05 11:08:59 +00:00
fdbfc7e349 Rather than having two grids for each pane, one for ASCII and one for
UTF-8, collapse the two together. Simplifies the code at the expense of
more memory (which can probably be reduced again later).
2013-01-18 02:16:21 +00:00
1fcc7f50ac When scrolling in copy mode with the mouse, scroll screen rather than
moving cursor. This change from Ailin Nemui, alternative to a change
from Stephen Hicks.
2012-11-27 14:42:56 +00:00
d210d99cce Make mouse event structure clearer by defining events (up, click, drag)
and simplifying how buttons and wheels are represented, from Ailin
Nemui. Should be no functional changes.
2012-10-26 14:35:42 +00:00
0d0b3cf9a4 Fix search forward so it can match strings on the last line, SF bug
3571114 from "LiJunLe".
2012-09-25 07:39:28 +00:00
a3dec6bece Instead of numbering choose mode items 0-9a-z and then nothing, number
them all and if there are more than 10 use a prompt when 0-9 is
pressed. From Thomas Adam.
2012-08-11 06:45:33 +00:00
df912e3540 xfree is not particularly helpful, remove it. From Thomas Adam. 2012-07-10 11:53:01 +00:00
c829bdf537 Minor style nits - return (). 2012-04-01 20:53:47 +00:00
c11da7ca88 Only exit mouse mode on scroll wheel when actually reaching the end of
the history, from James Nylen.
2012-04-01 09:23:31 +00:00
95f48a219a Add a wrap-search option to turn off wrapping of searches in copy
mode. From Jacobo de Vera.
2012-03-17 21:40:53 +00:00
1bbb793263 Always remember last cursor position when moving up or down, not just
for if crossing zero length lines. From Itay Perl.
2012-03-11 23:01:19 +00:00
e04d13f6a6 Support "jump to" like vi in copy mode using t and T keys. Also add x
and X for delete in edit mode.

From Ben Boeckel, thanks.
2011-12-04 16:18:01 +00:00
fd25d35868 Move word-separators to be a session rather than window option, from Ben
Boeckel.
2011-11-15 23:24:04 +00:00
f5a73c5433 When copying, make repeat count indicate buffer to replace if used. 2011-10-23 23:38:16 +00:00
1202284f37 PANE_FREEZE doesn't do anything anymore, so remove it. 2011-06-27 00:04:49 +00:00
96e7f33da3 Support setting the xterm clipboard when copying from copy mode using
the xterm escape sequence for the purpose (if xterm is configured to
allow it).

Written by and much discussed Ailin Nemui, guidance on
xterm/termcap/terminfo from Thomas Dickey.
2011-05-18 20:24:29 +00:00
58908fd8c5 Add three new copy-mode commands - select-line, copy-line,
copy-end-of-line. From Dave Disser and Randy Stauner a while back.
2011-05-18 18:06:36 +00:00
fb527c1bad Use button mouse mode not any for copy mode, fixes issues with
putty. From Ailin Nemui.
2011-05-18 08:04:47 +00:00