aboutsummaryrefslogtreecommitdiff
path: root/session.c
Commit message (Collapse)AuthorAge
...
* Clear flags across all sessions, from Thomas Adam.Nicholas Marriott2012-07-08
|
* Add a flag to move-window to renumber the windows in a session (closingNicholas Marriott2012-04-29
| | | | | 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 emptyNicholas Marriott2012-03-17
| | | | stubs but will be filled in for control mode later. From George Nachman.
* Correctly skip existing numbers when generating the name for a newNicholas Marriott2011-08-16
| | | | session.
* Change so that an empty session name always means the current sessionsNicholas Marriott2011-04-06
| | | | | 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,Nicholas Marriott2011-01-25
| | | | rather than leaving a stray child on failure.
* Er, fix next and previous session functions to actually work, part 2.Nicholas Marriott2011-01-13
|
* Fix next and previous session functions to actually work.Nicholas Marriott2011-01-13
|
* Don't reset the activity timer for unattached sessions every second,Nicholas Marriott2011-01-01
| | | | | | | 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@.
* Change from a per-session stack of buffers to one global stack which isNicholas Marriott2010-12-30
| | | | | | | much more convenient and also simplifies lot of code. This renders copy-buffer useless and makes buffer-limit now a server option. By Tiago Cunha.
* Store sessions in an RB tree by name rather than a list, this is tidierNicholas Marriott2010-12-21
| | | | | | | | | 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.Nicholas Marriott2010-12-20
|
* Undo a change to next/previous session that got mixed in prematurely.Nicholas Marriott2010-12-20
|
* Dead sessions are never on the active sessions list, so the SESSION_DEADNicholas Marriott2010-12-20
| | | | flag is effectively unused. Remove it.
* Unify the way sessions are used by callbacks - store the address and useNicholas Marriott2010-12-20
| | | | | 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 previousNicholas Marriott2010-09-08
| | | | | | | 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-pathNicholas Marriott2010-06-27
| | | | | 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 storeNicholas Marriott2010-06-21
| | | | the alert flags directly in the winlink itself.
* Rename activity->alert in a couple of functions for consistency.Nicholas Marriott2010-06-21
|
* Fix a couple of problems with grouped sessions reported by danh: redrawNicholas Marriott2009-12-22
| | | | properly and choose the correct last window after a window is killed.
* Massive spaces->tabs and trailing whitespace cleanup, hopefully for the lastNicholas Marriott2009-12-03
| | | | | 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 */ toNicholas Marriott2009-11-26
| | | | the rest to reduce lint output.
* Use winlink_remove() to remove old winlinks when synchronizing grouped sessionsNicholas Marriott2009-11-13
| | | | | 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 moreNicholas Marriott2009-11-03
| | | | | | | | 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 andNicholas Marriott2009-10-10
| | | | | | | | 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 offNicholas Marriott2009-10-10
| | | | | | | | | | | | | 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.Nicholas Marriott2009-09-20
|
* Rather than constructing an entire termios struct from ttydefaults.h, just letNicholas Marriott2009-09-16
| | | | | forkpty do it and then alter the bits that should be changed after fork. A little neater and more portable.
* Reference count clients and sessions rather than relying on a saved index forNicholas Marriott2009-09-07
| | | | cmd-choose-*.
* When using tmux as a login shell, there is currently no way to specify a shellNicholas Marriott2009-09-01
| | | | | | | | | | | | 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 lookingNicholas Marriott2009-08-13
| | | | for an index for a new window.
* When creating a new session from the command-line where there is an externalNicholas Marriott2009-08-13
| | | | | 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 startedNicholas Marriott2009-08-08
| | | | | | | | | | | | | | | 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.
* Rename the global options variables to be shorter and to make session optionsNicholas Marriott2009-07-07
| | | | | clear. No functional change, getting this out of the way to make later options changes easier.
* Import tmux, a terminal multiplexor allowing (among other things) a singleNicholas Marriott2009-06-01
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