#windows #wsl #notification #push #toast


WPush is a Rust library that makes sending Windows toasts easier. Includes WSL support!

2 releases

0.1.1 Sep 3, 2023
0.1.0 Aug 28, 2023

#59 in Windows APIs

43 downloads per month

MPL-2.0 license

272 lines


github crates.io docs.rs

Toast Notification on Windows

This crate provides an easy way to send toast notification on Windows. It is heavily inspired on the Go package go-toast/toast.

Also, this library includes WSL support, that means, if you compile and run from WSL, the toast should appear. However, this approach may be limited because, internally, the toast feature on Windows needs to access to regedit, which causes some issues to get the APP_ID.

Go to full crate documentation.


Add this to your cargo.toml:

wpush = "0.1.1"

On your main.rs you could do something like this:

use wpush::Notification;

fn main() {
    let mut n = Notification::new();

    n.set_title(Some("WPush Library"));
    n.set_message(Some("This toast was sent from Rust!"));


Notification Setup

The Notification has some setters that can be used before pushing.

let mut n = Notification::new();

n.set_app_id(&str);           // The APP_ID is required.
                              // Default: "Windows App"
n.set_icon(Option<&str>);    // Must be a path to the image file
n.set_audio(Option<Audio>);  // Audio is a wpush enum.


Some setters are missing. They are going to be added on next versions.


This library is under Mozilla Public Licence Version 2.0

Made by Juan Saez


~43K SLoC