From 9f930342bad7e2cc783cfbf48fce26c57f7d9e1f Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Sun, 1 Jun 2025 16:00:32 +0200 Subject: [PATCH] Re-structure keybindings and TuiLoop._cmd_scroll* APIs. --- ircplom.py | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/ircplom.py b/ircplom.py index f52fbe0..cc75822 100755 --- a/ircplom.py +++ b/ircplom.py @@ -23,10 +23,10 @@ TIMEOUT_LOOP = 0.1 INPUT_PROMPT = ':' KEYBINDINGS = { - 'KEY_BACKSPACE': 'prompt_backspace', - 'KEY_ENTER': 'prompt_enter', - 'KEY_PGUP': 'scroll_up', - 'KEY_PGDOWN': 'scroll_down', + 'KEY_BACKSPACE': ('prompt_backspace',), + 'KEY_ENTER': ('prompt_enter',), + 'KEY_PGUP': ('scroll', 'up'), + 'KEY_PGDOWN': ('scroll', 'down'), } IRCSPEC_LINE_SEPARATOR = b'\r\n' @@ -457,7 +457,7 @@ class TuiLoop(Loop): self._logs[1].append(f'-> {event.payload.raw}') self._draw_log() elif event.type_ == 'KEYBINDING': - getattr(self, f'_cmd__{event.payload}')() + getattr(self, f'_cmd__{event.payload[0]}')(*event.payload[1:]) elif event.type_ == 'INPUT_CHAR': self._prompt += event.payload self._draw_prompt() @@ -514,12 +514,8 @@ class TuiLoop(Loop): self._prompt = '' self._draw_prompt() - def _cmd__scroll_up(self) -> None: - self._log.scroll() - self._draw_log() - - def _cmd__scroll_down(self) -> None: - self._log.scroll(up=False) + def _cmd__scroll(self, direction: str) -> None: + self._log.scroll(up=direction == 'up') self._draw_log() def _cmd__disconnect(self, quit_msg: str = 'ircplom says bye') -> None: -- 2.30.2