nicm
c284ebe0ad
Rewrite the code for reading and writing files. Now, if the client is
...
not attached, the server process asks it to open the file, similar to
how works for stdin, stdout, stderr. This makes special files like
/dev/fd/X work (used by some shells). stdin, stdout and stderr and
control mode are now just special cases of the same mechanism. This will
also make it easier to use for other commands that read files such as
source-file.
2019-12-12 11:39:56 +00:00
Thomas Adam
5b2048fbb9
Merge branch 'obsd-master'
2019-12-10 16:01:25 +00:00
nicm
55eb3e4773
Make TMUX_CONF a list of files and expand leading $FOO or ~.
2019-12-10 14:22:15 +00:00
Thomas Adam
5f5f029e3b
Merge branch 'obsd-master'
2019-11-28 12:18:41 +00:00
nicm
bc5881c4d2
Long lines and spacing fixes.
2019-11-28 09:56:25 +00:00
nicm
2349b1dbef
Make a best effort to set xpixel and ypixel for each pane and add
...
formats for them.
2019-11-28 09:45:15 +00:00
nicm
067604bf8c
Store xpixel/ypixel from TIOCGWINSZ and add formats.
2019-11-28 09:05:34 +00:00
Thomas Adam
daa93b3fdc
Merge branch 'obsd-master'
2019-11-25 16:01:27 +00:00
nicm
1ebd8c1234
Add p format modifier for padding to width.
2019-11-25 15:04:15 +00:00
Thomas Adam
dbdff241b2
Merge branch 'obsd-master'
2019-11-15 12:01:27 +00:00
nicm
f3dc38dcae
Handle OSC 7 (a VTE extension) and put the result in a new format (pane_path).
2019-11-15 11:16:53 +00:00
Thomas Adam
b67fd8f472
Merge branch 'obsd-master'
2019-11-14 16:01:25 +00:00
nicm
16b7719418
Fix parsing of DA with only one argument in the response and add 65 for VT520.
2019-11-14 15:37:19 +00:00
Thomas Adam
b5de0a20d8
Merge branch 'obsd-master'
2019-10-23 10:01:27 +01:00
nicm
f7fb5df543
Use the existing code in format.c to add foramts for word and line at
...
cursor position in copy mode, from Anindya Mukherjee.
2019-10-23 07:42:05 +00:00
Thomas Adam
dd254b90d7
Merge branch 'obsd-master'
2019-09-23 18:01:24 +01:00
nicm
77deef733b
Use the correct size for new windows when window-size is latest,
...
reported by Vamsi Krishna Avula in GitHub issue 1917.
2019-09-23 15:41:11 +00:00
Thomas Adam
24ab1bc714
Merge branch 'obsd-master'
2019-09-19 12:01:30 +01:00
nicm
647887b794
Add a "latest" window-size option which tries to size windows based on
...
the most recently used client. From Tommie Gannert in GitHub issue 1869
based on earlier changes from me.
2019-09-19 09:02:30 +00:00
Thomas Adam
d346d692eb
Merge branch 'obsd-master'
2019-09-16 00:01:25 +01:00
nicm
63e07b245f
Add push-default and pop-default in styles to change the default colours
...
and attributes and use them to restore the previous behaviour of
window-status-style being the default for window-status-format in the
status line. From John Drouhard in GitHub issue 1912.
2019-09-15 21:42:57 +00:00
Thomas Adam
4fa1f961f3
Merge branch 'obsd-master'
2019-08-28 20:02:24 +01:00
nicm
df0334d3b3
The resize event was never deciding to actually resize the pane if there
...
was output in the pane faster than the timer would fire, so change how
it works to only defer the timer again if the pane was actually resized
within the last timer period. Reported by James Tai in GitHub issue
1880.
2019-08-28 07:34:32 +00:00
Thomas Adam
2db9a18362
Merge branch 'obsd-master'
2019-08-16 17:02:29 +01:00
nicm
37583f0a69
Add a flag to reverse sort in the various choose modes, from Benjamin
...
Poirier in GitHub issue 1875.
2019-08-16 11:49:12 +00:00
Thomas Adam
ed0f2831b4
Merge branch 'obsd-master'
2019-08-15 11:02:48 +01:00
nicm
0f243f0388
Add -Z flag to rotate-window, select-pane, swap-pane, switch-client to
...
preserve zoomed state. GitHub issue 1839.
2019-08-14 09:58:31 +00:00
Thomas Adam
9b3fefc435
Merge branch 'obsd-master'
2019-08-06 07:02:33 +01:00
nicm
45f4ff5485
Add support for the SD (scroll down) escape sequence, GitHub issue 1861.
2019-08-05 06:42:02 +00:00
Thomas Adam
a786a59176
Merge branch 'obsd-master'
2019-07-15 21:02:26 +01:00
nicm
6ceeceab7a
Make layout_fix_offsets take a window like layout_fix_panes.
2019-07-15 18:25:07 +00:00
Thomas Adam
9cbbdb90bf
Merge branch 'obsd-master'
2019-07-10 13:02:26 +01:00
nicm
f4d858e7a0
Add -F to refresh-client to specify flags for control clients - one flag
...
at the moment, no-output which turns off forwarding pane output. From
Thomas Adam. GitHub issue 1834.
2019-07-10 11:20:10 +00:00
Thomas Adam
98ef369b27
Merge branch 'obsd-master'
2019-07-09 17:02:26 +01:00
nicm
fc2016dbb6
Add a -H flag to send-keys to send literal keys given as hex numbers
...
(needed for control clients to send mouse sequences). Also add some
format flags for UTF-8 and SGR mouse mode. Requested by Bradley Smith in
GitHub issues 1832 and 1833.
2019-07-09 14:03:12 +00:00
Thomas Adam
3a4cf62aa9
Merge branch 'obsd-master'
2019-07-06 23:02:26 +01:00
nicm
3635b3cd6c
Correctly clear underscore colour in grid_get_cell1, also fix struct
...
grid_cell to avoid padding. Fixes increased memory use reported by Suraj
N Kurapati.
2019-07-06 20:37:29 +00:00
Thomas Adam
b9fbf02ad5
Merge branch 'obsd-master'
2019-07-01 09:02:25 +01:00
nicm
2da050413c
Add a "fill" style attribute to clear the entire format drawing area in
...
a colour, GitHub issue 1815.
2019-07-01 06:56:00 +00:00
Thomas Adam
abcd4bd246
Merge branch 'obsd-master'
2019-06-30 21:02:26 +01:00
nicm
cf30e0f935
Do not double free window if pane fails to start.
2019-06-30 19:21:53 +00:00
Thomas Adam
e483ce138f
Merge branch 'obsd-master'
2019-06-27 17:02:26 +01:00
nicm
dae2868d12
Add support for underscore colours with Setulc capability, mostly from
...
Kai Moschcau.
2019-06-27 15:17:41 +00:00
Thomas Adam
f797ac9ff6
Merge branch 'obsd-master'
2019-06-26 15:02:26 +01:00
nicm
d83f356218
Add #define for the pane status line option position numbers.
2019-06-26 13:03:47 +00:00
Thomas Adam
f8ad72b2ee
Merge branch 'obsd-master'
2019-06-20 15:02:26 +01:00
nicm
5f92f92908
Add a per-pane option set. Pane options inherit from window options (so
...
there should be no change to existing behaviour) and are set and shown
with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane
options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them
(they still work) and no longer document set-window-option and
show-window-options in favour of set-option -w and show-options -w.
2019-06-20 11:59:59 +00:00
Thomas Adam
adca856806
Merge branch 'obsd-master'
2019-06-20 11:02:28 +01:00
nicm
c1ede507d9
Add a helper function to work out option table from name.
2019-06-20 07:41:29 +00:00
Thomas Adam
ee9bc355f5
Merge branch 'obsd-master'
2019-06-18 13:02:28 +01:00
nicm
9272fe36e2
Add a cmdq_continue function rather than twiddling the flag directly.
2019-06-18 11:08:42 +00:00
Thomas Adam
5e9757b30b
Merge branch 'obsd-master'
2019-06-14 15:51:09 +01:00
nicm
3e72e98e3b
Add regular expression support for the format search, match and
...
substitute modifiers.
2019-06-13 19:46:00 +00:00
Thomas Adam
e13c1e5320
Merge branch 'obsd-master'
2019-06-07 23:02:26 +01:00
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
Thomas Adam
c91680822d
Merge branch 'obsd-master'
2019-06-05 23:02:26 +01: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
Thomas Adam
d3f0c72e20
Merge branch 'obsd-master'
2019-06-03 21:02:26 +01: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
Thomas Adam
c0116b2c5b
Merge branch 'obsd-master'
2019-05-28 09:02:26 +01: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
Thomas Adam
103e44d936
Merge branch 'obsd-master'
2019-05-26 21:02:26 +01: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
Thomas Adam
463bd8abb9
Merge branch 'obsd-master'
2019-05-25 18:41:51 +01: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
930245d7ff
Make cmd_log_argv take a printf-like format for the prefix.
2019-05-25 06:58:10 +00:00
Thomas Adam
43431e7e84
Merge branch 'obsd-master'
2019-05-23 17:02:25 +01: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
Thomas Adam
75aeb733f2
Merge branch 'obsd-master'
2019-05-23 13:02:27 +01: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
Thomas Adam
98ee93bde3
Merge branch 'obsd-master'
2019-05-20 15:02:40 +01:00
nicm
87d82170a6
Fix ordering of source-file with multiple files and add flags to load_cfg.
2019-05-20 13:23:32 +00:00
nicm
e128c7fcd8
Replace the various identical error callbacks with a single one in cmd-queue.c.
2019-05-20 11:46:06 +00:00
Thomas Adam
54da493476
Merge branch 'obsd-master'
2019-05-18 23:02:36 +01:00
nicm
82ebd98c5f
Move the single command flag (CMD_CONTROL) into the shared flags.
2019-05-18 21:14:10 +00:00
Thomas Adam
1eefbd28e8
Merge branch 'obsd-master'
2019-05-13 23:02:26 +01:00
nicm
1ee944a19d
Add support for overline (SGR 53), from Ricardo Banffy.
2019-05-13 20:10:23 +00:00
Thomas Adam
180bbab1fc
Merge branch 'obsd-master'
2019-05-12 11:02:25 +01:00
nicm
a131655235
Add simple menus to tree, client, buffer modes.
2019-05-12 08:58:09 +00:00
Thomas Adam
677bb168a9
Merge branch 'obsd-master'
2019-05-12 09:02:28 +01:00
nicm
c91323e4d6
Remove menu_create_from_items, I thought I would use it for some later
...
work but I don't need it.
2019-05-12 07:27:08 +00:00
Thomas Adam
aa13bd4016
Merge branch 'obsd-master'
2019-05-10 22:10:38 +01:00
nicm
6dcca5fda4
Add support for simple menus usable with mouse or keyboard. New command
...
display-menu shows a menu (bound to the mouse on status line by default)
and a couple of extra formats for the default menus.
2019-05-10 18:04:06 +00:00
Thomas Adam
c5f6ea5c0d
Merge branch 'obsd-master'
2019-05-10 17:02:27 +01:00
nicm
004a9b52f0
Add a function to draw a simple menu onto a screen.
2019-05-10 14:12:47 +00:00
Thomas Adam
e5f06d2cf6
Merge branch 'obsd-master'
2019-05-09 17:02:25 +01:00
nicm
cb10bfb8ef
Save mouse buttons as well as position.
2019-05-09 14:09:32 +00:00
Thomas Adam
2e00d775e4
Merge branch 'obsd-master'
2019-05-09 15:02:26 +01:00
nicm
21d9750450
send-keys also needs to insert key commands in the right order.
2019-05-09 13:12:59 +00:00
Thomas Adam
4bc45fc95a
Merge branch 'obsd-master'
2019-05-08 21:02:25 +01:00
nicm
f9682d2e55
Add a flag to redraw only the overlay, and remove the overlay on resize.
2019-05-08 18:07:12 +00:00
Thomas Adam
b24d7d9c95
Merge branch 'obsd-master'
2019-05-07 23:02:30 +01:00
nicm
89db309e10
Move around the display-panes identify code to make it a bit more
...
generic and hide the display-panes specific bits into
cmd-display-panes.c.
2019-05-07 20:01:41 +00:00
Thomas Adam
d9767b8112
Merge branch 'obsd-master'
2019-05-07 13:02:27 +01:00
nicm
85a9c2f52b
Treat keys in identify mode (display-panes) specially and handle them
...
immediately rather than queuing them (the command can block the queue
which means they were not being seen until it finished which was too
late). Reported by denis@ and solene@, ok solene@.
2019-05-07 11:24:03 +00:00
nicm
69440d19b7
Do not use evbuffer_add_buffer because it is destructive and doesn't
...
work in newer libevent.
2019-05-07 10:25:15 +00:00
Thomas Adam
d4177e954c
Merge branch 'obsd-master'
2019-05-03 23:02:28 +01:00
nicm
9f75635596
Allow panes to be empty (no command), output can be piped to them with
...
split-window or display-message -I.
2019-05-03 20:44:24 +00:00
Thomas Adam
fff85d854e
Merge branch 'obsd-master'
2019-05-03 17:04:11 +01:00
nicm
cf6075fb29
Correct ordering when adding after an existing item.
2019-05-03 15:43:01 +00:00