| Commit message (Collapse) | Author | Age |
... | |
| | |
|
| | |
|
| |
| |
| |
| |
| | |
and reset SIGCHLD after fork to fix problems with some shells. From
Romain Francois.
|
| |
| |
| |
| |
| | |
modified with setenv -g) rather than with the environment tmux started
with.
|
| |
| |
| |
| | |
function.
|
| |
| |
| |
| |
| |
| |
| | |
select-pane.
Also REMOVE the up- and down-pane commands: equivalent behaviour is now
available using -t :.+ and -t :.-.
|
| | |
|
| |
| |
| |
| |
| | |
collecting all the errors, then start with the active window in more mode
displaying them.
|
| |
| |
| |
| |
| | |
time now I've configured emacs to make them displayed in really annoying
colours...
|
| |
| |
| |
| | |
the rest to reduce lint output.
|
| |
| |
| |
| |
| | |
then copy it into the status line screen. This allows UTF-8 in window names and
fixes some problems with #[] in window-status-format.
|
| | |
|
| |
| |
| |
| | |
check every loop.
|
| |
| |
| |
| |
| | |
The evbuffer API is very similar to the existing tmux buffer API so this was
remarkably painless. Not many possible ways to do it, I suppose.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This moves the client-side loops are pretty much fully over to event-based only
(tmux.c and client.c) but server-side (server.c and friends) treats libevent as
a sort of clever poll, waking up after every event to run various things.
Moving the server stuff over to bufferevents and timers and so on will come
later.
|
| | |
|
| |
| |
| |
| | |
confused.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
example:
pipe-pane 'cat >~/out'
No arguments stops outputing and closes the pipe; the -o flag toggles a pipe
and on and off (useful for key bindings).
Suggested by espie@.
|
| |
| |
| |
| |
| |
| |
| | |
three u_chars around.
As a side-effect this fixes incorrectly rejecting high cursor positions
(because it was comparing them as signed char), reported by Tom Doherty.
|
| | |
|
| |
| |
| |
| |
| |
| | |
current pane.
Suggested by sthen@ and also by someone else ages ago who I have forgotten.
|
| |
| |
| |
| |
| |
| |
| |
| | |
so on but where the linked windows are synchronized (ie creating, killing
windows and so on are mirrored between the sessions). A grouped session may be
created by passing -t to new-session.
Had this around for a while, tested by a couple of people.
|
| |
| |
| |
| |
| | |
that is part of the window is also sent to all other panes in the same
window. Suggested by several, most recently Tomasz Pajor.
|
| | |
|
| |
| |
| |
| |
| | |
forkpty do it and then alter the bits that should be changed after fork. A
little neater and more portable.
|
| |
| |
| |
| | |
default shell. Based on a diff from martynas@.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
to be used as a login shell inside tmux, so add a default-shell session option.
This sets the shell invoked as a login shell when the default-command option is
empty.
The default option value is whichever of $SHELL, getpwuid(getuid())'s pw_shell
or /bin/sh is valid first.
Based on a diff from martynas@, changed by me to be a session option rather
than a window option.
|
| |
| |
| |
| | |
for an index for a new window.
|
| |
| |
| |
| |
| | |
terminal, copy the termios(4) special characters and use them for new windows
created in the new session. Suggested by Theo.
|
| |
| |
| |
| | |
for socket path and log files, and strip it when working out the shell.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
have the server use that rather than reopening the tty. If the fd isn't given,
use the old behaviour (so no need for a version change).
This allows tmux to be used as the shell, so also change so that when working
out the command to execute if default-command is empty (the default), tmux will
try not execute itself.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
within tmux.
There is a global environment, copied from the external environment when the
server is started and each sesssion has an (initially empty) session
environment which overrides it.
New commands set-environment and show-environment manipulate or display the
environments.
A new session option, update-environment, is a space-separated list of
variables which are updated from the external environment into the session
environment every time a new session is created - the default is DISPLAY.
|
| |
| |
| |
| | |
window, if any.
|
| |
| |
| |
| | |
bother to check for a NULL return.
|
| |
| |
| |
| | |
tweak a redundant expression in window_pane_set_mode.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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!
|
| |
| |
| |
| |
| |
| |
| | |
from any sessions. In fact the implementation only affected the current
session, making it the same as unlink-window but destroying the window if it
was linked into only one session (unlinkw gives an error). Change the behaviour
to match what it documented and was originally intended.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
duplicate. Found by lint.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
simplify the search window function.
|
| |
| |
| |
| | |
mouse input for it (otherwise they are processed after respawn).
|
| |
| |
| |
| |
| |
| | |
freed and in the other const strings.
looks sane to millert, ok ray
|
|
|
|
|
|
|
| |
terminal to be switched between several different windows and programs
displayed on one terminal be detached from one terminal and moved to another.
ok deraadt pirofti
|