# File lib/sup/buffer.rb, line 285
  def completely_redraw_screen
    return if @shelled

    ## this magic makes Ncurses get the new size of the screen
    Ncurses.endwin
    Ncurses.stdscr.keypad 1
    Ncurses.curs_set 0
    Ncurses.refresh
    @sigwinch_mutex.synchronize { @sigwinch_happened = false }
    debug "new screen size is #{Ncurses.rows} x #{Ncurses.cols}"

    status, title = get_status_and_title(@focus_buf) # must be called outside of the ncurses lock

    Ncurses.sync do
      @dirty = true
      Ncurses.clear
      draw_screen :sync => false, :status => status, :title => title
    end
  end