code: def scroll_forward(event, half=False):
      
      w = _current_window_for_event(event)
      b = event.cli.current_buffer
  
      if w and w.render_info:
          info = w.render_info
          ui_content = info.ui_content
  
          # Height to scroll.
          scroll_height = info.window_height
          if half:
              scroll_height //= 2
  
          # Calculate how many lines is equivalent to that vertical space.
          y = b.document.cursor_position_row + 1
          height = 0
          while y < ui_content.line_count:
              line_height = info.get_height_for_line(y)
  
              if height + line_height < scroll_height:
                  height += line_height
                  y += 1
              else:
                  break
  
          b.cursor_position = b.document.translate_row_col_to_index(y, 0)
docs: Scroll window down.