summaryrefslogtreecommitdiffstats
path: root/cmd-set-option.c
AgeCommit message (Collapse)Author
2015-12-13Instead of every command resolving the target (-t or -s) itself, preparenicm
the state (client, session, winlink, pane) for it it before entering the command. Each command provides some flags that tell the prepare step what it is expecting. This is a requirement for having hooks on commands (for example, if you hook "select-window -t1:2", the hook command should to operate on window 1:2 not whatever it thinks is the current window), and should allow some other target improvements. The old cmd_find_* functions remain for the moment but that layer will be dropped later. Joint work with Thomas Adam.
2015-12-12Add key-table option to set the default key table for a session, allowsnicm
different key bindings for different sessions and a few other things.
2015-12-12Allow prefix and prefix2 to be set to None to disable (useful if younicm
would rather bind the prefix in the root table).
2015-11-20Instead of separate tables for different types of options, give eachnicm
option a scope type (server, session, window) in one table.
2015-11-18Use __unused rather than rolling our own.nicm
2015-11-12Support UTF-8 key bindings by expanding the key type from int tonicm
uint64_t and converting UTF-8 to Unicode on input and the reverse on output. (This allows key bindings, there are still omissions - the largest being that the various prompts do not accept UTF-8.)
2015-10-27Move struct options into options.c.nicm
2015-09-14Remove some extra blank lines.nicm
2015-08-29Move alerts onto events rather than checking every loop.nicm
2015-08-29Better take on reducing the name timer. Again check for name changes innicm
the main loop after events that may have changed the pane, but do so at most once every 500 millis. If the pane changed too soon, use a timer to ensure that a check happens later.
2015-08-28Revert previous; we do need a timer, until I have a better idea. Wenicm
can't do the name check every loop, because that is too expensive, and we can't make sure it only happens infrequently because we have no idea when the next change will happen.
2015-08-28We now only checking for name changes when the active pane has changed,nicm
but that can only happen when we have already been woken up by a read event, so there is no need for a timer, we can just check the changed flag on the end of that read event (we already loop over the windows to check for bells etc anyway).
2015-08-28Per-session timers for locking, and remove the global one-second timer.nicm
2015-08-28Run status update on a per-client timer at status-interval.nicm
2015-07-27Make -q suppress ambiguous option warnings too, from Cam Hutchison.nicm
2015-06-04Make unsetting a global option restore it to the default. Diff lyingnicm
around for a while, I have forgotten who suggested it :-/.
2015-04-24Convert clients list into a TAILQ.nicm
2015-04-24Allow choice options (multiple states) to be toggled between states 0nicm
and 1.
2015-04-22Change the windows array into an RB tree and fix some places where wenicm
were only looking at the first winlink for a window in a session.
2014-10-20Instead of setting up the default keys by building the key structnicm
directly with a helper function in the cmd_entry, include a table of bind-key commands and pass them through the command parser and a temporary cmd_q. As well as being smaller, this will allow default bindings to be command sequences which will probably be needed soon.
2014-09-01Various minor style and spacing nits.nicm
2014-04-17Some more long lines.nicm
2014-04-17Remove the "info" message mechanism, this was only used for about fivenicm
mostly useless and annoying messages. Change those commands to silence on success like all the others. Still accept the -q command line flag and "quiet" server option for now.
2014-04-17Extend the -q flag to set-option to suppress errors about unknownnicm
options - this will allow options to be removed more easily.
2014-02-17Don't crash when given a invalid colour, reported by Felix Rosencrantz,nicm
fix from Thomas Adam.
2014-02-14Style nit - no space between function name and bracket.nicm
2014-01-28Allow replacing each of the many sets of separate foo-{fg,bg,attr}nicm
options with a single foo-style option. For example: set -g status-fg yellow set -g status-bg red set -g status-attr blink Becomes: set -g status-style fg=yellow,bg=red,blink The -a flag to set can be used to add to rather than replace a style. So: set -g status-bg red Becomes: set -ag status-style bg=red Currently this is fully backwards compatible (all *-{fg,bg,attr} options remain) but the plan is to deprecate them over time. From Tiago Cunha.
2013-10-10Remove the barely-used and unnecessary command check() function.nicm
2013-07-05Clarify error messages when setting options, from Thomas Adam.Nicholas Marriott
2013-03-24Add a -o option to set-option to prevent setting an option already set,Nicholas Marriott
from Thiago Padilha.
2013-03-21Add user options, prefixed with @. May be set to any arbitrary string.Nicholas Marriott
2012-07-11Make command exec functions return an enum rather than -1/0/1 values andNicholas Marriott
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.
2012-07-10xfree is not particularly helpful, remove it. From Thomas Adam.Nicholas Marriott
2012-04-08Do not fire name timer when automatic-rename is off, from Tim Ruehsen aNicholas Marriott
while ago.
2012-03-17Add -q option to set-option to turn off info message, from marcel partap.Nicholas Marriott
2012-02-25Allow a single option to be specified to show-options to show just thatNicholas Marriott
option.
2012-01-21Drop the ability to have a list of keys in the prefix in favour of twoNicholas Marriott
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 :-).
2011-04-05Add a flag to cmd_find_session so that attach-session can preferNicholas Marriott
unattached sessions when choosing the most recently used (if -t is not given). Suggested by claudio@.
2011-03-29For convenience, work out what type of option is being set by nameNicholas Marriott
regardless of the -s or -w flags (these remain documented however).
2011-03-29Checking for particular options and redrawing is not necessary as weNicholas Marriott
already redraw unconditionally.
2011-03-29Update an out-of-date and inaccurate comment.Nicholas Marriott
2011-01-26Simplify the way jobs work and drop the persist type, so all jobs areNicholas Marriott
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).
2011-01-04Now that parsing is common, merge some of the small, related commandsNicholas Marriott
together to use the same code. Also add some arguments (such as -n and -p) to some commands to match existing commands.
2011-01-04argc will be 1 not 2 with no option value.Nicholas Marriott
2011-01-04Clean up and simplify tmux command argument parsing.Nicholas Marriott
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.
2011-01-01Move the user-visible parts of all options (names, types, limit, defaultNicholas Marriott
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.
2010-12-30Change from a per-session stack of buffers to one global stack which isNicholas Marriott
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.
2010-12-19Add other-pane-height and other-pane-width options, allowing the widthNicholas Marriott
or height of the smaller panes in the main-horizontal and main-vertical layouts to be set. Mostly from David Goodlad.
2010-12-06Add an option to alert (monitor) for silence (lack of activity) in aNicholas Marriott
window. From Thomas Adam.
2010-09-26Two new options:Nicholas Marriott
- 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.