def x_modifiable(self):
        """
        The location where characters start to be modifiable by users. The value
        is relative to the beginning of screen buffer.
        :rtype: int
        """
        # The position is either the x_drawend or last LF location plus one,
        # whichever is larger.
        for idx in xrange(self.text_length - 1, self.x_drawend - 1, -1):
            if self._buffer[idx].data == '\n':
                return idx + 1
        else:
            return self.x_drawend

        The location where characters start to be modifiable by users. The value
        is relative to the beginning of screen buffer.
        :rtype: int
        
system/shscreens.py