#桌面通知 #通知 #桌面 #notify #dbus #libnotify

notifrust

一个几乎和 notify-rust 一样好的 crate

1 个稳定版本

使用旧的 Rust 2015

3.5.0 2018 年 10 月 21 日

#730GUI

每月 22 次下载

MIT/Apache

69KB
1K SLoC

notifrust

Travis license Crates.io version documentation

显示桌面通知。此实现不依赖于 libnotify,因为它使用 dbus-rs。支持基本的通知功能,更复杂的功能将随后推出。下面的 API 应该是稳定的。

#Cargo.toml
[dependencies]
notify-rust = "3"

要求

  • rustc >= 1.18.0
  • linux,需要 libdbus-1
  • macos
  • 不支持 windows

编译时要求

  • libdbus-1-dev

示例

示例 1(简单通知)

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

示例 2(持续通知)

extern crate notify_rust;
use notify_rust::Notification;
use notify_rust::NotificationHint as Hint;
Notification::new()
    .summary("Category:email")
    .body("This has nothing to do with emails.\nIt should not go away until you acknoledge 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().unwrap();

用法 & 文档

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

命令行工具

查看 toastify,它将库的大部分功能暴露给命令行。

平台支持

该库在 Linux 和 BSD 上表现良好,这是它的原始目标平台。最近它获得了对 macOS 的支持,但只包括当前功能的一小部分,因为 NSNotification 没有那么多功能。请参阅“如果你是一个精通 macOS UI 开发并且拥有卓越的 Objective-C 技能的人? PRSV。”

依赖关系

~2.5–7.5MB
~107K SLoC