答案 0 :(得分:1)
据我所知,没有原生键盘快捷键可以创建新的桌面。 Mission Control 和 Stickies 都没有 AppleScript字典,并且他们的流程has scripting terminology
属性已设置到false
。因此, UI Scripting 解决方案虽然可能不太有利,但我只知道使用 vanilla AppleScript 。
以下 macOS High Sierra 在键盘快捷键的 macOS 默认值下进行了测试公开任务控制,这是控制箭头( ^↑)。此设置位于:
系统偏好设置> 键盘> 快捷方式> 任务控制> [√]任务控制 ^↑
以下示例 AppleScript 代码假设前述设置为true且已启用:
创建一个新桌面并将焦点设置为:
tell application "System Events"
key code 126 using control down -- # Control-Up Arrow
delay 0.25
tell group 2 of group 1 of group 1 of application process "Dock"
click (every UI element whose description is "add desktop")
delay 0.25
click last UI element of list 1
end tell
end tell
delay
命令调整delay
命令的值 可能需要也可能不需要。根据需要调整值和/或添加/删除delay
命令。这很容易。 Stickies的问题在于,使用它创建的注释无法固定到特定的桌面,因此您可以在新桌面上以编程方式创建新注释,但它不会留在那里,下次打开Stickies时,所有注释将在活动桌面上打开Stickies。那么,在新创建的桌面上创建新笔记真的有什么意义吗?我的直言不说!
也就是说,以下示例 AppleScript 代码会完成这些步骤并且仅包括在内,因为它是您问题的一部分,但是在我看来,这是不切实际的,是徒劳的。
创建一个新桌面,将焦点设置到它,并创建一个新的Stickies笔记:
if running of application "Stickies" then
tell application "Stickies" to quit
delay 0.5
end if
tell application "System Events"
key code 126 using control down -- # Control-Up Arrow
delay 0.25
tell group 2 of group 1 of group 1 of application process "Dock"
click (every UI element whose description is "add desktop")
delay 0.25
click last UI element of list 1
end tell
tell application "Stickies" to activate
delay 1
keystroke "n" using command down
delay 0.25
keystroke "This is a new Stickies note on a new Desktop."
end tell
delay
命令调整delay
命令的值 可能需要也可能不需要。根据需要调整值和/或添加/删除delay
命令。注意: 示例 AppleScript 代码就是这样,并且不使用任何错误处理并且仅用于显示完成任务的多种方式之一。用户有责任根据需要添加/使用适当的错误处理。请注意,使用<{1>} 命令作为错误处理程序非常方便 UI脚本。