Zmieniam preferencje użytkownika .GlobalPreferences NSUserSubstitutions poprzez klasę NSUserDefaults
(przez PyObjC, ale to poza tym punktem).Jak sygnalizować innym aplikacjom Cocoa, że preferencje zostały zmienione?
Ta preferencja kontroluje podstawienia tekstowe wyposażone (np który może zastąpić „©” za „(c)”) z OS X.
Po zmianie preferencji, chcę go natychmiast zastosować we wszystkich uruchomionych aplikacji. Po zmianie w Preferencjach systemowych natychmiast stosuje się. Jak powinienem zasygnalizować innym aplikacjom natychmiastowe zastosowanie?
Aktualizacja: Oto projekt: https://github.com/ikonst/mac-tex-substitutions
Może nie być sposobu, aby to zrobić. 'NSUserDefaults' [wykorzystuje pamięć podręczną aplikacji] (http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/UserDefaults/AccessingPreferenceValues/AccessingPreferenceValues.html#//apple_ref/doc/uid/10000059i- CH3-97569), który jest okresowo aktualizowany. Twoja aplikacja może zażądać natychmiastowej synchronizacji dla siebie, ale chyba, że inne aplikacje zarejestrują się do działania na "NSUserDefaultsDidChangeNotification", prawdopodobnie po prostu czekają na automatyczną synchronizację. Może jednak coś przeoczyłem. –
Tak bym pomyślał, gdyby Preferencje systemowe nie zdążyły natychmiast zastosować, ale to się udaje ... więc musi być jakiś sposób! – Ilya
Hmm, dobry punkt. –