From af15d58c253c725c60dfb649279b64c78494debc Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Mon, 2 Jun 2025 15:22:57 +0200 Subject: [PATCH] With buffer_idx rotate not only through logs, but also prompts. --- ircplom.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/ircplom.py b/ircplom.py index 5d67e43..b8cec6b 100755 --- a/ircplom.py +++ b/ircplom.py @@ -503,9 +503,9 @@ class TuiLoop(Loop): def __init__(self, term: Terminal, *args, **kwargs) -> None: self._term = term - self._prompt = TuiPrompt(self._term) self._logs = [LogBuffer(self._term) for i in range(2)] - self._log_selected = 0 + self._prompts = [TuiPrompt(self._term) for i in range(2)] + self._buffer_idx = 0 self._calc_and_draw_all() self._term.flush() super().__init__(*args, **kwargs) @@ -539,12 +539,17 @@ class TuiLoop(Loop): @property def _log(self) -> LogBuffer: - return self._logs[self._log_selected] + return self._logs[self._buffer_idx] + + @property + def _prompt(self) -> TuiPrompt: + return self._prompts[self._buffer_idx] def _calc_and_draw_all(self) -> None: self._term.clear() self._term.calc_geometry() - self._prompt.start_y = self._term.size.y - 1 + for prompt in self._prompts: + prompt.start_y = self._term.size.y - 1 self._y_separator = self._term.size.y - 2 for log in self._logs: log.apply_geometry(limit_y=self._y_separator) @@ -606,7 +611,7 @@ class TuiLoop(Loop): buffer_idx = int(buffer_idx_str) if buffer_idx < 0 or buffer_idx > len(self._logs): return f'unavailable buffer idx: {buffer_idx}' - self._log_selected = buffer_idx + self._buffer_idx = buffer_idx self._log.draw() return None -- 2.30.2