延迟使用Alfred 2,使用Automator和Apple Script打开“Stickies”并创建一个新音符

时间:2014-03-05 02:55:42

标签: applescript workflow sticky alfred

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

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

这两个激活命令是我试图处理它打开应用程序的错误,但是并没有把它带到前面。当应用程序在后台打开时,它可以无缝地工作,但是当应用程序尚未运行时,它会很慢并创建一个屏幕闪存。延迟不是来自应用程序本身,因为我可以打开应用程序并尽快命中命令-n,它始终有效。

(顺便说一句,如果你知道如何隐藏所有其他音符并只显示新音符,那就太棒了!)

2 个答案:

答案 0 :(得分: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

如果按选项-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中也有短暂延迟,但您可以通过更改触发器行为来减少它:

答案 1 :(得分: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

隐藏所有其他笔记,我会说为此开始一个新问题。