Commit Graph

823 Commits

Author SHA1 Message Date
e1799ed7c8 Merge branch 'obsd-master' 2020-04-18 10:01:31 +01:00
b0a37e7514 Bring back previons fix to only redraw panes that need it after a redraw
is deferred, but clear the pane flags when they are actually redrawn
rather than every time.
2020-04-18 07:32:53 +00:00
349617a818 Merge branch 'obsd-master' 2020-04-18 08:01:37 +01:00
baf1fca273 Only update mode when actually going to redraw something. 2020-04-18 06:52:36 +00:00
1d2bd864f2 Add a flag to protect against nested syncs and add some extra logging to
redrawing.
2020-04-18 06:20:50 +00:00
d94bdf7420 Revert previous, there is still a problem. 2020-04-18 06:15:07 +00:00
5289d4ed13 When a redraw is deferred because the terminal hasn't finished reading
the data from the last one, other panes could update while waiting, so
we set the flag to redraw them all when the new redraw actually
happened. But this means a lot of redrawing panes unnecessarily if they
haven't changed - so instead set a flag to say "at least one pane needs
to be redrawed" then look at the invidual pane flags to see which ones
need it.
2020-04-18 06:10:15 +00:00
87d79e6d36 Merge branch 'obsd-master' 2020-04-18 00:01:30 +01:00
a7a9460d27 Set mode properly before and after redrawing, and don't bother
calculating cursor position if it won't be used.
2020-04-17 22:16:28 +00:00
5e38d26257 Merge branch 'obsd-master' 2020-04-16 16:01:35 +01:00
5ec80bd249 Move the UTF-8 flag to terminal flags. 2020-04-16 14:25:35 +00:00
acc00cd13a Merge branch 'obsd-master' 2020-04-13 18:01:43 +01:00
3f86d6d460 When adding a list of commands to the queue, instead of automatically
creating a new state for each group of commands, require the caller to
create one and use it for all the commands in the list. This means the
current target works even with list with multiple groups (which can
happen if they are defined with newlines).
2020-04-13 15:55:51 +00:00
adb76fd1ce Move cmdq_state into cmd-queue.c. 2020-04-13 14:46:04 +00:00
8f2b5d714a Merge branch 'obsd-master' 2020-04-13 14:01:45 +01:00
04cdd03525 Also move cmdq_item and cmdq_list into cmd-queue.c (this is to make its
use more clearly defined and preparation for some future work).
2020-04-13 10:59:58 +00:00
52e3d960e7 Merge branch 'obsd-master' 2020-04-09 16:01:45 +01:00
b96ac80901 Some unnecessary assignments and unused variables. 2020-04-09 13:52:31 +00:00
916c3787d7 Merge branch 'obsd-master' 2020-04-09 14:01:32 +01:00
0e8710f507 Wait until the initial command sequence is done before sending a device
attributes request and other bits that prompt a reply from the terminal.
This means that stray relies are not left on the terminal if the command
has attached and then immediately detached and tmux will not be around
to receive them. Prompted by a problem report from espie@.
2020-04-09 12:16:16 +00:00
7e6db00dd2 Merge branch 'obsd-master' 2020-04-01 14:01:25 +01:00
05a15215c5 Do not ignore triple-click and send to pane. 2020-04-01 11:47:44 +00:00
dfd29977e0 Merge branch 'obsd-master' 2020-03-31 20:01:34 +01:00
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
0bb1a50b88 Merge branch 'obsd-master' 2020-03-31 16:01:29 +01:00
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
c9cd8f9b5d Merge branch 'obsd-master' 2020-03-31 10:01:29 +01:00
3bbd66c013 Move alternate screen into the screen rather than the pane. 2020-03-31 07:00:34 +00:00
8a57d14f4b Merge branch 'obsd-master' 2020-03-26 11:11:37 +00:00
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
0610f66fa9 Merge branch 'obsd-master' 2020-03-17 12:01:28 +00:00
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
f584fe1b00 Merge branch 'obsd-master' 2020-03-16 08:01:27 +00:00
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
6385bd1e08 Merge branch 'obsd-master' 2020-03-12 14:01:29 +00:00
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
ba542e42b7 Merge branch 'obsd-master' 2020-02-19 16:01:27 +00:00
b20753f2a3 A few fixes to make modifier keys and dragging work - need to remove the
modifiers before checking for the dragging marker key, and apply them
before looking up the end key. Also fix key-to-string with modifiers for
special keys.
2020-02-19 14:25:00 +00:00
a4d8437bc2 Merge branch 'obsd-master' 2020-02-11 08:01:30 +00:00
dc882adb2e Remove unused variables from Ben Boeckel, and a Pp from jmc. 2020-02-11 07:01:08 +00:00
7cdf5ee9bc Merge branch 'obsd-master' 2020-01-28 10:01:25 +00:00
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
52b6ca5706 Merge branch 'obsd-master' 2019-12-16 18:01:31 +00:00
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
eaa58d28dc Instead of using large buffers in imsgs, add the data or path onto the end. 2019-12-16 15:48:50 +00:00
7922f4ee7b Merge branch 'obsd-master' 2019-12-12 14:33:47 +00:00
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
875139f5fa Merge branch 'obsd-master' 2019-12-03 12:01:26 +00:00
7826d40ff9 Style nits in function arguments. 2019-12-03 10:47:22 +00:00
3bb11ec484 Revert "add missing definition"
This reverts commit 743939ec84.
2019-11-28 14:36:32 +00:00