linux - 如何访问当前系统主题的图标集?
问题描述
我正在编写一个 bash 脚本,它使用 notify-send(来自 notify-osd 包)向用户显示弹出通知,例如,如果在运行时出现错误。这些弹出窗口可以用图标装饰,如下所示:
notify-send -i $icon $headline $message
为了使我的脚本尽可能精简,我想使用系统自带的默认图标。到目前为止,我已经使用了硬编码的文件名,如下所示:
icon="/usr/share/icons/Mint-Y/status/48/dialog-error.png"
这显然是一个非常糟糕的解决方案,因为图标取决于可能未安装在给定系统上的主题(在上面的示例中,它是“Mint Y”主题)。我正在寻找一种方法来告诉我的脚本:“向系统询问当前设置的图标主题中的错误图标,并使用它。”
问题是:我该怎么做?
解决方案
不要指定任何类似路径的东西。您应该指定一个通用文件名片段,并让系统为您搜索最佳值。
因此,如果文件名中有大小或文件类型或其他内容,请将其删除,并且不要指定前导路径。
使用类似notify-send -i info test
或notify-send -i error test
...
或者,它会在引擎盖下notify-send -i printer-error test
找到类似的东西。/usr/share/icons/Adwaita/256x256/status/printer-error.png
推荐阅读
- python - pygame没有找到.tff文件
- python - 使用 pyodbc & SQL Server,如何在表中插入多个外键
- azure - 奥尔良多区域部署
- html - 有没有办法在输入中设置密码光盘的样式?
- macos - 在 SwiftUI macOS 的帮助菜单下添加应用程序帮助
- java - 使用 Gradle 的弹簧配置文件
- linux - 变量引用在 shell 脚本中的 echo 命令中不起作用
- c++ - 判断用户输入的类型时的问题
- mysql - JOIN 未知列上的两个表并在结果中返回该列名
- swift - 使用 Process() 的 Swift 命令行工具和多线程在一定数量的执行回合后崩溃(~3148)