From: Christian Heller <c.heller@plomlompom.de>
Date: Mon, 2 Jun 2025 13:22:57 +0000 (+0200)
Subject: With buffer_idx rotate not only through logs, but also prompts.
X-Git-Url: https://plomlompom.com/repos/%22https:/validator.w3.org/add_task?a=commitdiff_plain;h=af15d58c253c725c60dfb649279b64c78494debc;p=ircplom

With buffer_idx rotate not only through logs, but also prompts.
---

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