2 个版本
0.1.1 | 2023 年 9 月 28 日 |
---|---|
0.1.0 | 2023 年 9 月 14 日 |
#9 in #图像路径
60KB
1.5K SLoC
OxiNoti
一个用 Rust 和 gtk 制作的进行中的通知守护进程。
也可以与 OxiDash 配合使用,OxiDash 也是一个用 Rust 和 gtk 制成的通知中心。
功能
支持的提示
- 通过图像路径的图像
- 通过原始字节流的图像
- 紧急
Dbus 函数
- ToggleNotificationCenter:当通知中心打开时禁用显示通知
- DoNotDisturb:当设置时禁发通知,注意:在配置文件中的 dnd_override,紧急程度足够高的通知可以绕过此限制。
- GetServerInformation:名称、厂商、版本、spec_version
- GetCapabilities:返回服务器功能
- RemoveAllNotifications:从持久性中删除所有通知
- GetAllNotification:返回所有当前持有的通知的向量
- CloseNotification:从持久性中删除特定通知
- Notify:发送通知,注意:如果可用,还会将通知发送到通知中心 -> dbus 地址:org.freedesktop.NotificationCenter
Notify, GetServerInformation, CloseNotification 和 GetCapabilities 是从 freedesktop.org 标准化的
其余的是对它的补充,是针对通知中心的。
CLI 参数
- --config:指定 toml 配置文件的路径
- --css:指定 CSS 样式表的路径
toml 配置
timeout = 3 # this sets the timeout for the notification -> how long it stays
dnd_override = 2 # this is the minimum amount of urgency that a notification needs to be shown despite do not disturb
# note, values for dnd_override are: 0 for low, essentially disables dnd, 1 for normal, 2 for critical, any other value will block notifications no matter the urgency during dnd
CSS
可以使用基本的 gtk CSS 为 OxiNoti 主题化,示例可以在仓库中找到。
说明
- 正在进行中,目前不要用于常规使用
- 欢迎测试,目前似乎可以工作
- 不确定这是否高效,从未有过背景任务和/或异步/并行编程的任何正规经验
- 似乎使用了大约 40MB 的 RAM,希望这没问题
依赖关系
~24MB
~551K SLoC