summaryrefslogtreecommitdiffstats
path: root/server-fn.c
AgeCommit message (Collapse)Author
2020-04-16Merge branch 'obsd-master'Thomas Adam
2020-04-16Show signal name when process exits rather than number.nicm
2019-12-12Merge branch 'obsd-master'Thomas Adam
2019-12-12Rewrite the code for reading and writing files. Now, if the client isnicm
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.
2019-06-20Merge branch 'obsd-master'Thomas Adam
2019-06-20Add a per-pane option set. Pane options inherit from window options (sonicm
there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p. Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later). This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
2019-05-03Merge branch 'obsd-master'Thomas Adam
2019-05-03Allow panes to be empty (no command), output can be piped to them withnicm
split-window or display-message -I.
2019-04-17Break new window and pane creation common code from various commands andnicm
window.c into a separate file spawn.c.
2019-04-07Break new window and pane creation common code from various commands andNicholas Marriott
window.c into a separate file spawn.c.
2019-03-12Merge branch 'obsd-master'Thomas Adam
2019-03-12DECRC and DECSC apparently need to preserve origin mode as well, basednicm
on a fix from Marc Reisner.
2018-11-30Merge branch 'obsd-master'Thomas Adam
2018-11-30Clear PANE_EXITED flag when starting new child process in case the panenicm
has been respawned.
2018-10-18Support for windows larger than visible on the attached client. This hasnicm
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.
2018-08-20Support for windows larger than the client.Nicholas Marriott
This adds 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. 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). 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-width -x or -y. 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 higher memory use if you make a window that big. The minimum size is the size required for the current layout including borders. This change allows some code improvements, most notably that since windows can now never be cropped, that code can be removed from the layout code, and since panes can now never be outside the size of the window, window_pane_visible can be removed.
2018-08-19Merge branch 'obsd-master'Thomas Adam
2018-08-19Add a client redraw-window flag instead of the redraw-all flag and fornicm
all just use the three flags together (window, borders, status).
2018-08-18Merge branch 'obsd-master'Thomas Adam
2018-08-18SESSION_UNATTACHED flag is no longer necessary now we have an attachednicm
count instead.
2018-04-10Merge branch 'obsd-master'Thomas Adam
2018-04-10Add x and X to choose-tree (with a confirmation prompt) to kill annicm
item. Suggested by Matt Zagrabelny.
2018-02-28Merge branch 'obsd-master'Thomas Adam
2018-02-28Add -Z flag to choose-tree, choose-client, choose-buffer tonicm
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.
2017-10-20Need compat for queue.h.Nicholas Marriott
2017-10-20Merge branch 'obsd-master'Thomas Adam
Conflicts: server-fn.c
2017-10-12Show exit status and time in the remain-on-exit pane text, mostly fromnicm
Timo Boettcher in GitHub issue 1103.
2017-08-29Merge branch 'obsd-master'Thomas Adam
2017-08-29Check for complete keys before escape prefix, allows keys to be definednicm
with a leading escape. GitHub issue 1048.
2017-07-12Merge branch 'obsd-master'Thomas Adam
Conflicts: cmd-pipe-pane.c proc.c tmux.c window.c
2017-07-12proc_send_s now seems unnecessary.nicm
2017-07-10Merge branch 'obsd-master'Thomas Adam
2017-07-09Some extra logging to show why tmux might exit.nicm
2017-05-12Merge branch 'obsd-master'Thomas Adam
2017-05-12Scrolling needs to use background colour.nicm
2017-04-17Merge branch 'obsd-master'Thomas Adam
2017-04-17Remove a couple of redraw flags that no longer have any effect.nicm
2017-03-09Merge branch 'obsd-master'Thomas Adam
2017-03-09Move the client identify (display-panes) code into server-client.c.nicm
2017-03-09Move server_fill_environ into environ.c and move some other common codenicm
into it.
2017-02-14Merge branch 'obsd-master'Thomas Adam
Conflicts: server.c
2017-02-09Instead of numbering session groups, give them a name which may be givennicm
to -t instead of a target session. Also allow them to contain only one session.
2017-01-13Merge branch 'obsd-master'Thomas Adam
2017-01-13Make options_get_string return const string.nicm
2016-10-17Merge branch 'obsd-master'Thomas Adam
2016-10-16Use the notify name string instead of going via an enum and changenicm
existing hooks to use notifys instead.
2016-10-12Merge branch 'obsd-master'Thomas Adam
Conflicts: format.c osdep-openbsd.c
2016-10-11Add static in window-*.c and move some internal functions out of tmux.h.nicm
2016-10-10Loads more static, except for cmd-*.c and window-*.c.nicm
2016-06-16Merge branch 'obsd-master'Thomas Adam