nicm
4ab3dcac79
Do not skip zoom on floating panes which can leave them inconsistent,
...
GitHub issue 5747.
2026-10-15 19:14:41 +00:00
nicm
f510adb754
Add a one line description text to each command, originally from someone
...
in GitHub issue 5438.
2026-10-09 18:10:10 +00:00
nicm
0a1adfa116
Instead of redrawing the entire pane or scene when moving or redrawing a
...
pane, add damage rectangles and redraw only the affected spans. From
Michael Grant.
2026-10-02 14:10:41 +00:00
nicm
d202aa7ac1
Add remain-on-exit failed-key and a -D flag to new-pane to have a modal
...
pane wait for Escape/C-c. Both to allow better compatibility with
popups.
2026-09-10 13:04:11 +00:00
nicm
95a7170709
Add a way for floating panes to stay above zoom (-A) flag. Use by
...
default for modal panes to match popups.
2026-08-20 12:57:26 +00:00
nicm
b28b1b7b9a
Add a -K flag to new-pane to make a modal pane capture all keys like
...
popups used to.
2026-08-19 13:10:08 +00:00
nicm
10048f6579
Only unzoom in the floating-split case, modal panes take care of themselves.
2026-08-07 09:33:39 +00:00
nicm
2ec1038ffd
Always unzoom before splitting window, for floating panes also. We
...
already unzoomed for tiled panes and this does the same for floating
panes (until we support having them float over a zoomed pane). From Éric
NICOLAS.
2026-08-07 03:40:45 +00:00
nicm
8bf2a4e807
Add a -C flag to new-pane to have a modal pane close when the mouse is
...
clicked outside it, GitHub issue 5400.
2026-07-21 15:06:22 +00:00
nicm
d98635e1bd
Add modal panes, created currently with new-pane -O. There is one modal
...
pane per window and it must be a floating pane. These are intended to
replace popups. Currently a modal pane will unzoom a zoomed window and
rezoom it when it is closed (a bit like modes do), but this is planned
to change when we get an always-on-top flag.
2026-07-15 15:53:04 +00:00
nicm
34a11db6ca
Typos and doc fixes, from Ben Boeckel.
2026-07-14 17:24:18 +00:00
nicm
658e087f7a
Add new-pane -M to create a new pane from a mouse binding and bind to
...
C-MouseDrag1Pane, removing the old ctrl-click-to-swap-pane binding.
2026-07-13 17:43:09 +00:00
nicm
2b091d91d3
Make split-window inside a floating pane work more nicely and not
...
immediately create an overlapping pane, from Dane Jensen.
2026-07-13 14:35:33 +00:00
nicm
d29aa12117
Replace the notification system with events. Events can carry a payload of
...
additional payload (to reduce problems with lifetime of objects) and are
delivered to one or more event sinks. This is more powerful and reduces the
complex dependencies between control mode and hooks. Events are now used for
hooks, control mode notifications and for monitors (set-hook -B).
wait-for can now wait for an event to fire (-E flag, with -F to for filter),
with -v to print the payload, as well as listing (-l) waiting clients on an
event and forcing one to wake (-w).
A few additional hooks are also now available (pane-created, pane-resized, etc)
and some of the existing ones have additional format variables available.
2026-07-10 13:38:45 +00:00
nicm
25060c3fa5
Fix empty argument to splitw/newp and add -k to copy-mode.
2026-07-08 08:07:42 +00:00
nicm
6ebef7450a
Do not double free or leak pane on failure, from Uzair Aftab in GitHub
...
issue 5316.
2026-07-02 21:40:05 +00:00
nicm
79f0f97495
Make split-window create a new floating pane if used in a floating pane,
...
rather than just complaining. Also improve documentation. From Dane
Jensen.
2026-06-27 10:23:14 +00:00
nicm
7383c04205
Preseve prompt flags across line clear, from Aung Myo Kyaw.
2026-06-27 10:05:38 +00:00
nicm
9dba08ac8b
Allow -p more than 100%, and account for borders when sizing new panes.
...
From Dane Jensen.
2026-06-23 09:29:26 +00:00
nicm
eb65331403
Be more strict about what names and titles we allow and reject them
...
immediately when possible, but allow # again for those directly set by
commands (but not escape sequences). From Barrett Ruth in GitHub issue
5175.
2026-06-15 21:41:39 +00:00
nicm
a41e6e2ed2
Add -B to new-pane to select the floating pane border.
2026-06-15 09:21:40 +00:00
nicm
b182791052
Tidy up error messages from split-window.
2026-06-13 18:30:16 +00:00
nicm
34a6a9d3a1
Change relative time for now to only work in the past and not show a
...
sign which is more useful. Also tidy up some minor style nits.
2026-06-13 08:59:52 +00:00
nicm
2719549cf2
Rename new-pane -B to -W since -B is best kept to match -B to
...
display-popup.
2026-06-10 16:03:14 +00:00
nicm
d5c9196348
Add -B to new-pane/split-window to block until the command exits, like
...
run-shell -b.
2026-06-09 09:11:05 +00:00
nicm
df7c2e605b
Add -T to new-pane to set the title; GitHub issue 5176 from Michael Grant.
2026-06-08 20:44:57 +00:00
nicm
3acd247f5d
Redraw entire session when making a new pane.
2026-06-07 14:11:20 +00:00
nicm
ef8e9df02f
Tweak previous.
2026-06-07 13:29:16 +00:00
nicm
306ee0eddb
Add -E to split-window to explicitly make an empty pane rather than
...
requiring an empty command.
2026-06-07 13:15:28 +00:00
nicm
5744021ac9
Allow floating panes to be created partially off the window, based on a
...
change from Michael Grant.
2026-06-07 09:54:25 +00:00
nicm
c9e22ab67b
Enable floating panes. These are panes which sit above the layout
...
("tiled panes") like popups but unlike popups are not modal and behave
like panes (so the same escape sequence support). Floating panes are
created with the "new-pane" command, bound to * by default.
Currently floating panes can only be moved and resized using the mouse.
The default second status line (if "status-format" is set to 2) has
changed to show a list of panes.
This is the first step and many obvious features are not yet complete
(notably the ability to swap floating panes, resize them using
resize-pane, change them between floating and tiles, and restore custom
layouts with floating panes).
Mostly written by Michael Grant with help from Dane Jensen.
2026-06-07 08:25:59 +00:00
nicm
35709a30ee
Change so that floating panes are always part of the root layout. From
...
Dane Jensen.
2026-06-06 17:30:48 +00:00
nicm
390207cdf1
Use new layout functions for join-pane also, from Dane Jensen.
2026-06-02 19:31:36 +00:00
nicm
a3bf632276
Move cell creation into layout.c, from Dane Jensen.
2026-06-02 19:25:06 +00:00
nicm
ae6a749d3a
Move the PANE_FLOATING flag into the layout cell and add an accessor.
...
From Dane Jensen.
2026-06-02 08:13:50 +00:00
nicm
572e26deb8
Some more trivial floating panes bits.
2026-05-20 08:54:40 +00:00
nicm
a46cdb8bbc
More (currently disabled) bits for creating floating panes, from Michael
...
Grant and Dane Jensen.
2026-05-19 10:26:03 +00:00
nicm
4cea1c7189
Add new-pane command, currently this is equivalent to split-window but
...
it will have minor differences for floating panes in future. Also add
-R/-s/-S/-k/-m flags to control border and style and behaviour, like
popups. GitHub issue 5027 from Dane Jensen.
2026-05-17 10:44:53 +00:00
nicm
68ffe65499
Fix documentation around optional arguments. This includes:
...
- Syncing between the usage string in code and in the man page.
- Adding optional arguments that were not mentioned (such as
shell-command arguments).
- Adding square brackets around arguments that are actually optional.
From Julian Prein (julian at druck dot dev) in GitHub issue 4419.
2025-04-09 07:03:04 +00:00
nicm
244bb726e2
Add some missing spaces, from Ilya Grigoriev.
2025-01-27 09:05:22 +00:00
nicm
bd29a48b56
Check for the right flag to fix split-window -p, from Bryan Childs.
2024-03-06 21:32:39 +00:00
nicm
c07d582e24
Expand arguments to some commands where it makes sense, GitHub issue
...
3204 from Anindya Mukherjee.
2022-06-07 10:02:19 +00:00
nicm
bfbe972225
With -f use percentages of window size not pane size, GitHub issue 2866.
2022-03-08 22:14:25 +00:00
nicm
9574496333
Handle splitw -I correctly when used from an attached client, GitHub
...
issue 2917.
2021-10-07 07:52:13 +00:00
nicm
daec63e5e6
Replace %% in command lists (by copying them) for template arguments ,
...
this means they can be used with {} as well. Also make argument
processing from an existing vector preserve commands. GitHub issue 2858.
2021-08-27 17:25:55 +00:00
nicm
110ba767e5
Rename a member to match what it will be in future.
2021-08-21 10:28:05 +00:00
nicm
08e6360f23
Add args parsing callback for some future work, currently unused.
2021-08-21 10:22:38 +00:00
nicm
5f32b7d961
Hide struct args behind a couple of accessor functions.
2021-08-20 19:50:16 +00:00
nicm
90dd474c3e
Expose args_value struct (will be needed soon) and add some missing frees.
2021-08-20 18:59:53 +00:00
nicm
d98f9f7fe5
Add split-window -Z to start the pane zoomed, GitHub issue 2591.
2021-03-11 06:31:05 +00:00