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

statusbar menu item won't show UI (dialog box) on click once dock icon is disabled

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

考虑到这一点,我决定在 运行 仅显示状态栏图标时删除应用程序停靠栏图标,因此我修改了 .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

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

提前感谢您的任何意见!

试试这个:

第一次保存应用程序后 right-click 在图标上并选择 "Show Package Contents"。打开文件夹 Contents,然后使用文本编辑器打开 info.plist。插入这两行

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

info.plist 中的位置无关紧要,但必须将这两行插入到 <key>

之前

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

请注意,当您使用 Save as...

保存小程序时,自定义会丢失