docs: def msg_curse(self, args=None, max_width=None):
          """Return the dict to display in the curse interface."""
          # Init the return message
          ret = []
  
          # Only process if stats exist...
          if not self.stats:
              return ret
  
          # Max size for the interface name
          name_max_width = max_width - 12
  
          # Header
          msg = '{:{width}}'.format('RAID disks',
                                    width=name_max_width)
          ret.append(self.curse_add_line(msg, "TITLE"))
          msg = '{:>7}'.format('Used')
          ret.append(self.curse_add_line(msg))
          msg = '{:>7}'.format('Avail')
          ret.append(self.curse_add_line(msg))
          # Data
          arrays = sorted(iterkeys(self.stats))
          for array in arrays:
              # New line
              ret.append(self.curse_new_line())
              # Display the current status
              status = self.raid_alert(self.stats[array]['status'],
                                       self.stats[array]['used'],
                                       self.stats[array]['available'],
                                       self.stats[array]['type'])
              # Data: RAID type name | disk used | disk available
              array_type = self.stats[array]['type'].upper() if self.stats[array]['type'] is not None else 'UNKNOWN'
              # Build the full name = array type + array name
              full_name = '{} {}'.format(array_type, array)
              msg = '{:{width}}'.format(full_name,
                                        width=name_max_width)
              ret.append(self.curse_add_line(msg))
              if self.stats[array]['type'] == 'raid0' and self.stats[array]['status'] == 'active':
                  msg = '{:>7}'.format(len(self.stats[array]['components']))
                  ret.append(self.curse_add_line(msg, status))
                  msg = '{:>7}'.format('-')
                  ret.append(self.curse_add_line(msg, status))
              elif self.stats[array]['status'] == 'active':
                  msg = '{:>7}'.format(self.stats[array]['used'])
                  ret.append(self.curse_add_line(msg, status))
                  msg = '{:>7}'.format(self.stats[array]['available'])
                  ret.append(self.curse_add_line(msg, status))
              elif self.stats[array]['status'] == 'inactive':
                  ret.append(self.curse_new_line())
                  msg = '└─ Status {}'.format(self.stats[array]['status'])
                  ret.append(self.curse_add_line(msg, status))
                  components = sorted(iterkeys(self.stats[array]['components']))
                  for i, component in enumerate(components):
                      if i == len(components) - 1:
                          tree_char = '└─'
                      else:
                          tree_char = '├─'
                      ret.append(self.curse_new_line())
                      msg = '   {} disk {}: '.format(tree_char, self.stats[array]['components'][component])
                      ret.append(self.curse_add_line(msg))
                      msg = '{}'.format(component)
                      ret.append(self.curse_add_line(msg))
              if self.stats[array]['type'] != 'raid0' and (self.stats[array]['used'] < self.stats[array]['available']):
                  # Display current array configuration
                  ret.append(self.curse_new_line())
                  msg = '└─ Degraded mode'
                  ret.append(self.curse_add_line(msg, status))
                  if len(self.stats[array]['config']) < 17:
                      ret.append(self.curse_new_line())
                      msg = '   └─ {}'.format(self.stats[array]['config'].replace('_', 'A'))
                      ret.append(self.curse_add_line(msg))
  
          return ret