summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/tmux.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* 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.
* Add feature and capabilities for focus reporting. Also document AX andnicm2020-05-161-1/+3
| | | | XT even though they aren't tmux's, and add some bits for rxvt.
* Add a feature for bracketed paste.nicm2020-05-161-1/+3
|
* Move terminal features into a single file.nicm2020-05-161-1/+3
|
* Build list of paths and weed out duplicates before loading configs, andnicm2020-05-161-2/+7
| | | | add TMUX_SOCK like TMUX_PATH for the socket directory.
* Add extension terminfo(5) capabilities for margins.nicm2020-05-161-4/+8
|
* Remove support for iTerm2's DSR 1337 extension and use the CSI > qnicm2020-05-161-2/+2
| | | | extension now supported by a few different terminals.
* Indicate the marked pane in choose mode in reverse and add key to setnicm2020-04-221-2/+3
| | | | and clear it (m and M) and a key to jump to the starting pane (H).
* Change so main-pane-width and height can be given as a percentage.nicm2020-04-221-1/+3
|
* Apply terminal-overrides after terminal detection, it always takesnicm2020-04-201-2/+3
| | | | precedence.
* Change how sync works to always send the end sequence after all outputnicm2020-04-201-2/+1
| | | | | is done when we are returning to the event loop (since we always move the cursor at that point). Also a man fix from jmc.
* Tidy up the terminal detection and feature code and add named sets ofnicm2020-04-201-14/+18
| | | | | | | | | | | | | | | | | | | | | 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.
* The PANE_REDRAW flag bit might be needed by other panes so we can'tnicm2020-04-181-1/+3
| | | | | | | clear it on the first redraw, and it can't be set when we are finished or they would be redrawn again, so if the redraw is deferred for a client, copy the redraw flag into a separate set of bits just for that client.
* A resize can realloc so cannot cache the value of the list pointer.nicm2020-04-181-2/+1
|
* There is no point in keeping a bunch of different text buffers for eachnicm2020-04-181-1/+5
| | | | | line when writing, we only need one as big as the line width - there can't be any more text than that since newer will overwrite older.
* Use size_t not u_int for the bytes counters and fix a const missing.nicm2020-04-181-3/+3
|
* Bring back previons fix to only redraw panes that need it after a redrawnicm2020-04-181-2/+4
| | | | | is deferred, but clear the pane flags when they are actually redrawn rather than every time.
* Add formats for pane written/skipped bytes for debugging.nicm2020-04-181-1/+4
|
* Add a flag to protect against nested syncs and add some extra logging tonicm2020-04-181-1/+2
| | | | redrawing.
* Revert previous, there is still a problem.nicm2020-04-181-5/+2
|
* When a redraw is deferred because the terminal hasn't finished readingnicm2020-04-181-2/+5
| | | | | | | | | the data from the last one, other panes could update while waiting, so we set the flag to redraw them all when the new redraw actually happened. But this means a lot of redrawing panes unnecessarily if they haven't changed - so instead set a flag to say "at least one pane needs to be redrawed" then look at the invidual pane flags to see which ones need it.
* Make sure the cursor position is still on screen after we have trimmednicm2020-04-171-2/+2
| | | | empty lines. Also improve some log messages.