nicm
e37f34facc
Do not load the config file if the server is exiting because it failed
...
to start, otherwise commands like lsk which start the server again can
end up looping infinitely. Also make the first client exit
correctly. Problem reported by Wael M Nasreddine.
2019-06-07 20:09:17 +00:00
nicm
8f40796f05
Add a -v flag to source-file to show the commands and line numbers.
2019-06-05 20:00:53 +00:00
nicm
09e90c1645
Need to increment the argument to skip the prefix earlier, fixes
...
repeated incremental search in copy mode, reported by Kaushal Modi in
GitHub issue 1780.
2019-06-05 19:00:36 +00:00
nicm
4ca1de1b8b
Add new-session -X and attach-session -x to send SIGHUP to parent when
...
detaching (like detach-client -P). From Colin Watson in GitHub issue
1773.
2019-06-03 18:28:37 +00:00
nicm
900238a306
yacc(1) copies its union so it is not a good place to store
...
TAILQ_HEADs. Allocate them instead. Found from a problem reported by
sthen@.
2019-06-02 07:10:15 +00:00
nicm
2c6c3a1d27
If only one of -x or -y is given, use the calculated size for the
...
other. Pointed out by Ben Boeckel.
2019-06-01 16:21:37 +00:00
nicm
39ea8a2787
Need stdlib.h, from Ben Boeckel.
2019-06-01 06:20:22 +00:00
nicm
2c5f3074bc
Fix warnings, from Ben Boeckel.
2019-05-31 21:41:17 +00:00
nicm
82e47403c6
Allow % strings that are all numbers or %s, and fix a double free. Both
...
reported by George Nachman, GitHub issues 1765 and 1766.
2019-05-31 11:34:09 +00:00
nicm
b26523c26d
Remove a leftover abort and some fixes from cppcheck.
2019-05-30 20:54:03 +00:00
nicm
8fb796b5b3
No longer need to reduce line number by one.
2019-05-30 10:04:33 +00:00
nicm
89d2c7eb26
I had hoped that non-xenl terminals had died out, at least in fairly
...
modern OSs, but no - DragonFly BSD's console returns to haunt us. Fix it
at least somewhat. GitHub issue 1763.
2019-05-30 07:42:41 +00:00
nicm
7dced37673
Use VIS_CSTYLE for the arguments and add the missing escapes it can
...
generate to the parser.
2019-05-29 20:05:14 +00:00
nicm
c17edd594e
The line number needs to be updated only after the \n is processed by
...
the parser, so store a flag and update it next time around. Also each
new line needs its own shared data.
2019-05-29 19:34:42 +00:00
nicm
a4424fbebf
Support \ooo escapes, from Avi Halachmi.
2019-05-29 10:08:36 +00:00
nicm
580cd16f4c
Redraw status line if size changes, GitHub issue 1762. Also fix length
...
of target buffer when pasting into status line.
2019-05-28 18:53:36 +00:00
nicm
4382538e4b
Do not read past the end of the argument string if it is empty.
2019-05-28 18:30:30 +00:00
nicm
299d4f3aaa
Exit 1 correctly if source-file fails.
2019-05-28 12:20:28 +00:00
nicm
0ec410689c
Allow source-file to take multiple arguments.
2019-05-28 11:46:30 +00:00
nicm
e0fd295054
Change the default right click pane to open the menu if not in a mode
...
and no application mouse.
2019-05-28 10:27:11 +00:00
nicm
99a8469ee4
Add key bindings to open the window and pane menus (C-m and M-m for now).
2019-05-28 10:05:24 +00:00
nicm
12255411f2
Allow menu items to be disabled by putting a - at the start of their
...
name, rather than just including #[dim] which still allowed them to be
chosen.
2019-05-28 09:50:54 +00:00
nicm
799a154b91
Change display-menu from taking a single string to a set of arguments,
...
which is much easier to work with. Based on a diff from Avi Halachmi.
2019-05-28 07:18:42 +00:00
nicm
90cd045cf3
Clarify newlines inside {} a little.
2019-05-27 16:22:32 +00:00
nicm
94f6488f0e
Go less crazy with horizontal separators on default menus.
2019-05-27 15:29:46 +00:00
nicm
ae3eba6e08
Fix crash when killing the current window, reported by Jesus Rafael
...
Sanchez in GitHub issue 1760.
2019-05-27 12:48:52 +00:00
nicm
6b332127ca
Add an additional {} syntax for defining strings in the configuration
...
file, making it much tidier to define commands that contain other tmux
or shell commands (like if-shell). Also tweak bind-key to expect a
string if it is only given one argument, so {} can be used with it as
well. From Avi Halachmi.
2019-05-27 12:16:27 +00:00
nicm
65e5e14561
Fix the intended ordering of items in buffer mode - it should not always
...
be tag 0 when the tree is empty. GitHub issue 1759.
2019-05-27 06:50:04 +00:00
nicm
097973e3d5
Add keys for new menu items.
2019-05-26 18:43:43 +00:00
nicm
5fef946df4
Always redraw overlay if it is on (so status line doesn't redraw over it).
2019-05-26 18:27:52 +00:00
nicm
023c2c5392
Do not accept choice unless mouse has actually moved before.
2019-05-26 18:19:52 +00:00
nicm
e90d4a6021
Add formats for word and line under the mouse and use them to add some
...
items to the pane menu.
2019-05-26 17:34:45 +00:00
nicm
6431005169
Add a way to append or prepend to a format if the length has been limited.
2019-05-26 12:02:42 +00:00
nicm
6dee409981
Some other platforms doesn't support fmemopen(3) (not unexpectedly), so
...
don't use it - since we only use getc/ungetc on the file anyway it is
easy not to.
2019-05-26 10:08:50 +00:00
nicm
a65a6d62d1
Add <, >, <=, >= for formats, GitHub issue 1747.
2019-05-25 16:51:10 +00:00
nicm
207789dc2d
Client name can actually be NULL, so use address in that case.
2019-05-25 10:46:55 +00:00
nicm
d7586d3d65
Use client name when logging command queue.
2019-05-25 10:44:09 +00:00
nicm
f8d3d247d8
Merge cmd_list_parse into cmd-parse.y so it can use the new alias
...
processing code.
2019-05-25 07:18:20 +00:00
nicm
6b0fa14470
Fix error handling in if-shell.
2019-05-25 07:15:53 +00:00
nicm
930245d7ff
Make cmd_log_argv take a printf-like format for the prefix.
2019-05-25 06:58:10 +00:00
espie
0dc8b7d5d8
unbreak build, okay nicm@
2019-05-23 21:36:42 +00:00
nicm
f3e01ecc42
Fix line numbers - commands are added after the line ends so they need to
...
get line - 1.
2019-05-23 18:39:00 +00:00
nicm
6c260af56d
Use the same argument escaping code for options as well.
2019-05-23 18:33:53 +00:00
nicm
f006116bac
Environment variables can start with { also.
2019-05-23 18:22:13 +00:00
nicm
eb8b51effc
Fix drawing of status-right when it is aligned to the centre, GitHub
...
issue 1754.
2019-05-23 14:44:33 +00:00
nicm
27bfb56ad5
Break the argument escaping code into a separate function and use it to
...
escape key bindings in list-keys. Also escape ~ and ; and $ properly.
2019-05-23 14:03:44 +00:00
nicm
3e3eb1dd0f
Don't remove group items for group 0 (no group).
2019-05-23 13:08:43 +00:00
nicm
a4fe7e81c8
Fix length calculation for pasting UTF-8 characters in the status line,
...
GitHub issue 1753.
2019-05-23 12:47:52 +00:00
nicm
723010ba72
Replace the split parser code (cfg.c and cmd-string.c) with a single
...
parser using yacc(1). This is a major change but is clearer and simpler
and allows some edge cases to be made more consistent, as well as
tidying up how aliases are handled. It will also allow some further
improvements later.
Entirely the same parser is now used for parsing the configuration file
and for string commands. This means that constructs previously only
available in .tmux.conf, such as %if, can now be used in string commands
(for example, those given to if-shell - not commands invoked from the
shell, they are still parsed by the shell itself).
The only syntax change I am aware of is that #{} outside quotes or a
comment is now considered a format and not a comment, so #{ is now a
syntax error (notably, if it is at the start of a line).
This also adds two new sections to the man page documenting the syntax
and outlining how parsing and command execution works.
Thanks to everyone who sent me test configs (they still all parse
without errors - but this doesn't mean they still work as intended!).
Thanks to Avi Halachmi for testing and man page improvements, also to
jmc@ for reviewing the man page changes.
2019-05-23 11:13:30 +00:00
nicm
5571d7a21c
Fix crash if window doesn't exist, GitHub issue 1751.
2019-05-22 18:58:31 +00:00