aboutsummaryrefslogtreecommitdiff
path: root/server-client.c
Commit message (Collapse)AuthorAge
* Do not redraw or update mode if nothing has changed.nicm2020-05-16
|
* Turn off the block flag to reset the state or the cursor will not benicm2020-04-21
| | | | moved back to the right place.
* 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.
* Also redraw panes which aren't pane 0. Problem reported by tb@.nicm2020-04-20
|
* Need to check for pane redrawing even if just the window flag is setnicm2020-04-20
| | | | | (the pane flag may not have been previously set to avoid looping the windows).
* 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.
* 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.
* Only update mode when actually going to redraw something.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.
* Set mode properly before and after redrawing, and don't bothernicm2020-04-17
| | | | calculating cursor position if it won't be used.
* Move the UTF-8 flag to terminal flags.nicm2020-04-16
|
* 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
|
* 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).
* Some unnecessary assignments and unused variables.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@.
* Do not ignore triple-click and send to pane.nicm2020-04-01
|
* Add a way to mark environment variables as "hidden" so they can be usednicm2020-03-31
| | | | by tmux but are not passed into the environment of new panes.
* Add a "second click" key type which is fired for the second click of anicm2020-03-31
| | | | | | | double click, even if the timer hasn't expired to confirm it isn't actually a triple click. Provides a way for people who don't care about triple clicks or can make their commands have no side effects to avoid the double click timer delay.
* Move alternate screen into the screen rather than the pane.nicm2020-03-31
|
* Add support for overlay popup boxes to show text or output temporarilynicm2020-03-24
| | | | | above the normal layout. These work similarly to menus and are created with the display-popup command.
* Ignore default-shell (and use /bin/sh) if it invalid not just if it isnicm2020-03-17
| | | | | tmux itself, also refuse to set the option to something invalid in the first place. GitHub issue 2120.
* Send mouse down event immediately rather than waiting for double clicknicm2020-03-16
| | | | | to finish which would now mean it was out of order. Reported by Mark Kelly.
* Change how double and triple clicks works so that one or the other isnicm2020-03-12
| | | | | fired - a double click is no longer triggered on the way to a triple click.
* A few fixes to make modifier keys and dragging work - need to remove thenicm2020-02-19
| | | | | | modifiers before checking for the dragging marker key, and apply them before looking up the end key. Also fix key-to-string with modifiers for special keys.
* Remove unused variables from Ben Boeckel, and a Pp from jmc.nicm2020-02-11
|
* Add a define for flags meaning a client is not attached, and fixnicm2020-01-28
| | | | unattached counter, reported by Thomas Sattler.
* If /dev/fd/X is a symlink and realpath() expands symlinks, /dev/fd/Xnicm2019-12-16
| | | | | | | ends up pointing to the wrong place before it is passed to the client. The path is only used internally so there is no real need for realpath(), remove it and move the get_path function to file.c where all the callers are.
* Instead of using large buffers in imsgs, add the data or path onto the end.nicm2019-12-16
|
* Rewrite the code for reading and writing files. Now, if the client isnicm2019-12-12
| | | | | | | | | not attached, the server process asks it to open the file, similar to how works for stdin, stdout, stderr. This makes special files like /dev/fd/X work (used by some shells). stdin, stdout and stderr and control mode are now just special cases of the same mechanism. This will also make it easier to use for other commands that read files such as source-file.
* Style nits in function arguments.nicm2019-12-03
|
* Long lines and spacing fixes.nicm2019-11-28
|
* Make a best effort to set xpixel and ypixel for each pane and addnicm2019-11-28
| | | | formats for them.
* Limit lazy resize to panes in attached sessions only - those innicm2019-11-01
| | | | | | unattached are likely to have been resized by something like split-window where the user probably wants the resize to happen immediately. GitHub issue 1963.
* Add a "latest" window-size option which tries to size windows based onnicm2019-09-19
| | | | | the most recently used client. From Tommie Gannert in GitHub issue 1869 based on earlier changes from me.
* The resize event was never deciding to actually resize the pane if therenicm2019-08-28
| | | | | | | was output in the pane faster than the timer would fire, so change how it works to only defer the timer again if the pane was actually resized within the last timer period. Reported by James Tai in GitHub issue 1880.
* Clear overlay on normal key press.nicm2019-07-17
|
* Correctly adjust mouse position if the status line is at the top andnicm2019-07-06
| | | | more than one line. GitHub issue 1822.
* Command prompt key presses need to avoid the command queue, GitHub issuenicm2019-07-02
| | | | 1817. Also a tmux.1 fix from jmc.
* Pass keys that aren't 0-9 on to normal key processing when display-panesnicm2019-06-26
| | | | is active (restores previous behaviour).
* Need to always check focus even if not current window.nicm2019-06-20
|
* Expand command formats in %if and move the config file loading later (tonicm2019-06-20
| | | | | when the first client has identified) so all the client formats are available, fixes problems reported by Thomas Sattler.
* Do not resize panes unless they are in an attached, active window. Fromnicm2019-06-11
| | | | Morten M Neergaard in GitHub issue 1782.
* Do not load the config file if the server is exiting because it failednicm2019-06-07
| | | | | | to start, otherwise commands like lsk which start the server again can end up looping infinitely. Also make the first client exit correctly. Problem reported by Wael M Nasreddine.
* Merge cmd_list_parse into cmd-parse.y so it can use the new aliasnicm2019-05-25
| | | | processing code.
* Replace the various identical error callbacks with a single one in cmd-queue.c.nicm2019-05-20
|
* Fix some indentation and dead assignments.nicm2019-05-12
|