我想要一個警報/對話框定期啟動在前景中在我的 Mac 上。
我嘗試了 AppleScript 的組合,launchd
並設法透過 launchd 定期啟動腳本(實際上轉換為應用程式)。但是,警報框不會顯示在所有其他視窗的前面(而是完全隱藏,直到我點擊它 - 儘管它做通過)開始launchd
。我怎麼才能把它放在前面?
我的腳本如下:
on run
activate me --> tried to get alert in foreground
--> didn't help, though
display alert "Should show up in foreground..."
end run
我的 launch.plist 是(在/Users/bernhard/Library/LaunchAgents/
):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>bernhard.sitstraight.plist</string>
<key>Program</key>
<string>/Users/bernhard/programming/periodic.app/Contents/MacOS/applet</string>
<key>RunAtLoad</key>
<true/>
<key>StartInterval</key>
<integer>1200</integer>
</dict>
</plist>
答案1
得到了答案提出不同的要求:
解決辦法是open
該應用程序,這似乎更像是雙擊應用程式圖標。也就是說,必須替換要呼叫的程式/usr/bin/open
並將應用程式作為參數傳遞,如下所示在 launchd.plist 中:
<key>Program</key>
<string>/usr/bin/open</string>
<key>ProgramArguments</key>
<array>
<string>open</string>
<string>/Users/bernhard/programming/periodic.app</string>
</array>
第一個參數(在本例中open
)實際上是作為 and 傳遞argv[0]
,因此與這裡無關。實際的第一個參數是/Users/[...]/periodic.app
應用程式目錄而不是實際的二進位。