我经常需要进入系统偏好设置来切换触控板设置或更改辅助功能内的显示颜色设置。我似乎找不到通过键盘快捷键执行这些操作的方法。对于其中一些设置,有外部应用程序可以实现目标,但对于将辅助功能缩放设置从分屏更改为画中画等操作似乎只能通过系统偏好设置面板来实现。
如果可以通过 bash/applescripts 或任何类型的脚本访问它们,那就更好了,因为我知道如何使用它们
答案1
这例子 苹果脚本 代码如下所示,经过测试macOS Catalina和macOS Big Sur 和语言和地区中的设置系统偏好设置设置英语(美国)——主要并且对我来说没有问题1。
- 1 假设必要且适当的设置系统偏好设置>安全与隐私>隐私已根据需要设置/处理。
例子 苹果脚本 代码:
if running of application "System Preferences" then
try
tell application "System Preferences" to quit
on error
do shell script "killall 'System Preferences'"
end try
delay 0.1
end if
repeat while running of application "System Preferences" is true
delay 0.1
end repeat
tell application "System Preferences" to ¬
reveal anchor "Seeing_Zoom" of ¬
pane id "com.apple.preference.universalaccess"
tell application "System Events"
tell application process "System Preferences"
tell pop up button 1 of group 1 of window 1
if its value is "Split screen" then
click
delay 0.1
click menu item "Picture-in-picture" of menu 1
else if its value is "Picture-in-picture" then
click
delay 0.1
click menu item "Split screen" of menu 1
else
click
delay 0.1
click menu item "Split screen" of menu 1
end if
end tell
end tell
end tell
delay 0.2
tell application "System Preferences" to quit
笔记:
这例子 苹果脚本 代码可用于自动机 服务/快速行动用一个运行 AppleScript 行动,替换默认的代码并分配了一个键盘快捷键在:系统偏好设置>键盘>快捷方式>服务
请注意,分配全局键盘快捷键很难不踩到键盘快捷键不论应用当全局键盘快捷键被按下,也可能需要添加应用到:系统偏好设置>安全与隐私>隐私
最好使用第三方应用程序可以处理触发苹果脚本 脚本和键盘快捷键而不是使用自动机 服务/快速行动。 我用快速脚本我与其开发者没有任何关系,只是该产品的满意用户。
这例子 苹果脚本 代码也可以用于苹果脚本 应用也一样。
按照代码,如果当前价值的缩放样式: 弹出菜单设置为分屏或者画中画它会在它们之间切换。如果设置为全屏它将其切换到分屏。
这例子 苹果脚本 代码用途UI 脚本因此一些UI 元素可能会短暂地出现在屏幕上,在这个特定的用例中,正如编码的那样,你会看到缩放样式: 弹出菜单因为它可以在不同选项之间切换。
如果你更愿意看到整个用户界面的系统偏好设置当它切换目标时弹出菜单, 然后:
改变:
tell application "System Preferences" to ¬
reveal anchor "Seeing_Zoom" of ¬
pane id "com.apple.preference.universalaccess"
到:
tell application "System Preferences"
reveal anchor "Seeing_Zoom" of ¬
pane id "com.apple.preference.universalaccess"
activate
end tell
注意:例子 苹果脚本 代码就是这样,没有任何包括错误处理不包含任何额外的错误处理视情况而定。用户有责任添加任何错误处理视情况而定,需要或想要。请查看尝试 陈述和错误 陈述在里面AppleScript 语言指南。 也可以看看,处理错误。此外,使用延迟 命令delay 0.5
在适当的情况下,可能需要在事件之间进行价值的延迟设置得当。