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
nicm
303d342d5f
Add a client flag 'active-pane' which stores the active pane in the
...
client and allows it to be changed independently from the real active
pane stored in the window. This is can be used with session groups which
allow an independent current window (although it would be nice to have a
flag for this too and remove session groups). The client active pane is
only really useful interactively, many things (hooks, window-style,
zooming) still use the window active pane.
2020-05-16 16:20:59 +00:00
nicm
3f7f9a0e20
Make client -c and -t handling common in cmd-queue.c and try to be
...
clearer about whether the client is the target client (must have a
session) or not.
2020-04-13 20:51:57 +00:00
nicm
adb76fd1ce
Move cmdq_state into cmd-queue.c.
2020-04-13 14:46:04 +00:00
nicm
9a65102bfc
Rename cmdq_shared to cmdq_state which will better reflect what it is
...
(going to be) used for.
2020-04-13 14:04:25 +00:00
nicm
04cdd03525
Also move cmdq_item and cmdq_list into cmd-queue.c (this is to make its
...
use more clearly defined and preparation for some future work).
2020-04-13 10:59:58 +00:00
nicm
c20eb0c0ae
Make struct cmd local to cmd.c and move it out of tmux.h.
2020-04-13 08:26:27 +00:00
nicm
cc8b41f294
Add a way to mark environment variables as "hidden" so they can be used
...
by tmux but are not passed into the environment of new panes.
2020-03-31 17:14:40 +00:00
nicm
fb396286ff
Do not attempt to close a NULL pane when failing to create a new one.
2020-03-16 18:08:39 +00:00
nicm
0c5e9c6efa
Add support for percentage sizes for resize-pane ("-x 10%"). Also change
...
split-window and join-pane -l to accept similar percentages and
deprecate -p. From Anindya Mukherjee.
2019-10-15 08:25:37 +00:00
nicm
9f75635596
Allow panes to be empty (no command), output can be piped to them with
...
split-window or display-message -I.
2019-05-03 20:44:24 +00:00