Age | Commit message (Collapse) | Author |
|
Store the current working directory in the session, change the default-path
option to default to empty and make that mean that the stored session CWD is
used.
|
|
|
|
Display -t argument to new-session, from Tiago Cunha.
|
|
Use the array.h code for the causes list.
|
|
Instead of bailing out on the first configuration file error, carry on,
collecting all the errors, then start with the active window in more mode
displaying them.
|
|
Massive spaces->tabs and trailing whitespace cleanup, hopefully for the last
time now I've configured emacs to make them displayed in really annoying
colours...
|
|
Remove a couple of unused arguments where possible, and add /* ARGSUSED */ to
the rest to reduce lint output.
|
|
Get rid of the ugly CMD_CHFLAG macro and use a const string (eg "dDU") in the
command entry structs and a couple of functions to check/set the flags.
|
|
Only need to chmod +x or -x the socket when a client is created, lost or
attached, rather than every event loop.
|
|
|
|
Add "grouped sessions" which have independent name, options, current window and
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.
|
|
Use KEYC_NONE constant instead of 0 on init.
|
|
==
Rather than constructing an entire termios struct from ttydefaults.h, just let
forkpty do it and then alter the bits that should be changed after fork. A
little neater and more portable.
==
This should fix problems caused by glibc's broken ttydefaults.h file.
|
|
The default terminal size should be 80x24, not 80x25.
|
|
|
|
tmux always outputs \177 for backspace, so explicitly set VERASE to \177 for
new windows.
|
|
in there to avoid multiple inclusion issues.
Perhaps it would be better to pass NULL through to forkpty in the default
case...
|
|
Some code tidying.
|
|
comment.
|
|
VEOF and VEOL indexes for them. ICANON is set by default, so don't bother to
set VTIME and VMIN.
|
|
|
|
sys/ttydefaults.h is just a copy of the file from *BSD, taking no account of
the fact that their OWN termios.h uses entirely different indexes into the
array.
I know ttydefaults.h is not meant to be portable, but you'd think it would be
obvious to anyone that no file is better than a broken one...
|
|
|
|
Add a base-index session option to specify the first index checked when looking
for an index for a new window.
|
|
Rather than telling the client to exit in the function when creating a new
session detached, let the caller do it. Allows "tmux new -d \; attach" to work.
|
|
_POSIX_VDISABLE is defined.
|
|
When creating a new session from the command-line where there is an external
terminal, copy the termios(4) special characters and use them for new windows
created in the new session. Suggested by Theo.
|
|
Infrastructure and commands to manage the environment for processes started
within tmux.
There is a global environment, copied from the external environment when the
server is started and each session 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.
|
|
Add a terminal-overrides session option allowing individual terminfo(5) entries
to be overridden. The 88col/256col checks are now moved into the default
setting and out of the code.
Also remove a couple of old workarounds for xterm and rxvt which are no longer
necessary (tmux can emulate them if missing).
|
|
Make all messages sent between the client and server fixed size.
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.
|
|
|
|
Both of cmdclient and curclient CAN be NULL - if the command is executed from
the configuration file. In this case, attach-session can't do much, and
new-session should just assume -d.
|
|
If there is a current session, use its default path and working directory for
the initial window when creating a new session.
|
|
tmux, switching the current client to the new or requested session.
|
|
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.
|
|
|
|
clear. No functional change, getting this out of the way to make later options
changes easier.
|
|
|
|
issues - particularly, don't mix with manual pane resizing and be careful when
viewing from multiple clients; generally cycling the layout a few times will
fix most problems. Getting this in for testing while I think about how to deal
with manual mode.
Split window as normal and cycle the layouts with C-b space. Some of the
layouts will work better when swap-pane comes along.
|
|
|
|
|
|
by reading argv[0] from the process group leader of the group that owns the tty
(tcgetpgrp()). This can't be done portably so some OS-dependent code is
introduced (ugh); OpenBSD, FreeBSD and Linux are supported at the moment.
A new window flag, automatic-rename, is available: if this is set to off, the
window name is not changed. Specifying a name with the new-window, new-session
or rename-window commands will automatically set this flag to off for the
window in question. To disable it entirely set the option to off globally (setw
-g automatic-rename off).
|
|
command line.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|