nicm
d29aa12117
Replace the notification system with events. Events can carry a payload of
...
additional payload (to reduce problems with lifetime of objects) and are
delivered to one or more event sinks. This is more powerful and reduces the
complex dependencies between control mode and hooks. Events are now used for
hooks, control mode notifications and for monitors (set-hook -B).
wait-for can now wait for an event to fire (-E flag, with -F to for filter),
with -v to print the payload, as well as listing (-l) waiting clients on an
event and forcing one to wake (-w).
A few additional hooks are also now available (pane-created, pane-resized, etc)
and some of the existing ones have additional format variables available.
2026-07-10 13:38:45 +00:00
nicm
65a032b205
Allow :. in names again, forbidding them is overly pernickety. Only
...
forbid invalid UTF-8 and #(.
2026-06-29 18:17:28 +00:00
nicm
eb65331403
Be more strict about what names and titles we allow and reject them
...
immediately when possible, but allow # again for those directly set by
commands (but not escape sequences). From Barrett Ruth in GitHub issue
5175.
2026-06-15 21:41:39 +00:00
nicm
746dd91e86
Sanitize paste buffer names in paste_set and paste_rename, GitHub issue
...
5032 from Barrett Ruth.
2026-04-28 08:52:37 +00:00
nicm
7e50eb0e83
Make paste_get_top return a copy of the buffer name which is more
...
sensible and avoids a double free pointed out by DongHan Kim.
2026-02-11 08:30:37 +00:00
nicm
3c3d9ce3a9
Break sorting out into a common file so formats and modes use the same
...
code. Also add -O for sorting to the list commands. From Dane Jensen in
GitHub issue 4813.
2026-02-02 10:08:30 +00:00
nicm
2d8b6fcf23
Do not rename a buffer to itself, GitHub issue 4181.
2024-10-12 08:13:52 +00:00
nicm
1262e685b8
Remove old buffer when renaming rather than complaining, GitHub issue
...
3467 from Jean-Philippe Paradis.
2023-02-07 10:56:04 +00:00
nicm
8edece2cdb
Add paste-buffer-deleted notification and fix name of paste-buffer-changed.
2022-10-28 13:00:02 +00:00
nicm
7c2dcd7238
Notify when a paste buffer is deleted, GitHub issue 3302 from George
...
Nachman.
2022-08-15 09:10:34 +00:00
nicm
020c403dff
When picking a buffer because one isn't specified by the user, ignore
...
named buffers. GitHub issue 3212 from David le Blanc.
2022-06-04 07:42:07 +00:00
nicm
2df75aa117
Use VIS_CSTYLE for paste buffers also.
2020-05-16 15:35:19 +00:00
nicm
78595457f9
Add 'e' key in buffer mode to open the buffer in an editor.
2020-05-16 15:24:28 +00:00
nicm
7bcc0d16f2
Add an argument to copy commands to set the prefix for the buffer name,
...
allows buffers for different sessions to be named separately.
2019-04-02 09:03:39 +00:00
nicm
3d74e89a39
Shorten a long line, and don't leak buffer in paste_add if size is zero.
2017-01-24 13:28:33 +00:00
nicm
22a8afee9e
Unused variable and missing time.h.
2016-10-12 09:07:58 +00:00
nicm
5c49e1d0c1
Some other stuff that can be local to one file.
2016-10-11 13:45:47 +00:00
nicm
7d4b416fe6
Some more static.
2016-10-10 13:54:47 +00:00
nicm
4117a7ed19
Keep buffer creation time and add accessors for it and the order number.
2016-10-05 12:34:05 +00:00
nicm
995af0e2b7
I no longer use my SourceForge address so replace it.
2016-01-19 15:59:12 +00:00
nicm
1b86f520ea
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8
...
terminal. We still support non-UTF-8 terminals outside tmux, but inside
it is always UTF-8 (as when the utf8 and status-utf8 options were on).
2015-11-12 11:09:11 +00:00
nicm
44657bf932
Move struct options into options.c.
2015-10-27 15:58:42 +00:00
nicm
16ee4de5df
Remove some extra blank lines.
2015-09-14 13:22:02 +00:00
nicm
a3de5dbab1
Merge delete-buffer into cmd-set-buffer.c and change the paste buffer
...
API so it has one paste_free() rather than free_top and free_name
(everywhere that uses it already has the right pointer).
2015-09-11 14:41:50 +00:00
nicm
373ef850e0
paste_send_pane can be merged into cmd-paste-buffer.c now.
2015-08-29 09:36:46 +00:00
nicm
b569585000
Move struct paste_buffer out of tmux.h.
2015-08-29 09:25:00 +00:00
nicm
6920be311b
When replacing, don't free the old paste until after the new one's name
...
has been copied. Fixes a use-after-free in window-copy.c. Bug reported
by J Raynor (who also provided a different fix).
2015-04-07 13:06:22 +00:00
nicm
79f52825b5
Tidy up mode-mouse check.
2014-11-05 23:25:02 +00:00
nicm
a27ba6e380
Add xreallocarray and remove nmemb argument from xrealloc.
2014-10-08 17:35:58 +00:00
nicm
77efcf8bdd
Use xrealloc(NULL, n, m) instead of xmalloc(n * m) to get overflow
...
check.
2014-10-08 17:14:04 +00:00
nicm
4e956d545a
Various minor style and spacing nits.
2014-09-01 21:50:18 +00:00
nicm
e075198049
Don't allow pasting into input-disabled panes, from Anish R Athalye.
2014-08-25 13:13:19 +00:00
nicm
8d0819bff1
Comment style nits.
2014-06-20 11:00:19 +00:00
nicm
b2e791b574
Don't allow multiple buffers with the same name, from Thomas Adam.
2014-05-13 22:54:18 +00:00
nicm
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
nicm
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
nicm
252a7373d6
Support UTF-8 with choose-buffer, from Kosuke ASAMI. Also make
...
buffer_sample bigger to let it trim at window right edge.
2014-04-02 18:12:18 +00:00
nicm
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
nicm
6daf06b1ad
Fix memory leaks with paste_replace, based on changes from J Raynor.
2014-02-17 23:07:03 +00:00
Nicholas Marriott
47c097cb51
Support middle-click paste, based on a diff from Ailin Nemui.
2012-11-27 20:22:12 +00:00
Nicholas Marriott
59c760dfcd
Trivial code simplification from Tim Ruehsen.
2012-09-04 13:24:50 +00:00
Nicholas Marriott
df912e3540
xfree is not particularly helpful, remove it. From Thomas Adam.
2012-07-10 11:53:01 +00:00
Nicholas Marriott
fa6abac98d
Style: uint -> u_int and a missing else.
2011-03-28 19:44:31 +00:00
Nicholas Marriott
cc42614fa9
Change from a per-session stack of buffers to one global stack which is
...
much more convenient and also simplifies lot of code. This renders
copy-buffer useless and makes buffer-limit now a server option.
By Tiago Cunha.
2010-12-30 23:16:18 +00:00
Nicholas Marriott
ef7293379f
Add a choose-buffer command for easier use of the paste buffer stack.
2010-06-21 21:44:09 +00:00
Nicholas Marriott
15a64b805e
Massive spaces->tabs and trailing whitespace cleanup, hopefully for the last
...
time now I've configured emacs to make them displayed in really annoying
colours...
2009-12-03 22:50:09 +00:00
Nicholas Marriott
8cb410c63c
Tidy up various bits of the paste code, make the data buffer char * and add
...
comments.
2009-11-26 22:28:24 +00:00
Nicholas Marriott
c95f1d1ff9
tv member of struct paste_buffer is updated but not otherwise used, so remove
...
it.
2009-11-03 17:17:24 +00:00
Nicholas Marriott
273f1b385c
Regularise some fatal messages.
2009-09-20 14:58:12 +00:00
Nicholas Marriott
ccba613e5b
Give each paste buffer a size member instead of requiring them to be
...
zero-terminated.
2009-09-07 18:50:45 +00:00