Thomas Adam
dfd29977e0
Merge branch 'obsd-master'
2020-03-31 20:01:34 +01:00
nicm
38f1546a66
Add a way to mark environment variables as "hidden" so they can be used
...
by tmux but are not passed into the environment of new panes.
2020-03-31 17:14:40 +00:00
nicm
cc8b41f294
Add a way to mark environment variables as "hidden" so they can be used
...
by tmux but are not passed into the environment of new panes.
2020-03-31 17:14:40 +00:00
nicm
e6d1b6770c
Add non-regex search variants to avoid the performance cost for people
...
with large histories or long lines.
2020-03-31 16:53:23 +00:00
nicm
2624edde46
Add non-regex search variants to avoid the performance cost for people
...
with large histories or long lines.
2020-03-31 16:53:23 +00:00
Thomas Adam
0bb1a50b88
Merge branch 'obsd-master'
2020-03-31 16:01:29 +01:00
nicm
01b3bb8e2c
Add a "second click" key type which is fired for the second click of a
...
double click, even if the timer hasn't expired to confirm it isn't
actually a triple click. Provides a way for people who don't care about
triple clicks or can make their commands have no side effects to avoid
the double click timer delay.
2020-03-31 11:38:35 +00:00
Thomas Adam
c9cd8f9b5d
Merge branch 'obsd-master'
2020-03-31 10:01:29 +01:00
nicm
3bbd66c013
Move alternate screen into the screen rather than the pane.
2020-03-31 07:00:34 +00:00
Thomas Adam
588865152a
Merge branch 'obsd-master'
2020-03-30 18:01:28 +01:00
nicm
1fb504d0d5
Tweak key numbers to avoid some special keys crossing over with modifier bits.
2020-03-30 16:16:48 +00:00
Thomas Adam
374f5ea60c
Merge branch 'obsd-master'
2020-03-28 14:01:28 +00:00
Thomas Adam
88ca500546
Merge branch 'obsd-master'
2020-03-28 10:01:27 +00:00
nicm
593fddf84b
Make two -E only close popup automatically if the command exited with 0.
2020-03-28 09:51:12 +00:00
nicm
4346098e97
Fix how popup height is calculated to take embedded newlines into account.
2020-03-28 09:39:44 +00:00
Thomas Adam
8a57d14f4b
Merge branch 'obsd-master'
2020-03-26 11:11:37 +00:00
nicm
8a838b0372
Add support for overlay popup boxes to show text or output temporarily
...
above the normal layout. These work similarly to menus and are created
with the display-popup command.
2020-03-24 08:09:43 +00:00
Thomas Adam
5123bb7db4
Merge branch 'obsd-master'
2020-03-21 14:01:27 +00:00
nicm
8828b958f0
Break code to convert an argument as a percentage into a common function.
2020-03-21 13:16:15 +00:00
Thomas Adam
e4efd59fe0
Merge branch 'obsd-master'
2020-03-20 20:01:34 +00:00
nicm
06c3079d66
Make the mouse_word and mouse_line formats work in copy mode and enable
...
the default pane menu in copy mode.
2020-03-20 17:59:39 +00:00
Thomas Adam
35c4897d8f
Merge branch 'obsd-master'
2020-03-19 16:01:29 +00:00
nicm
de34436d4c
Change input path so it doesn't require a pane.
2020-03-19 14:03:48 +00:00
Thomas Adam
17e4f2394a
Merge branch 'obsd-master'
2020-03-19 14:01:31 +00:00
nicm
e8273a993e
Add a flag to run a background process in a pty as well, not used for
...
anything yet.
2020-03-19 13:43:18 +00:00
Thomas Adam
0610f66fa9
Merge branch 'obsd-master'
2020-03-17 12:01:28 +00:00
nicm
115bb33257
Ignore default-shell (and use /bin/sh) if it invalid not just if it is
...
tmux itself, also refuse to set the option to something invalid in the
first place. GitHub issue 2120.
2020-03-17 11:10:12 +00:00
Thomas Adam
f584fe1b00
Merge branch 'obsd-master'
2020-03-16 08:01:27 +00:00
nicm
d162ff48f3
Send mouse down event immediately rather than waiting for double click
...
to finish which would now mean it was out of order. Reported by Mark
Kelly.
2020-03-16 06:12:42 +00:00
Thomas Adam
6385bd1e08
Merge branch 'obsd-master'
2020-03-12 14:01:29 +00:00
nicm
f7bc753442
Change how double and triple clicks works so that one or the other is
...
fired - a double click is no longer triggered on the way to a triple
click.
2020-03-12 13:16:16 +00:00
Thomas Adam
1a2e66f345
Merge branch 'obsd-master'
2020-03-12 10:01:25 +00:00
nicm
2a5702a936
When the server socket is given by the user with -S, create it with
...
umask 177 instead of 117 because it may not be in a safe directory like
the default directory in /tmp. The user can chmod it more open after it
is created if they want.
2020-03-12 09:26:34 +00:00
Thomas Adam
e512a3642a
Merge branch 'obsd-master'
...
Also add a check for -lm via AC_SEARCH_LIBS in configure.ac for
portablility fixes.
2020-03-11 17:23:38 +00:00
nicm
c820585dd0
Add some number operators for formats, from Tyler Culp.
2020-03-11 14:17:55 +00:00
Thomas Adam
19d5f4a0bd
Merge branch 'obsd-master'
2020-02-03 14:01:25 +00:00
nicm
265164d251
Instead of passing titles through vis() which doubles backslashes, just
...
ignore any containing control characters or invalid UTF-8. GitHub issue 2070.
2020-02-03 13:46:27 +00:00
Thomas Adam
7eada28f96
Merge branch 'obsd-master'
2020-01-28 14:01:25 +00:00
nicm
b905c5d455
If ALL clients are readonly, allow them to affect the size, suggested by Thomas Sattler.
2020-01-28 13:23:24 +00:00
Thomas Adam
60ab714451
Merge branch 'obsd-master'
2020-01-28 12:01:28 +00:00
nicm
a6129e9974
If we can identify the terminal as iTerm2 or as tmux, we can be sure
...
they support 256 and RGB colours, so set those flags too.
2020-01-28 11:39:51 +00:00
Thomas Adam
ee3d3db364
Merge branch 'obsd-master'
2020-01-28 11:17:08 +00:00
nicm
f165221dc4
Reduce a difference with portable tmux by adding the -V flag and
...
#{version} format; on OpenBSD these just report the OpenBSD version.
2020-01-28 10:44:30 +00:00
Thomas Adam
7cdf5ee9bc
Merge branch 'obsd-master'
2020-01-28 10:01:25 +00:00
nicm
24350879cd
Add a define for flags meaning a client is not attached, and fix
...
unattached counter, reported by Thomas Sattler.
2020-01-28 08:06:11 +00:00
Thomas Adam
f3ea318a04
Merge branch 'obsd-master'
2020-01-27 10:01:27 +00:00
nicm
d0b8d036be
Add support for adding a note to a key binding (with bind-key -N) and
...
use this to add descriptions to the default key bindings. A new -N flag
to list-keys shows key bindings with notes rather than the default
bind-key command used to create them. Change the default ? binding to
use this to show a readable summary of keys.
Also extend command-prompt to return the name of the key pressed and add
a default binding (/) to show the note for the next key pressed
Suggested by Alex Tremblay in GitHub issue 2000.
2020-01-27 08:53:13 +00:00
Thomas Adam
a01c9ffc6c
Merge branch 'obsd-master'
2020-01-13 14:01:25 +00:00
nicm
da515570dc
Stop handling DA and DSR after a second (they should be the first thing
...
sent) so this should be plenty.
2020-01-13 11:59:21 +00:00
Thomas Adam
8457f54edc
Merge branch 'obsd-master'
2020-01-13 10:01:27 +00:00
nicm
835a6c0cf0
Be more specific in the DSR we are looking for so it doesn't get
...
confused with mouse sequences. Also set a flag and don't bother checking
for it if we have already seen it (same for DA), and don't check if we
never asked for it.
2020-01-13 08:12:53 +00:00
nicm
04eee2410d
Treat plausible but invalid keys (like C-BSpace) as literal like any
...
other unrecognised string passed to send-keys. Reported by Anthony
Sottile in GitHub issue 2049.
2020-01-13 07:51:54 +00:00
Thomas Adam
e9b1294331
Merge branch 'obsd-master'
2020-01-12 22:01:26 +00:00
nicm
193e637de0
The terminal type was never as much use as I expected so remove it in
...
favour of a couple of flags for the features used (DECSLRM and DECFRA).
Also rename the flag for no xenl to be more obvious while here.
2020-01-12 21:07:07 +00:00
Thomas Adam
566ab9aa28
Merge branch 'obsd-master'
2019-12-30 22:01:25 +00:00
nicm
206d878127
Do not let readonly clients limit the size, suggested by Max Barraclough
...
in GitHub issue 2042.
2019-12-30 21:24:55 +00:00
Thomas Adam
b931bbb319
Merge branch 'obsd-master'
2019-12-26 12:01:26 +00:00
nicm
817d199cbb
Add a number of new formats to inspect what sessions and clients a
...
window is present or active in. From Tyler Culp in GitHub issue 2034.
2019-12-26 11:04:58 +00:00
Thomas Adam
745233d6a1
Merge branch 'obsd-master'
2019-12-19 10:01:26 +00:00
nicm
1764f66b7d
When adding a list with multiple commands to the queue, the next item to
...
insert after needs to be the last one added, not the first. Reported by
Jason Kim in GitHub issue 2023.
2019-12-19 09:22:33 +00:00
Thomas Adam
52b6ca5706
Merge branch 'obsd-master'
2019-12-16 18:01:31 +00:00
nicm
1bdd4828bd
If /dev/fd/X is a symlink and realpath() expands symlinks, /dev/fd/X
...
ends up pointing to the wrong place before it is passed to the client.
The path is only used internally so there is no real need for
realpath(), remove it and move the get_path function to file.c where all
the callers are.
2019-12-16 16:39:03 +00:00
nicm
eaa58d28dc
Instead of using large buffers in imsgs, add the data or path onto the end.
2019-12-16 15:48:50 +00:00
Thomas Adam
7922f4ee7b
Merge branch 'obsd-master'
2019-12-12 14:33:47 +00:00
nicm
5134666702
Change source-file to use new file code which allows it to read from
...
stdin.
2019-12-12 12:49:36 +00:00
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