From c8d53972148e7713e40779e75c1932cacffd526c Mon Sep 17 00:00:00 2001
From: Lars Henriksen <LarsHenriksen@get2net.dk>
Date: Sun, 7 Apr 2019 20:36:26 +0200
Subject: Fix daemon notification for short warning periods

When the warning period for notifications is less than 60 seconds
(DAEMON_SLEEP_TIME), the daemon may be at sleep when the appointment
comes up. If that happens, no notification is launched. In stead, the
daemon should launch the notification early.

Addresses GitHub issue #204, part 2.

Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
---
 src/dmon.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

(limited to 'src')

diff --git a/src/dmon.c b/src/dmon.c
index dc8aa0c..0772394 100644
--- a/src/dmon.c
+++ b/src/dmon.c
@@ -188,8 +188,9 @@ void dmon_start(int parent_exit_status)
 			DMON_ABRT(_("error loading next appointment\n"));
 
 		left = notify_time_left();
-		if (left > 0 && left <= nbar.cntdwn
-		    && notify_needs_reminder()) {
+		if (left > 0 &&
+		    left <= MAX(DMON_SLEEP_TIME, nbar.cntdwn) &&
+		    notify_needs_reminder()) {
 			DMON_LOG(_("launching notification at %s for: \"%s\"\n"),
 				 nowstr(), notify_app_txt());
 			if (!notify_launch_cmd())
-- 
cgit v1.2.3-70-g09d2