#notification #windows #notify #toast

winrt-notification

An incomplete wrapper over the WinRT toast api

12 releases

0.3.1 Apr 10, 2021
0.3.0 Feb 16, 2021
0.2.4 Feb 21, 2021
0.2.2 Feb 8, 2018
0.1.4 Sep 24, 2017

#23 in Windows APIs

Download history 1406/week @ 2021-01-21 1334/week @ 2021-01-28 1350/week @ 2021-02-04 1752/week @ 2021-02-11 1803/week @ 2021-02-18 1202/week @ 2021-02-25 1530/week @ 2021-03-04 1395/week @ 2021-03-11 1079/week @ 2021-03-18 1210/week @ 2021-03-25 1150/week @ 2021-04-01 1379/week @ 2021-04-08 1546/week @ 2021-04-15 1704/week @ 2021-04-22 2010/week @ 2021-04-29 1617/week @ 2021-05-06

6,620 downloads per month
Used in 32 crates (2 directly)

MIT license

34KB
283 lines

winrt-notification

license version Build Status

An incomplete wrapper over the WinRT toast api

Tested in Windows 10 and 8.1. Untested in Windows 8, might work.

0.2 Documentation 0.3 Documentation

Todo:

  • Add support for Adaptive Content
  • Add support for Actions

Known Issues:

  • Will not work for Windows 7.
  • Requires MSYS to build when targeting gnu toolchain (i686-pc-windows-gnu and x86_64-pc-windows-gnu).
    • May work with some other method, but the rust gnu toolchain cannot link this crate with just rustup and cargo.

Limitations:

  • Windows 8.1 only supports a single image, the last image (icon, hero, image) will be the one on the toast

Usage

#Cargo.toml
[dependencies]
winrt-notification = "0.2.4"

Examples

extern crate winrt_notification;
use winrt_notification::{Duration, Sound, Toast};

fn main() {
    Toast::new(Toast::POWERSHELL_APP_ID)
        .title("Look at this flip!")
        .text1("(╯°□°)╯︵ ┻━┻")
        .sound(Some(Sound::SMS))
        .duration(Duration::Short)
        .show()
        .expect("unable to toast");
}
extern crate winrt_notification;
use std::path::Path;
use winrt_notification::{IconCrop, Toast};

fn main() {
    Toast::new("Your AppUserModeId")
        .hero(&Path::new("C:\\absolute\\path\\to\\image.jpeg"), "alt text")
        .icon(
            &Path::new("c:/this/style/works/too/image.png"),
            IconCrop::Circular,
            "alt text",
        )
        .title("Lots of pictures here")
        .text1("One above the text as the hero")
        .text2("One to the left as an icon, and several below")
        .image(&Path::new("c:/photos/sun.png"), "the sun")
        .image(&Path::new("c:/photos/moon.png"), "the moon")
        .sound(None) // will be silent
        .show()
        .expect("unable to toast");
}

Dependencies

~13MB
~46K SLoC