diff --git a/atom/browser/api/atom_api_app.cc b/atom/browser/api/atom_api_app.cc index 394014e8b27e..441b05587a21 100644 --- a/atom/browser/api/atom_api_app.cc +++ b/atom/browser/api/atom_api_app.cc @@ -356,6 +356,7 @@ mate::ObjectTemplateBuilder App::GetObjectTemplateBuilder( .SetMethod("quit", base::Bind(&Browser::Quit, browser)) .SetMethod("exit", base::Bind(&Browser::Exit, browser)) .SetMethod("focus", base::Bind(&Browser::Focus, browser)) + .SetMethod("hide", base::Bind(&Browser::Hide, browser)) .SetMethod("getVersion", base::Bind(&Browser::GetVersion, browser)) .SetMethod("setVersion", base::Bind(&Browser::SetVersion, browser)) .SetMethod("getName", base::Bind(&Browser::GetName, browser)) diff --git a/atom/browser/browser.h b/atom/browser/browser.h index 0b55fb600cff..711415e39cc1 100644 --- a/atom/browser/browser.h +++ b/atom/browser/browser.h @@ -55,6 +55,9 @@ class Browser : public WindowListObserver { // Focus the application. void Focus(); + // Focus the application. + void Hide(); + // Returns the version of the executable (or bundle). std::string GetVersion() const; diff --git a/atom/browser/browser_mac.mm b/atom/browser/browser_mac.mm index 1eb7fabdab06..db898017b3d9 100644 --- a/atom/browser/browser_mac.mm +++ b/atom/browser/browser_mac.mm @@ -18,6 +18,10 @@ void Browser::Focus() { [[AtomApplication sharedApplication] activateIgnoringOtherApps:YES]; } +void Browser::Hide() { + [[AtomApplication sharedApplication] hide:nil]; +} + void Browser::AddRecentDocument(const base::FilePath& path) { NSString* path_string = base::mac::FilePathToNSString(path); if (!path_string) diff --git a/docs/api/app.md b/docs/api/app.md index a26defb447a6..808f5fabadc1 100644 --- a/docs/api/app.md +++ b/docs/api/app.md @@ -244,6 +244,10 @@ This method guarantees that all `beforeunload` and `unload` event handlers are correctly executed. It is possible that a window cancels the quitting by returning `false` in the `beforeunload` event handler. +### `app.hide()` _OS X_ + +Hides all application windows without minimising them. + ### `app.exit(exitCode)` * `exitCode` Integer