【问题标题】:Add "Close" button to macOS notifications向 macOS 通知添加“关闭”按钮
【发布时间】:2019-09-29 09:17:58
【问题描述】:

我正在为我的 shell 使用一个插件,当长时间运行的命令完成时会显示通知。 To do this on macOS, it's using AppleScript:

osascript -e "display notification \"$message\" with title \"$title\""

当这个通知弹出时,要超时才能消失;我不能忽略它。
这经常阻止我,因为它覆盖了屏幕右上角的浏览器选项卡。

我见过类似的带有关闭按钮的通知,例如松弛消息通知。

如何在通知中添加“关闭”按钮?

【问题讨论】:

    标签: macos notifications applescript osascript


    【解决方案1】:

    Mac Automation Scripting Guide”就是一个例子。

    指南指出差异取决于您的设置。

    通知显示为警报或横幅,具体取决于用户的设置

    要更改通知设置以包含按钮,请转到
    系统偏好设置 > 通知 > 脚本编辑器 > 警报样式 > 警报


    目前尚不清楚在使用默认“横幅”通知样式时如何更改 AppleScript 命令以包含按钮。这可能是因为其他应用程序总是用按钮显示它们的通知。

    有关 AppleScript 命令及其参数的更多信息,(1) 启动脚本编辑器并 (2) 打开标准添加字典,然后 (3) 导航到命令的定义。

    【讨论】:

      【解决方案2】:

      扩展丹尼斯的回答: 您可以在以下位置为每个应用设置通知样式:

      系统偏好设置 > 通知 > 脚本编辑器 > 警报样式 > 警报

      在他回答的屏幕截图中,他正在更改“脚本编辑器”应用生成的通知设置。

      我必须在“Automator”中更改它以使我的自定义脚本具有关闭按钮。

      【讨论】:

        【解决方案3】:

        您可能感兴趣,GitHub 上有一个开源命令行实用程序https://github.com/vjeantet/alerter,它允许您执行此操作,并在逐个警报的基础上指定更多通知选项。与 AppleScript 的 display notification 相比,Alerter 让您可以更好地控制警报。

        Alerter 允许您创建具有多种选项的警报:自定义图标、自定义按钮标签、最多三种不同类型的操作来替换警报上的默认“显示”按钮、要打开的指定应用程序或 URL单击警报时,收到 iMessage 时的回复框,分组和删除以前显示的警报的方法等等。

        Alerter 可以让您完全控制每个警报显示的按钮,方法是在您输入的 shell 命令中指定选项以创建每个警报。您可以指定单击警报时要打开的应用程序或 URL,或者,如果您在警报中使用多个选项,您的脚本将必须处理返回的文本以确定选择了哪个选项。

        (注意:https://github.com/julienXX/terminal-notifier 是 Alerter 的原始项目。Terminal-notifier 包含一些 Alerter 没有的额外小功能,但不会为您提供对按钮的相同控制。如果您想包含更多功能,这两个项目可能都值得回顾。)

        我不参与警报器或终端通知器,只是一个用户。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-11-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多