From 683ebf66944dd07a7d8390806333f18f59b0c4df Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Sat, 4 Oct 2025 14:09:21 +0200 Subject: [PATCH] Minor code re-organization. --- src/ircplom/tui_base.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/ircplom/tui_base.py b/src/ircplom/tui_base.py index 46c3992..5d869fb 100644 --- a/src/ircplom/tui_base.py +++ b/src/ircplom/tui_base.py @@ -151,23 +151,21 @@ class _HistoryWidget(_ScrollableWidget): def _draw(self) -> None: start_idx_neg = self._wrapped_idx_neg - self._sizes.y + 1 - end_idx_neg = self._wrapped_idx_neg - idx_pos_bookmark = ([idx_pos for idx_pos, t in enumerate(self._wrapped) + add_scroll_info = self._wrapped_idx_neg < -1 + end_idx_neg = self._wrapped_idx_neg if add_scroll_info else None + bookmark_idx_pos = ([idx_pos for idx_pos, t in enumerate(self._wrapped) if t[0] == self._bookmark_idx_pos] + [0])[0] - wrapped = (self._wrapped[:idx_pos_bookmark] - + [(0, '-' * self._sizes.x)] - + self._wrapped[idx_pos_bookmark:]) + wrapped = (self._wrapped[:bookmark_idx_pos] + + [(0, '-' * self._sizes.x)] # bookmark line + + self._wrapped[bookmark_idx_pos:]) to_write = [t[1] for t in wrapped[start_idx_neg:end_idx_neg]] - add_scroll_info = self._wrapped_idx_neg < -1 if add_scroll_info: scroll_info = f'vvv [{(-1) * self._wrapped_idx_neg}] ' scroll_info += 'v' * (self._sizes.x - len(scroll_info)) to_write += [scroll_info] - else: - to_write += [wrapped[self._wrapped_idx_neg][1]] for i, line in enumerate(to_write): self._write(line, i) - hist_idx_pos = self._wrapped[end_idx_neg - int(add_scroll_info)][0] + hist_idx_pos = self._wrapped[(end_idx_neg or 0) - 1][0] self._last_read_idx_pos = max(self._last_read_idx_pos, hist_idx_pos or 0) -- 2.30.2