首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用osascript -e“显示通知”时更改通知图标

使用osascript -e“显示通知”时更改通知图标
EN

Stack Overflow用户
提问于 2018-02-18 20:20:46
回答 4查看 12.4K关注 0票数 10

我试图为emacs编写一个插件,它使用OS的本机通知显示来显示通知。

我遇到过工作正常的terminal-notifier,但这是一种依赖关系,并不适用于每台mac。另外,应该让用户意识到他们需要安装软件包。

我想要做的是调用一个进程osascript -e并让它显示通知。问题是,更改图标的唯一方法是从外部包中更改图标。有没有办法让osascript -e显示我想要的。

启动sudo osascript似乎可以做到这一点,但它的设计似乎很糟糕,而且我还需要找到一种方法来每次传递根密码。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-03-02 23:40:03

你不能。这根本不是向macOS公开的AppleScript特性。

如果您需要一个自定义图标,可以考虑使用弹出“对话框”而不是Notification弹出。通过超时和按钮,您可以重新创建大部分功能,但并不是集成或美观。

在“显示对话框”中,如果您希望使用标准图标: 0、1或2(停止、注意或警告),则可能没有显示图标的程序。例如,查找器:

代码语言:javascript
运行
复制
osascript -e 'tell application "Finder"' -e 'activate' -e 'display dialog \
"this is the note icon." with icon note' -e 'end tell'

或者没有tell application…,您可以通过直接引用来使用您选择的图标,例如终端应用程序的图标:

代码语言:javascript
运行
复制
osascript -e 'display dialog "Terminal icon" with icon alias \
"Macintosh HD:Applications:Utilities:Terminal.app:Contents:Resources:Terminal.icns"'

我不知道你是什么意思,“改变图标的唯一方法是从一个外部包。有什么方法可以让osascript -e显示我想要的东西吗?”确切地说,你想要什么?你试过什么?

这是苹果文档中的显示对话框部分。

票数 10
EN

Stack Overflow用户

发布于 2019-11-18 13:32:07

事实上,这是有可能的。

只需将脚本保存为应用程序,然后将应用程序的applet.icns文件夹中的Contents/Resources文件切换到所需的图标。

从您的脚本发送的任何通知都将使用该图标。

票数 9
EN

Stack Overflow用户

发布于 2019-04-02 00:49:37

不幸的是,“显示通知”文档显示您不能

display notification 使用notification发布通知,其中包含标题、字幕和解释,并可选择播放声音。 语法 display notification -文本,必需 with title -文本,可选 subtitle -文本,可选 sound name -文本,可选

(即使使用来自tell application "..."https://stackoverflow.com/a/49079025/3528技巧,也会为您留下默认的通知图标。)

据我所知,terminal-notifier之所以能做到这一点,是因为它是直接使用Notification,据我所知,它并没有提供一个接口。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48856158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档