diff --git a/atom/browser/api/atom_api_window.cc b/atom/browser/api/atom_api_window.cc index 0fabdd1a5bf2..25f2edcb5cb5 100644 --- a/atom/browser/api/atom_api_window.cc +++ b/atom/browser/api/atom_api_window.cc @@ -161,6 +161,10 @@ void Window::Restore() { window_->Restore(); } +bool Window::IsMinimized() { + return window_->IsMinimized(); +} + void Window::SetFullscreen(bool fullscreen) { window_->SetFullscreen(fullscreen); } @@ -357,6 +361,7 @@ void Window::BuildPrototype(v8::Isolate* isolate, .SetMethod("isMaximized", &Window::IsMaximized) .SetMethod("minimize", &Window::Minimize) .SetMethod("restore", &Window::Restore) + .SetMethod("isMinimized", &Window::IsMinimized) .SetMethod("setFullScreen", &Window::SetFullscreen) .SetMethod("isFullScreen", &Window::IsFullscreen) .SetMethod("getSize", &Window::GetSize) diff --git a/atom/browser/api/atom_api_window.h b/atom/browser/api/atom_api_window.h index 62e7d7f0874e..9dda160e2b62 100644 --- a/atom/browser/api/atom_api_window.h +++ b/atom/browser/api/atom_api_window.h @@ -66,6 +66,7 @@ class Window : public mate::EventEmitter, bool IsMaximized(); void Minimize(); void Restore(); + bool IsMinimized(); void SetFullscreen(bool fullscreen); bool IsFullscreen(); void SetSize(int width, int height); diff --git a/atom/browser/native_window.h b/atom/browser/native_window.h index 537f485ef5a9..46a8892f477f 100644 --- a/atom/browser/native_window.h +++ b/atom/browser/native_window.h @@ -111,6 +111,7 @@ class NativeWindow : public brightray::DefaultWebContentsDelegate, virtual bool IsMaximized() = 0; virtual void Minimize() = 0; virtual void Restore() = 0; + virtual bool IsMinimized() = 0; virtual void SetFullscreen(bool fullscreen) = 0; virtual bool IsFullscreen() = 0; virtual void SetSize(const gfx::Size& size) = 0; diff --git a/atom/browser/native_window_mac.h b/atom/browser/native_window_mac.h index 4b29c5d6a682..0f3e26f9a387 100644 --- a/atom/browser/native_window_mac.h +++ b/atom/browser/native_window_mac.h @@ -35,6 +35,7 @@ class NativeWindowMac : public NativeWindow { virtual bool IsMaximized() OVERRIDE; virtual void Minimize() OVERRIDE; virtual void Restore() OVERRIDE; + virtual bool IsMinimized() OVERRIDE; virtual void SetFullscreen(bool fullscreen) OVERRIDE; virtual bool IsFullscreen() OVERRIDE; virtual void SetSize(const gfx::Size& size) OVERRIDE; diff --git a/atom/browser/native_window_mac.mm b/atom/browser/native_window_mac.mm index 22ca45fab543..77bea46655bf 100644 --- a/atom/browser/native_window_mac.mm +++ b/atom/browser/native_window_mac.mm @@ -304,6 +304,10 @@ void NativeWindowMac::Restore() { [window_ deminiaturize:nil]; } +bool NativeWindowMac::IsMinimized() { + return [window_ isMiniaturized]; +} + void NativeWindowMac::SetFullscreen(bool fullscreen) { if (fullscreen == IsFullscreen()) return; diff --git a/atom/browser/native_window_views.cc b/atom/browser/native_window_views.cc index ba540b65199c..738a25778369 100644 --- a/atom/browser/native_window_views.cc +++ b/atom/browser/native_window_views.cc @@ -187,6 +187,10 @@ void NativeWindowViews::Restore() { window_->Restore(); } +bool NativeWindowViews::IsMinimized() { + return window_->IsMinimized(); +} + void NativeWindowViews::SetFullscreen(bool fullscreen) { window_->SetFullscreen(fullscreen); } diff --git a/atom/browser/native_window_views.h b/atom/browser/native_window_views.h index 57a92534b108..3c6c006f96ad 100644 --- a/atom/browser/native_window_views.h +++ b/atom/browser/native_window_views.h @@ -46,6 +46,7 @@ class NativeWindowViews : public NativeWindow, virtual bool IsMaximized() OVERRIDE; virtual void Minimize() OVERRIDE; virtual void Restore() OVERRIDE; + virtual bool IsMinimized() OVERRIDE; virtual void SetFullscreen(bool fullscreen) OVERRIDE; virtual bool IsFullscreen() OVERRIDE; virtual void SetSize(const gfx::Size& size) OVERRIDE; diff --git a/docs/api/browser-window.md b/docs/api/browser-window.md index cb90af403494..72cddb27a82a 100644 --- a/docs/api/browser-window.md +++ b/docs/api/browser-window.md @@ -252,6 +252,10 @@ the Dock. Restores the window from minimized state to its previous state. +### BrowserWindow.isMaximized() + +Returns whether the window is minimized. + ### BrowserWindow.setFullScreen(flag) * `flag` Boolean