- Electron version: 1.2.2
- Operating system: OS X 10.11.5

Add a listener for [`NSUserDefaultsDidChangeNotification`](https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/#//apple_ref/c/data/NSUserDefaultsDidChangeNotification):

```
systemPreferences.subscribeNotification('NSUserDefaultsDidChangeNotification', () => {
  // never gets here :(
});
```

Pop open System Preferences and change something under text (spelling, substitutions, or smart quotes). The notification never arrives. Have I misunderstood this API? Example usage [here](https://github.com/CharlieHess/electron-text-substitutions/blob/master/src/index.js#L46).

atom/browser/api/atom_api_system_preferences.h
public:
  static mate::Handle<SystemPreferences> Create(v8::Isolate* isolate);
  static void BuildPrototype(v8::Isolate* isolate,
                             v8::Local<v8::ObjectTemplate> prototype);
#if defined(OS_MACOSX)
  using NotificationCallback = base::Callback<
      void(const std::string&, const base::DictionaryValue&)>;
#endif
#if defined(OS_WIN)
  bool IsAeroGlassEnabled();
#elif defined(OS_MACOSX)
  int SubscribeNotification(const std::string& name,
                            const NotificationCallback& callback);
  void UnsubscribeNotification(int id);
  v8::Local<v8::Value> GetUserDefault(const std::string& name,
                                      const std::string& type);
#endif
  bool IsDarkMode();
 protected:
  explicit SystemPreferences(v8::Isolate* isolate);
  ~SystemPreferences() override;
 private:
  DISALLOW_COPY_AND_ASSIGN(SystemPreferences);
};
}  
}  
#endif