diff --git a/atom/browser/api/atom_api_app.cc b/atom/browser/api/atom_api_app.cc index 7048d842eed25..7d82ada4ef8a7 100644 --- a/atom/browser/api/atom_api_app.cc +++ b/atom/browser/api/atom_api_app.cc @@ -1329,8 +1329,8 @@ void App::BuildPrototype(v8::Isolate* isolate, base::Bind(&Browser::SetAsDefaultProtocolClient, browser)) .SetMethod("removeAsDefaultProtocolClient", base::Bind(&Browser::RemoveAsDefaultProtocolClient, browser)) - .SetMethod("setBadgeCount", base::Bind(&Browser::SetBadgeCount, browser)) - .SetMethod("getBadgeCount", base::Bind(&Browser::GetBadgeCount, browser)) + .SetMethod("_setBadgeCount", base::Bind(&Browser::SetBadgeCount, browser)) + .SetMethod("_getBadgeCount", base::Bind(&Browser::GetBadgeCount, browser)) .SetMethod("getLoginItemSettings", &App::GetLoginItemSettings) .SetMethod("setLoginItemSettings", base::Bind(&Browser::SetLoginItemSettings, browser)) @@ -1356,6 +1356,8 @@ void App::BuildPrototype(v8::Isolate* isolate, base::Bind(&Browser::SetAboutPanelOptions, browser)) .SetMethod("showAboutPanel", base::Bind(&Browser::ShowAboutPanel, browser)) + .SetProperty("badgeCount", base::Bind(&Browser::GetBadgeCount, browser), + base::Bind(&Browser::SetBadgeCount, browser)) #endif #if defined(OS_MACOSX) || defined(OS_WIN) .SetMethod("showEmojiPanel", diff --git a/docs/api/app.md b/docs/api/app.md index 20984afc52a9d..d1e5ce3dd33b4 100644 --- a/docs/api/app.md +++ b/docs/api/app.md @@ -1056,6 +1056,7 @@ gpuDevice: machineModelName: 'MacBookPro', machineModelVersion: '11.5' } ``` + Using `basic` should be preferred if only basic information like `vendorId` or `driverId` is needed. ### `app.setBadgeCount(count)` _Linux_ _macOS_ @@ -1072,10 +1073,14 @@ On macOS, it shows on the dock icon. On Linux, it only works for Unity launcher. **Note:** Unity launcher requires the existence of a `.desktop` file to work, for more information please read [Desktop Environment Integration][unity-requirement]. +**[Deprecated Soon](modernization/property-updates.md)** + ### `app.getBadgeCount()` _Linux_ _macOS_ Returns `Integer` - The current value displayed in the counter badge. +**[Deprecated Soon](modernization/property-updates.md)** + ### `app.isUnityRunning()` _Linux_ Returns `Boolean` - Whether the current desktop environment is Unity launcher. @@ -1336,11 +1341,6 @@ Sets the `image` associated with this dock icon. ## Properties -### `app.applicationMenu` - -A `Menu` property that return [`Menu`](menu.md) if one has been set and `null` otherwise. -Users can pass a [Menu](menu.md) to set this property. - ### `app.accessibilitySupportEnabled` _macOS_ _Windows_ A `Boolean` property that's `true` if Chrome's accessibility support is enabled, `false` otherwise. This property will be `true` if the use of assistive technologies, such as screen readers, has been detected. Setting this property to `true` manually enables Chrome's accessibility support, allowing developers to expose accessibility switch to users in application settings. @@ -1351,6 +1351,20 @@ This API must be called after the `ready` event is emitted. **Note:** Rendering accessibility tree can significantly affect the performance of your app. It should not be enabled by default. +### `app.applicationMenu` + +A `Menu` property that return [`Menu`](menu.md) if one has been set and `null` otherwise. +Users can pass a [Menu](menu.md) to set this property. + +### `app.badgeCount` _Linux_ _macOS_ + +An `Integer` property that returns the badge count for current app. Setting the count to `0` will hide the badge. + +On macOS, setting this with any nonzero integer shows on the dock icon. On Linux, this property only works for Unity launcher. + +**Note:** Unity launcher requires the existence of a `.desktop` file to work, +for more information please read [Desktop Environment Integration][unity-requirement]. + ### `app.isPackaged` A `Boolean` property that returns `true` if the app is packaged, `false` otherwise. For many apps, this property can be used to distinguish development and production environments. diff --git a/docs/api/modernization/property-updates.md b/docs/api/modernization/property-updates.md index 5b75d86414d72..5a83d9dca6865 100644 --- a/docs/api/modernization/property-updates.md +++ b/docs/api/modernization/property-updates.md @@ -5,8 +5,6 @@ The Electron team is currently undergoing an initiative to convert separate gett ## Candidates * `app` module - * `badgeCount` - * `name` * `dock` * `badge` * `autoUpdater` module @@ -58,3 +56,5 @@ The Electron team is currently undergoing an initiative to convert separate gett * `app` module * `accessibilitySupport` * `applicationMenu` + * `badgeCount` + * `name` diff --git a/lib/browser/api/app.ts b/lib/browser/api/app.ts index cc02b5b031201..7ad083999e62c 100644 --- a/lib/browser/api/app.ts +++ b/lib/browser/api/app.ts @@ -79,6 +79,7 @@ app.getFileIcon = deprecate.promisify(app.getFileIcon) // Property Deprecations deprecate.fnToProperty(app, 'accessibilitySupportEnabled', '_isAccessibilitySupportEnabled', '_setAccessibilitySupportEnabled') +deprecate.fnToProperty(app, 'badgeCount', '_getBadgeCount', '_setBadgeCount') // Wrappers for native classes. const { DownloadItem } = process.electronBinding('download_item')