Need a Linux impl for https://github.com/electron/electron/pull/12485
atom/browser/api/atom_api_top_level_window.h
protected:
  
  TopLevelWindow(v8::Isolate* isolate, const mate::Dictionary& options);
  
  TopLevelWindow(v8::Isolate* isolate,
                 v8::Local<v8::Object> wrapper,
                 const mate::Dictionary& options);
  ~TopLevelWindow() override;
  
  void InitWith(v8::Isolate* isolate, v8::Local<v8::Object> wrapper) override;
  
  void WillCloseWindow(bool* prevent_default) override;
  void OnWindowClosed() override;
  void OnWindowEndSession() override;
  void OnWindowBlur() override;
  void OnWindowFocus() override;
  void OnWindowShow() override;
  void OnWindowHide() override;
  void OnWindowMaximize() override;
  void OnWindowUnmaximize() override;
  void OnWindowMinimize() override;
  void OnWindowRestore() override;
  void OnWindowWillResize(const gfx::Rect& new_bounds,
                          bool* prevent_default) override;
  void OnWindowResize() override;
  void OnWindowWillMove(const gfx::Rect& new_bounds,
                        bool* prevent_default) override;
  void OnWindowMove() override;