当我自动创建工作区时,我想给它添加一个便条,但是我不知道创建新空间时发生了什么事情?
我可以使用applescript或Hammerspoon吗?

发布于 2018-03-17 16:42:54
据我所知,没有一个本机键盘快捷方式可以创建一个新的桌面。任务控制和Stickies都没有AppleScript字典,它们的processes has scripting terminology属性设置为false。因此,一个AppleScript.的UI脚本解决方案是可行的,尽管可能不是很好,这也是我所知道的使用香草的唯一方法。
下面的测试是在macOS High塞拉利昂下进行的,macOS默认设置了键盘快捷键以公开任务控制,即Control-Up Arrow (⌃↑E 223)。此设置可在以下位置找到:
系统首选项>键盘>快捷方式>任务控制> √任务控件E 233E 134⌃↑E 235
下面的示例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 telldelay命令的值,或者可能不需要或不需要额外的delay命令。适当地调整或添加/删除delay命令的值。这是最简单的部分。Stickies的问题是,用它创建的便笺不能用于特定的桌面,因此,虽然您可以在新的桌面上以编程方式创建一个新的便笺,但它不会停留在新的桌面上,下次打开Stickies时,所有的注释都将放在打开Stickies的活动桌面上。那么,在新创建的桌面上创建一个新的注释真的有什么意义吗?我的直觉说不!
尽管如此,下面的示例AppleScript代码确实经过了这些步骤,并且只包含在其中,因为它是您问题的一部分,但在我看来,它是不实际的,是徒劳的练习。
创建一个新的桌面,为其设置焦点,并创建一个新的粘性注释:
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代码就是这样的,它不使用任何错误处理,只是为了展示完成任务的多种方式之一。用户总是有责任根据需要/需要添加/使用适当的错误处理。请注意,使用try命令作为错误处理程序使用UI脚本非常方便。
https://stackoverflow.com/questions/49269105
复制相似问题