| Commit message (Collapse) | Author | Age |
... | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
lumping them all together, split editing keys from those used in choice/more
mode and those for copy/scroll mode.
Tidier and clearer, and the first step towards customisable mode keys.
|
| | | |
|
| | |
| | |
| | |
| | | |
From Kalle Olavi Niemitalo.
|
| | |
| | |
| | |
| | |
| | |
| | | |
matches screen's behaviour if not its termcap/terminfo entry). The terminfo kbs
cap is often wrong or missing so it can't be used, and just assuming \177 may
be wrong.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is the first of two changes to make the protocol more resilient and less
sensitive to other changes in the code, particularly with commands. The client
now packs argv into a buffer and sends it to the server for parsing, rather
than doing it itself and sending the parsed command data.
As a side-effect this also removes a lot of now-unused command marshalling
code.
Mixing a server without this change and a client with or vice versa will cause
tmux to hang or crash, please ensure that tmux is entirely killed before
upgrading.
|
| | |
| | |
| | |
| | |
| | | |
new -n flag to bind-key and unbind-key sets or removes these bindings, and
list-key shows them in []s.
|
| | |
| | |
| | |
| | | |
error string into struct client_ctx as well.
|
| | |
| | |
| | |
| | |
| | | |
the configuration file. In this case, attach-session can't do much, and
new-session should just assume -d.
|
| | |
| | |
| | |
| | | |
bother to check for a NULL return.
|
| | |
| | |
| | |
| | | |
it into tty.c.
|
| | |
| | |
| | |
| | | |
screen was updated) out of struct screen and into struct tty_ctx.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
pointers, so remove it and use the function pointers directly to represent
themselves.
|
| | |
| | |
| | |
| | | |
by using a struct rather than hiding everything with varargs.
|
| | |
| | |
| | |
| | | |
tty_cmd_utf8character and eliminate the size argument.
|
| | |
| | |
| | |
| | | |
tweak a redundant expression in window_pane_set_mode.
|
| | |
| | |
| | |
| | | |
lint.
|
| | | |
|
| | |
| | |
| | |
| | | |
wrap flag sets/clears/tests.
|
| | |
| | |
| | |
| | | |
locked. From Tom Doherty.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Each window now has a tree of layout cells associated with it. In this tree,
each node is either a horizontal or vertical cell containing a list of other
cells running from left-to-right or top-to-bottom, or a leaf cell which is
associated with a pane.
The major functional changes are:
- panes may now be split arbitrarily both horizontally (splitw -h, C-b %) and
vertically (splitw -v, C-b ");
- panes may be resized both horizontally and vertically (resizep -L/-R/-U/-D,
bound to C-b left/right/up/down and C-b M-left/right/up/down);
- layouts are now applied and then may be modified by resizing or splitting
panes, rather than being fixed and reapplied when the window is resized or
panes are added;
- manual-vertical layout is no longer necessary, and active-only layout is gone
(but may return in future);
- the main-pane layouts now reduce the size of the main pane to fit all panes
if possible.
Thanks to all who tested.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
these are enabled (and the monitor-activity, bell-actio and monitor-content
options are configurated appropriately), when activity, a bell, or content is
detected, a message is shown.
Also tidy up the bell/activity/content code in server.c slightly and fix a
couple of errors.
|
| | |
| | |
| | |
| | | |
window instead of being an error.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
status line (bound to "i" and displays the current window and time by
default). The same substitutions are applied as for status-left/right.
- Add support for including the window index (#I), pane index (#P) and window
name (#W) in the message, and status-left or status-right.
- Bump protocol version.
From Tiago Cunha, thanks!
|
| | |
| | |
| | |
| | |
| | |
| | | |
tmux, switching the current client to the new or requested session.
Written with Josh Elsasser.
|
| | |
| | |
| | |
| | |
| | | |
called to free data, have a separate free callback and call it from the mode
cleanup code.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
still present, so add a separate prompt free callback and make the _clear
function responsible for calling it if necessary (rather than the individual
prompt callbacks). Also make both messages and prompts clear any existing when
a new is set.
In addition, the screen could be modified while the prompt is there, restore
the redraw-entire-screen behaviour on prompt clear; add a comment as a
reminder.
|
| | |
| | |
| | |
| | | |
helpful for a couple of things coming soon.
|
| | |
| | |
| | |
| | |
| | |
| | | |
annoying and it is only use for iterating, so use a sentinel to mark the end of
each array instead. Different fix for a problem pointed out by Kalle Olavi
Niemitalo.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
redraw it as to draw the entire screen, just skip all lines but the last.
This makes horizontal split redraw properly when the status line is off.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
decision for whether or not a pane should be drawn out of the layout code and
into the redraw code.
This is needed for the new layout design, getting it in now to make that easier
to work on.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
maintain and is only going to get worse as more are used. So instead, add a new
uint64_t member to cmd_entry which is a bitmask of upper and lowercase options
accepted by the command.
This means new single character options can be used without the need to add it
explicitly to the list.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- move the code back into cmd.c and merge with the existing functions where
possible;
- accept "-tttyp0" as well as "-t/dev/ttyp0" for clients;
- when looking up session names, try an exact match first, and if that fails
look for it as an fnmatch pattern and then as the start of a name - if more
that one session matches an error is given; so if there is one session called
"mysession", -tmysession, -tmysess, -tmysess* are equivalent but if there
is also "mysession2", the last two are errors;
- similarly for windows, if the argument is not a valid index or exact window
name match, try it against the window names as an fnmatch pattern and a
prefix.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
screen interactive programs to preserve the screen contents. When activated, it
saves a copy of the visible grid and disables scrolling into and resizing out
of the history; when deactivated the visible data is restored and the history
reenabled.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
non-whitespace character. ^ with vi and M-m with emacs key bindings. Another
from Kalle Olavi Niemitalo, thanks.
|
| | |
| | |
| | |
| | | |
user-specified one.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
and makes emacs happy when pasting into some modes. A new -r (raw) flag to
paste-buffer pastes without the translation.
From Kalle Olavi Niemitalo, thanks!
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
windows.
This is "screen" by default and must be either that or something closely
related. This does makes it easier to customise it if necessary.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
argument if the shell command in the first succeeds, for example:
if "[ -e ~/.tmux.conf.alt ]" "source .tmux.conf.alt"
Written by Tiago Cunha, many thanks.
|
| | |
| | |
| | |
| | | |
functions (currently don't fully work, this is to make fix easier).
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
and some people may use shells which do not support it. Instead, make an empty
default-command option mean a login shell, and fork it with a - in argv[0]
which is the method used by login(1).
Also fix the automatic-rename code to handle this correctly and to strip a
leading - if present.
|
| | |
| | |
| | |
| | |
| | | |
clear. No functional change, getting this out of the way to make later options
changes easier.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
functions found by lint.
Also move a couple of internal function declarations into file scope.
|
| | |
| | |
| | |
| | | |
duplicate. Found by lint.
|
| | |
| | |
| | |
| | | |
Also remove some old debug output which was #if 0.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
compatibility, *s are implicitly added at the start and end of the pattern.
Also display the line number and the entire line in the results, and lose the
nasty section_string function and the now empty util.c file.
Initially from Tiago Cunha.
|