aboutsummaryrefslogtreecommitdiff
path: root/session.c
Commit message (Collapse)AuthorAge
...
| * 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
* Alter how tmux handles the working directory to internally use file descriptorsNicholas Marriott2013-10-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 '#{pane_current_path}' The equivalent of default-path '~' is left as an exercise for the reader. 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 indexThomas Adam2013-08-20
| | | | | | | | | | | 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.
* Grouped sessions were being leaked on destroy, correctly free them.Nicholas Marriott2013-08-01
|
* Rename session idx to session id throughout and add $ prefix to targets to useNicholas Marriott2013-03-07
| | | | it, extended from a diff from George Nachman.
* Add session_set_current helper function, extracted from a diff from AaronNicholas Marriott2013-02-21
| | | | Jensen.
* Sync OpenBSD patchset 1150:Tiago Cunha2012-07-11
| | | | | xfree is not particularly helpful, remove it. From Thomas Adam.
* Sync OpenBSD patchset 1144:Tiago Cunha2012-07-11
| | | | | Clear flags across all sessions, from Thomas Adam.
* Sync OpenBSD patchset 1104:Tiago Cunha2012-05-03
| | | | | | | 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.
* Sync OpenBSD patchset 1069:Tiago Cunha2012-03-18
| | | | | | Add notify hooks for various events, the functions are currently empty stubs but will be filled in for control mode later. From George Nachman.
* Sync OpenBSD patchset 943:Tiago Cunha2011-08-21
| | | | | | Correctly skip existing numbers when generating the name for a new session.
* Expand the Id keyword. Tiago Cunha2011-07-09
|
* |PatchSet 884Nicholas Marriott2011-04-06
| | | | | | | | | | | | |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.
* Sync OpenBSD patchset 852:Tiago Cunha2011-02-15
| | | | | | Check if the index is in use and fail before creating the child process, rather than leaving a stray child on failure.
* Sync OpenBSD patchset 841:Tiago Cunha2011-01-21
| | | | | Er, fix next and previous session functions to actually work, part 2.
* Sync OpenBSD patchset 840:Tiago Cunha2011-01-21
| | | | | Fix next and previous session functions to actually work.
* Sync OpenBSD patchset 819:Tiago Cunha2011-01-03
| | | | | | | | | 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@.
* Global paste buffers instead of per-session which renders copy-buffer useless.Tiago Cunha2010-12-30
| | | | | As a consequence buffer-limit is now a server option.
* Sync OpenBSD patchset 806:Tiago Cunha2010-12-22
| | | | | | | | | | | 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.