From 5181d90b017715bab95b991f258a4df2b42263fc Mon Sep 17 00:00:00 2001 From: Frederic Culot Date: Wed, 29 Jul 2009 19:11:57 +0000 Subject: Avoid multiple notifications of the same appointment when running in background. --- ChangeLog | 3 +++ src/dmon.c | 15 ++++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index f64c052..abcc605 100755 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,9 @@ configuration data * src/io.c (io_extract_data): do not read past the maximum length + + * src/dmon.c (dmon_start): avoid multiple notifications of the + same appointment 2009-07-27 Frederic Culot diff --git a/src/dmon.c b/src/dmon.c index 4a93bcb..72f4887 100644 --- a/src/dmon.c +++ b/src/dmon.c @@ -1,4 +1,4 @@ -/* $calcurse: dmon.c,v 1.7 2009/07/27 21:02:55 culot Exp $ */ +/* $calcurse: dmon.c,v 1.8 2009/07/29 19:11:58 culot Exp $ */ /* * Calcurse - text-based organizer @@ -161,6 +161,7 @@ daemonize (int status) void dmon_start (int parent_exit_status) { + struct notify_app_s next; conf_t conf; if (!daemonize (parent_exit_status)) @@ -182,11 +183,12 @@ dmon_start (int parent_exit_status) io_load_app (); data_loaded = 1; + next.got_app = 0; for (;;) { - struct notify_app_s next; - - (void)notify_get_next (&next); + if (!next.got_app) + (void)notify_get_next (&next); + if (next.got_app) { int left; @@ -195,7 +197,10 @@ dmon_start (int parent_exit_status) left = notify_time_left (); if (left < nbar.cntdwn) - notify_launch_cmd (); + { + notify_launch_cmd (); + next.got_app = 0; + } } if (next.txt) -- cgit v1.2.3-70-g09d2