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)
@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)
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