如何访问当前系统主题的图标集?

时间:2019-07-13 21:21:50

标签: linux bash shell icons

我正在编写一个bash脚本,该脚本使用notify-send(来自notify-osd包)来向用户显示弹出通知,例如如果运行时发生错误。这些弹出窗口可以用图标装饰,如下所示:

notify-send -i $icon $headline $message

为了使脚本尽可能的精简,我想使用系统随附的默认图标。到目前为止,我已经采用了硬编码的文件名,例如:

icon="/usr/share/icons/Mint-Y/status/48/dialog-error.png"

这显然是一个非常糟糕的解决方案,因为图标取决于可能未安装在给定系统上的主题(在上面的示例中,它是“ Mint Y”主题)。我正在寻找一种方法来告诉我的脚本:“向系统询问当前设置的图标主题中的错误图标,然后使用它。”

问题是:我该怎么做?

1 个答案:

答案 0 :(得分:2)

请勿指定任何类似路径的内容。您应该指定一个通用文件名片段,然后让系统为您搜索最佳值。

因此,如果文件名中包含大小或文件类型或其他内容,请将其删除,并且不要指定开头路径。

使用类似notify-send -i info testnotify-send -i error test ...

notify-send -i printer-error test,将在引擎盖下找到类似/usr/share/icons/Adwaita/256x256/status/printer-error.png的东西。