gpt4 book ai didi

macos - 我如何向其他 Cocoa 应用程序发出首选项已更改的信号?

转载 作者:行者123 更新时间:2023-12-03 16:11:43 25 4
gpt4 key购买 nike

我正在通过 NSUserDefaults 类更改 .GlobalPreferences NSUserSubstitutions 首选项(通过 PyObjC,但这不是重点)。

此首选项控制 OS X 的文本替换功能(例如,可以用“©”替换“(c)”)。

更改首选项后,我希望它立即应用到所有正在运行的应用程序中。当通过系统偏好设置进行更改时,它会立即应用。我应该如何通知其他应用立即应用它?

更新:这是该项目:https://github.com/ikonst/mac-tex-substitutions

最佳答案

使用以下代码:

[[NSDistributedNotificationCenter defaultCenter] addObserver:self selector:@selector(gotIt:) name:nil object:nil];

当文本替换首选项更改时,我能够检测到系统首选项应用程序会发布名为 NSUserReplacementItemsEnabledChanged 的通知。

知道了这一点,您现在可以在更改首选项后发布适当的通知,以告知所有打开的应用程序:

[[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"NSUserReplacementItemsEnabledChanged" object:self];


请记住,NSUserReplacementItemsEnabledChanged 没有记录在任何地方,因此此行为可能随时更改。

关于macos - 我如何向其他 Cocoa 应用程序发出首选项已更改的信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8627797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com