From 61fd9edfa4661e39794172f160d009280817e527 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Fri, 16 Feb 2024 15:00:00 -0600 Subject: [PATCH 1/3] py(deps): libtmux v0.28.1 -> v0.30.1 (command improvements) --- poetry.lock | 8 ++++---- pyproject.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/poetry.lock b/poetry.lock index 260e5b6595d..a0c754fe190 100644 --- a/poetry.lock +++ b/poetry.lock @@ -391,13 +391,13 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "libtmux" -version = "0.28.1" +version = "0.30.1" description = "Typed library that provides an ORM wrapper for tmux, a terminal multiplexer." optional = false python-versions = ">=3.8,<4.0" files = [ - {file = "libtmux-0.28.1-py3-none-any.whl", hash = "sha256:91b49086d8b737f27a556419a428570b20bbf6bea9bffc335272cb043073f752"}, - {file = "libtmux-0.28.1.tar.gz", hash = "sha256:611318ed476c87cd59dae8233cb4f1272e12768a38fd0841190550596080bef0"}, + {file = "libtmux-0.30.1-py3-none-any.whl", hash = "sha256:57309ac21b99696903494621d7132eb29f430921153f97e40717b6ab4d62119c"}, + {file = "libtmux-0.30.1.tar.gz", hash = "sha256:652d74d614963a7cc3a6617e7d0601e196fd0e55f9d074ab441bf6879ca462f3"}, ] [[package]] @@ -1397,4 +1397,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "678df3513c2223157984f4e6c0dfc87f5e611c2e482e28ac8271e22bf5ed88cf" +content-hash = "e2fc74bd88e8ee7fc9681b110d3b17c37e2e624dd4f7a6f2a94934f995372e2e" diff --git a/pyproject.toml b/pyproject.toml index 9c0fbd52e99..3b527218610 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,7 +47,7 @@ tmuxp = 'tmuxp:cli.cli' [tool.poetry.dependencies] python = "^3.8" -libtmux = "~0.28.1" +libtmux = "~0.30.1" colorama = ">=0.3.9" PyYAML = "^6.0" From 27e932a7d08f0b21d8ce98864ec2ebd7e9ef0685 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Fri, 16 Feb 2024 15:21:29 -0600 Subject: [PATCH 2/3] chore: Migrate to libtmux v0.30+ named methods --- src/tmuxp/cli/load.py | 2 +- src/tmuxp/workspace/builder.py | 10 +++++----- tests/workspace/test_builder.py | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/tmuxp/cli/load.py b/src/tmuxp/cli/load.py index 72bf52efbea..ebbbff5419c 100644 --- a/src/tmuxp/cli/load.py +++ b/src/tmuxp/cli/load.py @@ -474,7 +474,7 @@ def load_workspace( if choice == "k": if builder.session is not None: - builder.session.kill_session() + builder.session.kill() tmuxp_echo("Session killed.") elif choice == "a": _reattach(builder) diff --git a/src/tmuxp/workspace/builder.py b/src/tmuxp/workspace/builder.py index 62d5ece546e..35a5754d176 100644 --- a/src/tmuxp/workspace/builder.py +++ b/src/tmuxp/workspace/builder.py @@ -270,7 +270,7 @@ def build(self, session: t.Optional[Session] = None, append: bool = False) -> No cwd = self.session_config["start_directory"] run_before_script(self.session_config["before_script"], cwd=cwd) except Exception: - self.session.kill_session() + self.session.kill() raise if "options" in self.session_config: @@ -311,10 +311,10 @@ def build(self, session: t.Optional[Session] = None, append: bool = False) -> No plugin.after_window_finished(window) if focus_pane: - focus_pane.select_pane() + focus_pane.select() if focus: - focus.select_window() + focus.select() def iter_create_windows( self, @@ -403,7 +403,7 @@ def iter_create_windows( assert isinstance(window, Window) if is_first_window_pass: # if first window, use window 1 - session.attached_window.kill_window() + session.attached_window.kill() if "options" in window_config and isinstance( window_config["options"], @@ -413,7 +413,7 @@ def iter_create_windows( window.set_window_option(key, val) if window_config.get("focus"): - window.select_window() + window.select() yield window, window_config diff --git a/tests/workspace/test_builder.py b/tests/workspace/test_builder.py index 17453d1200f..10e6590a051 100644 --- a/tests/workspace/test_builder.py +++ b/tests/workspace/test_builder.py @@ -187,10 +187,10 @@ def assertIsMissing(cmd: str, hist: str) -> bool: (isMissingWindow, "isMissing", assertIsMissing), ]: assert w.name == window_name - w.select_window() + w.select() p = w.attached_pane assert p is not None - p.select_pane() + p.select() # Print the last-in-history command in the pane p.cmd("send-keys", " fc -ln -1") @@ -1539,8 +1539,8 @@ def test_issue_800_default_size_many_windows( assert builder is not None assert builder.session is not None assert isinstance(builder.session, Session) - assert callable(builder.session.kill_session) - builder.session.kill_session() + assert callable(builder.session.kill) + builder.session.kill() with pytest.raises(libtmux.exc.LibTmuxException, match="no space for new pane"): builder.build() From 981fa05ede7570c8bfe58605a3df0aa908c05a2b Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Fri, 16 Feb 2024 15:23:28 -0600 Subject: [PATCH 3/3] docs(CHANGES): Note libtmux bump --- CHANGES | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGES b/CHANGES index d4bee27a7ca..af8538d291c 100644 --- a/CHANGES +++ b/CHANGES @@ -19,6 +19,14 @@ $ pipx install --suffix=@next 'tmuxp' --pip-args '\--pre' --force +#### Breaking changes + +- libtmux: 0.28.1 -> 0.30.1 (#911). + + Updated method names + +- Rename methods to libtmux v0.30.0+-style (#911). + ## tmuxp 1.37.1 (2024-02-15) #### Development