一旦禁用了停靠栏图标,状态栏菜单项将不会显示单击UI(对话框)

时间:2018-03-29 10:33:01

标签: macos dialog applescript statusbar

我目前在使用AppleScript编写的状态栏应用程序时遇到问题。该应用程序包含一个状态栏,其中一些菜单项在计算机开启时一直运行。它允许用户检查各种状态并执行一些系统任务,例如更改某些系统设置首选项或启动某些应用程序。

考虑到这一点,我决定在运行时移除app dock图标,只显示状态栏图标,因此我修改了.plist:(defaults write /Applications/name_of_myapp.app/Contents/Info.plist LSUIElement -bool yes

一切仍然有效但只有一件事:对于某些菜单项,单击会触发一个对话框来请求确认操作,一旦我修改了plist,对话框就不再出现了。

set valueRtn to display dialog "Are you sure you want to activate APPXXX?" with icon myIcon buttons {"Don't Continue", "Continue"} default button "Continue" cancel button "Don't Continue"

set buttonRtn to button returned of valueRtn
if buttonRtn is "Continue" then tell application "APPXXX" to activate

任何人都知道为什么上面的代码行不再执行?我应该补充一点,任何其他命令都可以工作但对话框。

提前感谢您的任何意见!

1 个答案:

答案 0 :(得分:0)

试试这个:

首次保存应用程序后,右键单击该图标,然后选择"显示包内容"。打开文件夹Contents,然后使用文本编辑器打开info.plist。插入这两行

<key>LSUIElement</key>
<true/>

info.plist中的位置并不重要,但必须在<key>行之前插入两行

在文本编辑器中保存info.plist。在脚本编辑器中保存项目。

请注意,使用Save as...

保存applet时,自定义功能会丢失