Fix spt on OSX (no libnotify)
- Thanks for the person who reviewed my code & gave suggestion - Fork notify_send() directly - What's next? Parallel timer
This commit is contained in:
parent
cafb6102db
commit
2502641ce2
|
@ -1,7 +1,7 @@
|
||||||
/* See LICENSE file for copyright and license details. */
|
/* See LICENSE file for copyright and license details. */
|
||||||
|
|
||||||
/* Notification */
|
/* Notification, replace libnotify if you don't want it */
|
||||||
static char *notifycmd = "libnotify"; /* Use libnotify or given command */
|
static char *notifycmd = "libnotify"; /* Use libnotify or command given*/
|
||||||
static char *notifyext = ""; /* Notify with extra command (eg. play an alarm) */
|
static char *notifyext = ""; /* Notify with extra command (eg. play an alarm) */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
11
config.mk
11
config.mk
|
@ -7,15 +7,14 @@ VERSION = 0.1
|
||||||
PREFIX = /usr/local
|
PREFIX = /usr/local
|
||||||
MANPREFIX = ${PREFIX}/share/man
|
MANPREFIX = ${PREFIX}/share/man
|
||||||
|
|
||||||
# includes and libs
|
# libnotify - comment if you don't want it (config.h too)
|
||||||
INCS = -I. -I/usr/include \
|
INCS = -I. -I/usr/include `pkg-config --cflags libnotify`
|
||||||
`pkg-config --cflags libnotify`
|
LIBS = -L/usr/lib `pkg-config --libs libnotify`
|
||||||
LIBS = -L/usr/lib \
|
DEFS = -DNOTIFY
|
||||||
`pkg-config --libs libnotify`
|
|
||||||
|
|
||||||
# flags
|
# flags
|
||||||
CPPFLAGS = -DVERSION=\"${VERSION}\"
|
CPPFLAGS = -DVERSION=\"${VERSION}\"
|
||||||
CFLAGS += -g -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
|
CFLAGS += -g -std=c99 -pedantic -Wall -Os ${INCS} ${DEFS} ${CPPFLAGS}
|
||||||
LDFLAGS += -g ${LIBS}
|
LDFLAGS += -g ${LIBS}
|
||||||
|
|
||||||
# compiler and linker
|
# compiler and linker
|
||||||
|
|
14
spt.c
14
spt.c
|
@ -5,8 +5,9 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
#ifdef NOTIFY
|
||||||
#include <libnotify/notify.h>
|
#include <libnotify/notify.h>
|
||||||
|
#endif /* NOTIFY */
|
||||||
|
|
||||||
#include "arg.h"
|
#include "arg.h"
|
||||||
|
|
||||||
|
@ -59,20 +60,21 @@ void
|
||||||
notify_send(char *cmt)
|
notify_send(char *cmt)
|
||||||
{
|
{
|
||||||
if (!strcmp(notifycmd, "libnotify")) { /* use libnotify */
|
if (!strcmp(notifycmd, "libnotify")) { /* use libnotify */
|
||||||
|
#ifdef NOTIFY
|
||||||
notify_init("spt");
|
notify_init("spt");
|
||||||
NotifyNotification *n = notify_notification_new("spt", cmt, "dialog-information");
|
NotifyNotification *n = notify_notification_new("spt", cmt, \
|
||||||
|
"dialog-information");
|
||||||
notify_notification_show(n, NULL);
|
notify_notification_show(n, NULL);
|
||||||
g_object_unref(G_OBJECT(n));
|
g_object_unref(G_OBJECT(n));
|
||||||
notify_uninit();
|
notify_uninit();
|
||||||
|
#endif /* NOTIFY */
|
||||||
} else if (strcmp(notifycmd, "")) {
|
} else if (strcmp(notifycmd, "")) {
|
||||||
/* TODO(pickfire): merge this into spawn() */
|
/* TODO(pickfire): merge this into spawn() */
|
||||||
if (fork() == 0) {
|
|
||||||
setsid();
|
setsid();
|
||||||
execlp(notifycmd, "spt", cmt, NULL);
|
execlp(notifycmd, "spt", cmt, NULL);
|
||||||
fprintf(stderr, "spt: execlp %s", notifycmd);
|
fprintf(stderr, "spt: execlp %s", notifycmd);
|
||||||
perror(" failed");
|
perror(" failed");
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strcmp(notifyext, "")) /* extra commands to use */
|
if (strcmp(notifyext, "")) /* extra commands to use */
|
||||||
|
@ -123,7 +125,9 @@ main(int argc, char *argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
run:
|
run:
|
||||||
notify_send(timers[i].cmt);
|
if (fork() == 0) {
|
||||||
|
notify_send(timers[i].cmt);
|
||||||
|
}
|
||||||
|
|
||||||
for (timecount = 0; timecount < timers[i].tmr; timecount++) {
|
for (timecount = 0; timecount < timers[i].tmr; timecount++) {
|
||||||
sleep(1);
|
sleep(1);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user