aboutsummaryrefslogtreecommitdiff
path: root/server-client.c
Commit message (Collapse)AuthorAge
* Merge branch 'obsd-master'Thomas Adam2020-06-01
|\
| * Instead of sending all data to control mode clients as fast as possible,nicm2020-06-01
| | | | | | | | | | | | 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.
* | Merge branch 'obsd-master'Thomas Adam2020-05-26
|\|
| * Pass the stdout file descriptor from the client as well as stdin and usenicm2020-05-26
| | | | | | | | | | them for control clients directly instead of passing everything via the client.
* | Merge branch 'obsd-master'Thomas Adam2020-05-24
|\|
| * Remove leftover call to control_free_offsets and do not use fornicm2020-05-24
| | | | | | | | non-control clients.
* | Merge branch 'obsd-master'Thomas Adam2020-05-24
|\|
| * Give control code its own state struct.nicm2020-05-24
| |
| * Now the tty has a pointer back to the client there is no point (and anicm2020-05-24
| | | | | | | | bit confusing) in it keeping a copy of the fd as well. Remove it.
* | Merge branch 'obsd-master'Thomas Adam2020-05-22
|\|
| * FocusIn keys can also update the latest client, like normal keys.nicm2020-05-22
| |
* | Merge branch 'obsd-master'Thomas Adam2020-05-22
|\|
| * Move client offset stuff into control.c since only control clients willnicm2020-05-22
| | | | | | | | need it.
* | Merge branch 'obsd-master'Thomas Adam2020-05-21
|\|
| * Support code for control mode flow control: allow clients to havenicm2020-05-21
| | | | | | | | | | | | 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-16
| | | | | | | | | | | | 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 client flag 'active-pane' which stores the active pane in thenicm2020-05-16
| | | | | | | | | | | | | | | | | | 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-16
| |
| * Add a -D flag to ask tmux not to daemonize, useful both for running anicm2020-05-16
| | | | | | | | | | debugger (lldb does not have follow-fork-mode) and for running with a managed supervisor init system. GitHub issue 2190.
| * Change message log to be per server rather than per client and includenicm2020-05-16
| | | | | | | | every command that is run.
| * Change the existing client flags for control mode to apply for anynicm2020-05-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * 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.
| * 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.
| * Do not redraw or update mode if nothing has changed.nicm2020-05-16
| |
* | Move lazy resize from the pane to the window, there is no point in resizing theNicholas Marriott2020-05-16
| | | | | | | | | | 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.
* | Separate key flags and modifiers, log key flags, make the "xterm" flag moreNicholas Marriott2020-05-15
| | | | | | | | explicit and fix M- keys with a leading escape.
* | Rename KEYC_ESCAPE to KEYC_META.Nicholas Marriott2020-05-15
| |
* | Add a client flag 'active-pane' which stores the active pane in the client andNicholas Marriott2020-05-14
| | | | | | | | | | | | | | | | | | 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.
* | Use safe loop for freeing client files.Nicholas Marriott2020-05-13
| |
* | Fix comparison of tty name.Nicholas Marriott2020-05-10
| |
* | Add a -D flag to ask tmux not to daemonize, useful both for running a debuggerNicholas Marriott2020-05-10
| | | | | | | | | | (lldb does not have follow-fork-mode) and for running with a managed supervisor init system. GitHub issue 2190.
* | Change message log to be per server rather than per client and include everyNicholas Marriott2020-05-06
| | | | | | | | command that is run.
* | Change the existing client flags for control mode to apply for any client, useNicholas Marriott2020-05-05
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | menu_mode_cb needs to return a screen also.Nicholas Marriott2020-05-02
| |
* | Get the whole overlay screen not just the mode so cursor changes are included.Nicholas Marriott2020-05-01
| |
* | Improve command prompt completion:Nicholas Marriott2020-04-29
| | | | | | | | | | | | | | | | | | | | | | | | - 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. Lots of scope for being more sophisticated left here.
* | Do not update mode until actually drawing something.Nicholas Marriott2020-04-24
| |
* | Move terminal features into a single file.Nicholas Marriott2020-04-24
| |
* | Merge branch 'obsd-master'Thomas Adam2020-04-21
|\|
| * Turn off the block flag to reset the state or the cursor will not benicm2020-04-21
| | | | | | | | moved back to the right place.
* | Merge branch 'obsd-master'Thomas Adam2020-04-20
|\|
| * 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.
* | Merge branch 'obsd-master'Thomas Adam2020-04-20
|\|
| * 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.
* | Merge branch 'obsd-master'Thomas Adam2020-04-20
|\|
| * Also redraw panes which aren't pane 0. Problem reported by tb@.nicm2020-04-20
| |
* | Merge branch 'obsd-master'Thomas Adam2020-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).
* | Merge branch 'obsd-master'Thomas Adam2020-04-19
|\|
| * 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.