Estoy cambiando la preferencia .GlobalPreferences NSUserSubstitutions a través de la clase NSUserDefaults
(a través de PyObjC, pero eso es además del punto).¿Cómo señalo a otras aplicaciones de Cocoa que se cambiaron las preferencias?
Esta preferencia controla la función de sustituciones de texto (por ejemplo, que puede sustituir "©" para "(c)") de OS X.
Después de cambiar la preferencia, quiero que se aplica inmediatamente en todas las aplicaciones en ejecución. Cuando se cambia a través de las Preferencias del sistema, se aplica de inmediato. ¿Cómo debería indicarle a otras aplicaciones que lo apliquen de inmediato?
Actualización: Aquí está el proyecto: https://github.com/ikonst/mac-tex-substitutions
Puede que no haya una forma de hacerlo. 'NSUserDefaults' [utiliza un caché por aplicación] (http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/UserDefaults/AccessingPreferenceValues/AccessingPreferenceValues.html#//apple_ref/doc/uid/10000059i- CH3-97569) que se actualiza periódicamente. Su aplicación puede solicitar la sincronización inmediata por sí misma, pero a menos que las otras aplicaciones se hayan registrado para actuar en 'NSUserDefaultsDidChangeNotification', probablemente solo esperarán la sincronización automática. Sin embargo, puede haberme perdido algo. –
Pensé que sí, si las Preferencias del Sistema no lograron aplicarse de inmediato, pero sí lo hace ... ¡así que debe haber una forma! – Ilya
Hmm, buen punto. –