def redraw(self, wnd: _curses.window): "Refresh debug window" lines, cols = wnd.getmaxyx() wnd.erase() wnd.hline(0, 0, curses.ACS_HLINE, cols) self._logs = self._logs[-(lines-1):] line = 1 for log in self._logs: wnd.addstr(line, 0, log[:cols-1]) line += 1 wnd.refresh()
def redraw(self, wnd: _curses.window): "Refresh status and keybindings display" # Update size on resize events self.lines_max, self.cols_max = wnd.getmaxyx() wnd.erase() wnd.hline(0, 0, curses.ACS_HLINE, self.cols_max) state = self.app.bindings.get_current() if state.render_callback is not None: state.render_callback() cmds = state.commands[:] col = self.margin_left while cmds: cmds, max_width = self._draw_column(wnd, col, cmds, state.disabled) col += max_width + self.margin_column hints = self.app.bindings.get_current().hints[:] while hints: hints, max_width = self._draw_hints(wnd, col, hints) col += max_width + self.margin_column wnd.refresh()