| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
Add a flag to move-window to renumber the windows in a session (closing
any gaps) and add an option to do this automatically each time a window
is killed. From Thomas Adam.
|
|
|
|
|
|
| |
Add notify hooks for various events, the functions are currently empty
stubs but will be filled in for control mode later. From George Nachman.
|
|
|
|
|
|
| |
Correctly skip existing numbers when generating the name for a new
session.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
|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.
|
|
|
|
|
|
| |
Check if the index is in use and fail before creating the child process,
rather than leaving a stray child on failure.
|
|
|
|
|
| |
Er, fix next and previous session functions to actually work, part 2.
|
|
|
|
|
| |
Fix next and previous session functions to actually work.
|
|
|
|
|
|
|
|
|
| |
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@.
|
|
|
|
|
| |
As a consequence buffer-limit is now a server option.
|
|
|
|
|
|
|
|
|
|
|
| |
Store sessions in an RB tree by name rather than a list, this is tidier
and allows them to easily be shown sorted in various lists
(list-sessions/choose-sessions).
Keep a session index which is used in a couple of places internally but
make it an ever-increasing number rather than filling in gaps with new
sessions.
|
|
|
|
|
| |
Fix another stray addition that was too early. Oops.
|
|
|
|
|
| |
Undo a change to next/previous session that got mixed in prematurely.
|
|
|
|
|
|
| |
Dead sessions are never on the active sessions list, so the SESSION_DEAD
flag is effectively unused. Remove it.
|
|
|
|
|
|
|
| |
Unify the way sessions are used by callbacks - store the address and use
the reference count, then check it is still on the global sessions list
in the callback.
|
|
|
|
|
|
|
|
|
| |
Add -n and -p flags to switch-client to move to the next and previous
session (yes, it doesn't match window/pane, but so what, nor does
switch-client).
Based on a diff long ago from "edsouza".
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Having a list of winlinks->alerts for each session is stupid, just store
the alert flags directly in the winlink itself.
|
|
|
|
|
| |
Rename activity->alert in a couple of functions for consistency.
|
|
|
|
|
|
| |
Fix a couple of problems with grouped sessions reported by danh: redraw
properly and choose the correct last window after a window is killed.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Use winlink_remove() to remove old winlinks when synchronizing grouped sessions
rather than doing it manually and not adjusted the reference count. Fixes
crash seen by Dan Harnett.
|
|
|
|
|
|
|
|
|
|
| |
Change session and client activity and creation time members to have more
meaningful names.
Also, remove the code to try and update the session activity time for the
command client when a command message is received as is pointless because it
des not have a session.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Support for individual session idle time locking. May be enabled by turning off
the lock-server option (it is on by default). When this is off, each session
locks when it has been idle for the lock-after-time setting. When on, the
entire server locks when ALL sessions have been idle for their individual
lock-after-time settings.
This replaces one global-only option (lock-after-time) with another
(lock-server), but the default behaviour is usually preferable so there don't
seem to be many alternatives.
Diff/idea largely from Thomas Adam, tweaked by me.
|
|
|
|
|
| |
Regularise some fatal messages.
|
|
|
|
|
|
|
|
|
|
|
| |
==
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.
|
|
|
|
|
|
| |
Reference count clients and sessions rather than relying on a saved index for
cmd-choose-*.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using tmux as a login shell, there is currently no way to specify a shell
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.
|
|
|
|
|
|
| |
Add a base-index session option to specify the first index checked when looking
for an index for a new window.
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
clear. No functional change, getting this out of the way to make later options
changes easier.
|
|
|
|
|
|
|
|
|
| |
highlight the status line if it matches.
- To make this possible, the function cmd_find_window_search from
cmd-find-window.c had to be moved to window.c and renamed window_pane_search.
- While there use three new functions in server.c to check for bell, activity,
and content, to avoid too much nesting.
|
| |
|
|
|
|
| |
windows created in that session (like "remain-by-default" used to do). Not perfectly happy about this, but until I can think of a good way to introduce it generically (maybe a set of options in the session) this will do. Fixes SF request 2527847.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
-p arguments to split-window to specify the new window size in lines or as a percentage.
|
| |
|
| |
|
|
|
|
| |
mode-fg/mode-bg options, force -g for global on set/show/setw/showw/
|
| |
|
|
|
|
|
| |
Check for op (orig_pair) for default colours.
|
| |
|