#
7b470e93 |
| 18-Oct-2018 |
nicm <nicm@openbsd.org> |
Support for windows larger than visible on the attached client. This has been a limitation for a long time.
There are two new options, window-size and default-size, and a new command, resize-window.
Support for windows larger than visible on the attached client. This has 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.
show more ...
|
#
647c5c18 |
| 18-Aug-2018 |
nicm <nicm@openbsd.org> |
SESSION_UNATTACHED flag is no longer necessary now we have an attached count instead.
|
#
d75a8bcf |
| 16-Oct-2017 |
nicm <nicm@openbsd.org> |
Infrastructure for drawing status lines of more than one line in height, still only one is allowed but this lets tmux draw bigger ones.
|
#
b81c3e5b |
| 28-Aug-2017 |
nicm <nicm@openbsd.org> |
Do not forbid targets to specify non-visible panes - the checks for visibility are better where the target is used. GitHub issue 1049.
|
#
d55f3e48 |
| 10-May-2017 |
nicm <nicm@openbsd.org> |
Prevent control clients from affecting the session size until they have specified a size with refresh-client -C. Prompted by a different change with the same purpose from George Nachman.
|
#
d2f22191 |
| 08-Feb-2017 |
nicm <nicm@openbsd.org> |
Improve some of the logging on resize.
|
#
e62b76d6 |
| 03-Feb-2017 |
nicm <nicm@openbsd.org> |
Cache status line position to reduce option lookups during output.
|
#
2ae124fe |
| 16-Oct-2016 |
nicm <nicm@openbsd.org> |
Use the notify name string instead of going via an enum and change existing hooks to use notifys instead.
|
#
98ca8272 |
| 19-Jan-2016 |
nicm <nicm@openbsd.org> |
I no longer use my SourceForge address so replace it.
|
#
d89252e5 |
| 27-Oct-2015 |
nicm <nicm@openbsd.org> |
Move struct options into options.c.
|
#
82873134 |
| 24-Apr-2015 |
nicm <nicm@openbsd.org> |
Convert clients list into a TAILQ.
|
#
52e9404e |
| 22-Apr-2015 |
nicm <nicm@openbsd.org> |
Make session_has return a flag, returning the first winlink found is a recipe for errors.
|
#
ae69181d |
| 22-Apr-2015 |
nicm <nicm@openbsd.org> |
Change the windows array into an RB tree and fix some places where we were only looking at the first winlink for a window in a session.
|
#
d3ba9ba2 |
| 14-Nov-2014 |
nicm <nicm@openbsd.org> |
Label windows which are smaller than expected with a reason.
|
#
9219bdc2 |
| 12-Nov-2014 |
nicm <nicm@openbsd.org> |
Don't let force-width or force-height be < PANE_MINIMUM.
|
#
dfbd3895 |
| 31-Mar-2014 |
nicm <nicm@openbsd.org> |
Make session_attached a count and add session_many_attached flag.
|
#
89952ace |
| 10-Oct-2013 |
nicm <nicm@openbsd.org> |
Make recalculate_sizes() handle an empty window with no active pane. This can happen when a window is in two sessions - it isn't destroyed immediately when the pane goes away but is left until the la
Make recalculate_sizes() handle an empty window with no active pane. This can happen when a window is in two sessions - it isn't destroyed immediately when the pane goes away but is left until the last session is destroyed. Fixes problems with grouped sessions reported by Daniel Ralston.
show more ...
|
#
b4a3311e |
| 24-Mar-2013 |
nicm <nicm@openbsd.org> |
Add resize-pane -Z to temporary zoom the active pane to occupy the full window or unzoom (restored to the normal layout) if it already zoomed, bound to C-b z by default. The pane is unzoomed on prett
Add resize-pane -Z to temporary zoom the active pane to occupy the full window or unzoom (restored to the normal layout) if it already zoomed, bound to C-b z by default. The pane is unzoomed on pretty much any excuse whatsoever.
We considered making this a new layout but the requirements are quite different from layouts so decided it is better as a special case. Each current layout cell is saved, a temporary one-cell layout generated and all except the active pane set to NULL.
Prompted by suggestions and scripts from several. Thanks to Aaron Jensen and Thiago Padilha for testing an earlier version.
show more ...
|
#
36e75931 |
| 21-Mar-2013 |
nicm <nicm@openbsd.org> |
Do not include status line in size calculations in control mode.
|
#
05babb28 |
| 17-Mar-2012 |
nicm <nicm@openbsd.org> |
Add notify hooks for various events, the functions are currently empty stubs but will be filled in for control mode later. From George Nachman.
|
#
59996dc3 |
| 21-Dec-2010 |
nicm <nicm@openbsd.org> |
Store sessions in an RB tree by name rather than a list, this is tidier and allows them to easily be shown sorted in various lists (list-sessions/choose-sessions).
Keep a session index which is used
Store sessions in an RB tree by name rather than a list, this is tidier and allows them to easily be shown sorted in various lists (list-sessions/choose-sessions).
Keep a session index which is used in a couple of places internally but make it an ever-increasing number rather than filling in gaps with new sessions.
show more ...
|
#
3db94e9e |
| 22-Nov-2010 |
nicm <nicm@openbsd.org> |
There is somewhere that WINDOW_HIDDEN is getting set when it shouldn't be and I can't find it, but the flag itself is a useless optimisation that only applies to automatic-resize windows, so just dis
There is somewhere that WINDOW_HIDDEN is getting set when it shouldn't be and I can't find it, but the flag itself is a useless optimisation that only applies to automatic-resize windows, so just dispose of it entirely.
Fixes problems reported by Nicholas Riley.
show more ...
|
#
4336fb18 |
| 21-Jun-2010 |
nicm <nicm@openbsd.org> |
Having a list of winlinks->alerts for each session is stupid, just store the alert flags directly in the winlink itself.
|
#
fd523813 |
| 24-Sep-2009 |
nicm <nicm@openbsd.org> |
Don't allow locked or suspended clients to limit the size of active clients.
|
#
af9e4c5d |
| 19-Jul-2009 |
nicm <nicm@openbsd.org> |
Improved layout code.
Each window now has a tree of layout cells associated with it. In this tree, each node is either a horizontal or vertical cell containing a list of other cells running from lef
Improved layout code.
Each window now has a tree of layout cells associated with it. In this tree, each node is either a horizontal or vertical cell containing a list of other cells running from left-to-right or top-to-bottom, or a leaf cell which is associated with a pane.
The major functional changes are:
- panes may now be split arbitrarily both horizontally (splitw -h, C-b %) and vertically (splitw -v, C-b "); - panes may be resized both horizontally and vertically (resizep -L/-R/-U/-D, bound to C-b left/right/up/down and C-b M-left/right/up/down); - layouts are now applied and then may be modified by resizing or splitting panes, rather than being fixed and reapplied when the window is resized or panes are added; - manual-vertical layout is no longer necessary, and active-only layout is gone (but may return in future); - the main-pane layouts now reduce the size of the main pane to fit all panes if possible.
Thanks to all who tested.
show more ...
|