summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/session.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix some spacing nits.nicm2014-10-221-2/+2
|
* Merge unlink-window into kill-window.nicm2014-10-221-3/+17
|
* If multiple arguments are given to new-session, new-window,nicm2014-05-131-9/+11
| | | | | | split-window, respawn-window or respawn-pane, pass them directly to execvp() to help avoid quoting problems. One argument still goes to "sh -c" like before. Requested by many over the years. Patch from J Raynor.
* Set PATH explicitly, either from client or sessionnicm2014-04-171-8/+9
| | | | | environment. Previously it came from the session environment. From J Raynor.
* Do not permit periods in session names (colons are already banned). Fromnicm2014-01-221-3/+3
| | | | J Raynor.
* Alter how tmux handles the working directory to internally use filenicm2013-10-101-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | descriptors rather than strings. - Each session still has a current working directory. - New sessions still get their working directory from the client that created them or its attached session if any. - New windows are created by default in the session working directory. - The -c flag to new, neww, splitw allows the working directory to be overridden. - The -c flag to attach let's the session working directory be changed. - The default-path option has been removed. To get the equivalent to default-path '.', do: bind c neww -c $PWD To get the equivalent of default-path '~', do: bind c neww -c ~ This also changes the client identify protocol to be a set of messages rather than one as well as some other changes that should make it easier to make backwards-compatible protocol changes in future.
* Renumber windows: Lookup lastw via window not indexnicm2013-10-101-2/+2
| | | | | | | | | | | When calling 'movew -r' on a session to reorder the winlinks, ensure when adding back in the information for the lastw stack that we look up the winlink based on the window and not its index. Using the index doesn't make sense here because when comparing it to the old set, it will never match since the winlink has been renumbered. Bug reported by Ben Boeckel. Patch by Thomas Adam.
* Grouped sessions were being leaked on destroy, correctly free them.nicm2013-10-101-1/+2
|
* Rename session idx to session id throughout and add $ prefix to targetsnicm2013-03-251-8/+8
| | | | to use it, extended from a diff from George Nachman.
* Add session_set_current helper function, extracted from a diff fromnicm2013-03-221-24/+16
| | | | Aaron Jensen.
* xfree is not particularly helpful, remove it. From Thomas Adam.nicm2012-07-101-7/+5
|
* Clear flags across all sessions, from Thomas Adam.nicm2012-07-081-5/+5
|
* Add a flag to move-window to renumber the windows in a session (closingnicm2012-04-291-1/+47
| | | | | 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 emptynicm2012-03-171-3/+15
| | | | stubs but will be filled in for control mode later. From George Nachman.
* Correctly skip existing numbers when generating the name for a newnicm2011-08-161-5/+12
| | | | session.
* Change so that an empty session name always means the current sessionsnicm2011-04-061-1/+8
| | | | | 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,nicm2011-01-251-4/+18
| | | | rather than leaving a stray child on failure.
* Er, fix next and previous session functions to actually work, part 2.nicm2011-01-131-3/+3
|
* Fix next and previous session functions to actually work.nicm2011-01-131-13/+7
|
* Don't reset the activity timer for unattached sessions every second,nicm2011-01-011-2/+10
| | | | | | | 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 isnicm2010-12-301-4/+1
| | | | | | | 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 tidiernicm2010-12-211-64/+49
| | | | | | | | | 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.nicm2010-12-201-2/+1
|
* Undo a change to next/previous session that got mixed in prematurely.nicm2010-12-201-3/+4
|
* Dead sessions are never on the active sessions list, so the SESSION_DEADnicm2010-12-201-6/+5
| | | | flag is effectively unused. Remove it.
* Unify the way sessions are used by callbacks - store the address and usenicm2010-12-201-1/+13
| | | | | 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 previousnicm2010-09-081-1/+43
| | | | | | | 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-pathnicm2010-06-271-1/+4
| | | | | 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 storenicm2010-06-211-104/+23
| | | | the alert flags directly in the winlink itself.
* Rename activity->alert in a couple of functions for consistency.nicm2010-06-211-13/+13
|
* Fix a couple of problems with grouped sessions reported by danh: redrawnicm2009-12-221-5/+5
| | | | properly and choose the correct last window after a window is killed.
* Massive spaces->tabs and trailing whitespace cleanup, hopefully for the lastnicm2009-12-031-5/+5
| | | | | 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 */ tonicm2009-11-261-5/+5
| | | | the rest to reduce lint output.
* Use winlink_remove() to remove old winlinks when synchronizing grouped sessionsnicm2009-11-131-3/+2
| | | | | 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 morenicm2009-11-031-3/+3
| | | | | | | | 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 andnicm2009-10-101-9/+182
| | | | | | | | 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 offnicm2009-10-101-1/+3
| | | | | | | | | | | | | 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.nicm2009-09-201-2/+2
|
* Rather than constructing an entire termios struct from ttydefaults.h, just letnicm2009-09-161-3/+11
| | | | | 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 fornicm2009-09-071-2/+17
| | | | cmd-choose-*.
* When using tmux as a login shell, there is currently no way to specify a shellnicm2009-09-011-2/+8
| | | | | | | | | | | | 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 lookingnicm2009-08-131-4/+5
| | | | for an index for a new window.
* When creating a new session from the command-line where there is an externalnicm2009-08-131-4/+6
| | | | | 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 startednicm2009-08-081-7/+17
| | | | | | | | | | | | | | | 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 optionsnicm2009-07-071-2/+2
| | | | | 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 singlenicm2009-06-011-0/+378
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