     unless @isValidDimensions(dimensions)
       dimensions = @getDefaultWindowDimensions()
     @setWindowDimensions(dimensions)
+    dimensions
 
   storeWindowDimensions: ->
     dimensions = @getWindowDimensions()

  #   :y - The new y coordinate.
  #   :width - The new width.
  #   :height - The new height.
  #   :maximized - A {Boolean} for the maximized window state.
  setWindowDimensions: ({x, y, width, height, maximized}) ->
    # Maximized state only applies on Windows and Linux
    if maximized and process.platform isnt 'darwin'
      @maximize()
    else
      if width? and height?
        @setSize(width, height)
      if x? and y?
        @setPosition(x, y)
      else
        @center()

  # Returns true if the dimensions are useable, false if they should be ignored.
  # Work around for https://github.com/atom/atom-shell/issues/473

  #
  # This is done in a next tick to prevent a white flicker from occurring
  # if called synchronously.
  displayWindow: ({maximize}={})->
    setImmediate =>
      @show()
      @focus()
      @setFullScreen(true) if @workspace.fullScreen
      @maximize() if maximize

  # Public: Close the current window.
  close: ->
