Tiled layouts are broken in 1.13.1
ApexWeed opened this issue · 5 comments
Step 1: Provide a summary of your problem
- Tiled layouts no longer work after the changes in #793
Step 2: Provide tmuxp details
tmuxp debug-info
output: https://pastebin.com/GGTi9HnT
Step 3: Describe the problem:
Only the first column of tiled layouts are created as tmux ran out of space.
Steps to reproduce:
- Run included yaml config
- tmuxp crashes
Observed Results:
- 1x4 layout is created and tmuxp crashes.
Traceback (most recent call last):
File "/usr/bin/tmuxp", line 8, in <module>
sys.exit(cli.cli())
File "/usr/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
return self.main(*args, **kwargs)
File "/usr/lib/python3.10/site-packages/click/core.py", line 1055, in main
rv = self.invoke(ctx)
File "/usr/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/lib/python3.10/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "/usr/lib/python3.10/site-packages/click/decorators.py", line 26, in new_func
return f(get_current_context(), *args, **kwargs)
File "/usr/lib/python3.10/site-packages/tmuxp/cli/load.py", line 573, in command_load
load_workspace(config[-1], **tmux_options)
File "/usr/lib/python3.10/site-packages/tmuxp/cli/load.py", line 418, in load_workspace
_load_attached(builder, detached)
File "/usr/lib/python3.10/site-packages/tmuxp/cli/load.py", line 159, in _load_attached
builder.build()
File "/usr/lib/python3.10/site-packages/tmuxp/workspacebuilder.py", line 268, in build
for p, pconf in self.iter_create_panes(w, wconf):
File "/usr/lib/python3.10/site-packages/tmuxp/workspacebuilder.py", line 420, in iter_create_panes
p = w.split_window(
File "/usr/lib/python3.10/site-packages/libtmux/window.py", line 533, in split_window
raise exc.LibTmuxException(pane_cmd.stderr, self._info, self.panes)
libtmux.exc.LibTmuxException: (['no space for new pane'], {'session_name': 'bash', 'session_id': '$0', 'window_id': '@1', 'window_name': 'tui', 'window_width': '80', 'window_height': '24', 'window_layout': 'b25e,80x24,0,0,1', 'window_panes': '1', 'window_index': '0', 'window_flags': '*', 'window_active': '1', 'window_bell_flag': '0', 'window_activity_flag': '0', 'window_silence_flag': '0'}, [Pane(%1 Window(@1 0:tui, Session($0 bash))), Pane(%2 Window(@1 0:tui, Session($0 bash))), Pane(%3 Window(@1 0:tui, Session($0 bash))), Pane(%4 Window(@1 0:tui, Session($0 bash)))])
Works correctly in 1.13.0.
Expected Results:
- 3x4 layout is created.
Relevant Code:
session_name: bash
start_directory: ~/conf
shell_command_before: export TERM=xterm-256color
windows:
- window_name: tui
layout: tiled
panes:
- bash
- bash
- bash
- bash
- bash
- bash
- bash
- bash
- bash
- bash
- bash
- bash
Is it possible if you could make a video of 1.13.0 vs 1.13.1?
(Not required, but helps differentiate if this issue needs to be tackled independently from #800)
No problem at all.
20220829131435227.mp4
Changed it to echo the pane numbers but otherwise config is the same.
@ApexWeed P.S. does your tmux(1)
/ .tmux.conf
config have a default-size
, or do you always have a tmux client attached when loading tmuxp sessions?
@tony No default-size
is specified anywhere. Noticed this originally via systemd units failing but happens regardless of a client being attached.
For reference, a master service unit with /usr/bin/tmux new-session -s master -d
as ExecStart and then each session is just another service unit with /usr/bin/tmuxp load <config>
.
When recording the repro all other tmux sessions had been killed beforehand so it doesn't appear it matters whether the server is running already or not.