     # Determine the current size (rows and columns) of the DOM
     # element for the editor, then resize the renderer and the
     # remote PTY.
-    resize: (internal) =>
-        if internal and not @allow_resize
-            return
-        @allow_resize = false
+    resize: =>
+        if not @user_was_recently_active()
+            return
 
         if not @session?
             # don't bother if we don't even have a remote connection

            $(document).on 'click', @_click
        else
            @_mousedown = (e) =>
                if $(e.target).hasParent(@element).length > 0
                    @focus()
                else


        if opts.session?
            @set_session(opts.session)

    # call this whenever the *user* actively does something --
    # this gives them control of the terminal size...
    user_is_active: =>
        @_last_active = new Date()

    user_was_recently_active: =>
        return new Date() - (@_last_active ? 0) <= ACTIVE_INTERVAL_MS

    append_to_value: (data) =>
        # this @value is used for copy/paste of the session history and @value_orig for resize/refresh
