| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
Add a helper function to send ready message.
|
|
|
|
|
| |
Add a helper function to open the terminal for attach-/new-session.
|
|
|
|
|
|
| |
Add notify hooks for various events, the functions are currently empty
stubs but will be filled in for control mode later. From George Nachman.
|
|
|
|
|
|
| |
Move window name changes into wrapper function window_set_name, from
George Nachman.
|
|
|
|
|
| |
For initial session, use size of command client even if detached.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
|Date: 2011/04/06 22:51:31
|Author: nicm
|Branch: HEAD
|Tag: (none)
|Log:
|Change so that an empty session name always means the current sessions
|even if given with, for example, -t '', and explicitly forbid empty
|session names and those containing a : when they are created.
|
|
|
|
|
|
|
|
|
|
|
|
| |
|Date: 2011/04/05 20:37:01
|Author: nicm
|Branch: HEAD
|Tag: (none)
|Log:
|Add a flag to cmd_find_session so that attach-session can prefer
|unattached sessions when choosing the most recently used (if -t is not
|given). Suggested by claudio@.
|
|
|
|
|
| |
Don't require -d with -x or -y since it could be in the config file.
|
|
|
|
|
|
| |
Support -x and -y for new-session to specify the initial size of the
window if created detached with -d.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clean up and simplify tmux command argument parsing.
Originally, tmux commands were parsed in the client process into a
struct with the command data which was then serialised and sent to the
server to be executed. The parsing was later moved into the server (an
argv was sent from the client), but the parse step and intermediate
struct was kept.
This change removes that struct and the separate parse step. Argument
parsing and printing is now common to all commands (in arguments.c) with
each command left with just an optional check function (to validate the
arguments at parse time), the exec function and a function to set up any
key bindings (renamed from the old init function).
This is overall more simple and consistent.
There should be no changes to any commands behaviour or syntax although
as this touches every command please watch for any unexpected changes.
|
|
|
|
|
|
|
|
|
| |
Don't reset the activity timer for unattached sessions every second,
this screws up the choice of most-recently-used. Instead, break the time
update into a little function and do it when the session is attached.
Pointed out by joshe@.
|
|
|
|
|
| |
Use pointer rather than index for the client's last session.
|
|
|
|
|
| |
a key binding (L) to move a client back to its last session.
|
|
|
|
|
|
|
| |
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.
|
| |
|