summaryrefslogtreecommitdiffstats
path: root/session.c
AgeCommit message (Collapse)Author
2023-09-02Merge branch 'obsd-master'Thomas Adam
2023-09-02Set visited flag on last windows when linking session.nicm
2023-09-01Merge branch 'obsd-master'Thomas Adam
2023-09-01Add detach-on-destroy previous and next, mostly from Alexis Hildebrandt.nicm
2023-07-19Merge branch 'obsd-master'Thomas Adam
2023-07-19Correct visited flag when the last window list is rebuilt by renumberingnicm
windows, appears to fix hang reported by Mark Kelly.
2022-10-17Merge branch 'obsd-master'Thomas Adam
2022-10-17Preserve marked pane when renumbering windows.nicm
2022-02-22Merge branch 'obsd-master' into masterThomas Adam
2022-02-22Merge branch 'obsd-master' into masterThomas Adam
2022-02-22Do not attempt to update focus (and crash) when there is no previous window.nicm
2022-02-22Add next_session_id format with the next session ID, GitHub issue 3078.nicm
2021-09-17Merge branch 'obsd-master' into masterThomas Adam
2021-09-17Do not destroy sessions twice, GitHub issue 2889.nicm
2021-08-14Merge branch 'obsd-master' into masterThomas Adam
2021-08-13Change focus to be driven by events rather than walking all panes at endnicm
of event loop, this way the ordering of in and out can be enforced. GitHub issue 2808.
2021-07-06Merge branch 'obsd-master' into masterThomas Adam
2021-07-06Forbid empty session names, GitHub issue 2758.nicm
2020-05-16remove vis.h: portable doesn't need thisThomas Adam
2020-05-16Merge branch 'obsd-master'Thomas Adam
2020-05-16Instead of forbidding invalid session names, sanitize them like windownicm
names.
2020-04-24Instead of forbidding invalid session names, sanitize them.Nicholas Marriott
2019-12-26Merge branch 'obsd-master'Thomas Adam
2019-12-26Add a number of new formats to inspect what sessions and clients anicm
window is present or active in. From Tyler Culp in GitHub issue 2034.
2019-04-27Merge branch 'obsd-master'Thomas Adam
2019-04-26Merge hooks into options and make each one an array option. This allowsnicm
multiple commands to be easily bound to one hook. set-hook and show-hooks remain but they are now variants of set-option and show-options. show-options now has a -H flag to show hooks (by default they are not shown).
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-18Merge branch 'obsd-master'Thomas Adam
2019-03-16Tidy and rename some bits of status line code.nicm
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-18Merge branch 'obsd-master'Thomas Adam
2018-08-18SESSION_UNATTACHED flag is no longer necessary now we have an attachednicm
count instead.
2018-08-02Merge branch 'obsd-master'Thomas Adam
2018-08-02session_groups can be static also.nicm
2018-05-04Merge branch 'obsd-master'Thomas Adam
2018-05-04Improve logging of sessions.nicm
2017-11-02Merge branch 'obsd-master'Thomas Adam
2017-11-02Only show the first member of session groups in tree mode (-G flagnicm
disables).
2017-07-10Merge branch 'obsd-master'Thomas Adam
2017-07-09Some extra logging to show why tmux might exit.nicm
2017-05-04Merge branch 'obsd-master'Thomas Adam
2017-05-04Some new notifications, mainly for active pane and current window andnicm
session: pane-mode-changed window-pane-changed client-session-changed session-window-changed From Joshua Brot.
2017-04-28Merge branch 'obsd-master'Thomas Adam
2017-04-28Log what is happening with window and session reference counts much morenicm
obviously.
2017-04-25Merge branch 'obsd-master'Thomas Adam
2017-04-25Do not update TERM into config file parsing has finished.nicm
2017-03-09Merge branch 'obsd-master'Thomas Adam
2017-03-09Move server_fill_environ into environ.c and move some other common codenicm
into it.