| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| |
| | |
window. From Thomas Adam.
|
| |
| |
| |
| | |
when the active window is closed and freed. Reported by sthen@.
|
| |
| |
| |
| | |
somebody whose name I have forgotten.
|
| |
| |
| |
| | |
pane is actually the one being removed.
|
| |
| |
| |
| | |
closefrom() before exec.
|
| |
| |
| |
| | |
bufferevent) before freeing the bufferevent.
|
| |
| |
| |
| |
| | |
directly instead - calling libevent functions after fork() w/o
event_reinit() is a bad idea, even if in this case it was harmless.
|
| |
| |
| |
| | |
window 5 stays in the same place), and tidy the code. From Tiago Cunha.
|
| |
| |
| |
| | |
accept an offset such as -t:+2. From Tiago Cunha.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
function. We were only ever using the client to find the session anyway.
This allows send-key to work properly for manipulating copy mode from
outside tmux.
From Micah Cowan.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
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.
|
| | |
|