{"id":13467940,"url":"https://github.com/hoodie/notify-rust","last_synced_at":"2025-05-13T15:09:37.003Z","repository":{"id":32400944,"uuid":"35977602","full_name":"hoodie/notify-rust","owner":"hoodie","description":"☝️send desktop notifications from your Rust app.","archived":false,"fork":false,"pushed_at":"2025-04-08T21:00:29.000Z","size":801,"stargazers_count":1228,"open_issues_count":16,"forks_count":83,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-08T22:19:26.506Z","etag":null,"topics":["convenience","desktop-notifications","linux","macos","xdg"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hoodie.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE-Apache","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-05-20T22:29:24.000Z","updated_at":"2025-04-08T21:00:32.000Z","dependencies_parsed_at":"2024-01-15T09:07:21.646Z","dependency_job_id":"3435bf40-e30d-4d90-8f5f-7a571818152d","html_url":"https://github.com/hoodie/notify-rust","commit_stats":{"total_commits":530,"total_committers":32,"mean_commits":16.5625,"dds":"0.14150943396226412","last_synced_commit":"2bd2a2ce94aa9941040a939244ac3798f3a0110d"},"previous_names":["hoodie/notify_send-rs"],"tags_count":73,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoodie%2Fnotify-rust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoodie%2Fnotify-rust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoodie%2Fnotify-rust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoodie%2Fnotify-rust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hoodie","download_url":"https://codeload.github.com/hoodie/notify-rust/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250496152,"owners_count":21440225,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["convenience","desktop-notifications","linux","macos","xdg"],"created_at":"2024-07-31T15:01:02.822Z","updated_at":"2025-04-23T18:49:29.290Z","avatar_url":"https://github.com/hoodie.png","language":"Rust","readme":"\u003cdiv align=\"center\"\u003e\n\n# notify-rust\n\n[![build](https://img.shields.io/github/actions/workflow/status/hoodie/notify-rust/build-platforms.yml?branch=main)](https://github.com/hoodie/notify-rust/actions?query=workflow%3A\"Continuous+Integration\")\n[![Crates.io](https://img.shields.io/crates/d/notify-rust)](https://crates.io/crates/notify-rust)\n[![contributors](https://img.shields.io/github/contributors/hoodie/notify-rust)](https://github.com/hoodie/notify-rust/graphs/contributors)\n![maintenance](https://img.shields.io/maintenance/yes/2025)\n\n[![version](https://img.shields.io/crates/v/notify-rust)](https://crates.io/crates/notify-rust/)\n[![documentation](https://img.shields.io/badge/docs-latest-blue.svg)](https://docs.rs/notify-rust/)\n[![license](https://img.shields.io/crates/l/notify-rust.svg?style=flat)](https://crates.io/crates/notify-rust/)\n\n\u003c/div\u003e\n\nA not so well-named library for displaying desktop notifications.\n\n\n```toml\n[dependencies]\nnotify-rust = \"4\"\n```\n\n## Usage \u0026 Documentation\nPlease see the [documentation](https://docs.rs/crate/notify-rust/) for current examples.\n\n\n### Simple Notification\n```rust\nuse notify_rust::Notification;\nNotification::new()\n    .summary(\"Firefox News\")\n    .body(\"This will almost look like a real firefox notification.\")\n    .icon(\"firefox\")\n    .show()?;\n```\n\n### Persistent Notification\n```rust\nuse notify_rust::{Notification, Hint};\nNotification::new()\n    .summary(\"Category:email\")\n    .body(\"This has nothing to do with emails.\\nIt should not go away until you acknowledge it.\")\n    .icon(\"thunderbird\")\n    .appname(\"thunderbird\")\n    .hint(Hint::Category(\"email\".to_owned()))\n    .hint(Hint::Resident(true)) // this is not supported by all implementations\n    .timeout(0) // this however is\n    .show()?;\n```\n\n## Linux/BSD support\nThe main audience of this library are Linux/BSD based desktop environments that follow the XDG specification (see [gnome dev docs](http://web.archive.org/web/20200606201408/https://developer.gnome.org/notification-spec/) or [libnotify docs](https://www.galago-project.org/specs/notification/0.9/index.html)). These include KDE, Gnome, XFCE, LXDC, Mate (and probably also most others that I haven't personally tested).\n\n### Features\n\n#### `images`\nEnables sending of images with notifications. This is only supported on XDG. This will add the [**image** crate](https://lib.rs/image) as a dependency as well as [**lazy_static**](https://lib.rs/lazy_static) to determine the supported spec spec-version on startup.\n\n#### `d`\nEnables the usage of [**dbus-rs**](https://lib.rs/dbus) instead of [**zbus**](https://lib.rs/zbus) (also XDG only).\nThis is functionally identical to the default feature set.\n**As long as you still compile with default-features this will only enable dbus-rs usage, but not default to it!** In order to use the dbus-rs implementation set the environment variable **`DBUSRS `** or compile notify-rust with **`--no-default-features`**.\n\n## macOS support\nThis library shines on linux and bsd, which is its original target platform.\nLately it gained support for macOS thanks to [mac-notification-sys](https://crates.io/crates/mac-notification-sys).\nHowever this only includes a small subset of the current functionality, since [`NSNotification`](https://developer.apple.com/reference/foundation/nsnotification)s don't have as many features.\n\n**call for participation:** You are a versed macOS UI developer with mad Objective-C skillz? \u003cabbr title=\"pull request sil vous plait\"\u003ePRSV\u003c/abbr\u003e.\n\n## Windows support\nSimilar to macOS we support windows via the help of [winrt-notification](https://crates.io/crates/winrt-notification).\n\n\n## Commandline tool\nCheckout [toastify](https://github.com/hoodie/toastify), it exposes most of the functionality of the lib to the commandline.\n\n## Contribution\nAny help in form of descriptive and friendly [issues](https://github.com/hoodie/notify-rust/issues) or comprehensive pull requests are welcome! \n\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in notify-rust by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n\n### Conventions\nThe 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](https://crates.io/crates/convco).\n","funding_links":[],"categories":["Rust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoodie%2Fnotify-rust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhoodie%2Fnotify-rust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoodie%2Fnotify-rust/lists"}