summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/tmux.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add a flag to make a client wait for an empty line before exiting innicm2020-06-181-1/+3
| | | | control mode to avoid stray commands ending up in the shell.
* d and D keys to reset to default in customize mode.nicm2020-06-161-2/+6
|
* Add -b flags to insert a window before (like the existing -a for after)nicm2020-06-131-2/+2
| | | | to break-pane, move-window, new-window. GitHub issue 2261.
* Add some formats for search in copy mode (search_present, search_match).nicm2020-06-111-1/+2
| | | | GitHub issue 2268.
* Add a -A option to pause a pane manually.nicm2020-06-111-1/+2
|
* Instead of a buffer size limit on each pane, set a limit of 300 secondsnicm2020-06-101-1/+2
| | | | of data for each client in control mode.
* Change how panes are resized so that the code is clearer and if the panenicm2020-06-051-5/+3
| | | | | | is resized multiple times during one event loop, it is forced to resize at the end. Also don't zoom/unzoom in switch-client if the pane hasn't changed. GitHub issue 2260.
* Fix various confusion about am vs xenl.nicm2020-06-051-3/+3
|
* Add support for pausing a pane when the output buffered for a controlnicm2020-06-051-3/+8
| | | | | | mode client gets too far behind. The pause-after flag with a time is set on the pane with refresh-client -f and a paused pane may be resumed with refresh-client -A. GitHub issue 2217.
* Move the code to set up a padding cell into grid.c.nicm2020-06-021-1/+3
|
* Allow UTF-8 characters of width 0 to be stored, it is useful to be ablenicm2020-06-021-2/+2
| | | | to put padding cells in as width 0.
* Use CLOCK_MONOTONIC for timer measurement and add a timestamp to controlnicm2020-06-021-1/+2
| | | | mode %output blocks.
* Change format callback to return value rather than storing it in the entry.nicm2020-06-011-1/+3
|
* Instead of sending all data to control mode clients as fast as possible,nicm2020-06-011-11/+16
| | | | | | add a limit of how much data will be sent to the client and try to use it for panes with some degree of fairness. GitHub issue 2217, with George Nachman.
* Pass the stdout file descriptor from the client as well as stdin and usenicm2020-05-261-1/+4
| | | | | them for control clients directly instead of passing everything via the client.
* Use the internal representation for UTF-8 keys instead of wchar_t andnicm2020-05-251-4/+1
| | | | drop some code only needed for that.
* Tidy up new UTF-8 code and make it more generic.nicm2020-05-251-7/+10
|
* Make some data types consistent.nicm2020-05-251-5/+5
|
* Instead of storing all UTF-8 characters in the extended cell which meansnicm2020-05-251-9/+24
| | | | | | | that 14 bytes are wasted for each character in the BMP, only store characters of three bytes or less in the cell itself and store others (outside the BMP or with combining characters) in a separate global tree. Can reduce grid memory use for heavy Unicode users by around 30%.
* Give control code its own state struct.nicm2020-05-241-3/+4
|
* Now the tty has a pointer back to the client there is no point (and anicm2020-05-241-3/+2
| | | | bit confusing) in it keeping a copy of the fd as well. Remove it.
* Move client offset stuff into control.c since only control clients willnicm2020-05-221-19/+8
| | | | need it.
* Support code for control mode flow control: allow clients to havenicm2020-05-211-3/+35
| | | | | | separate offsets (used and acknowleged) into the pane buffers; turn off reading from panes when no clients can accept the data; and add a -A flag to refresh-client to let clients turn receiving a pane on and off.
* Move lazy resize from the pane to the window, there is no point innicm2020-05-161-1/+7
| | | | | | resizing the window unless it is the current window, and if we do and don't resize the pane until later there are problems if the size changes from A to B then back to A.
* Add a terminal feature for enable/disable extended keys (supported bynicm2020-05-161-4/+7
| | | | | | | 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.
* Separate key flags and modifiers, log key flags, make the "xterm" flagnicm2020-05-161-17/+21
| | | | more explicit and fix M- keys with a leading escape.
* Rename KEYC_ESCAPE to KEYC_META.nicm2020-05-161-2/+2
|
* xterm-keys has been on by default for five years and all other modernnicm2020-05-161-7/+5
| | | | | | 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.
* Add an option to set the pane border lines style from a choice of singlenicm2020-05-161-1/+12
| | | | | | 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.
* Add screen write flags instead of individual bits and fix line lengthnicm2020-05-161-2/+4
| | | | calculation with padding.
* Add a client flag 'active-pane' which stores the active pane in thenicm2020-05-161-2/+17
| | | | | | | | | client and allows it to be changed independently from the real active pane stored in the window. This is can be used with session groups which allow an independent current window (although it would be nice to have a flag for this too and remove session groups). The client active pane is only really useful interactively, many things (hooks, window-style, zooming) still use the window active pane.
* Expand target from client and use it to expand the prompt.nicm2020-05-161-4/+5
|
* Move editor stuff to common code in popup.c.nicm2020-05-161-1/+4
|
* Add a -D flag to ask tmux not to daemonize, useful both for running anicm2020-05-161-1/+2
| | | | | debugger (lldb does not have follow-fork-mode) and for running with a managed supervisor init system. GitHub issue 2190.
* Add a customize mode where keys and options may be browsed and changed,nicm2020-05-161-6/+29
| | | | | includes adding a brief description of each option. Bound to "C" by default.
* Support embedded styles in the display-message message, GitHub issuenicm2020-05-161-2/+4
| | | | 2206.
* Store and restore cursor position when copy mode is resized, fromnicm2020-05-161-3/+2
| | | | Anindya Mukherjee.
* Change message log to be per server rather than per client and includenicm2020-05-161-9/+11
| | | | every command that is run.
* Change the existing client flags for control mode to apply for anynicm2020-05-161-3/+5
| | | | | | | | | | | | | | | | client, use the same mechanism for the read-only flag and add an ignore-size flag. refresh-client -F has become -f (-F stays for backwards compatibility) and attach-session and switch-client now have -f flags also. A new format "client_flags" lists the flags and is shown by list-clients by default. This separates the read-only flag from "ignore size" behaviour (new ignore-size) flag - both behaviours are useful in different circumstances. attach -r and switchc -r remain and set or toggle both flags together.
* Add formats for after hook command arguments.nicm2020-05-161-1/+3
|
* Do not hoke into struct window_pane from the tty code and instead setnicm2020-05-161-18/+39
| | | | | | | everything up in tty_ctx. Provide a way to initialize the tty_ctx from a callback and use it to let popups draw directly through input_parse in the same way as panes do, rather than forcing a full redraw on every change.
* Rename and tidy some stuff in struct tty_ctx.nicm2020-05-161-7/+9
|
* Add 'e' key in buffer mode to open the buffer in an editor.nicm2020-05-161-2/+5
|
* Add -W and -T flags to command-prompt to only complete a window and anicm2020-05-161-1/+3
| | | | target, also complete aliases.
* Copy mode search improvements:nicm2020-05-161-3/+1
| | | | | | | | | - 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.
* Improve command prompt completion:nicm2020-05-161-1/+2
| | | | | | | | | | | - Show a menu with completions if there are multiple. - Don't complete argument stuff (options, layouts) at start of text. - For -t and -s, if there is no : then complete sessions but if there is a :, show a menu of all windows in the session rather than trying to complete the window name which is a bit useless if there are duplicates.
* Drop having a separate type for style options and make them all strings,nicm2020-05-161-13/+20
| | | | | | | | | | | | | | | | | 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.
* Use a grid cell not a style for the pane style.nicm2020-05-161-5/+12
|
* Instead of forbidding invalid session names, sanitize them like windownicm2020-05-161-2/+2
| | | | names.
* Instead of having a default set of terminals in terminal-overrides thatnicm2020-05-161-1/+2
| | | | | | | 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.