efa06643b0
Remove previous.
2013-03-25 10:03:00 +00:00
14fad6a5cc
Add -A flag to new-session to make it behave like attach-session if the
...
session exists. If -A is used, -D behaves like -d to attach-session.
2013-03-24 09:58:40 +00:00
c71844de63
Add resize-pane -Z to temporary zoom the active pane to occupy the full
...
window or unzoom (restored to the normal layout) if it already zoomed,
bound to C-b z by default. The pane is unzoomed on pretty much any
excuse whatsoever.
We considered making this a new layout but the requirements are quite
different from layouts so decided it is better as a special case. Each
current layout cell is saved, a temporary one-cell layout generated and
all except the active pane set to NULL.
Prompted by suggestions and scripts from several. Thanks to Aaron Jensen
and Thiago Padilha for testing an earlier version.
2013-03-24 09:57:59 +00:00
a05b8c4143
Add a -o option to set-option to prevent setting an option already set,
...
from Thiago Padilha.
2013-03-24 09:55:02 +00:00
20636d956d
Add a command queue to standardize and simplify commands that call other
...
commands and allow a command to block execution of subsequent
commands. This allows run-shell and if-shell to be synchronous which has
been much requested.
Each client has a default command queue and commands are consumed one at
a time from it. A command may suspend execution from the queue by
returning CMD_RETURN_WAIT and then resume it by calling cmd_continue() -
for example run-shell does this from the callback that is fired after
the job is freed.
When the command queue becomes empty, command clients are automatically
exited (unless attaching). A callback is also fired - this is used for
nested commands in, for example, if-shell which can block execution of
the client's cmdq until a new cmdq becomes empty.
Also merge all the old error/info/print functions together and lose the
old curclient/cmdclient distinction - a cmdq is bound to one client (or
none if in the configuration file), this is a command client if
c->session is NULL otherwise an attached client.
2013-03-24 09:54:10 +00:00
66edb3392b
Expand format variables in the run-shell and if-shell shell commands,
...
from Thiago Padilha.
2013-03-24 09:33:35 +00:00
86adcd4b26
Add pane_tabs format to format_window_pane based on code from George
...
Nachman.
2013-03-24 09:29:40 +00:00
a60687f9ba
Handle focus events from the terminal, from Aaron Jensen.
2013-03-24 09:28:59 +00:00
bb8457b166
Fix error reporting for client commands by adding a flag to
...
cmd_find_client to tell it whether or not to show errors, sometimes it's
needed and sometimes not.
2013-03-24 09:27:19 +00:00
3eae71b5b2
Do pane resize ioctls once at the end of the server loop rather than
...
immediately.
2013-03-24 09:25:04 +00:00
8094e82287
Add option command-prefix which is automatically prepended to any
...
command (apart from a naked default-shell). The default is "exec ".
2013-03-24 09:21:27 +00:00
1ec4354998
Add support for focus notifications when tmux pane changes, based on
...
work by Aaron Jensen.
2013-03-24 09:18:16 +00:00
ac1fe83596
Couple of fixes pointed out by jmc.
2013-03-22 18:45:36 +00:00
c7d1849e1c
Process ^[ as meta when a partial key is found.
2013-03-22 17:02:12 +00:00
7f191c7951
Add -P and -F to new-session.
2013-03-22 17:01:15 +00:00
702ab8bab0
Add a load of miscellaneous pane formats, from George Nachman.
2013-03-22 16:03:35 +00:00
eaaeb28cda
Add session_set_current helper function, extracted from a diff from
...
Aaron Jensen.
2013-03-22 16:00:26 +00:00
295d86911e
Add -C and -J to capture pane to escape control sequences and to join
...
wrapped line, based on a diff from George Nachman.
2013-03-22 15:56:11 +00:00
c519f9a84c
evbuffer_readline returns allocated storage, don't leak it.
2013-03-22 15:55:22 +00:00
2243cfbe75
Need to set clients in context before changing their reference count.
2013-03-22 15:54:29 +00:00
d644e5143f
Fix so capture-pane/save-buffer can work in control clients, from George
...
Nachman.
2013-03-22 15:53:24 +00:00
58932295fc
Add copy-pipe mode command to copy selection and also pipe to a command.
2013-03-22 15:52:40 +00:00
8478895eeb
Add -e flag to capture-pane to include embedded ANSI SGR escape
...
sequences, from George Nachman.
2013-03-22 15:51:54 +00:00
8a6fbfa148
Don't use a target-client for stdout, just always cmdclient.
2013-03-22 15:51:15 +00:00
a1722d5c2e
Remove unnecessary initializers of cmd_ctx.
2013-03-22 15:50:42 +00:00
0ff9275ad7
load_cfg can actually use the same context now they are reference counted.
2013-03-22 15:50:13 +00:00
d1e6ce2672
Add functions to allocate and free command contexts rather than doing it
...
all on the stack.
2013-03-22 15:49:55 +00:00
0ccd84d2ef
Instead of skipping del_curterm on FreeBSD < 7, skip it on ncurses < 5.7. It
...
looks like 5.6 on Linux has the problem too. Reported by Myles Dear.
2013-03-22 15:36:45 +00:00
29613f2f31
Prevent lock on control clients, not on others.
2013-03-22 10:42:55 +00:00
8c545bbfa8
Don't try to print unterminated strings when loading configuration file.
2013-03-22 10:41:57 +00:00
f19836550b
Unbreak line wrapping.
2013-03-22 10:41:01 +00:00
79f5fe6f5b
Use tty_raw on stop, not tty_puts.
2013-03-22 10:40:22 +00:00
2f5fa4ee9d
Don't hang when clearing line in choose mode now that the cursor stays
...
at the end with wrap.
2013-03-22 10:38:33 +00:00
db66d85176
Fix double space in sessions template.
2013-03-22 10:38:13 +00:00
f0efa576e0
Add resize-pane -x and -y for absolute pane size (much requested).
2013-03-22 10:37:39 +00:00
ad5df9bc2f
Implement DECAWM (SM/RM 7) using existing MODE_WRAP flag.
2013-03-22 10:36:53 +00:00
22a2949bd2
Correctly handle UTF8 mouse option being toggled, from Egmont Koblinger.
2013-03-22 10:34:46 +00:00
67b4d5b609
Support the latest theory for mouse input, this is enabled/disabled with
...
SM/RM 1006 and is similar in style to SGR input: \033[<b;x;yM or
\033[b;x;ym. From Egmont Koblinger.
2013-03-22 10:33:50 +00:00
ad760b3bf7
Add client_session and client_last_session formats.
2013-03-22 10:32:36 +00:00
8d59b189cc
No more lint means no more ARGSUSED.
2013-03-22 10:31:22 +00:00
306a3b8d80
In terminals with XT, turn on modifyOtherKeys=1 with the escape sequence
...
and handle the most common set. Pass them through if xterm-keys is on.
2013-03-22 10:30:04 +00:00
041a911c43
Create a new context when copying instead of using the input context. The input
...
context may not exist yet.
2013-03-21 23:57:21 +00:00
10682b9e7e
Instead of loads of little screen_write_*_on and off functions which
...
just change mode flags, just have screen_write_mode_set and
screen_write_mode_clear.
2013-03-21 18:47:56 +00:00
c5504af4a6
Add various checks to turn off bits that can't work in control mode
...
(such as lock).
2013-03-21 18:47:01 +00:00
49ac5b5fe0
Do not include status line in size calculations in control mode.
2013-03-21 18:46:12 +00:00
d4785fe798
Don't set key KEYC_NONE on xterm_keys_find match()
...
When calling xterm_keys_find(); if we get a complete match, don't set
the key to unknown before calling the action to complete the binding;
otherwise non-prefixed bindings will not work.
From Thomas Adam
2013-03-21 18:45:38 +00:00
3d24c75d0f
Include the \033 in the key tree and adjust key matching for this change.
2013-03-21 18:44:47 +00:00
78543cce30
Support capture-pane -p to send to stdout.
2013-03-21 18:43:34 +00:00
55bf2ecc68
tweak previous; ok nicm
2013-03-21 17:42:36 +00:00
51ac2a3202
Fix a couple of memory leaks, from Romain Francoise.
2013-03-21 16:54:37 +00:00