Need a Linux impl for https://github.com/electron/electron/pull/12485
atom/browser/native_window.h
class PersistentDictionary;
}  
namespace atom {
class AtomMenuModel;
class NativeBrowserView;
struct DraggableRegion;
#if defined(OS_MACOSX)
typedef NSView* NativeWindowHandle;
#else
typedef gfx::AcceleratedWidget NativeWindowHandle;
#endif
class NativeWindow : public base::SupportsUserData,
                     public views::WidgetDelegate {
 public:
  ~NativeWindow() override;
  
  
  static NativeWindow* Create(const mate::Dictionary& options,
                              NativeWindow* parent = nullptr);
  void InitFromOptions(const mate::Dictionary& options);
  virtual void SetContentView(views::View* view) = 0;
  virtual void Close() = 0;
  virtual void CloseImmediately() = 0;
  virtual bool IsClosed() const;
  virtual void Focus(bool focus) = 0;
  virtual bool IsFocused() = 0;
  virtual void Show() = 0;
  virtual void ShowInactive() = 0;
  virtual void Hide() = 0;