#
1.174 |
|
14-May-2024 |
nicm |
Revert part of the change for GitHub issue 3675 because it does not work correctly, it was intended to skip lines that are already being searched as part of a previous wrapped line but in fact is skipping all lines except the last in wrapped lines.
Also revert the search-wrapped-lines option (I didn't realize it was intended to work around this).
|
#
1.173 |
|
14-May-2024 |
nicm |
Add a command-error hook when a command fails, from Hugh Davenport in GitHub issue 3973.
|
#
1.172 |
|
14-May-2024 |
nicm |
Add an option to disable unwrapping lines for searching, from meanderingprogrammer at gmail dot com, GitHub issue 3975.
|
#
1.171 |
|
10-Apr-2024 |
nicm |
Add an option allow-set-title to forbid applications from changing the pane title, from someone in GitHub issue 3930.
|
#
1.170 |
|
21-Mar-2024 |
nicm |
Reduce escape-time default to 10 milliseconds, 500 is far too long for modern terminals and networks. Case made by Kurtis Rader in GitHub issue 3844.
|
Revision tags: OPENBSD_7_5_BASE
|
#
1.169 |
|
13-Feb-2024 |
nicm |
Add two new values for the destroy-unattached option to destroy sessions only if they are not members of sessions groups, from Mark Huang, GitHub issue 3806.
|
Revision tags: OPENBSD_7_4_BASE
|
#
1.168 |
|
01-Sep-2023 |
nicm |
Add detach-on-destroy previous and next, mostly from Alexis Hildebrandt.
|
#
1.167 |
|
15-Aug-2023 |
nicm |
Add an option menu-selected-style to configure the currently selected menu item, from Alexis Hildebrandt.
|
#
1.166 |
|
08-Aug-2023 |
nicm |
Add options and flags for menu styles similar to those existing for popups, from Alexis Hildebrandt. GitHub issue 3650.
|
Revision tags: OPENBSD_7_2_BASE OPENBSD_7_3_BASE
|
#
1.165 |
|
09-Sep-2022 |
nicm |
Add message-line option to control where message and prompt go, from Varun Kumar E in GitHub issue 3324.
|
#
1.164 |
|
02-Aug-2022 |
nicm |
Add a third state "all" to allow-passthrough to work even in invisible panes, from Sergei Grechanik in GitHub issue 3274.
|
#
1.163 |
|
14-Jun-2022 |
nicm |
kf* terminfo capabilities are poorly defined and rxvt uses them in a different way from xterm, so add a feature flag for rxvt to make tmux ignore the capabilities and instead rely on its builtin definitions.
|
Revision tags: OPENBSD_7_1_BASE
|
#
1.162 |
|
24-Mar-2022 |
nicm |
Add unit (milliseconds) to escape-time, show unset colours as "none" rather than "invalid" and don't show the same text twice for user options in customize mode.
|
#
1.161 |
|
17-Mar-2022 |
nicm |
Add an option (scroll-on-clear) to control if tmux scrolls into history on clear, from Robert Lange in GitHub issue 3121.
|
#
1.160 |
|
16-Mar-2022 |
nicm |
Add an option to set the character used for unused areas of the terminal, GitHub issue 3110.
|
#
1.159 |
|
08-Mar-2022 |
nicm |
Add remain-on-exit-format to set text shown when pane is dead.
|
#
1.158 |
|
17-Feb-2022 |
nicm |
Add a window-resized hook which is fired when the window is actually resized which may be later than the client resize, GitHub issue 2995.
|
#
1.157 |
|
15-Feb-2022 |
nicm |
Add an option (default off) to control the passthrough escape sequence. Like set-clipboard and allow-rename it is safer to forbid this by default.
|
#
1.156 |
|
01-Feb-2022 |
nicm |
Add option to show arrows for active pane indicator, GitHub issue 3022 from Marcel Partap.
|
#
1.155 |
|
13-Dec-2021 |
nicm |
Make pane-border-format a pane option, GitHub issue 2999.
|
#
1.154 |
|
03-Nov-2021 |
nicm |
Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.
|
#
1.153 |
|
01-Nov-2021 |
nicm |
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue 2959.
|
#
1.152 |
|
14-Oct-2021 |
nicm |
Add popup-border-lines option to set popup line style, from Alexis Hildebrandt, GitHub issue 2930.
|
#
1.151 |
|
13-Oct-2021 |
nicm |
Add popup-style and popup-border-style options, from Alexis Hildebrandt in GitHub issue 2927.
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.171 |
|
10-Apr-2024 |
nicm |
Add an option allow-set-title to forbid applications from changing the pane title, from someone in GitHub issue 3930.
|
#
1.170 |
|
21-Mar-2024 |
nicm |
Reduce escape-time default to 10 milliseconds, 500 is far too long for modern terminals and networks. Case made by Kurtis Rader in GitHub issue 3844.
|
Revision tags: OPENBSD_7_5_BASE
|
#
1.169 |
|
13-Feb-2024 |
nicm |
Add two new values for the destroy-unattached option to destroy sessions only if they are not members of sessions groups, from Mark Huang, GitHub issue 3806.
|
Revision tags: OPENBSD_7_4_BASE
|
#
1.168 |
|
01-Sep-2023 |
nicm |
Add detach-on-destroy previous and next, mostly from Alexis Hildebrandt.
|
#
1.167 |
|
15-Aug-2023 |
nicm |
Add an option menu-selected-style to configure the currently selected menu item, from Alexis Hildebrandt.
|
#
1.166 |
|
08-Aug-2023 |
nicm |
Add options and flags for menu styles similar to those existing for popups, from Alexis Hildebrandt. GitHub issue 3650.
|
Revision tags: OPENBSD_7_2_BASE OPENBSD_7_3_BASE
|
#
1.165 |
|
09-Sep-2022 |
nicm |
Add message-line option to control where message and prompt go, from Varun Kumar E in GitHub issue 3324.
|
#
1.164 |
|
02-Aug-2022 |
nicm |
Add a third state "all" to allow-passthrough to work even in invisible panes, from Sergei Grechanik in GitHub issue 3274.
|
#
1.163 |
|
14-Jun-2022 |
nicm |
kf* terminfo capabilities are poorly defined and rxvt uses them in a different way from xterm, so add a feature flag for rxvt to make tmux ignore the capabilities and instead rely on its builtin definitions.
|
Revision tags: OPENBSD_7_1_BASE
|
#
1.162 |
|
24-Mar-2022 |
nicm |
Add unit (milliseconds) to escape-time, show unset colours as "none" rather than "invalid" and don't show the same text twice for user options in customize mode.
|
#
1.161 |
|
17-Mar-2022 |
nicm |
Add an option (scroll-on-clear) to control if tmux scrolls into history on clear, from Robert Lange in GitHub issue 3121.
|
#
1.160 |
|
16-Mar-2022 |
nicm |
Add an option to set the character used for unused areas of the terminal, GitHub issue 3110.
|
#
1.159 |
|
08-Mar-2022 |
nicm |
Add remain-on-exit-format to set text shown when pane is dead.
|
#
1.158 |
|
17-Feb-2022 |
nicm |
Add a window-resized hook which is fired when the window is actually resized which may be later than the client resize, GitHub issue 2995.
|
#
1.157 |
|
15-Feb-2022 |
nicm |
Add an option (default off) to control the passthrough escape sequence. Like set-clipboard and allow-rename it is safer to forbid this by default.
|
#
1.156 |
|
01-Feb-2022 |
nicm |
Add option to show arrows for active pane indicator, GitHub issue 3022 from Marcel Partap.
|
#
1.155 |
|
13-Dec-2021 |
nicm |
Make pane-border-format a pane option, GitHub issue 2999.
|
#
1.154 |
|
03-Nov-2021 |
nicm |
Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.
|
#
1.153 |
|
01-Nov-2021 |
nicm |
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue 2959.
|
#
1.152 |
|
14-Oct-2021 |
nicm |
Add popup-border-lines option to set popup line style, from Alexis Hildebrandt, GitHub issue 2930.
|
#
1.151 |
|
13-Oct-2021 |
nicm |
Add popup-style and popup-border-style options, from Alexis Hildebrandt in GitHub issue 2927.
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.170 |
|
21-Mar-2024 |
nicm |
Reduce escape-time default to 10 milliseconds, 500 is far too long for modern terminals and networks. Case made by Kurtis Rader in GitHub issue 3844.
|
Revision tags: OPENBSD_7_5_BASE
|
#
1.169 |
|
13-Feb-2024 |
nicm |
Add two new values for the destroy-unattached option to destroy sessions only if they are not members of sessions groups, from Mark Huang, GitHub issue 3806.
|
Revision tags: OPENBSD_7_4_BASE
|
#
1.168 |
|
01-Sep-2023 |
nicm |
Add detach-on-destroy previous and next, mostly from Alexis Hildebrandt.
|
#
1.167 |
|
15-Aug-2023 |
nicm |
Add an option menu-selected-style to configure the currently selected menu item, from Alexis Hildebrandt.
|
#
1.166 |
|
08-Aug-2023 |
nicm |
Add options and flags for menu styles similar to those existing for popups, from Alexis Hildebrandt. GitHub issue 3650.
|
Revision tags: OPENBSD_7_2_BASE OPENBSD_7_3_BASE
|
#
1.165 |
|
09-Sep-2022 |
nicm |
Add message-line option to control where message and prompt go, from Varun Kumar E in GitHub issue 3324.
|
#
1.164 |
|
02-Aug-2022 |
nicm |
Add a third state "all" to allow-passthrough to work even in invisible panes, from Sergei Grechanik in GitHub issue 3274.
|
#
1.163 |
|
14-Jun-2022 |
nicm |
kf* terminfo capabilities are poorly defined and rxvt uses them in a different way from xterm, so add a feature flag for rxvt to make tmux ignore the capabilities and instead rely on its builtin definitions.
|
Revision tags: OPENBSD_7_1_BASE
|
#
1.162 |
|
24-Mar-2022 |
nicm |
Add unit (milliseconds) to escape-time, show unset colours as "none" rather than "invalid" and don't show the same text twice for user options in customize mode.
|
#
1.161 |
|
17-Mar-2022 |
nicm |
Add an option (scroll-on-clear) to control if tmux scrolls into history on clear, from Robert Lange in GitHub issue 3121.
|
#
1.160 |
|
16-Mar-2022 |
nicm |
Add an option to set the character used for unused areas of the terminal, GitHub issue 3110.
|
#
1.159 |
|
08-Mar-2022 |
nicm |
Add remain-on-exit-format to set text shown when pane is dead.
|
#
1.158 |
|
17-Feb-2022 |
nicm |
Add a window-resized hook which is fired when the window is actually resized which may be later than the client resize, GitHub issue 2995.
|
#
1.157 |
|
15-Feb-2022 |
nicm |
Add an option (default off) to control the passthrough escape sequence. Like set-clipboard and allow-rename it is safer to forbid this by default.
|
#
1.156 |
|
01-Feb-2022 |
nicm |
Add option to show arrows for active pane indicator, GitHub issue 3022 from Marcel Partap.
|
#
1.155 |
|
13-Dec-2021 |
nicm |
Make pane-border-format a pane option, GitHub issue 2999.
|
#
1.154 |
|
03-Nov-2021 |
nicm |
Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.
|
#
1.153 |
|
01-Nov-2021 |
nicm |
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue 2959.
|
#
1.152 |
|
14-Oct-2021 |
nicm |
Add popup-border-lines option to set popup line style, from Alexis Hildebrandt, GitHub issue 2930.
|
#
1.151 |
|
13-Oct-2021 |
nicm |
Add popup-style and popup-border-style options, from Alexis Hildebrandt in GitHub issue 2927.
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.169 |
|
13-Feb-2024 |
nicm |
Add two new values for the destroy-unattached option to destroy sessions only if they are not members of sessions groups, from Mark Huang, GitHub issue 3806.
|
Revision tags: OPENBSD_7_4_BASE
|
#
1.168 |
|
01-Sep-2023 |
nicm |
Add detach-on-destroy previous and next, mostly from Alexis Hildebrandt.
|
#
1.167 |
|
15-Aug-2023 |
nicm |
Add an option menu-selected-style to configure the currently selected menu item, from Alexis Hildebrandt.
|
#
1.166 |
|
08-Aug-2023 |
nicm |
Add options and flags for menu styles similar to those existing for popups, from Alexis Hildebrandt. GitHub issue 3650.
|
Revision tags: OPENBSD_7_2_BASE OPENBSD_7_3_BASE
|
#
1.165 |
|
09-Sep-2022 |
nicm |
Add message-line option to control where message and prompt go, from Varun Kumar E in GitHub issue 3324.
|
#
1.164 |
|
02-Aug-2022 |
nicm |
Add a third state "all" to allow-passthrough to work even in invisible panes, from Sergei Grechanik in GitHub issue 3274.
|
#
1.163 |
|
14-Jun-2022 |
nicm |
kf* terminfo capabilities are poorly defined and rxvt uses them in a different way from xterm, so add a feature flag for rxvt to make tmux ignore the capabilities and instead rely on its builtin definitions.
|
Revision tags: OPENBSD_7_1_BASE
|
#
1.162 |
|
24-Mar-2022 |
nicm |
Add unit (milliseconds) to escape-time, show unset colours as "none" rather than "invalid" and don't show the same text twice for user options in customize mode.
|
#
1.161 |
|
17-Mar-2022 |
nicm |
Add an option (scroll-on-clear) to control if tmux scrolls into history on clear, from Robert Lange in GitHub issue 3121.
|
#
1.160 |
|
16-Mar-2022 |
nicm |
Add an option to set the character used for unused areas of the terminal, GitHub issue 3110.
|
#
1.159 |
|
08-Mar-2022 |
nicm |
Add remain-on-exit-format to set text shown when pane is dead.
|
#
1.158 |
|
17-Feb-2022 |
nicm |
Add a window-resized hook which is fired when the window is actually resized which may be later than the client resize, GitHub issue 2995.
|
#
1.157 |
|
15-Feb-2022 |
nicm |
Add an option (default off) to control the passthrough escape sequence. Like set-clipboard and allow-rename it is safer to forbid this by default.
|
#
1.156 |
|
01-Feb-2022 |
nicm |
Add option to show arrows for active pane indicator, GitHub issue 3022 from Marcel Partap.
|
#
1.155 |
|
13-Dec-2021 |
nicm |
Make pane-border-format a pane option, GitHub issue 2999.
|
#
1.154 |
|
03-Nov-2021 |
nicm |
Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.
|
#
1.153 |
|
01-Nov-2021 |
nicm |
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue 2959.
|
#
1.152 |
|
14-Oct-2021 |
nicm |
Add popup-border-lines option to set popup line style, from Alexis Hildebrandt, GitHub issue 2930.
|
#
1.151 |
|
13-Oct-2021 |
nicm |
Add popup-style and popup-border-style options, from Alexis Hildebrandt in GitHub issue 2927.
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.168 |
|
01-Sep-2023 |
nicm |
Add detach-on-destroy previous and next, mostly from Alexis Hildebrandt.
|
#
1.167 |
|
15-Aug-2023 |
nicm |
Add an option menu-selected-style to configure the currently selected menu item, from Alexis Hildebrandt.
|
#
1.166 |
|
08-Aug-2023 |
nicm |
Add options and flags for menu styles similar to those existing for popups, from Alexis Hildebrandt. GitHub issue 3650.
|
Revision tags: OPENBSD_7_2_BASE OPENBSD_7_3_BASE
|
#
1.165 |
|
09-Sep-2022 |
nicm |
Add message-line option to control where message and prompt go, from Varun Kumar E in GitHub issue 3324.
|
#
1.164 |
|
02-Aug-2022 |
nicm |
Add a third state "all" to allow-passthrough to work even in invisible panes, from Sergei Grechanik in GitHub issue 3274.
|
#
1.163 |
|
14-Jun-2022 |
nicm |
kf* terminfo capabilities are poorly defined and rxvt uses them in a different way from xterm, so add a feature flag for rxvt to make tmux ignore the capabilities and instead rely on its builtin definitions.
|
Revision tags: OPENBSD_7_1_BASE
|
#
1.162 |
|
24-Mar-2022 |
nicm |
Add unit (milliseconds) to escape-time, show unset colours as "none" rather than "invalid" and don't show the same text twice for user options in customize mode.
|
#
1.161 |
|
17-Mar-2022 |
nicm |
Add an option (scroll-on-clear) to control if tmux scrolls into history on clear, from Robert Lange in GitHub issue 3121.
|
#
1.160 |
|
16-Mar-2022 |
nicm |
Add an option to set the character used for unused areas of the terminal, GitHub issue 3110.
|
#
1.159 |
|
08-Mar-2022 |
nicm |
Add remain-on-exit-format to set text shown when pane is dead.
|
#
1.158 |
|
17-Feb-2022 |
nicm |
Add a window-resized hook which is fired when the window is actually resized which may be later than the client resize, GitHub issue 2995.
|
#
1.157 |
|
15-Feb-2022 |
nicm |
Add an option (default off) to control the passthrough escape sequence. Like set-clipboard and allow-rename it is safer to forbid this by default.
|
#
1.156 |
|
01-Feb-2022 |
nicm |
Add option to show arrows for active pane indicator, GitHub issue 3022 from Marcel Partap.
|
#
1.155 |
|
13-Dec-2021 |
nicm |
Make pane-border-format a pane option, GitHub issue 2999.
|
#
1.154 |
|
03-Nov-2021 |
nicm |
Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.
|
#
1.153 |
|
01-Nov-2021 |
nicm |
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue 2959.
|
#
1.152 |
|
14-Oct-2021 |
nicm |
Add popup-border-lines option to set popup line style, from Alexis Hildebrandt, GitHub issue 2930.
|
#
1.151 |
|
13-Oct-2021 |
nicm |
Add popup-style and popup-border-style options, from Alexis Hildebrandt in GitHub issue 2927.
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.167 |
|
15-Aug-2023 |
nicm |
Add an option menu-selected-style to configure the currently selected menu item, from Alexis Hildebrandt.
|
#
1.166 |
|
08-Aug-2023 |
nicm |
Add options and flags for menu styles similar to those existing for popups, from Alexis Hildebrandt. GitHub issue 3650.
|
Revision tags: OPENBSD_7_2_BASE OPENBSD_7_3_BASE
|
#
1.165 |
|
09-Sep-2022 |
nicm |
Add message-line option to control where message and prompt go, from Varun Kumar E in GitHub issue 3324.
|
#
1.164 |
|
02-Aug-2022 |
nicm |
Add a third state "all" to allow-passthrough to work even in invisible panes, from Sergei Grechanik in GitHub issue 3274.
|
#
1.163 |
|
14-Jun-2022 |
nicm |
kf* terminfo capabilities are poorly defined and rxvt uses them in a different way from xterm, so add a feature flag for rxvt to make tmux ignore the capabilities and instead rely on its builtin definitions.
|
Revision tags: OPENBSD_7_1_BASE
|
#
1.162 |
|
24-Mar-2022 |
nicm |
Add unit (milliseconds) to escape-time, show unset colours as "none" rather than "invalid" and don't show the same text twice for user options in customize mode.
|
#
1.161 |
|
17-Mar-2022 |
nicm |
Add an option (scroll-on-clear) to control if tmux scrolls into history on clear, from Robert Lange in GitHub issue 3121.
|
#
1.160 |
|
16-Mar-2022 |
nicm |
Add an option to set the character used for unused areas of the terminal, GitHub issue 3110.
|
#
1.159 |
|
08-Mar-2022 |
nicm |
Add remain-on-exit-format to set text shown when pane is dead.
|
#
1.158 |
|
17-Feb-2022 |
nicm |
Add a window-resized hook which is fired when the window is actually resized which may be later than the client resize, GitHub issue 2995.
|
#
1.157 |
|
15-Feb-2022 |
nicm |
Add an option (default off) to control the passthrough escape sequence. Like set-clipboard and allow-rename it is safer to forbid this by default.
|
#
1.156 |
|
01-Feb-2022 |
nicm |
Add option to show arrows for active pane indicator, GitHub issue 3022 from Marcel Partap.
|
#
1.155 |
|
13-Dec-2021 |
nicm |
Make pane-border-format a pane option, GitHub issue 2999.
|
#
1.154 |
|
03-Nov-2021 |
nicm |
Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.
|
#
1.153 |
|
01-Nov-2021 |
nicm |
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue 2959.
|
#
1.152 |
|
14-Oct-2021 |
nicm |
Add popup-border-lines option to set popup line style, from Alexis Hildebrandt, GitHub issue 2930.
|
#
1.151 |
|
13-Oct-2021 |
nicm |
Add popup-style and popup-border-style options, from Alexis Hildebrandt in GitHub issue 2927.
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.166 |
|
08-Aug-2023 |
nicm |
Add options and flags for menu styles similar to those existing for popups, from Alexis Hildebrandt. GitHub issue 3650.
|
Revision tags: OPENBSD_7_2_BASE OPENBSD_7_3_BASE
|
#
1.165 |
|
09-Sep-2022 |
nicm |
Add message-line option to control where message and prompt go, from Varun Kumar E in GitHub issue 3324.
|
#
1.164 |
|
02-Aug-2022 |
nicm |
Add a third state "all" to allow-passthrough to work even in invisible panes, from Sergei Grechanik in GitHub issue 3274.
|
#
1.163 |
|
14-Jun-2022 |
nicm |
kf* terminfo capabilities are poorly defined and rxvt uses them in a different way from xterm, so add a feature flag for rxvt to make tmux ignore the capabilities and instead rely on its builtin definitions.
|
Revision tags: OPENBSD_7_1_BASE
|
#
1.162 |
|
24-Mar-2022 |
nicm |
Add unit (milliseconds) to escape-time, show unset colours as "none" rather than "invalid" and don't show the same text twice for user options in customize mode.
|
#
1.161 |
|
17-Mar-2022 |
nicm |
Add an option (scroll-on-clear) to control if tmux scrolls into history on clear, from Robert Lange in GitHub issue 3121.
|
#
1.160 |
|
16-Mar-2022 |
nicm |
Add an option to set the character used for unused areas of the terminal, GitHub issue 3110.
|
#
1.159 |
|
08-Mar-2022 |
nicm |
Add remain-on-exit-format to set text shown when pane is dead.
|
#
1.158 |
|
17-Feb-2022 |
nicm |
Add a window-resized hook which is fired when the window is actually resized which may be later than the client resize, GitHub issue 2995.
|
#
1.157 |
|
15-Feb-2022 |
nicm |
Add an option (default off) to control the passthrough escape sequence. Like set-clipboard and allow-rename it is safer to forbid this by default.
|
#
1.156 |
|
01-Feb-2022 |
nicm |
Add option to show arrows for active pane indicator, GitHub issue 3022 from Marcel Partap.
|
#
1.155 |
|
13-Dec-2021 |
nicm |
Make pane-border-format a pane option, GitHub issue 2999.
|
#
1.154 |
|
03-Nov-2021 |
nicm |
Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.
|
#
1.153 |
|
01-Nov-2021 |
nicm |
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue 2959.
|
#
1.152 |
|
14-Oct-2021 |
nicm |
Add popup-border-lines option to set popup line style, from Alexis Hildebrandt, GitHub issue 2930.
|
#
1.151 |
|
13-Oct-2021 |
nicm |
Add popup-style and popup-border-style options, from Alexis Hildebrandt in GitHub issue 2927.
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.165 |
|
09-Sep-2022 |
nicm |
Add message-line option to control where message and prompt go, from Varun Kumar E in GitHub issue 3324.
|
#
1.164 |
|
02-Aug-2022 |
nicm |
Add a third state "all" to allow-passthrough to work even in invisible panes, from Sergei Grechanik in GitHub issue 3274.
|
#
1.163 |
|
14-Jun-2022 |
nicm |
kf* terminfo capabilities are poorly defined and rxvt uses them in a different way from xterm, so add a feature flag for rxvt to make tmux ignore the capabilities and instead rely on its builtin definitions.
|
Revision tags: OPENBSD_7_1_BASE
|
#
1.162 |
|
24-Mar-2022 |
nicm |
Add unit (milliseconds) to escape-time, show unset colours as "none" rather than "invalid" and don't show the same text twice for user options in customize mode.
|
#
1.161 |
|
17-Mar-2022 |
nicm |
Add an option (scroll-on-clear) to control if tmux scrolls into history on clear, from Robert Lange in GitHub issue 3121.
|
#
1.160 |
|
16-Mar-2022 |
nicm |
Add an option to set the character used for unused areas of the terminal, GitHub issue 3110.
|
#
1.159 |
|
08-Mar-2022 |
nicm |
Add remain-on-exit-format to set text shown when pane is dead.
|
#
1.158 |
|
17-Feb-2022 |
nicm |
Add a window-resized hook which is fired when the window is actually resized which may be later than the client resize, GitHub issue 2995.
|
#
1.157 |
|
15-Feb-2022 |
nicm |
Add an option (default off) to control the passthrough escape sequence. Like set-clipboard and allow-rename it is safer to forbid this by default.
|
#
1.156 |
|
01-Feb-2022 |
nicm |
Add option to show arrows for active pane indicator, GitHub issue 3022 from Marcel Partap.
|
#
1.155 |
|
13-Dec-2021 |
nicm |
Make pane-border-format a pane option, GitHub issue 2999.
|
#
1.154 |
|
03-Nov-2021 |
nicm |
Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.
|
#
1.153 |
|
01-Nov-2021 |
nicm |
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue 2959.
|
#
1.152 |
|
14-Oct-2021 |
nicm |
Add popup-border-lines option to set popup line style, from Alexis Hildebrandt, GitHub issue 2930.
|
#
1.151 |
|
13-Oct-2021 |
nicm |
Add popup-style and popup-border-style options, from Alexis Hildebrandt in GitHub issue 2927.
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.164 |
|
02-Aug-2022 |
nicm |
Add a third state "all" to allow-passthrough to work even in invisible panes, from Sergei Grechanik in GitHub issue 3274.
|
#
1.163 |
|
14-Jun-2022 |
nicm |
kf* terminfo capabilities are poorly defined and rxvt uses them in a different way from xterm, so add a feature flag for rxvt to make tmux ignore the capabilities and instead rely on its builtin definitions.
|
Revision tags: OPENBSD_7_1_BASE
|
#
1.162 |
|
24-Mar-2022 |
nicm |
Add unit (milliseconds) to escape-time, show unset colours as "none" rather than "invalid" and don't show the same text twice for user options in customize mode.
|
#
1.161 |
|
17-Mar-2022 |
nicm |
Add an option (scroll-on-clear) to control if tmux scrolls into history on clear, from Robert Lange in GitHub issue 3121.
|
#
1.160 |
|
16-Mar-2022 |
nicm |
Add an option to set the character used for unused areas of the terminal, GitHub issue 3110.
|
#
1.159 |
|
08-Mar-2022 |
nicm |
Add remain-on-exit-format to set text shown when pane is dead.
|
#
1.158 |
|
17-Feb-2022 |
nicm |
Add a window-resized hook which is fired when the window is actually resized which may be later than the client resize, GitHub issue 2995.
|
#
1.157 |
|
15-Feb-2022 |
nicm |
Add an option (default off) to control the passthrough escape sequence. Like set-clipboard and allow-rename it is safer to forbid this by default.
|
#
1.156 |
|
01-Feb-2022 |
nicm |
Add option to show arrows for active pane indicator, GitHub issue 3022 from Marcel Partap.
|
#
1.155 |
|
13-Dec-2021 |
nicm |
Make pane-border-format a pane option, GitHub issue 2999.
|
#
1.154 |
|
03-Nov-2021 |
nicm |
Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.
|
#
1.153 |
|
01-Nov-2021 |
nicm |
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue 2959.
|
#
1.152 |
|
14-Oct-2021 |
nicm |
Add popup-border-lines option to set popup line style, from Alexis Hildebrandt, GitHub issue 2930.
|
#
1.151 |
|
13-Oct-2021 |
nicm |
Add popup-style and popup-border-style options, from Alexis Hildebrandt in GitHub issue 2927.
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.163 |
|
14-Jun-2022 |
nicm |
kf* terminfo capabilities are poorly defined and rxvt uses them in a different way from xterm, so add a feature flag for rxvt to make tmux ignore the capabilities and instead rely on its builtin definitions.
|
Revision tags: OPENBSD_7_1_BASE
|
#
1.162 |
|
24-Mar-2022 |
nicm |
Add unit (milliseconds) to escape-time, show unset colours as "none" rather than "invalid" and don't show the same text twice for user options in customize mode.
|
#
1.161 |
|
17-Mar-2022 |
nicm |
Add an option (scroll-on-clear) to control if tmux scrolls into history on clear, from Robert Lange in GitHub issue 3121.
|
#
1.160 |
|
16-Mar-2022 |
nicm |
Add an option to set the character used for unused areas of the terminal, GitHub issue 3110.
|
#
1.159 |
|
08-Mar-2022 |
nicm |
Add remain-on-exit-format to set text shown when pane is dead.
|
#
1.158 |
|
17-Feb-2022 |
nicm |
Add a window-resized hook which is fired when the window is actually resized which may be later than the client resize, GitHub issue 2995.
|
#
1.157 |
|
15-Feb-2022 |
nicm |
Add an option (default off) to control the passthrough escape sequence. Like set-clipboard and allow-rename it is safer to forbid this by default.
|
#
1.156 |
|
01-Feb-2022 |
nicm |
Add option to show arrows for active pane indicator, GitHub issue 3022 from Marcel Partap.
|
#
1.155 |
|
13-Dec-2021 |
nicm |
Make pane-border-format a pane option, GitHub issue 2999.
|
#
1.154 |
|
03-Nov-2021 |
nicm |
Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.
|
#
1.153 |
|
01-Nov-2021 |
nicm |
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue 2959.
|
#
1.152 |
|
14-Oct-2021 |
nicm |
Add popup-border-lines option to set popup line style, from Alexis Hildebrandt, GitHub issue 2930.
|
#
1.151 |
|
13-Oct-2021 |
nicm |
Add popup-style and popup-border-style options, from Alexis Hildebrandt in GitHub issue 2927.
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.162 |
|
24-Mar-2022 |
nicm |
Add unit (milliseconds) to escape-time, show unset colours as "none" rather than "invalid" and don't show the same text twice for user options in customize mode.
|
#
1.161 |
|
17-Mar-2022 |
nicm |
Add an option (scroll-on-clear) to control if tmux scrolls into history on clear, from Robert Lange in GitHub issue 3121.
|
#
1.160 |
|
16-Mar-2022 |
nicm |
Add an option to set the character used for unused areas of the terminal, GitHub issue 3110.
|
#
1.159 |
|
08-Mar-2022 |
nicm |
Add remain-on-exit-format to set text shown when pane is dead.
|
#
1.158 |
|
17-Feb-2022 |
nicm |
Add a window-resized hook which is fired when the window is actually resized which may be later than the client resize, GitHub issue 2995.
|
#
1.157 |
|
15-Feb-2022 |
nicm |
Add an option (default off) to control the passthrough escape sequence. Like set-clipboard and allow-rename it is safer to forbid this by default.
|
#
1.156 |
|
01-Feb-2022 |
nicm |
Add option to show arrows for active pane indicator, GitHub issue 3022 from Marcel Partap.
|
#
1.155 |
|
13-Dec-2021 |
nicm |
Make pane-border-format a pane option, GitHub issue 2999.
|
#
1.154 |
|
03-Nov-2021 |
nicm |
Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.
|
#
1.153 |
|
01-Nov-2021 |
nicm |
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue 2959.
|
#
1.152 |
|
14-Oct-2021 |
nicm |
Add popup-border-lines option to set popup line style, from Alexis Hildebrandt, GitHub issue 2930.
|
#
1.151 |
|
13-Oct-2021 |
nicm |
Add popup-style and popup-border-style options, from Alexis Hildebrandt in GitHub issue 2927.
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.161 |
|
17-Mar-2022 |
nicm |
Add an option (scroll-on-clear) to control if tmux scrolls into history on clear, from Robert Lange in GitHub issue 3121.
|
#
1.160 |
|
16-Mar-2022 |
nicm |
Add an option to set the character used for unused areas of the terminal, GitHub issue 3110.
|
#
1.159 |
|
08-Mar-2022 |
nicm |
Add remain-on-exit-format to set text shown when pane is dead.
|
#
1.158 |
|
17-Feb-2022 |
nicm |
Add a window-resized hook which is fired when the window is actually resized which may be later than the client resize, GitHub issue 2995.
|
#
1.157 |
|
15-Feb-2022 |
nicm |
Add an option (default off) to control the passthrough escape sequence. Like set-clipboard and allow-rename it is safer to forbid this by default.
|
#
1.156 |
|
01-Feb-2022 |
nicm |
Add option to show arrows for active pane indicator, GitHub issue 3022 from Marcel Partap.
|
#
1.155 |
|
13-Dec-2021 |
nicm |
Make pane-border-format a pane option, GitHub issue 2999.
|
#
1.154 |
|
03-Nov-2021 |
nicm |
Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.
|
#
1.153 |
|
01-Nov-2021 |
nicm |
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue 2959.
|
#
1.152 |
|
14-Oct-2021 |
nicm |
Add popup-border-lines option to set popup line style, from Alexis Hildebrandt, GitHub issue 2930.
|
#
1.151 |
|
13-Oct-2021 |
nicm |
Add popup-style and popup-border-style options, from Alexis Hildebrandt in GitHub issue 2927.
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.161 |
|
17-Mar-2022 |
nicm |
Add an option (scroll-on-clear) to control if tmux scrolls into history on clear, from Robert Lange in GitHub issue 3121.
|
#
1.160 |
|
16-Mar-2022 |
nicm |
Add an option to set the character used for unused areas of the terminal, GitHub issue 3110.
|
#
1.159 |
|
08-Mar-2022 |
nicm |
Add remain-on-exit-format to set text shown when pane is dead.
|
#
1.158 |
|
17-Feb-2022 |
nicm |
Add a window-resized hook which is fired when the window is actually resized which may be later than the client resize, GitHub issue 2995.
|
#
1.157 |
|
15-Feb-2022 |
nicm |
Add an option (default off) to control the passthrough escape sequence. Like set-clipboard and allow-rename it is safer to forbid this by default.
|
#
1.156 |
|
01-Feb-2022 |
nicm |
Add option to show arrows for active pane indicator, GitHub issue 3022 from Marcel Partap.
|
#
1.155 |
|
13-Dec-2021 |
nicm |
Make pane-border-format a pane option, GitHub issue 2999.
|
#
1.154 |
|
03-Nov-2021 |
nicm |
Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.
|
#
1.153 |
|
01-Nov-2021 |
nicm |
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue 2959.
|
#
1.152 |
|
14-Oct-2021 |
nicm |
Add popup-border-lines option to set popup line style, from Alexis Hildebrandt, GitHub issue 2930.
|
#
1.151 |
|
13-Oct-2021 |
nicm |
Add popup-style and popup-border-style options, from Alexis Hildebrandt in GitHub issue 2927.
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.159 |
|
08-Mar-2022 |
nicm |
Add remain-on-exit-format to set text shown when pane is dead.
|
#
1.158 |
|
17-Feb-2022 |
nicm |
Add a window-resized hook which is fired when the window is actually resized which may be later than the client resize, GitHub issue 2995.
|
#
1.157 |
|
15-Feb-2022 |
nicm |
Add an option (default off) to control the passthrough escape sequence. Like set-clipboard and allow-rename it is safer to forbid this by default.
|
#
1.156 |
|
01-Feb-2022 |
nicm |
Add option to show arrows for active pane indicator, GitHub issue 3022 from Marcel Partap.
|
#
1.155 |
|
13-Dec-2021 |
nicm |
Make pane-border-format a pane option, GitHub issue 2999.
|
#
1.154 |
|
03-Nov-2021 |
nicm |
Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.
|
#
1.153 |
|
01-Nov-2021 |
nicm |
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue 2959.
|
#
1.152 |
|
14-Oct-2021 |
nicm |
Add popup-border-lines option to set popup line style, from Alexis Hildebrandt, GitHub issue 2930.
|
#
1.151 |
|
13-Oct-2021 |
nicm |
Add popup-style and popup-border-style options, from Alexis Hildebrandt in GitHub issue 2927.
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.158 |
|
17-Feb-2022 |
nicm |
Add a window-resized hook which is fired when the window is actually resized which may be later than the client resize, GitHub issue 2995.
|
#
1.157 |
|
15-Feb-2022 |
nicm |
Add an option (default off) to control the passthrough escape sequence. Like set-clipboard and allow-rename it is safer to forbid this by default.
|
#
1.156 |
|
01-Feb-2022 |
nicm |
Add option to show arrows for active pane indicator, GitHub issue 3022 from Marcel Partap.
|
#
1.155 |
|
13-Dec-2021 |
nicm |
Make pane-border-format a pane option, GitHub issue 2999.
|
#
1.154 |
|
03-Nov-2021 |
nicm |
Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.
|
#
1.153 |
|
01-Nov-2021 |
nicm |
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue 2959.
|
#
1.152 |
|
14-Oct-2021 |
nicm |
Add popup-border-lines option to set popup line style, from Alexis Hildebrandt, GitHub issue 2930.
|
#
1.151 |
|
13-Oct-2021 |
nicm |
Add popup-style and popup-border-style options, from Alexis Hildebrandt in GitHub issue 2927.
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.157 |
|
15-Feb-2022 |
nicm |
Add an option (default off) to control the passthrough escape sequence. Like set-clipboard and allow-rename it is safer to forbid this by default.
|
#
1.156 |
|
01-Feb-2022 |
nicm |
Add option to show arrows for active pane indicator, GitHub issue 3022 from Marcel Partap.
|
#
1.155 |
|
13-Dec-2021 |
nicm |
Make pane-border-format a pane option, GitHub issue 2999.
|
#
1.154 |
|
03-Nov-2021 |
nicm |
Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.
|
#
1.153 |
|
01-Nov-2021 |
nicm |
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue 2959.
|
#
1.152 |
|
14-Oct-2021 |
nicm |
Add popup-border-lines option to set popup line style, from Alexis Hildebrandt, GitHub issue 2930.
|
#
1.151 |
|
13-Oct-2021 |
nicm |
Add popup-style and popup-border-style options, from Alexis Hildebrandt in GitHub issue 2927.
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.156 |
|
01-Feb-2022 |
nicm |
Add option to show arrows for active pane indicator, GitHub issue 3022 from Marcel Partap.
|
#
1.155 |
|
13-Dec-2021 |
nicm |
Make pane-border-format a pane option, GitHub issue 2999.
|
#
1.154 |
|
03-Nov-2021 |
nicm |
Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.
|
#
1.153 |
|
01-Nov-2021 |
nicm |
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue 2959.
|
#
1.152 |
|
14-Oct-2021 |
nicm |
Add popup-border-lines option to set popup line style, from Alexis Hildebrandt, GitHub issue 2930.
|
#
1.151 |
|
13-Oct-2021 |
nicm |
Add popup-style and popup-border-style options, from Alexis Hildebrandt in GitHub issue 2927.
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.155 |
|
13-Dec-2021 |
nicm |
Make pane-border-format a pane option, GitHub issue 2999.
|
#
1.154 |
|
03-Nov-2021 |
nicm |
Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.
|
#
1.153 |
|
01-Nov-2021 |
nicm |
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue 2959.
|
#
1.152 |
|
14-Oct-2021 |
nicm |
Add popup-border-lines option to set popup line style, from Alexis Hildebrandt, GitHub issue 2930.
|
#
1.151 |
|
13-Oct-2021 |
nicm |
Add popup-style and popup-border-style options, from Alexis Hildebrandt in GitHub issue 2927.
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.154 |
|
03-Nov-2021 |
nicm |
Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.
|
#
1.153 |
|
01-Nov-2021 |
nicm |
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue 2959.
|
#
1.152 |
|
14-Oct-2021 |
nicm |
Add popup-border-lines option to set popup line style, from Alexis Hildebrandt, GitHub issue 2930.
|
#
1.151 |
|
13-Oct-2021 |
nicm |
Add popup-style and popup-border-style options, from Alexis Hildebrandt in GitHub issue 2927.
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.153 |
|
01-Nov-2021 |
nicm |
Add a cursor-colour option, from Alexis Hildebrandt in GitHub issue 2959.
|
#
1.152 |
|
14-Oct-2021 |
nicm |
Add popup-border-lines option to set popup line style, from Alexis Hildebrandt, GitHub issue 2930.
|
#
1.151 |
|
13-Oct-2021 |
nicm |
Add popup-style and popup-border-style options, from Alexis Hildebrandt in GitHub issue 2927.
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.152 |
|
14-Oct-2021 |
nicm |
Add popup-border-lines option to set popup line style, from Alexis Hildebrandt, GitHub issue 2930.
|
#
1.151 |
|
13-Oct-2021 |
nicm |
Add popup-style and popup-border-style options, from Alexis Hildebrandt in GitHub issue 2927.
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.150 |
|
12-Aug-2021 |
nicm |
Now that styles can contain formats, they need to be expanded when inserted into the status line.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.149 |
|
11-Aug-2021 |
nicm |
Break the colour palette into a struct rather than just a single array and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.148 |
|
06-Aug-2021 |
nicm |
Add client focus hooks.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.147 |
|
04-Aug-2021 |
nicm |
Add a client-active hook, from ncfavier in GitHub issue 2803.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.146 |
|
28-Jul-2021 |
nicm |
Make window-linked and window-unlinked window options, GitHub issue 2790.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.145 |
|
14-Jul-2021 |
nicm |
Move default value for TERM into tmux.h.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.144 |
|
16-Jun-2021 |
nicm |
Minor fixes to option descriptions.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.143 |
|
10-Jun-2021 |
nicm |
More accurate vi(1) word navigation in copy mode and on the status line. This changes the meaning of the word-separators option - setting it to the empty string is equivalent to the previous behavior. From Will Noble in GitHub issue 2693.
|
#
1.142 |
|
10-Jun-2021 |
nicm |
Add different command historys for different types of prompts ("command", "search" etc). From Anindya Mukherjee.
|
#
1.141 |
|
10-Jun-2021 |
nicm |
Add an "always" value to the extended-keys option to always forward these keys to applications inside tmux.
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.140 |
|
11-Mar-2021 |
nicm |
Add an "absolute-centre" alignment to use the centre of the total space instead of only the available space. From Magnus Gross in GitHub issue 2578.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.139 |
|
01-Feb-2021 |
nicm |
Add a no-detached choice to detach-on-destroy which detaches only if there are no other detached sessions to switch to, from Sencer Selcuk in GitHub issue 2553.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.138 |
|
20-Jan-2021 |
nicm |
Change so that window_flags escapes # automatically which means configs will not have to change. A new format window_raw_flags contains the old unescaped version.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.137 |
|
04-Jan-2021 |
nicm |
Add a variant of remain-on-exit that only keeps the pane if the program failed, GitHub issue 2513.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.136 |
|
15-Dec-2020 |
nicm |
Make synchronize-panes a pane option and add -U flag to set-option to unset an option on all panes. GitHub issue 2491 from Rostislav Nesin.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.135 |
|
01-Dec-2020 |
nicm |
Make replacement of ##s consistent when drawing formats, whether followed by [ or not. Add a flag (e) to the q: format modifier to double up #s and use it for the window_flags format variable so it doesn't end up escaping any following text. GitHub issue 2485.
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.134 |
|
25-Aug-2020 |
nicm |
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue 2317.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.133 |
|
24-Jul-2020 |
nicm |
Add a hook when the pane title changed.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.132 |
|
22-May-2020 |
nicm |
xterm* can have focus too.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.131 |
|
16-May-2020 |
nicm |
Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
|
#
1.130 |
|
16-May-2020 |
nicm |
xterm-keys has been on by default for five years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (converting the latter to use a tree rather than a table at the same time) and make the option a no-op.
|
#
1.129 |
|
16-May-2020 |
nicm |
Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output.
|
#
1.128 |
|
16-May-2020 |
nicm |
Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
|
#
1.127 |
|
16-May-2020 |
nicm |
Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default.
|
#
1.126 |
|
16-May-2020 |
nicm |
Change message log to be per server rather than per client and include every command that is run.
|
#
1.125 |
|
16-May-2020 |
nicm |
Add 'e' key in buffer mode to open the buffer in an editor.
|
#
1.124 |
|
16-May-2020 |
nicm |
Copy mode search improvements:
- Add styles for the search marking styles (copy-mode-match-style and copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
|
#
1.123 |
|
16-May-2020 |
nicm |
Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in sync.
|
#
1.122 |
|
16-May-2020 |
nicm |
Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added.
|
#
1.121 |
|
16-May-2020 |
nicm |
Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt.
|
Revision tags: OPENBSD_6_7_BASE
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.120 |
|
22-Apr-2020 |
nicm |
Change so main-pane-width and height can be given as a percentage.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.119 |
|
21-Apr-2020 |
nicm |
xterm* needs XT also.
|
#
1.118 |
|
20-Apr-2020 |
nicm |
Tidy up the terminal detection and feature code and add named sets of terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses.
This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler to configure.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.117 |
|
17-Apr-2020 |
nicm |
Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.116 |
|
13-Apr-2020 |
nicm |
Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.115 |
|
28-Nov-2019 |
nicm |
Missing after-kill-pane option.
|
#
1.114 |
|
28-Nov-2019 |
nicm |
status-left and status-right need push-default also, reported by Eric Pruitt in GitHub issue 1989.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.113 |
|
14-Nov-2019 |
nicm |
Change window-size default from smallest to latest.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.112 |
|
14-Nov-2019 |
nicm |
Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. GitHub issue 1969.
|
Revision tags: OPENBSD_6_6_BASE
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.111 |
|
19-Sep-2019 |
nicm |
Add a "latest" window-size option which tries to size windows based on the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.110 |
|
15-Sep-2019 |
nicm |
Add push-default and pop-default in styles to change the default colours and attributes and use them to restore the previous behaviour of window-status-style being the default for window-status-format in the status line. From John Drouhard in GitHub issue 1912.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.109 |
|
26-Jun-2019 |
nicm |
Add #define for the pane status line option position numbers.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.108 |
|
20-Jun-2019 |
nicm |
allow-rename and alternate-screen can be pane options.
|
#
1.107 |
|
20-Jun-2019 |
nicm |
Add a per-pane option set. Pane options inherit from window options (so there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.106 |
|
26-May-2019 |
nicm |
Add formats for word and line under the mouse and use them to add some items to the pane menu.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.105 |
|
26-Apr-2019 |
nicm |
Merge hooks into options and make each one an array option. This allows multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
|
#
1.104 |
|
23-Apr-2019 |
nicm |
Indicate an array option with a flag rather than a special type so that in future will not have to be strings.
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.103 |
|
07-Apr-2019 |
nicm |
Current window style also needs to be tested for default.
|
#
1.102 |
|
02-Apr-2019 |
nicm |
Silence flag should use the same option as activity, reported by Thomas Sattler.
|
#
1.101 |
|
19-Mar-2019 |
nicm |
Include window-status-style and window-status-current style in the format.
|
#
1.100 |
|
18-Mar-2019 |
nicm |
The individual -fg, -bg and -attr options have been deprecated (in favour of -style), undocumented and hidden from show-options since 2014. Remove them, except for status-fg and status-bg.
|
#
1.99 |
|
18-Mar-2019 |
nicm |
Extend the #[] style syntax and use that together with previous format changes to allow the status line to be entirely configured with a single option.
Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time.
Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings.
The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.98 |
|
25-Oct-2018 |
nicm |
Add a "terminal" colour which can be used instead of "default" in style options for the terminal default colour, bypassing any inheritance from other options. Prompted by a discussion with abieber@.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.97 |
|
18-Oct-2018 |
nicm |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed.
The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before.
If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right.
Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual).
The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest.
For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing..
If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session.
The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders.
The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
|
Revision tags: OPENBSD_6_4_BASE
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.96 |
|
23-Apr-2018 |
nicm |
Add KRB5CCNAME to update-environment.
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.95 |
|
22-Feb-2018 |
nicm |
Add exit-empty option to exit server if no sessions (defaults to on).
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|
#
1.94 |
|
25-Oct-2017 |
nicm |
Default allow-rename to off because it is ridiculous that applications are even able to do this and confusing when they do.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.93 |
|
17-Aug-2017 |
nicm |
Add monitor-bell window option to match the activity and silence options, from Brad Town.
|
#
1.92 |
|
16-Aug-2017 |
nicm |
Rename BELL_* values to ALERT_* now they are used by more than bells, based on a diff from Brad Town.
|
#
1.91 |
|
26-Jul-2017 |
nicm |
Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;
- add activity-action and silence-action options with the same possible values as the existing bell-action;
- add "both" value for the visual-bell, visual-activity and visual-silence options to trigger both a bell and a message.
This means all three work the same way. Based on changes from Yvain Thonnart.
|
#
1.90 |
|
23-Jun-2017 |
nicm |
Add user-keys option to allow user-defined keys to be set, from Dan Aloni.
|
#
1.89 |
|
03-Jun-2017 |
nicm |
Make set-clipboard a three-state option so tmux itself can ignore the sequencess.
|
#
1.88 |
|
30-May-2017 |
nicm |
Rewrite of choose mode, both to simplify and tidy the code and to add some modern features.
Now the common code is in mode-tree.c, which provides an API used by the three modes now separated into window-{buffer,client,tree}.c. Buffer mode shows buffers, client mode clients and tree mode a tree of sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content (very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them (for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session, window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
|
#
1.87 |
|
29-May-2017 |
nicm |
Store a copy of the old status line, will be needed soon for new choose mode.
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.86 |
|
24-Jan-2017 |
nicm |
Make update-environment an array as well.
|
#
1.85 |
|
24-Jan-2017 |
nicm |
Convert terminal-overrides to an array option.
|
#
1.84 |
|
24-Jan-2017 |
nicm |
server-info can become an alias rather than a command.
|
#
1.83 |
|
24-Jan-2017 |
nicm |
Add support for custom command aliases, this is an array option which contains items of the form "alias=command". This is consulted when an unknown command is parsed.
|
#
1.82 |
|
16-Jan-2017 |
nicm |
Revert WIP parts of previous I didn't mean to commit yet.
|
#
1.81 |
|
16-Jan-2017 |
nicm |
getopt() has a struct option so just return to using options_entry.
|
#
1.80 |
|
15-Jan-2017 |
nicm |
Major tidy up and rework of options tree and set-option/show-options commands this pushes more of the code into options.c and ties it more closely to the options table rather than having an unnecessary split. Also add support for array options (will be used later). Only (intentional) user visible change is that show-options output is now passed through vis(3) with VIS_DQ so quotes are escaped.
|
#
1.79 |
|
15-Jan-2017 |
nicm |
Remove unused quiet option.
|
#
1.78 |
|
12-Jan-2017 |
nicm |
Simplify appending to string options.
|
#
1.77 |
|
11-Jan-2017 |
nicm |
Some tidying and tweaks to options code.
|
#
1.76 |
|
30-Dec-2016 |
nicm |
Change the xterm-keys option to default to on, so that tmux will generate xterm(1) escape sequences for function keys with modifiers.
With the option off most of these keys are ignored by default, except for ctrl + arrows which use a variant that nothing else seems to use and I don't remember why we chose. The xterm escape sequences are now the most common.
Prompted by a question from mpi@.
|
#
1.75 |
|
13-Oct-2016 |
nicm |
Remove the set-remain-on-exit option, it was always a hack and can now be done with hooks instead.
|
#
1.74 |
|
03-Oct-2016 |
nicm |
Remove some dead code in cmd-move-window.c and make a load of local functions static.
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.73 |
|
04-May-2016 |
nicm |
Fix up a couple of long lines.
|
#
1.72 |
|
29-Apr-2016 |
nicm |
Add option to include status text in the pane borders. If pane-border-status is set to "top" or "bottom" (rather than "off"), every pane has a permanent top or bottom border containing the text from pane-border-format.
Based on a diff sent long ago by Jonathan Slenders, mostly rewritten and simplified by me.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.71 |
|
19-Jan-2016 |
nicm |
I no longer use my SourceForge address so replace it.
|
#
1.70 |
|
12-Dec-2015 |
nicm |
Add key-table option to set the default key table for a session, allows different key bindings for different sessions and a few other things.
|
#
1.69 |
|
24-Nov-2015 |
nicm |
Don't allow options in table without scope set.
|
#
1.68 |
|
22-Nov-2015 |
tim |
If display-time is set to 0, show status messages until a key is pressed; OK nicm@
|
#
1.67 |
|
20-Nov-2015 |
nicm |
Instead of separate tables for different types of options, give each option a scope type (server, session, window) in one table.
|
#
1.66 |
|
12-Nov-2015 |
nicm |
Nuke the utf8 and status-utf8 options and make tmux only a UTF-8 terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
|
#
1.65 |
|
12-Nov-2015 |
nicm |
Default history-file should be "" not NULL, from Greg Onufe.
|
#
1.64 |
|
11-Nov-2015 |
nicm |
Drop mouse-utf8 option and always turn on UTF-8 mouse if the client says it supports UTF-8.
|
#
1.63 |
|
25-Sep-2015 |
nicm |
Adding colors=256 to *256color* was always pretty stupid and now it won't work (without adding setaf@:setab@ too).
|
#
1.62 |
|
28-Aug-2015 |
nicm |
Remove the lock-server option which is a bit redundant, it isn't that different without it.
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.61 |
|
20-Jul-2015 |
nicm |
Add an option (history-file) for a file to save/restore command prompt history, from Olof-Joachim Frahm.
|
#
1.60 |
|
12-May-2015 |
nicm |
Add a session_alerts format which is a list of all the alerts in the current session in symbolic form (something like "0!,4~,5!"). Use this in the default set-titles-string. Prompted by a request from Jan ONDREJ.
|
#
1.59 |
|
12-May-2015 |
nicm |
Add bell-action "other" to pass through bells in all windows except the current, suggested by Jan ONDREJ.
|
#
1.58 |
|
11-May-2015 |
nicm |
Left the c0-* options behind in the table.
|
#
1.57 |
|
06-May-2015 |
nicm |
Add a format window_linked which is 1 if a window has been linked multiple times, also remove the default space in window_flags and use a conditional to add it in window-status-format (this means additional flags can be added in the option without extra spaces). From Thomas Adam with tweaks by me.
|
#
1.56 |
|
29-Apr-2015 |
nicm |
If default-terminal is set to "screen" or "screen-*", emulate screen's historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso.
People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts).
As a side-effect this changes default-terminal to be a server rather than a session option.
suggested by and ok naddy
|
#
1.55 |
|
19-Apr-2015 |
nicm |
Rewrite of tmux mouse support which was a mess. Instead of having options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on).
See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event).
The default builtin bindings for the mouse are:
bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M
To get the effect of turning mode-mouse off, do:
unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane
The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
|
#
1.54 |
|
19-Apr-2015 |
nicm |
Support setting the default window and pane background colours (window and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.53 |
|
06-Feb-2015 |
nicm |
Move pane border options to window options rather than session, from Marc Finet.
|
#
1.52 |
|
21-Jan-2015 |
sthen |
In options-table.c r1.51 an extra space was added to the default status-right, overrunning status-right-length with long window titles. Allow for the extra space so the last digit of the year isn't lost. ok nicm@
|
#
1.51 |
|
05-Nov-2014 |
nicm |
Do not put a space between status-left/status-right and the window list, instead move the space into the defaults for the options (so status-left now defaults to "[#S] ". From Balazs Kezes.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.50 |
|
17-Apr-2014 |
nicm |
Wrap some long lines.
|
#
1.49 |
|
17-Apr-2014 |
nicm |
Remove some unnecessary includes and fix a typo.
|
#
1.48 |
|
17-Apr-2014 |
nicm |
Remove the "info" message mechanism, this was only used for about five 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.
|
#
1.47 |
|
17-Apr-2014 |
nicm |
Remove the monitor-content option and associated bits and bobs. It's never worked very well. If there is a big demand for it to return, will consider better ways to do it.
|
#
1.46 |
|
31-Mar-2014 |
nicm |
Make message-limit a server option.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.45 |
|
23-Feb-2014 |
nicm |
Change terminal-overrides to a server option (now that we have them), it doesn't make much sense as a session option.
|
#
1.44 |
|
28-Jan-2014 |
nicm |
Fix missing argument, stupid last minute changes...
|
#
1.43 |
|
28-Jan-2014 |
nicm |
Allow replacing each of the many sets of separate foo-{fg,bg,attr} 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.
|
#
1.42 |
|
10-Oct-2013 |
nicm |
Alter how tmux handles the working directory to internally use file 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.
|
#
1.41 |
|
10-Oct-2013 |
nicm |
Add automatic-rename-format option allowing automatic rename to use something other than pane_current_command.
|
#
1.40 |
|
10-Oct-2013 |
nicm |
Add length limit operator for formats.
|
#
1.39 |
|
05-Oct-2013 |
nicm |
Change the default for the default-path option to ~. This is a quick change to turn off the KERN_PROC_CWD code which is unpredictable. Later it will go away and there may be other changes to how this works.
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.38 |
|
23-Jun-2013 |
nicm |
Focus events can cause trouble if left on and they can't be turned off during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
|
#
1.37 |
|
02-Jun-2013 |
nicm |
The actual terminfo entries we ended up with for cursor changes are Cs, Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
|
#
1.36 |
|
27-Mar-2013 |
nicm |
Remove tmux's (already minimal) 88 colour support. Such terminals are few and unnecessary.
|
#
1.35 |
|
25-Mar-2013 |
nicm |
Revert the command-prefix change which breaks sequences of commands.
|
#
1.34 |
|
24-Mar-2013 |
nicm |
Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ".
|
#
1.33 |
|
21-Mar-2013 |
nicm |
Add -v to set and setw to show only option value.
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.32 |
|
17-Jan-2013 |
nicm |
Remove the layout undo/redo code which never really worked.
|
#
1.31 |
|
15-Jan-2013 |
nicm |
If timing between keys is less than (by default) 1 millisecond, assume the text is being pasted. assume-paste-time option changes the value (0 disables). Based on a diff from Marcin Kulik.
|
#
1.30 |
|
27-Nov-2012 |
nicm |
Add window-status-last-* options, from Boris Faure.
|
Revision tags: OPENBSD_5_2_BASE
|
#
1.29 |
|
29-Apr-2012 |
nicm |
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.
|
#
1.28 |
|
23-Apr-2012 |
nicm |
Add window-status-separator option, from Thomas Adam.
|
#
1.27 |
|
01-Apr-2012 |
nicm |
Add a layout history which can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
|
#
1.26 |
|
20-Mar-2012 |
nicm |
50 is a too low trigger default on larger terminals, bump to 250.
|
#
1.25 |
|
20-Mar-2012 |
nicm |
Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval.
This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility).
After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
|
#
1.24 |
|
17-Mar-2012 |
nicm |
Add a wrap-search option to turn off wrapping of searches in copy mode. From Jacobo de Vera.
|
#
1.23 |
|
29-Feb-2012 |
nicm |
Remove accidentally committed option.
|
#
1.22 |
|
25-Feb-2012 |
nicm |
Allow a single option to be specified to show-options to show just that option.
|
#
1.21 |
|
15-Feb-2012 |
nicm |
Sort some entries, from Ben Boeckel.
|
Revision tags: OPENBSD_5_1_BASE
|
#
1.20 |
|
29-Jan-2012 |
nicm |
Add an option to move the status line to the top of the screen, requested by many.
|
#
1.19 |
|
21-Jan-2012 |
nicm |
Drop the ability to have a list of keys in the prefix in favour of two 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 :-).
|
#
1.18 |
|
20-Jan-2012 |
nicm |
Add some trivial additional status line attributes from jwcxz at users dot sourceforge dot net.
|
#
1.17 |
|
20-Jan-2012 |
nicm |
Add an option to disable the window rename escape sequence, from Romain Francoise.
|
#
1.16 |
|
15-Nov-2011 |
nicm |
Move word-separators to be a session rather than window option, from Ben Boeckel.
|
#
1.15 |
|
05-Nov-2011 |
nicm |
Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel.
|
#
1.14 |
|
27-Oct-2011 |
nicm |
Add screen*:XT to terminal-overrides for tmux-in-tmux, from Romain Francoise.
|
#
1.13 |
|
24-Aug-2011 |
nicm |
Add pane-base-index option, from Ben Barbour.
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.12 |
|
30-Jul-2011 |
nicm |
Extend the mode-mouse option to add a third choice which means the mouse does not enter copy mode. Patch from SF bug 3374493.
In future the mode-mouse option is likely to die and be broken into several smaller options.
|
#
1.11 |
|
03-Jul-2011 |
nicm |
Add an option to trigger the terminal bell when there is an alert, from Marco Beck.
|
#
1.10 |
|
20-May-2011 |
nicm |
Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
|
#
1.9 |
|
20-May-2011 |
nicm |
Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
|
#
1.8 |
|
18-May-2011 |
nicm |
Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it).
Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
|
#
1.7 |
|
08-May-2011 |
nicm |
Add a new option, mouse-resize-pane. When on, panes may be resized by dragging their borders. From hsim at gmx.li.
|
#
1.6 |
|
08-May-2011 |
nicm |
Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
|
#
1.5 |
|
18-Apr-2011 |
nicm |
Add an option (mouse-select-window) which allows the mouse to be used by clicking on the status line, written by hsim at gmx dot li.
|
#
1.4 |
|
09-Apr-2011 |
nicm |
Since buffers are now global, bump the default buffer-limit a bit higher to 20 rather than 9.
|
Revision tags: OPENBSD_4_9_BASE
|
#
1.3 |
|
13-Jan-2011 |
nicm |
The maximum history-limit was accidentally reduced, fix it back to INT_MAX.
|
#
1.2 |
|
03-Jan-2011 |
nicm |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
#
1.1 |
|
01-Jan-2011 |
nicm |
Move the user-visible parts of all options (names, types, limit, default 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.
|