- Electron version: 1.4.1
- Operating system: Windows 7 and 10

If you drag the window to the top edge to maximize it, and then call `restore()` or `unmaximize()` the window will move to the top, where the maximization happened, usually slightly out of view. 
With the regular Windows restore button it moves back to place before the drag started.

I'd really like to use a frameless window with my own window controls, but this problem comes out pretty often.

atom/browser/native_window_views.h
bool menu_bar_visible_;
  bool menu_bar_alt_pressed_;
#if defined(USE_X11)
  std::unique_ptr<GlobalMenuBarX11> global_menu_bar_;
  
  std::unique_ptr<WindowStateWatcher> window_state_watcher_;
  
  std::unique_ptr<EventDisabler> event_disabler_;
  
  
  
  extensions::SizeConstraints old_size_constraints_;
#elif defined(OS_WIN)
  
  AtomDesktopWindowTreeHostWin* atom_desktop_window_tree_host_win_;
  ui::WindowShowState last_window_state_;
  
  
  
  
  gfx::Rect last_normal_bounds_;
  
  
  
  
  
  
  gfx::Rect last_normal_bounds_candidate_;
  bool consecutive_moves_;