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/static/todo?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