fix: keep tmux focus during window index reset

This commit is contained in:
2026-06-10 22:18:13 -04:00
parent ee4bb4cbfa
commit 09505f0758
2 changed files with 18 additions and 14 deletions
+1
View File
@@ -277,6 +277,7 @@ class TmuxRunner:
async def _move_window_id_to_index(self, window_id: str, index: int) -> bool:
rc, _, err = await self._exec(
"move-window",
"-d",
"-s",
window_id,
"-t",
+17 -14
View File
@@ -196,14 +196,14 @@ async def test_reset_window_indexes_sparse_indexes_compact_in_current_order(runn
assert result is True
assert runner._exec.call_count == 9
calls = [call.args for call in runner._exec.call_args_list]
assert calls[1] == ("move-window", "-s", "@0", "-t", "hqt-main:14")
assert calls[2] == ("move-window", "-s", "@1", "-t", "hqt-main:15")
assert calls[3] == ("move-window", "-s", "@4", "-t", "hqt-main:16")
assert calls[4] == ("move-window", "-s", "@9", "-t", "hqt-main:17")
assert calls[5] == ("move-window", "-s", "@0", "-t", "hqt-main:0")
assert calls[6] == ("move-window", "-s", "@1", "-t", "hqt-main:1")
assert calls[7] == ("move-window", "-s", "@4", "-t", "hqt-main:2")
assert calls[8] == ("move-window", "-s", "@9", "-t", "hqt-main:3")
assert calls[1] == ("move-window", "-d", "-s", "@0", "-t", "hqt-main:14")
assert calls[2] == ("move-window", "-d", "-s", "@1", "-t", "hqt-main:15")
assert calls[3] == ("move-window", "-d", "-s", "@4", "-t", "hqt-main:16")
assert calls[4] == ("move-window", "-d", "-s", "@9", "-t", "hqt-main:17")
assert calls[5] == ("move-window", "-d", "-s", "@0", "-t", "hqt-main:0")
assert calls[6] == ("move-window", "-d", "-s", "@1", "-t", "hqt-main:1")
assert calls[7] == ("move-window", "-d", "-s", "@4", "-t", "hqt-main:2")
assert calls[8] == ("move-window", "-d", "-s", "@9", "-t", "hqt-main:3")
@pytest.mark.asyncio
@@ -228,12 +228,12 @@ async def test_reset_window_indexes_home_not_zero_moves_home_first_in_final_layo
assert result is True
calls = [call.args for call in runner._exec.call_args_list]
assert calls[1] == ("move-window", "-s", "@2", "-t", "hqt-main:11")
assert calls[2] == ("move-window", "-s", "@5", "-t", "hqt-main:12")
assert calls[3] == ("move-window", "-s", "@7", "-t", "hqt-main:13")
assert calls[4] == ("move-window", "-s", "@5", "-t", "hqt-main:0")
assert calls[5] == ("move-window", "-s", "@2", "-t", "hqt-main:1")
assert calls[6] == ("move-window", "-s", "@7", "-t", "hqt-main:2")
assert calls[1] == ("move-window", "-d", "-s", "@2", "-t", "hqt-main:11")
assert calls[2] == ("move-window", "-d", "-s", "@5", "-t", "hqt-main:12")
assert calls[3] == ("move-window", "-d", "-s", "@7", "-t", "hqt-main:13")
assert calls[4] == ("move-window", "-d", "-s", "@5", "-t", "hqt-main:0")
assert calls[5] == ("move-window", "-d", "-s", "@2", "-t", "hqt-main:1")
assert calls[6] == ("move-window", "-d", "-s", "@7", "-t", "hqt-main:2")
@pytest.mark.asyncio
@@ -252,6 +252,9 @@ async def test_reset_window_indexes_move_failure_returns_false(runner):
assert result is False
assert runner._exec.call_count == 3
calls = [call.args for call in runner._exec.call_args_list]
assert calls[1] == ("move-window", "-d", "-s", "@0", "-t", "hqt-main:8")
assert calls[2] == ("move-window", "-d", "-s", "@1", "-t", "hqt-main:9")
@pytest.mark.asyncio