0

基本上我的目标是编写一个键盘命令(选项-s)来激活 Stickies 并创建一个新笔记。现在我有一个 Alfred 2 生成的自动化,它将热键链接到以下脚本:

on alfred_script(q)
    tell application "Stickies" to activate
    delay .2
    tell application "Stickies" to activate
    delay .01
    tell application "System Events"
        keystroke "n" using command down
    end tell
end alfred_script

这两个激活命令是我尝试处理打开应用程序但没有将其置于前面的错误。当应用程序在后台打开时,它可以无缝运行,但速度很慢,并且在应用程序尚未运行时会创建屏幕闪烁。延迟不是来自应用程序本身,因为我可以打开应用程序并尽可能快地按 command-n,并且它始终有效。

(顺便说一句,如果你知道我如何隐藏所有其他笔记并只显示新笔记,那将是很棒的!)

4

2 回答 2

1

尝试这个:

launch application "Stickies"
tell application "System Events" to tell process "Stickies"
    click menu item "New Note" of menu "File" of menu bar 1
    set frontmost to true
end tell

如果按 option-s 运行脚本,可能没有足够的时间在keystroke "n" using command down.

或者这不会提高其他笔记的窗口:

launch application "Stickies"
tell application "System Events" to tell process "Stickies"
    click menu item "New Note" of menu "File" of menu bar 1
end tell
do shell script "open -a Stickies"

activate app "Appname"set frontmost of "Appname" to true升起所有窗户,但do shell script "open -a Appname"只升起一扇窗户。

默认情况下,热键在​​ Alfred 中也有短暂的延迟,但您可以通过更改触发行为来减少它:

于 2014-03-05T10:14:45.623 回答
0

您可以尝试这种替代方式,可能会产生不同的效果。

tell application "System Events"
    tell process "Stickies"
        set frontmost to true
        keystroke "n" using command down
        keystroke "Hello World" & linefeed & "I'm a new note!"
    end tell
end tell

隐藏所有其他注释,我会说为此提出一个新问题。

于 2014-03-05T09:44:08.250 回答