- 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.h
void SetSkipTaskbar(bool skip);
  void SetKiosk(bool kiosk);
  bool IsKiosk();
  void SetBackgroundColor(const std::string& color_name);
  void SetHasShadow(bool has_shadow);
  bool HasShadow();
  void FocusOnWebView();
  void BlurWebView();
  bool IsWebViewFocused();
  void SetRepresentedFilename(const std::string& filename);
  std::string GetRepresentedFilename();
  void SetDocumentEdited(bool edited);
  bool IsDocumentEdited();
  void SetIgnoreMouseEvents(bool ignore);
  void CapturePage(mate::Arguments* args);
  void SetProgressBar(double progress);
  void SetOverlayIcon(const gfx::Image& overlay,
                      const std::string& description);
  bool SetThumbarButtons(mate::Arguments* args);
  void SetMenu(v8::Isolate* isolate, v8::Local<v8::Value> menu);
  void SetAutoHideMenuBar(bool auto_hide);
  bool IsMenuBarAutoHide();
  void SetMenuBarVisibility(bool visible);
  bool IsMenuBarVisible();
  void SetAspectRatio(double aspect_ratio, mate::Arguments* args);
  v8::Local<v8::Value> GetNativeWindowHandle();
#if defined(OS_WIN)
  typedef base::Callback<void(v8::Local<v8::Value>,
                              v8::Local<v8::Value>)> MessageCallback;
  bool HookWindowMessage(UINT message, const MessageCallback& callback);