一旦停靠图标被禁用,状态栏菜单项将不会显示 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...
保存小程序时,自定义会丢失
我目前在使用 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...