#桌面通知 #通知 #桌面 #notify #dbus #客户端-服务器 #macos

notify-rust

显示桌面通知(linux, bsd, mac)。纯 Rust dbus 客户端和服务器。

68 个版本 (稳定版)

4.11.1 2024年8月1日
4.11.0 2024年4月4日
4.10.0 2023年11月16日
4.8.0 2023年2月19日
0.9.0 2015年6月30日

GUI 中排名第 3

Download history 22349/week @ 2024-05-03 23484/week @ 2024-05-10 22582/week @ 2024-05-17 22426/week @ 2024-05-24 24599/week @ 2024-05-31 22867/week @ 2024-06-07 24249/week @ 2024-06-14 22994/week @ 2024-06-21 25330/week @ 2024-06-28 23750/week @ 2024-07-05 24347/week @ 2024-07-12 27915/week @ 2024-07-19 27683/week @ 2024-07-26 29506/week @ 2024-08-02 31263/week @ 2024-08-09 26650/week @ 2024-08-16

每月下载量 120,083
用于 196 个软件包176 个直接使用)

MIT/Apache

125KB
2.5K SLoC

notify-rust

build Crates.io contributors maintenance

version documentation license

一个不那么恰当命名的用于显示桌面通知的库。

[dependencies]
notify-rust = "4"

使用方法 & 文档

请参阅 文档 了解当前示例。

简单通知

use notify_rust::Notification;
Notification::new()
    .summary("Firefox News")
    .body("This will almost look like a real firefox notification.")
    .icon("firefox")
    .show()?;

持久通知

use notify_rust::{Notification, Hint};
Notification::new()
    .summary("Category:email")
    .body("This has nothing to do with emails.\nIt should not go away until you acknowledge it.")
    .icon("thunderbird")
    .appname("thunderbird")
    .hint(Hint::Category("email".to_owned()))
    .hint(Hint::Resident(true)) // this is not supported by all implementations
    .timeout(0) // this however is
    .show()?;

Linux/BSD 支持

该库的主要受众是遵循 XDG 规范的基于 Linux/BSD 的桌面环境(请参阅 gnome 开发者文档libnotify 文档)。这些包括 KDE、Gnome、XFCE、LXDC、Mate(以及可能还有我没有亲自测试的其它大多数)。

功能

图片

启用与通知一起发送图片。这只支持 XDG。这将添加 image crate 作为依赖项,以及 lazy_static 以确定启动时支持的规范版本。

d

启用使用 dbus-rs 而不是 zbus(也仅限于 XDG)。这功能上与默认功能集相同。只要您仍然使用默认功能编译,这只会启用 dbus-rs 使用,但不会默认为它! 为了使用 dbus-rs 实现,请设置环境变量 DBUSRS 或使用 --no-default-features 编译 notify-rust。

macOS 支持

该库在 Linux 和 BSD 上表现优秀,这是其原始的目标平台。最近它通过 mac-notification-sys 获得了对 macOS 的支持。然而,这仅包括当前功能的一小部分,因为 NSNotification 没有那么多功能。

参与号召:您是一位精通 macOS UI 开发的开发者,具有出色的 Objective-C 技能?PRSV

Windows 支持

与 macOS 类似,我们通过 winrt-notification 的帮助支持 Windows。

命令行工具

检出toastify,它将库的大部分功能暴露给了命令行。

贡献

欢迎以描述性和友好的问题或全面的拉取请求的形式提供帮助!

除非您明确指出,否则您提交的任何旨在包含在notify-rust中的贡献,如Apache-2.0许可中定义的,应按上述方式双重许可,不附加任何额外条款或条件。

约定

此库的变更日志是从其提交日志生成的,因此任何提交消息必须符合https://www.conventionalcommits.org/en/v1.0.0/。为了简单起见,您可以使用convco来制作您的提交。

依赖关系

~0–31MB
~462K SLoC