'KEY_RIGHT': ('window.prompt.move_cursor', 'right'),
'KEY_UP': ('window.prompt.scroll', 'up'),
'KEY_DOWN': ('window.prompt.scroll', 'down'),
- 'KEY_PGUP': ('window.log.scroll', 'up'),
- 'KEY_PGDOWN': ('window.log.scroll', 'down'),
+ 'KEY_PGUP': ('window.history.scroll', 'up'),
+ 'KEY_PGDOWN': ('window.history.scroll', 'down'),
'esc:91:49:59:51:68': ('window', 'left'),
'esc:91:49:59:51:67': ('window', 'right'),
'KEY_F1': ('window.paste',),
self._scroll(up=direction == 'up')
-class _LogWidget(_ScrollableWidget):
+class _HistoryWidget(_ScrollableWidget):
_view_size: _YX
_y_pgscroll: int
class Window(_Widget):
- 'Widget filling entire screen with sub-widgets like .prompt, .log.'
+ 'Widget filling entire screen with sub-widgets like .prompt, .history.'
_y_status: int
prompt: PromptWidget
super().__init__(**kwargs)
self.idx = idx
self._term = term
- self.log = _LogWidget(wrap=self._term.wrap, write=self._term.write)
+ self.history = _HistoryWidget(wrap=self._term.wrap,
+ write=self._term.write)
self.prompt = self.__annotations__['prompt'](write=self._term.write)
if hasattr(self._term, 'size'):
self.set_geometry()
if self._term.size.y < _MIN_HEIGHT or self._term.size.x < _MIN_WIDTH:
bad_yx = _YX(-1, -1)
super().set_geometry(bad_yx)
- self.log.set_geometry(bad_yx)
+ self.history.set_geometry(bad_yx)
self.prompt.set_geometry(bad_yx)
return False
super().set_geometry(_YX(0, 0))
self._y_status = self._term.size.y - 2
- self.log.set_geometry(_YX(self._y_status, self._term.size.x))
+ self.history.set_geometry(_YX(self._y_status, self._term.size.x))
self.prompt.set_geometry(_YX(self._term.size.y - 1, self._term.size.x))
return True
return False
title_box = f'{self.status_title}]'
status_line = title_box + '=' * (self._term.size.x - len(title_box))
- self.log.draw()
+ self.history.draw()
self._term.write(status_line, self._y_status)
self.prompt.draw()
return True
if self.tainted:
self.draw()
return
- for widget in [w for w in (self.log, self.prompt) if w.tainted]:
+ for widget in [w for w in (self.history, self.prompt) if w.tainted]:
widget.draw()
self._windows: list[Window] = []
self._new_window()
self._log = Logger(
- lambda msg: # pylint: disable=unnecessary-lambda # to keep …
- self.window.log.append(msg)) # … up-to-date _what_ window's .log
+ lambda msg: # pylint: disable=unnecessary-lambda # to keep up-to…
+ self.window.history.append(msg)) # …-date _what_ window's .history
self._set_screen()
signal(SIGWINCH, lambda *_: self._set_screen())
method_name_prefix = 'cmd__'
base = 'self'
for path in (base, f'{base}.window', f'{base}.window.prompt',
- f'{base}.window.log'):
+ f'{base}.window.history'):
for cmd_method_name in [name for name in dir(eval(path))
if name.startswith(method_name_prefix)]:
path_prefix = f'{path}.'