|
@@ -0,0 +1,79 @@
|
|
|
+# systemPreferences
|
|
|
+
|
|
|
+> Get system preferences.
|
|
|
+
|
|
|
+## Methods
|
|
|
+
|
|
|
+### `systemPreferences.isDarkMode()` _OS X_
|
|
|
+
|
|
|
+This method returns `true` if the system is in Dark Mode, and `false` otherwise.
|
|
|
+
|
|
|
+### `systemPreferences.subscribeNotification(event, callback)` _OS X_
|
|
|
+
|
|
|
+* `event` String
|
|
|
+* `callback` Function
|
|
|
+
|
|
|
+Subscribes to native notifications of OS X, `callback` will be called when the
|
|
|
+corresponding `event` happens. The `id` of the subscriber is returned, which can
|
|
|
+be used to unsubscribe the `event`.
|
|
|
+
|
|
|
+Under the hood this API subscribes to `NSDistributedNotificationCenter`,
|
|
|
+possible values of `event` are:
|
|
|
+
|
|
|
+* `AppleInterfaceThemeChangedNotification`
|
|
|
+* `AppleAquaColorVariantChanged`
|
|
|
+* `AppleColorPreferencesChangedNotification`
|
|
|
+* `AppleShowScrollBarsSettingChanged`
|
|
|
+
|
|
|
+### `systemPreferences.unsubscribeNotification(id)` _OS X_
|
|
|
+
|
|
|
+* `id` Integer
|
|
|
+
|
|
|
+Removes the subscriber with `id`.
|
|
|
+
|
|
|
+### `systemPreferences.getUserDefault(key, type)` _OS X_
|
|
|
+
|
|
|
+* `key` String
|
|
|
+* `type` String - Can be `string`, `boolean`, `integer`, `float`, `double`,
|
|
|
+ `url`.
|
|
|
+
|
|
|
+Get the value of `key` in system preferences.
|
|
|
+
|
|
|
+This API reads from `NSUserDefaults` on OS X, some popular `key` and `type`s
|
|
|
+are:
|
|
|
+
|
|
|
+* `AppleInterfaceStyle: string`
|
|
|
+* `AppleAquaColorVariant: integer`
|
|
|
+* `AppleHighlightColor: string`
|
|
|
+* `AppleShowScrollBars: string`
|
|
|
+
|
|
|
+### `systemPreferences.isAeroGlassEnabled()` _Windows_
|
|
|
+
|
|
|
+This method returns `true` if [DWM composition][dwm-composition] (Aero Glass) is
|
|
|
+enabled, and `false` otherwise.
|
|
|
+
|
|
|
+An example of using it to determine if you should create a transparent window or
|
|
|
+not (transparent windows won't work correctly when DWM composition is disabled):
|
|
|
+
|
|
|
+```javascript
|
|
|
+let browserOptions = {width: 1000, height: 800};
|
|
|
+
|
|
|
+// Make the window transparent only if the platform supports it.
|
|
|
+if (process.platform !== 'win32' || app.isAeroGlassEnabled()) {
|
|
|
+ browserOptions.transparent = true;
|
|
|
+ browserOptions.frame = false;
|
|
|
+}
|
|
|
+
|
|
|
+// Create the window.
|
|
|
+let win = new BrowserWindow(browserOptions);
|
|
|
+
|
|
|
+// Navigate.
|
|
|
+if (browserOptions.transparent) {
|
|
|
+ win.loadURL('file://' + __dirname + '/index.html');
|
|
|
+} else {
|
|
|
+ // No transparency, so we load a fallback that uses basic styles.
|
|
|
+ win.loadURL('file://' + __dirname + '/fallback.html');
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+[dwm-composition]:https://msdn.microsoft.com/en-us/library/windows/desktop/aa969540.aspx
|