code: def request_absolute_cursor_position(self):
          
          # Only do this request when the cursor is at the top row. (after a
          # clear or reset). We will rely on that in `report_absolute_cursor_row`.
          assert self._cursor_pos.y == 0
  
          # For Win32, we have an API call to get the number of rows below the
          # cursor.
          if is_windows():
              self._min_available_height = self.output.get_rows_below_cursor_position()
          else:
              if self.use_alternate_screen:
                  self._min_available_height = self.output.get_size().rows
              else:
                  # Asks for a cursor position report (CPR).
                  self.waiting_for_cpr = True
                  self.output.ask_for_cpr()
docs: Get current cursor position.
          For vt100: Do CPR request. (answer will arrive later.)
          For win32: Do API call. (Answer comes immediately.)