h4llow3En/mac-notification-sys

✉️ A simple wrapper to deliver or schedule macOS Notifications in Rust

Rust

134

234 commits

updated Jun 16, 2026

See the code

README

mac-notification-sys

platform version license contributors

build downloads documentation

A simple wrapper to deliver or schedule macOS Notifications in Rust.

Usage

#Cargo.toml
[dependencies]
mac-notification-sys = "0.6"

Documentation

The documentation can be found here

Example

use mac_notification_sys::*;

fn main() {
    let bundle = get_bundle_identifier_or_default("firefox");
    set_application(&bundle).unwrap();

    send_notification(
        "Danger",
        Some("Will Robinson"),
        "Run away as fast as you can",
        None,
    )
    .unwrap();

    send_notification(
        "NOW",
        None,
        "Without subtitle",
        Some(Notification::new().sound("Blow")),
    )
    .unwrap();
}

TODO

  • Add timeout option so notifications can be auto-closed
  • Allow NSDictionary to hold various types (perhaps with a union?)
  • Switch to UserNotification if possible

Contributors

Thanks goes to these wonderful people:

Any help in form of descriptive and friendly issues or comprehensive pull requests are welcome!

license

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in mac-notification-sys by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Conventions

The Changelog of this library is generated from its commit log, there any commit message must conform with https://www.conventionalcommits.org/en/v1.0.0/. For simplicity you could make your commits with convco.

hacktoberfest
macos
notification
rust

h4llow3En/mac-notification-sys

✉️ A simple wrapper to deliver or schedule macOS Notifications in Rust

Rust

134

234 commits

updated Jun 16, 2026

See the code

README

mac-notification-sys

platform version license contributors

build downloads documentation

A simple wrapper to deliver or schedule macOS Notifications in Rust.

Usage

#Cargo.toml
[dependencies]
mac-notification-sys = "0.6"

Documentation

The documentation can be found here

Example

use mac_notification_sys::*;

fn main() {
    let bundle = get_bundle_identifier_or_default("firefox");
    set_application(&bundle).unwrap();

    send_notification(
        "Danger",
        Some("Will Robinson"),
        "Run away as fast as you can",
        None,
    )
    .unwrap();

    send_notification(
        "NOW",
        None,
        "Without subtitle",
        Some(Notification::new().sound("Blow")),
    )
    .unwrap();
}

TODO

  • Add timeout option so notifications can be auto-closed
  • Allow NSDictionary to hold various types (perhaps with a union?)
  • Switch to UserNotification if possible

Contributors

Thanks goes to these wonderful people:

Any help in form of descriptive and friendly issues or comprehensive pull requests are welcome!

license

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in mac-notification-sys by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Conventions

The Changelog of this library is generated from its commit log, there any commit message must conform with https://www.conventionalcommits.org/en/v1.0.0/. For simplicity you could make your commits with convco.

hacktoberfest
macos
notification
rust

Project health

Overall

3.7/10

Maintained

0/10

Code review

1/10
OpenSSF Scorecard

Latest release

0.6.15 · Jun 16, 2026

Releases this year

8

Significant stargazers

Samuel Colvin

6,711 followers · starred Oct 2025

pierwill

49 followers · starred Oct 2023

Lorenzo Bloedow

12 followers · starred Jan 2026