def reset(self, *args):  # *args is a necessary placeholder
        """
        Clear the screen and reset its state.
        *args is needed because dispatch from stream always call handlers
        with at least one parameter (even it is a dummy 0).
        """
        # Empty the buffer
        self._buffer.clear()

        # The cursor position
        self.cursor_xs = self.cursor_xe = 0

        # This is the location where modifiable chars start. It is immediately
        # after where latest program write ends. This property is used to calculate
        # modifiable range and is really only useful for User side actions.
        self.x_drawend = 0

        # The left and right bounds are helpers to renderer for performance.
        # Only texts outside of the bounds get rebuilt and re-rendered.
        # All chars before this location must be removed from terminal text.
        # Note this value is relative to start of Terminal text.
        self.intact_left_bound = 0
        # All chars after this location must be re-rendered. Note this value is
        # relative to start of the Screen's buffer.
        self.intact_right_bound = 0

        self.nlines = 0

        Clear the screen and reset its state.
        *args is needed because dispatch from stream always call handlers
        with at least one parameter (even it is a dummy 0).
        
system/shscreens.py