tmuxp icon indicating copy to clipboard operation
tmuxp copied to clipboard

cmd.get("enter", enter) AttributeError: 'str' object has no attribute 'get'

Open Javi3y opened this issue 7 months ago • 2 comments

the code

from tmuxp.workspace.freezer import freeze
from tmuxp.workspace.builder import WorkspaceBuilder
from libtmux.server import Server

server = Server()
session = server.sessions.get(session_name="test", default=None)

if session:
    new_session = freeze(session)
    server.kill_session("test")
    builder = WorkspaceBuilder(session_config=new_session, server=server)
    builder.build()

error:

Traceback (most recent call last):
  File "/home/javier/dotfiles/bin/.bin/kitty-workspaces-d/test.py", line 12, in <module>
    builder.build()
    ~~~~~~~~~~~~~^^
  File "/home/javier/dotfiles/bin/.bin/kitty-workspaces-d/.venv/lib/python3.13/site-packages/tmuxp/workspace/builder.py", line 323, in build
    for pane, pane_config in self.iter_create_panes(window, window_config):
                             ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/javier/dotfiles/bin/.bin/kitty-workspaces-d/.venv/lib/python3.13/site-packages/tmuxp/workspace/builder.py", line 552, in iter_create_panes
    enter = cmd.get("enter", enter)
            ^^^^^^^
AttributeError: 'str' object has no attribute 'get'

Javi3y avatar Apr 27 '25 15:04 Javi3y

Can you show the new_session.

Does this work

import pprint

pprint.pprint(new_session)

tony avatar Apr 27 '25 16:04 tony

{'session_name': 'test', 'windows': [{'focus': 'true', 'layout': 'ab5d,82x41,0,0,0', 'options': {}, 'panes': [{'focus': 'true', 'shell_command': ['zsh']}], 'start_directory': '/home/javier', 'window_name': 'zsh'}]}

Javi3y avatar Apr 27 '25 19:04 Javi3y