docs: def display_plugin(self, plugin_stats,
                         display_optional=True,
                         display_additional=True,
                         max_y=65535,
                         add_space=0):
          """Display the plugin_stats on the screen.
  
          If display_optional=True display the optional stats
          If display_additional=True display additionnal stats
          max_y: do not display line > max_y
          add_space: add x space (line) after the plugin
          """
          # Exit if:
          # - the plugin_stats message is empty
          # - the display tag = False
          if plugin_stats is None or not plugin_stats['msgdict'] or not plugin_stats['display']:
              # Exit
              return 0
  
          # Get the screen size
          screen_x = self.screen.getmaxyx()[1]
          screen_y = self.screen.getmaxyx()[0]
  
          # Set the upper/left position of the message
          if plugin_stats['align'] == 'right':
              # Right align (last column)
              display_x = screen_x - self.get_stats_display_width(plugin_stats)
          else:
              display_x = self.column
          if plugin_stats['align'] == 'bottom':
              # Bottom (last line)
              display_y = screen_y - self.get_stats_display_height(plugin_stats)
          else:
              display_y = self.line
  
          # Display
          x = display_x
          x_max = x
          y = display_y
          for m in plugin_stats['msgdict']:
              # New line
              if m['msg'].startswith('\n'):
                  # Go to the next line
                  y += 1
                  # Return to the first column
                  x = display_x
                  continue
              # Do not display outside the screen
              if x < 0:
                  continue
              if not m['splittable'] and (x + len(m['msg']) > screen_x):
                  continue
              if y < 0 or (y + 1 > screen_y) or (y > max_y):
                  break
              # If display_optional = False do not display optional stats
              if not display_optional and m['optional']:
                  continue
              # If display_additional = False do not display additional stats
              if not display_additional and m['additional']:
                  continue
              # Is it possible to display the stat with the current screen size
              # !!! Crach if not try/except... Why ???
              try:
                  self.term_window.addnstr(y, x,
                                           m['msg'],
                                           # Do not disply outside the screen
                                           screen_x - x,
                                           self.colors_list[m['decoration']])
              except Exception:
                  pass
              else:
                  # New column
                  # Python 2: we need to decode to get real screen size because
                  # UTF-8 special tree chars occupy several bytes.
                  # Python 3: strings are strings and bytes are bytes, all is
                  # good.
                  try:
                      x += len(u(m['msg']))
                  except UnicodeDecodeError:
                      # Quick and dirty hack for issue #745
                      pass
                  if x > x_max:
                      x_max = x
  
          # Compute the next Glances column/line position
          self.next_column = max(
              self.next_column, x_max + self.space_between_column)
          self.next_line = max(self.next_line, y + self.space_between_line)
  
          # Have empty lines after the plugins
          self.next_line += add_space