Notify

» Crate » Docs » CI » Downloads » Conduct » Public Domain

Cross-platform filesystem notification library for Rust.

(Looking for desktop notifications instead? Have a look at [notify-rust] or [alert-after]!)

As used by: [alacritty], [cargo watch], [cobalt], [docket], [mdBook], [pax], [rdiff], [rust-analyzer], [timetrack], [watchexec], [xi-editor], [watchfiles], and others.

Platforms

FSEvents

Due to the inner security model of FSEvents (see [FileSystemEventSecurity]), some events cannot be observed easily when trying to follow files that do not belong to you. In this case, reverting to the pollwatcher can fix the issue, with a slight performance cost.

License

Notify was undergoing a transition to using the Artistic License 2.0 from CC Zero 1.0. A part of the code is only under CC0, and another part, including all new code since commit [3378ac5a], is under both CC0 and Artistic. When the project was to be entirely free of CC0 code, the license would be formally changed (and that would have incurred a major version bump). As part of this, contributions to Notify since would agree to release under both.

Origins

Inspired by Go's [fsnotify] and Node.js's [Chokidar], born out of need for [cargo watch], and general frustration at the non-existence of C/Rust cross-platform notify libraries.

Originally created by [Félix Saparelli] and awesome [contributors].