code: def make_display_lines(self):
          
          self.screen_height, self.screen_width = self.linesnum()  # 屏幕显示行数
  
          display_lines = ['\r']
          display_lines.append(self._title + '\r')
  
          top = self.topline
          bottom = self.topline + self.screen_height - 3
  
          for index, i in enumerate(self._lines[top:bottom]):
              # 箭头指向
              if index == self.markline:
                  prefix = self._prefix_selected
                  i = color_func(self.c['LINE']['highlight'])(i)
              else:
                  prefix = self._prefix_deselected
              # 选择频道
              if index + self.topline == self.displayline:
                  suffix = self._suffix_selected
              else:
                  suffix = self._suffix_deselected
              line = '%s %s %s' % (prefix, i, suffix)
              line = color_func(self.c['LINE']['line'])(line)
  
              display_lines.append(line + '\r')
  
          return_num = self.screen_height - 3 - len(self._lines)
          for _ in range(return_num):
              display_lines.append('\r')
          self.display_lines = display_lines
docs: 生成输出行
  
          注意: 多线程终端同时输出会有bug, 导致起始位置偏移, 需要在每行加\r