aboutsummaryrefslogtreecommitdiff
path: root/server-fn.c
Commit message (Collapse)AuthorAge
* DECRC and DECSC apparently need to preserve origin mode as well, basednicm2019-03-12
| | | | on a fix from Marc Reisner.
* Clear PANE_EXITED flag when starting new child process in case the panenicm2018-11-30
| | | | has been respawned.
* Support for windows larger than visible on the attached client. This hasnicm2018-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | been a limitation for a long time. There are two new options, window-size and default-size, and a new command, resize-window. The force-width and force-height options and the session_width and session_height formats have been removed. The new window-size option tells tmux how to work out the size of windows: largest means it picks the size of the largest session, smallest the smallest session (similar to the old behaviour) and manual means that it does not automatically resize windows. The default is currently largest but this may change. aggressive-resize modifies the choice of session for largest and smallest as it did before. If a window is in a session attached to a client that is too small, only part of the window is shown. tmux attempts to keep the cursor visible, so the part of the window displayed is changed as the cursor moves (with a small delay, to try and avoid excess redrawing when applications redraw status lines or similar that are not currently visible). The offset of the visible portion of the window is shown in status-right. Drawing windows which are larger than the client is not as efficient as those which fit, particularly when the cursor moves, so it is recommended to avoid using this on slow machines or networks (set window-size to smallest or manual). The resize-window command can be used to resize a window manually. If it is used, the window-size option is automatically set to manual for the window (undo this with "setw -u window-size"). resize-window works in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has -a and -A flags. -a sets the window to the size of the smallest client (what it would be if window-size was smallest) and -A the largest. For the same behaviour as force-width or force-height, use resize-window -x or -y, and "setw -u window-size" to revert to automatic sizing.. If the global window-size option is set to manual, the default-size option is used for new windows. If -x or -y is used with new-session, that sets the default-size option for the new session. The maximum size of a window is 10000x10000. But expect applications to complain and much higher memory use if making a window excessively big. The minimum size is the size required for the current layout including borders. The refresh-client command can be used to pan around a window, -U -D -L -R moves up, down, left or right and -c returns to automatic cursor tracking. The position is reset when the current window is changed.
* Add a client redraw-window flag instead of the redraw-all flag and fornicm2018-08-19
| | | | all just use the three flags together (window, borders, status).
* SESSION_UNATTACHED flag is no longer necessary now we have an attachednicm2018-08-18
| | | | count instead.
* Add x and X to choose-tree (with a confirmation prompt) to kill annicm2018-04-10
| | | | item. Suggested by Matt Zagrabelny.
* Add -Z flag to choose-tree, choose-client, choose-buffer tonicm2018-02-28
| | | | | | automatically zoom the pane when the mode is entered and unzoom when it exits, assuming the pane is not already zoomed. Add -Z to the default key bindings.
* Show exit status and time in the remain-on-exit pane text, mostly fromnicm2017-10-12
| | | | Timo Boettcher in GitHub issue 1103.
* Check for complete keys before escape prefix, allows keys to be definednicm2017-08-29
| | | | with a leading escape. GitHub issue 1048.
* proc_send_s now seems unnecessary.nicm2017-07-12
|
* Some extra logging to show why tmux might exit.nicm2017-07-09
|
* Scrolling needs to use background colour.nicm2017-05-12
|
* Remove a couple of redraw flags that no longer have any effect.nicm2017-04-17
|
* Move the client identify (display-panes) code into server-client.c.nicm2017-03-09
|
* Move server_fill_environ into environ.c and move some other common codenicm2017-03-09
| | | | into it.
* Instead of numbering session groups, give them a name which may be givennicm2017-02-09
| | | | | to -t instead of a target session. Also allow them to contain only one session.
* Make options_get_string return const string.nicm2017-01-13
|
* Use the notify name string instead of going via an enum and changenicm2016-10-16
| | | | existing hooks to use notifys instead.
* Add static in window-*.c and move some internal functions out of tmux.h.nicm2016-10-11
|
* Loads more static, except for cmd-*.c and window-*.c.nicm2016-10-10
|
* Allow a command to be specified to display-panes, similar tonicm2016-06-16
| | | | command-prompt, rather than always just selecting the pane.
* I no longer use my SourceForge address so replace it.nicm2016-01-19
|
* Add infrastructure to work out the best target given a pane or windownicm2015-12-16
| | | | alone and use it to add pane_died and pane_exited hooks.
* Add key-table option to set the default key table for a session, allowsnicm2015-12-12
| | | | different key bindings for different sessions and a few other things.
* Check alerts when session changes, from Patrick Palka.nicm2015-12-11
|
* Make environ_set va_args and use it to tidy up some calls. Also add anicm2015-11-24
| | | | missing word in manpage (from jmc).
* Use __unused rather than rolling our own.nicm2015-11-18
|
* Push stdout and stderr to clients more aggressively, and add an event tonicm2015-11-14
| | | | continue if the send fails.
* Move struct options into options.c.nicm2015-10-27
|
* Break the common process set up, event loop and imsg dispatch codenicm2015-10-27
| | | | | between server and client out into a separate internal API. This will make it easier to add another process.
* Use client pointer not file descriptor in logging.nicm2015-10-20
|
* Add session_last_attached time and format, from Sina Siadat.nicm2015-09-10
|
* Make session_update_activity more useful and use it in more places.nicm2015-08-28
|
* Run status update on a per-client timer at status-interval.nicm2015-08-28
|
* If default-terminal is set to "screen" or "screen-*", emulate screen'snicm2015-04-29
| | | | | | | | | | | | | | | | historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso. People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts). As a side-effect this changes default-terminal to be a server rather than a session option. suggested by and ok naddy
* Convert clients list into a TAILQ.nicm2015-04-24
|
* Make session_has return a flag, returning the first winlink found is anicm2015-04-22
| | | | recipe for errors.
* Fix moving windows to nonexistent indexes when renumber-windows isnicm2015-04-21
| | | | off. From Thomas Adam, reported by Daniel Levai and Theo Buehler.
* Honour renumber-windows when unlinking a window, from Thomas Adam.nicm2015-04-19
|
* Rewrite of tmux mouse support which was a mess. Instead of havingnicm2015-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on). See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event). The default builtin bindings for the mouse are: bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M To get the effect of turning mode-mouse off, do: unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
* Fix some format specifier nits, from Ben Boeckel.nicm2015-03-31
|
* Unzoom before kill, from Thomas Adam.nicm2015-01-06
|
* Tidy up some includes.nicm2014-10-20
|
* Some more long lines.nicm2014-04-17
|
* Style nit - no space between function name and bracket.nicm2014-02-14
|
* Alter how tmux handles the working directory to internally use filenicm2013-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | descriptors rather than strings. - Each session still has a current working directory. - New sessions still get their working directory from the client that created them or its attached session if any. - New windows are created by default in the session working directory. - The -c flag to new, neww, splitw allows the working directory to be overridden. - The -c flag to attach let's the session working directory be changed. - The default-path option has been removed. To get the equivalent to default-path '.', do: bind c neww -c $PWD To get the equivalent of default-path '~', do: bind c neww -c ~ This also changes the client identify protocol to be a set of messages rather than one as well as some other changes that should make it easier to make backwards-compatible protocol changes in future.
* Similarly for MSG_COMMAND - allow full imsg limit not arbitrary 2048.nicm2013-10-10
|
* Grouped sessions were being leaked on destroy, correctly free them.nicm2013-10-10
|
* When the session option renumber-window is used, ensure we iterate overNicholas Marriott2013-07-05
| | | | | all sessions in that group when the winlinks are reordered, otherwise the winlink lists are out of sync with one another. From Thomas Adam.
* Call recalculate_sizes() after killing window in case it is in a groupedNicholas Marriott2013-04-22
| | | | session, from Daniel Ralston.