禁用(或过滤)热角

时间:2013-10-26 19:49:27

标签: objective-c macos

我有一个后台应用程序,当一个特定的应用程序打开时,我想禁用任何Hot Corners。无论如何要拦截'或者'过滤'这些事件?或者也许是另一种我想不到的方法来实现这个目标?

注意:该应用程序是用Objective-C编写的。

1 个答案:

答案 0 :(得分:1)

我认为答案是“不是真的”。

应用程序有自己的一些选项,但这不符合您在后台应用程序中执行此操作以影响其他应用程序的愿望。这些选项包括捕获显示,以及设置演示选项(-[NSApplication setPresentationOptions:])。

您可以尝试设置Quartz event tap并简单地吞下屏幕角落(或将超出)屏幕角落的任何鼠标移动事件。我不知道您是要禁用所有热门角落还是仅禁用分配给特定功能的角落。您可以使用AppleScripts查询热门角落,如下所示。将其翻译成脚本桥是留给读者的练习:

tell application "System Events"
    get activity of top left screen corner of expose preferences
end tell