Падение наверняка из-за `None.unwrap()` происходит - это выражение вообще всегда будет вызывать панику, потому что смысл unwrap как раз в том и есть: развернуть значение, если оно Some, или грохнуть приложение.
Можно, например,
https://habrahabr.ru/post/270371/ почитать.
------
Ну и да, задача стоит именно в том что бы самому такое реализовать? А то можно же что-то готовое уже взять.
https://crates.io/crates/notify какой-нибудь, например.