diff options
author | Christian Hesse <mail@eworm.de> | 2017-01-05 16:54:33 +0100 |
---|---|---|
committer | Christian Hesse <mail@eworm.de> | 2017-01-05 16:54:33 +0100 |
commit | dd1cf4c39cfadc74eb1f871c2f2256f4e5c764f7 (patch) | |
tree | 1d0778a8a9e61bc9117dc1c6b2b7a91bd1fc94dc | |
parent | 61c3a6fac48056193e9a332e6144d6f2132f9dde (diff) | |
download | udev-block-notify-dd1cf4c39cfadc74eb1f871c2f2256f4e5c764f7.tar.gz udev-block-notify-dd1cf4c39cfadc74eb1f871c2f2256f4e5c764f7.tar.zst |
use systemd service manager notification
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | systemd/udev-block-notify.service | 2 | ||||
-rw-r--r-- | udev-block-notify.c | 4 | ||||
-rw-r--r-- | udev-block-notify.h | 5 |
5 files changed, 15 insertions, 1 deletions
@@ -11,6 +11,10 @@ CP := cp CFLAGS += -std=c11 -O2 -fPIC -Wall -Werror CFLAGS += $(shell pkg-config --cflags --libs libudev) CFLAGS += $(shell pkg-config --cflags --libs libnotify) +CFLAGS_SYSTEMD := $(shell pkg-config --cflags --libs libsystemd 2>/dev/null) +ifneq ($(CFLAGS_SYSTEMD),) +CFLAGS += -DHAVE_SYSTEMD $(CFLAGS_SYSTEMD) +endif LDFLAGS += -Wl,-z,now -Wl,-z,relro -pie # this is just a fallback in case you do not use git but downloaded @@ -19,6 +19,7 @@ Requirements To compile and run `udev-block-notify` you need: +* [systemd](https://www.github.com/systemd/systemd) * [libnotify](http://library.gnome.org/devel/notification-spec/) * [systemd](http://www.freedesktop.org/wiki/Software/systemd) (or `udev` which has been merge into `systemd`) * [markdown](http://daringfireball.net/projects/markdown/) (HTML documentation) diff --git a/systemd/udev-block-notify.service b/systemd/udev-block-notify.service index 375fc63..b7261b6 100644 --- a/systemd/udev-block-notify.service +++ b/systemd/udev-block-notify.service @@ -2,7 +2,7 @@ Description=Udev Block Notification [Service] -Type=simple +Type=notify ExecStart=/usr/bin/udev-block-notify [Install] diff --git a/udev-block-notify.c b/udev-block-notify.c index 974b6c6..32a761a 100644 --- a/udev-block-notify.c +++ b/udev-block-notify.c @@ -135,6 +135,10 @@ int main (int argc, char ** argv) { notifications->notification = NULL; notifications->next = NULL; +#ifdef HAVE_SYSTEMD + sd_notify(0, "READY=1\nSTATUS=Waiting for udev block events..."); +#endif + while (1) { FD_ZERO(&readfds); if (mon != NULL) diff --git a/udev-block-notify.h b/udev-block-notify.h index df34887..d4573b3 100644 --- a/udev-block-notify.h +++ b/udev-block-notify.h @@ -17,6 +17,11 @@ #include <unistd.h> #include <string.h> +/* systemd headers */ +#ifdef HAVE_SYSTEMD +#include <systemd/sd-daemon.h> +#endif + #include <libnotify/notify.h> #include <libudev.h> |