# Error: urwid.widget.WidgetError: Widget rendered (166 x 26) canvas when passed size (238, 65)! class ANSIColorCanvas(urwid.BoxWidget): def __init__(self): self.__super.__init__() self.term = None self.term_size = None self.term_modes = urwid.TermModes() # Compatibility with TermCanvas self.text = [] def render(self, size, focus=False): if not self.term: width, height = size self.term = TermCanvas(width, height, self) self.term_size = size if len(self.text) > 0: self.term.addstr(self.text) self.text = [] if self.term_size != size: self.term.resize(*size) return self.term def addtext(self, text): if not self.term or not self.term.autoscroll: self.text += text else: if len(self.text) > 0: self.term.addstr(self.text) self.text = [] self.term.addstr(text) self._invalidate()