- Electron version: All
- Operating system: OS X

Thanks @bengotow  for the y-offset, would it be possible to do a x-offset also? It may seem like an odd request but if you have a full-height sidebar menu then the sheet should be centered on the content pane. It's best understood with a screenshot (the dialog should not overlap the sidebar)...

<img width="902" alt="screen shot 2016-05-08 at 12 33 58-2" src="https://cloud.githubusercontent.com/assets/26971/15097682/39fb09ea-151b-11e6-812a-815e800b0cdf.png">

Probably would have been easier if I identified this potential issue in #4679 (sorry!).

Perhaps the best backwards compatible way to introduce this functionality is to keep the existing API but also accept an object with `x` and `y` values:

``` js
var toolbarRect = document.getElementById('toolbar').getBoundingClientRect();
var sidebarRect = document.getElementById('sidebar').getBoundingClientRect();

win.setSheetOffset({
  x: sidebarRect.width / 2,
  y: toolbarRect.height
});
```

I'm happy to have a go implementing this myself but I haven't hacked on the codebase before and since @bengotow implemented the original feature then perhaps he is better placed to add this functionality?

atom/browser/api/atom_api_window.cc
.SetMethod("capturePage", &Window::CapturePage)
      .SetMethod("setProgressBar", &Window::SetProgressBar)
      .SetMethod("setOverlayIcon", &Window::SetOverlayIcon)
      .SetMethod("setThumbarButtons", &Window::SetThumbarButtons)
      .SetMethod("setMenu", &Window::SetMenu)
      .SetMethod("setAutoHideMenuBar", &Window::SetAutoHideMenuBar)
      .SetMethod("isMenuBarAutoHide", &Window::IsMenuBarAutoHide)
      .SetMethod("setMenuBarVisibility", &Window::SetMenuBarVisibility)
      .SetMethod("isMenuBarVisible", &Window::IsMenuBarVisible)
      .SetMethod("setVisibleOnAllWorkspaces",
                 &Window::SetVisibleOnAllWorkspaces)
      .SetMethod("isVisibleOnAllWorkspaces",
                 &Window::IsVisibleOnAllWorkspaces)
#if defined(OS_WIN)
      .SetMethod("hookWindowMessage", &Window::HookWindowMessage)
      .SetMethod("isWindowMessageHooked", &Window::IsWindowMessageHooked)
      .SetMethod("unhookWindowMessage", &Window::UnhookWindowMessage)
      .SetMethod("unhookAllWindowMessages", &Window::UnhookAllWindowMessages)
#endif
#if defined(OS_MACOSX)
      .SetMethod("showDefinitionForSelection",
                 &Window::ShowDefinitionForSelection)
#endif
#if defined(TOOLKIT_VIEWS)
      .SetMethod("setIcon", &Window::SetIcon)
#endif
      .SetProperty("id", &Window::ID)
      .SetProperty("webContents", &Window::WebContents);
}
v8::Local<v8::Value> Window::From(v8::Isolate* isolate,