aboutsummaryrefslogtreecommitdiff
path: root/tmux.h
Commit message (Collapse)AuthorAge
* Do not hoke into struct window_pane from the tty code and instead setnicm2020-05-16
| | | | | | | 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-16
|
* Add 'e' key in buffer mode to open the buffer in an editor.nicm2020-05-16
|
* Add -W and -T flags to command-prompt to only complete a window and anicm2020-05-16
| | | | target, also complete aliases.
* Copy mode search improvements:nicm2020-05-16
| | | | | | | | | - 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-16
| | | | | | | | | | | - 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-16
| | | | | | | | | | | | | | | | | 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-16
|
* Build list of paths and weed out duplicates before loading configs, andnicm2020-05-16
| | | | add TMUX_SOCK like TMUX_PATH for the socket directory.
* Add extension terminfo(5) capabilities for margins.nicm2020-05-16
|
* Remove support for iTerm2's DSR 1337 extension and use the CSI > qnicm2020-05-16
| | | | extension now supported by a few different terminals.
* Indicate the marked pane in choose mode in reverse and add key to setnicm2020-04-22
| | | | 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-22
|
* Apply terminal-overrides after terminal detection, it always takesnicm2020-04-20
| | | | precedence.
* Change how sync works to always send the end sequence after all outputnicm2020-04-20
| | | | | 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-20
| | | | | | | | | | | | | | | | | | | | | 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-18
| | | | | | | 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-18
|
* There is no point in keeping a bunch of different text buffers for eachnicm2020-04-18
| | | | | 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-18
|
* Bring back previons fix to only redraw panes that need it after a redrawnicm2020-04-18
| | | | | 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-18
|
* Add a flag to protect against nested syncs and add some extra logging tonicm2020-04-18
| | | | redrawing.
* Revert previous, there is still a problem.nicm2020-04-18
|
* When a redraw is deferred because the terminal hasn't finished readingnicm2020-04-18
| | | | | | | | | 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-17
| | | | empty lines. Also improve some log messages.
* Only start and stop sync for operations like clear and scroll wherenicm2020-04-16
| | | | there is a better chance more data will be on the way.
* Send secondary device attributes instead of primary which gives us a bitnicm2020-04-16
| | | | more useful information on some terminals.
* Move the UTF-8 flag to terminal flags.nicm2020-04-16
|
* Add a helper function to get the terminal flags.nicm2020-04-16
|
* Add support for the iTerm2 sychronized updates escape sequence whichnicm2020-04-16
| | | | drastically reduces flickering.
* Show signal name when process exits rather than number.nicm2020-04-16
|
* Instead of fixing with the cursor position when the copied screen isnicm2020-04-15
| | | | | | created, resize it and let the resize/reflow code fix it up and return it. Solves various problems with cursor position and resizing when in copy mode. With Anindya Mukherjee.
* Use mode-style for selected items, like choose modes. GitHub issue 2166.nicm2020-04-15
|
* Use grid_empty_line rather than memset when adding new lines on resize.nicm2020-04-15
| | | | Also remove some old test code.
* Provide an accessor for the running queue item and use it to not letnicm2020-04-14
| | | | hooks recurse.
* Make client -c and -t handling common in cmd-queue.c and try to benicm2020-04-13
| | | | | clearer about whether the client is the target client (must have a session) or not.
* Add helpers for the simple case of parse string and add to command queue.nicm2020-04-13
|
* When parsing strings, put all commands in one group even if there arenicm2020-04-13
| | | | | | newlines. This means that for example bind q { a \n b } and bind q "a ; b" are the same. Also log commands in different groups separated by ;; rather than ; (a command list like this should never be user visible).
* When adding a list of commands to the queue, instead of automaticallynicm2020-04-13
| | | | | | | creating a new state for each group of commands, require the caller to create one and use it for all the commands in the list. This means the current target works even with list with multiple groups (which can happen if they are defined with newlines).
* Move cmdq_state into cmd-queue.c.nicm2020-04-13
|
* Rename cmdq_shared to cmdq_state which will better reflect what it isnicm2020-04-13
| | | | (going to be) used for.
* Store a key event not a mouse event in the shared data.nicm2020-04-13
|
* Move the NOHOOKS flag into the shared flags.nicm2020-04-13
|
* Also move cmdq_item and cmdq_list into cmd-queue.c (this is to make itsnicm2020-04-13
| | | | use more clearly defined and preparation for some future work).
* Make struct cmd local to cmd.c and move it out of tmux.h.nicm2020-04-13
|
* Remove unused define, also a man fix from jmc.nicm2020-04-10
|
* Now that copy mode copies the pane content rather than keeping anicm2020-04-10
| | | | | | | | | | reference to it, it isn't necessary that the pane in copy mode is the same as the one copying from. Add a -s flag to copy-mode to specify a different pane for the source content. This means it is possible to view two places in a pane's history at the same time in different panes, or copy from a pane's history into an editor or shell in the same pane. From Anindya Mukherjee.
* Some minor style nits.nicm2020-04-09
|
* Wait until the initial command sequence is done before sending a devicenicm2020-04-09
| | | | | | | attributes request and other bits that prompt a reply from the terminal. This means that stray relies are not left on the terminal if the command has attached and then immediately detached and tmux will not be around to receive them. Prompted by a problem report from espie@.