aboutsummaryrefslogtreecommitdiff
path: root/cmd-set-option.c
Commit message (Collapse)AuthorAge
* Make command exec functions return an enum rather than -1/0/1 values andNicholas Marriott2012-07-11
| | | | | | add a new value to mean "leave client running but don't attach" to fix problems with using some commands in a command sequence. Most of the work by Thomas Adam, problem reported by "jspenguin" on SF bug 3535531.
* xfree is not particularly helpful, remove it. From Thomas Adam.Nicholas Marriott2012-07-10
|
* Do not fire name timer when automatic-rename is off, from Tim Ruehsen aNicholas Marriott2012-04-08
| | | | while ago.
* Add -q option to set-option to turn off info message, from marcel partap.Nicholas Marriott2012-03-17
|
* Allow a single option to be specified to show-options to show just thatNicholas Marriott2012-02-25
| | | | option.
* Drop the ability to have a list of keys in the prefix in favour of twoNicholas Marriott2012-01-21
| | | | | | | | | | separate options, prefix and prefix2. This simplifies the code and gets rid the data options type which was only used for this one option. Also add a -2 flag to send-prefix to send the secondary prefix key, fixing a cause of minor irritation. People who want three prefix keys are out of luck :-).
* Add a flag to cmd_find_session so that attach-session can preferNicholas Marriott2011-04-05
| | | | | unattached sessions when choosing the most recently used (if -t is not given). Suggested by claudio@.
* For convenience, work out what type of option is being set by nameNicholas Marriott2011-03-29
| | | | regardless of the -s or -w flags (these remain documented however).
* Checking for particular options and redrawing is not necessary as weNicholas Marriott2011-03-29
| | | | already redraw unconditionally.
* Update an out-of-date and inaccurate comment.Nicholas Marriott2011-03-29
|
* Simplify the way jobs work and drop the persist type, so all jobs areNicholas Marriott2011-01-26
| | | | | | | | | | | | | | | | | fire-and-forget. Status jobs now managed with two trees of output (new and old), rather than storing the output in the jobs themselves. When the status line is processed any jobs which don't appear in the new tree are started and the output from the old tree displayed. When a job finishes it updates the new tree with its output and that is used for any subsequent redraws. When the status interval expires, the new tree is moved to the old so that all jobs are run again. This fixes the "#(echo %H:%M:%S)" problem which would lead to thousands of identical persistent jobs and high memory use (this can still be achieved by adding "sleep 30" but that is much less likely to happen by accident).
* Now that parsing is common, merge some of the small, related commandsNicholas Marriott2011-01-04
| | | | | | | together to use the same code. Also add some arguments (such as -n and -p) to some commands to match existing commands.
* argc will be 1 not 2 with no option value.Nicholas Marriott2011-01-04
|
* Clean up and simplify tmux command argument parsing.Nicholas Marriott2011-01-04
| | | | | | | | | | | | | | | | | | | 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.
* Move the user-visible parts of all options (names, types, limit, defaultNicholas Marriott2011-01-01
| | | | | | values) together into one set of tables in options-table.c. Also clean up and simplify cmd-set-options.c and move a common print function into option-table.c.
* 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.
* Add other-pane-height and other-pane-width options, allowing the widthNicholas Marriott2010-12-19
| | | | | or height of the smaller panes in the main-horizontal and main-vertical layouts to be set. Mostly from David Goodlad.
* Add an option to alert (monitor) for silence (lack of activity) in aNicholas Marriott2010-12-06
| | | | window. From Thomas Adam.
* Two new options:Nicholas Marriott2010-09-26
| | | | | | | | | | | | - server option "exit-unattached" makes the server exit when no clients are attached, even if sessions are present; - session option "destroy-unattached" destroys a session once no clients are attached to it. These are useful for preventing tmux remaining in the background where it is undesirable and when using tmux as a login shell to keep a limit on new sessions.
* Reset running jobs when the status line is enabled or disabled as well,Nicholas Marriott2010-09-01
| | | | some people have it bound to a key.
* New option, detach-on-destroy, to set what happens to a client when the sessionNicholas Marriott2010-06-27
| | | | | it is attached to is destroyed. If on (the default), it is detached; if off, it is switched to the most recently active session.
* Colour+attribute options for status line alerts, from Alex Alexander.Nicholas Marriott2010-05-14
|
* Option to set the characters considered word separators in copy mode, fromNicholas Marriott2010-02-22
| | | | Micah Cowan.
* Add an option to disable the smcup/rmcup alternate screen behaviour insideNicholas Marriott2010-02-08
| | | | tmux. From clemens fischer.
* Option to display the active pane in a different colour with the display-panesNicholas Marriott2010-02-04
| | | | command. From Paul Hoffman, thanks.
* Options to set the colour of the pane borders, with different colours for theNicholas Marriott2010-01-03
| | | | active pane.
* New server option, escape-time, to set the timeout used to detect if escapesNicholas Marriott2009-12-14
| | | | are alone or part of a function key or meta sequence.
* Use quiet variable, and add missing sentinel to options array.Nicholas Marriott2009-12-11
|
* Add "server options" which are server-wide and not bound to a session orNicholas Marriott2009-12-10
| | | | | | | window. Set and displayed with "set -s" and "show -s". Currently the only option is "quiet" (like command-line -q, allowing it to be set from .tmux.conf), but others will come along.
* 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...
* Eliminate duplicate code and ease the passage for server-wide options by addingNicholas Marriott2009-12-03
| | | | | | | a -w flag to set-option and show-options and making setw and showw aliases to set -w and show -w. Note: setw and showw are still there, but now aliases for set -w and show -w.
* Add a per-client log of status line messages displayed while that clientNicholas Marriott2009-11-18
| | | | | | | | exists. A new message-limit session option sets the maximum number of entries and a command, show-messages, shows the log (bound to ~ by default). This (and prompt history) might be better as a single global log but until there are global options it is easier for them to be per client.
* Get rid of the ugly CMD_CHFLAG macro and use a const string (eg "dDU") in theNicholas Marriott2009-11-13
| | | | command entry structs and a couple of functions to check/set the flags.
* Add a flag for jobs that shouldn't be freed after they've died and use it forNicholas Marriott2009-11-01
| | | | | | | status jobs, then only kill those jobs when status-left, status-right or set-titles-string is changed. Fixes problems with changing options from inside #().
* Rather than running status-left, status-right and window title #() with popenNicholas Marriott2009-10-10
| | | | | | | | | | | | | | | | | immediately every redraw, queue them up and run them in the background, starting each once every status-interval. The actual status line uses the output from the last run. This brings several advantages: - tmux itself may be called from inside #() without causing the server to hang; - likewise, sleep or similar doesn't cause the server to block; - commands aren't run excessively often when redrawing; - commands shared by status-left and status-right, or used multiple times, will only be run once. run-shell and if-shell still use system()/popen() but will be changed over to use this too later.
* New option, mouse-select-pane. If on, the mouse may be used to select theNicholas Marriott2009-10-10
| | | | | | current pane. Suggested by sthen@ and also by someone else ages ago who I have forgotten.
* 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.
* Remove the internal tmux locking and instead detach each client and run theNicholas Marriott2009-09-23
| | | | | | | | | | | | | | command specified by a new option "lock-command" (by default "lock -np") in each client. This means each terminal has to be unlocked individually but simplifies the code and allows the system password to be used to unlock. Note that the set-password command is gone, so it will need to be removed from configuration files, and the -U command line flag has been removed. This is the third protocol version change so again it is best to stop the tmux server before upgrading.
* Permit multiple prefix keys to be defined, separated by commas, for example:Nicholas Marriott2009-09-22
| | | | | | | set -g prefix ^a,^b Any key in the list acts as the prefix. The send-prefix command always sends the first key in the list.
* New option, set-titles-string, to allow the window title to be specified (asNicholas Marriott2009-09-18
| | | | | for status-left/right) if set-titles is on. Also only update the title when the status line is being redrawn.
* 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 new display-panes command, with two options (display-panes-colour andNicholas Marriott2009-08-31
| | | | | display-panes-time), which displays a visual indication of the number of each pane.
* Add a base-index session option to specify the first index checked when lookingNicholas Marriott2009-08-13
| | | | for an index for a new window.
* Add flags for 1+2 and 2 arguments to the generic target code, use it forNicholas Marriott2009-08-11
| | | | | cmd-set-environment/option/window-option and remove the generic options parsing.
* 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.
* Options to set the colours and attributes for status-left/-right. From ThomasNicholas Marriott2009-08-08
| | | | Adam, thanks.
* Add a -a flag to set-option and set-window-option to append to an existingNicholas Marriott2009-08-04
| | | | string value, useful for terminal-overrides.
* Add a terminal-overrides session option allowing individual terminfo(5) entriesNicholas Marriott2009-08-03
| | | | | | | | 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.Nicholas Marriott2009-07-26
| | | | | | | | | | | | | | 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.
* Add a status-justify option to allow the window list in the status line to beNicholas Marriott2009-07-20
| | | | positioned at the left, centre, or right.