2 releases
0.1.1 | Aug 14, 2022 |
---|---|
0.1.0 | Aug 13, 2022 |
#178 in Windows APIs
22 downloads per month
36KB
658 lines
winrt-toast
A mostly usable binding to the Windows ToastNotification
API.
Example
use winrt_toast::{Toast, Text, Header, ToastManager};
use winrt_toast::content::text::TextPlacement;
let manager = ToastManager::new(crate::AUM_ID);
let mut toast = Toast::new();
toast
.text1("Title")
.text2(Text::new("Body"))
.text3(
Text::new("Via SMS")
.with_placement(TextPlacement::Attribution)
);
manager.show(&toast).expect("Failed to show toast");
// Or you may add callbacks
manager.show_with_callbacks(
&toast, None, None,
Some(Box::new(move |e| {
// This will be called if Windows fails to show the toast.
eprintln!("Failed to show toast: {:?}", e);
}))
).expect("Failed to show toast");
To-Do Features
- Button style and tooltips in actions
- Better callbacks
- Sound
- Adaptive contents and data binding
- Groups and sub-groups
lib.rs
:
A mostly usable binding to the Windows ToastNotification
API.
Example
use winrt_toast::{Toast, Text, Header, ToastManager};
use winrt_toast::content::text::TextPlacement;
let manager = ToastManager::new("YourCompany.YourApp");
let mut toast = Toast::new();
toast
.text1("Title")
.text2(Text::new("Body"))
.text3(
Text::new("Via SMS")
.with_placement(TextPlacement::Attribution)
);
manager.show(&toast).expect("Failed to show toast");
// Or you may add callbacks
manager.show_with_callbacks(
&toast, None, None,
Some(Box::new(move |e| {
// This will be called if Windows fails to show the toast.
eprintln!("Failed to show toast: {:?}", e);
}))
).expect("Failed to show toast");
Dependencies
~131MB
~2M SLoC