Commit Graph

1305 Commits

Author SHA1 Message Date
d98d316903 Some new notifications, mainly for active pane and current window and
session:

    pane-mode-changed
    window-pane-changed
    client-session-changed
    session-window-changed

From Joshua Brot.
2017-05-04 07:16:43 +00:00
97ecb4f9d8 Merge branch 'obsd-master' 2017-05-03 08:01:14 +01:00
ca6a121e63 Add a format for the last search string in copy mode and fix the prompt
so it can work when in -I, suggested by Suraj N Kurapati.
2017-05-03 05:53:34 +00:00
99b0f48b2e Merge branch 'obsd-master' 2017-04-28 16:01:12 +01:00
c12711affd Default for xterm-keys was wrong, stop documenting it. 2017-04-28 13:39:59 +00:00
d8398af770 Merge branch 'obsd-master' 2017-04-22 08:01:54 +01:00
59ff9b8128 Typo in example. 2017-04-22 06:15:22 +00:00
48371216df Merge branch 'obsd-master' 2017-04-20 12:01:14 +01:00
0b44ad99b5 If a #() command doesn't exit, use its most recent line of output (it
must be a full line). Don't let it redraw the status line more than once
a second.

Requested by someone about 10 years ago...
2017-04-20 09:20:22 +00:00
85af9c9c9d Merge branch 'obsd-master' 2017-04-19 10:01:12 +01:00
fa6deb5866 When the data we have buffered to write to a terminal grows beyond a
reasonable amount (currently width * height * 8 bytes), discard all
output to the terminal and start trying to redraw periodically
instead. Continue with this until the amount of data we are trying to
write falls to a low level again.

This helps to prevent tmux sitting on a huge buffer of data when there
are processes with fast output running inside tmux but the outside
terminal is slow.

A new client_discarded format holds the amount of data that has been
discarded due to this mechanism.

The three variables (when to start this, when to stop, and how often to
redraw) are basically "works for me" at the moment, this is going in to
see how it goes and if it causes problems for anyone else.
2017-04-19 06:52:27 +00:00
a54309147d Merge branch 'obsd-master' 2017-04-18 18:01:17 +01:00
fb3c5efa50 Add a format for number of bytes writtent to client, useful for debugging. 2017-04-18 15:44:17 +00:00
5f662d91db Merge branch 'obsd-master'
Conflicts:
	server-client.c
	tmux.1
2017-04-06 11:10:17 +01:00
9b28200578 Give each client a name. This defaults to the tty name as before but
falls back to an alternative if the tty name is not available. This is
clearer than overloading the client ttyname member and allows us to
remove the path stored in the tty struct, it should always be the same
as the client.
2017-04-05 10:49:46 +00:00
843e605b89 Merge branch 'obsd-master' 2017-03-22 08:01:17 +00:00
df3ab87964 Add support for the strikethrough attribute (SGR 9), using the new smxx
terminfo capability. This means there are now nine attribute bits, so
anything above 0xff uses an extended cell.
2017-03-22 07:16:54 +00:00
631a89954f Merge branch 'obsd-master' 2017-02-15 10:01:17 +00:00
640d9e54b7 "status bar" -> "status line" for consistency, from Benjamin Dopplinger. 2017-02-15 08:47:55 +00:00
02e04477de Merge branch 'obsd-master'
Conflicts:
	server.c
2017-02-14 13:55:16 +00:00
d22c15107b Don't use a bufferevent for the tty, so we can keep better track of what
is being written and when.

Also a manpage typo fix from jmc@.
2017-02-10 12:59:18 +00:00
c6a3446398 Instead of numbering session groups, give them a name which may be given
to -t instead of a target session. Also allow them to contain only one
session.
2017-02-09 15:04:53 +00:00
8de4c15dfa Document refresh-client -C. 2017-02-09 14:49:00 +00:00
96ad1d7779 Merge branch 'obsd-master' 2017-02-09 14:01:18 +00:00
b7ddfb39f3 Don't lie about the default size in the man page. 2017-02-09 12:00:42 +00:00
9b1f620aa0 Merge branch 'obsd-master' 2017-02-01 12:01:18 +00:00
dd0c814779 Implement "all event" (1003) mouse mode but in a way that works. The
main issue is that if we have two panes, A with 1002 and B with 1003, we
need to set 1003 outside tmux in order to get all the mouse events, but
then we need to suppress the ones that pane A doesn't want. This is easy
in SGR mouse mode, because buttons == 3 is only used for movement events
(for other events the trailing m/M marks a release instead), but in
normal mouse mode we can't tell so easily. So for that, look at the
previous event instead - if it is drag+release as well, then the current
event is a movement event.
2017-02-01 09:55:07 +00:00
9094f01c6b Merge branch 'obsd-master' 2017-01-30 00:01:13 +00:00
b6099f31ea Add -n to break-pane. 2017-01-29 22:10:55 +00:00
21d8f77a0d Merge branch 'obsd-master' 2017-01-25 16:01:13 +00:00
0a63ab4f0f If xterm-keys is on, use xterm(1) style keys for Home and End as well as
modified keys.
2017-01-25 14:24:54 +00:00
418ab1a553 Merge branch 'obsd-master' 2017-01-24 22:01:13 +00:00
4b2821ff98 Make update-environment an array as well. 2017-01-24 20:15:32 +00:00
b77dd75b57 Convert terminal-overrides to an array option. 2017-01-24 20:05:15 +00:00
16e43d6a42 Remove some lies about terminal-overrides from tmux.1. 2017-01-24 20:01:34 +00:00
85338bb75f Add support for custom command aliases, this is an array option which
contains items of the form "alias=command". This is consulted when an
unknown command is parsed.
2017-01-24 19:53:37 +00:00
2311bbd28a Merge branch 'obsd-master' 2017-01-13 12:01:12 +00:00
95950bf668 Add -E to detach-client to exec a command to replace the client instead
of exiting it, useful if tmux wasn't exec'd itself. From Jenna Magius.
2017-01-13 10:12:12 +00:00
d87ab0cadf Merge branch 'obsd-master' 2017-01-11 18:01:13 +00:00
bf6a5c056d Add a format for terminal type. 2017-01-11 16:09:57 +00:00
1e12e1d843 Merge branch 'obsd-master' 2017-01-10 12:01:10 +00:00
e78142232f Some manpage fixes: rephrase a convoluted sentence, make the names of
some keys more standard, and use Ql instead of Dq.
2017-01-10 10:08:59 +00:00
628f3ad9f4 Merge branch 'obsd-master' 2017-01-10 10:01:11 +00:00
jmc
40fddfbdd6 avoid unneccessary markup; tweaked and ok nicm 2017-01-10 07:55:48 +00:00
2c862b04af Merge branch 'obsd-master' 2017-01-09 22:01:12 +00:00
36619607ba Add a format for the version. 2017-01-09 21:44:19 +00:00
d2d984647e Add %if/%endif for conditionals when parsing configuration files, the
argument is a format (the new == and != are useful).
2017-01-09 21:28:56 +00:00
844f2eacf4 Add simple comparisons in formats: #{==:a,b} and #{!=:a,b} ("a" and "b"
are expanded so can compare formats). And expand the condition to
#{?a,b,c} (the "a" part) if it doesn't work as a simple lookup.

Also add FORMAT_NOJOBS flag to disable jobs in a format.
2017-01-09 21:03:25 +00:00
95f5d406e5 Merge branch 'obsd-master' 2017-01-09 20:01:12 +00:00
5330a2a85d Run the source-file pattern through glob(3). 2017-01-09 19:27:00 +00:00