Open Bug 134969 Opened 21 years ago Updated 8 years ago

Add alarms to nsnotify/Alarm as well if Calendar is not running


(Calendar :: General, enhancement)

Not set


(Not tracked)


(Reporter: chris, Unassigned)



The mail notification program from NS4 could also be used to signal alarms, if
it's brought into Mozilla. This way, alarms will still operate, even when
Mozilla isn't running.

This would probably be best assigned to someone from QuickLaunch or MailNews,
but since I have no clue to exactly which person should have it, I'm assigning
to nobody. If anyone wants to pitch in, thanks.
Spam: Setting dependancies (blocks alarms tracker, blocked by nsnotify bug).
Blocks: cal-alarms
Depends on: 11056
Ever confirmed: true
*** Bug 135152 has been marked as a duplicate of this bug. ***
Changed Summary, to reflect better the topic.

I would say it is very nice to have it Alarm also when only QuickLaunch is on.
But for me using Linux/Unix where no Quick Launch exists, it would already
helpfull if the Calendar makes an alarm if only Mozilla is running
(Navigator/MailNews). Currently I get only alarms (Windows and Unix) when the
Calendar is opened.
Summary: Add alarms to nsnotify → Add alarms to nsnotify/Alarm as well if Calendar is not running
*** Bug 176883 has been marked as a duplicate of this bug. ***
Shouldn't this bug 134969 depend directly on bug 115348 in stead of through bug
If there is a general notification module as described in bug 115348, alarms
notification can be made for it without having to wait for new mail notification.
Bug 134969 should then be renamed to "Implement alarm notification using System
Tray module"?
Bug 11056 could be renamed to "Implement new-mail check+notification using
System Tray module"?

I'm not sure if bug 115348 is a Microsoft Windows only thing or not...
If so, it would mean that Windows could get one general system tray module with
alarm-notification and new-email checking plugged into that whereas other OS
would need either 2 seperate system tray modules or one extending the other?
Default QA Contact for Calendar has changed.  If you wish to remain the QA
contact for this bug, feel free to change it back.
QA Contact: colint → brantgurganus2001
*** Bug 199783 has been marked as a duplicate of this bug. ***
No longer depends on: 11056
Priority: -- → P1
Target Milestone: --- → 1.0
By this code getting checked in:
the calendar icon in the taskbar will change if an alarm goes off even if
calendar is not running. However just like the case with the email icon,
calendar has to be started once before this would function.
Alarms can be set when mozilla isn't running. I suggest to use the
{crond/At/schedueled tasks } for {linux/NT/Win9x} respectively
*** Bug 211261 has been marked as a duplicate of this bug. ***
*** Bug 200693 has been marked as a duplicate of this bug. ***
One of the last posts ( Mostafa Hosseini  ) suggests that this has been fixed. 
In the user's world I don't believe that it has.  (No offense to Mostafa <smile>)

But I wanna make sure we all understand what we are trying to report/fix. So
here goes...
I am a typical "user" for calendar, meaning one who has left the MS-outlook
world.  When I boot up, Calendar loads.
If an alarm is set to notify me, IT MUST. Whether Calendar has been closed or
not, I need to get the notification that an important "thing" has happened that
I am depending upon. Right now I cannot depend upon it.

IMHO, Calendar is not dependable without being able to complete this function.
To me, that means that Calendar is unstable at present.

This may seem not that important to some, but consider that without Calendar
being dependable the main 3 apps that create a needed PIM suite are not
available.  Just my 2 cents.

PS. I currently use FireFox, TB, and Sunbird, so it may be that my comments do
not apply to the Moz-Suite.  If so, please let me know.  If Calendar IS
dependable in another configuration, i would be interested in looking at that.


The issue with that is, (at least on win32, think its same on Linux/Mac/OS2
builds) is that Calendar is not running in ANY WAY when mozilla is not running
(sunbird excluded since that IS calendar)...

on win32 it can reside in taskbar and still be running, yes.

Though without Mozilla aware of "hey we have calendar on, need to watch for
alarms" is a bit harder to do until cal is loaded, which is why Suite doesnt
message about new Mail until after you have first loaded mailnews once, after
that it will message about any new mails coming in.

The biggest issue here is not that calendar needs to have opened, (may be an
easier way around that than I have seen so far), but the issue is that you don't
always have fire-fox open, or thunderbird, or Sunbird, when those programs NEED
to be open to have it pop the alarm up ALL THE TIME...

M$'s tricks the OS by when an alarm is in memory, it TELLS the OS (via scheduled
tasks) to make sure it loads its alarm system on system boot, and hide its
activation (quite effectively).  Which is partly why I hate M$, it is too hard
to tell what it is doing.

Though, if you don't want firefox to load with your system, I understand you
would want an alarm, but in all reality, if you don't have any part of mozilla
to load with your system, how can you expect any part of mozilla to notify you
when its not started/running?

(Just a few thoughts)
n4's nsnotify was actually a standalone application. it was very lightweight and
basically just checked pop/imap servers for mail. you could take a few different
tactics here, one is to find code for such an app and adapt it (i wouldn't mind
this at all).

the concern i have with that tactic, is that i don't know how complicated alarms
are, if they require understanding most of calendars data and require something
which processes data which is in a nontrivial format such that you require all
of calendar to be loaded, then ...

another approach would be to schedule (using scheduled tasks) launching a
quicklaunch like version of calendar (which would load the profile and sit in
the tray) for a few minutes before an event. (by schedule i mean using scheduled
tasks.) hopefully the calendar app can load fast enough to process the alarm...

the other approach for suites is to add a profile startup listener category item
for calendar alarms when you know there are alarms in the future. calendar would
then load at profile startup, figure out if there are alarms that matter and do
whatever it needs to do.
how about a small daemon (maybe n4's nsnotify?) that was no real understanding
about the calendar, it just have a list of times that calendar MUST be running...


i add a event in sunbird/calendar, it will add to a file (say a text file) the
date and hour when the alarms must show (pre, event and after)
the daemon would just load, read the file, and when of alarm time is reached, it
will lunch sunbird/calendar and this one is the one that will flag the user
about the event

the daemon would only lunch the calendar (if not already running of course) so
it would be very simple

on unix and maybe macosX, we could even use the cron
on windows a very small daemon like cron (a win32 port?) would be enough

and there is no need to overload the daemon with all the events, just the first
3 or the first month, whatever is longer
when a alarm is reached, calendar will start and update that file, but its still
needs some more events just in case that the computer is turn off
but thinking better, we should be notified even if the computer was off and the
event time have already past away, so sunbird will load on every event/computer
on and update the daemon file for the next event

if someone setup a alarm for some hour, they must be notified no matter what
i already manage to make several people to move to sunbird from outlook, but
this is one of the main problems that they keep complaining
ohh, i forgot... 

it should also be configurable, if people dont want a daemon running, a simple
way to disable it
Is this still watched here? I'd like to put a MAJOR ENHANCEMENT REQUIREMENT tag
on this one.

Why? I am strongly willing to switch from Outlook to Sunbird/Calendar. For me it
does not matter if it is a stand-alone app or a plugin in FF/TB ...

The requirement I have is as follows: Have alarms go of if any of the programms
is running. If I use SB there might be a plugin which hooks into FF and TB to
make them aware of alarms. If I use the Calendar extension in either FF or TB
the other one should know about it.

I personaly don't need to have alarms go of when no application of the FF/SB/TB
package is running. As with OUtlook you the user decides when to check for mail
and dates ... hmmm ... but I would consider some kind of "alarm and mail" aware
start-center a good enhancement, as long it is lightweight and hazzle-free.

My two pennies to throw in. And I am urging to implement at least a mechanism
which lets FF with Calendar extension trigger alarms even when Calendar has not
run before and currently is not running. I could live with that because I have
FF open almost always ... Would that be an easy and first step into the
direction? Not switching to thunderbird is currently only stopped by not having
outlook calendaring anmyore. Eat this ;)))))))

Some maybe interested in SunTray, a current workaround for this problem:
I'm still watching this, but at this time there's nothing I can really do for
Calendar. When I can, I might figure out writing a standalone notify app to
check for new mail or alarms, which can open TB or SB, but that could be a long
time away. Unless someone else is willing to do such or similar, this bug is
pretty much dead in the water.

timeless is pretty much right with comment 14. As far as I can tell, it'd be
some quixotic work just to figure out if there's an alarm to be sounded, never
mind patching in the ability to check for them in a biff program.
SunTray looks nice, but it's actively running TB and SB, right? I don't know how
the memory footprint has improved or not since I was still working on code, but
I doubt that it's changed enough to render the effort of making a minimalist
notify program unneccessary.
Fixing this bug would make the calendar a worthy successor to the no longer free
Ximian (Novell) Evolution Calendar 1.4.5
*** Bug 276780 has been marked as a duplicate of this bug. ***
*** Bug 275837 has been marked as a duplicate of this bug. ***
*** Bug 279251 has been marked as a duplicate of this bug. ***
*** Bug 272313 has been marked as a duplicate of this bug. ***
yep most say that the calendar is really no god unless the alarm/mail notify
works  even if the calendar is *not* running.
*** Bug 281729 has been marked as a duplicate of this bug. ***
*** Bug 296222 has been marked as a duplicate of this bug. ***
I'd like to put in another plug for this functionality. I don't know how it work
in Windows, but at least in Linux a Sunbird daemon that checks for alarm events
and launches Sunbird - or perhaps just a window with the alarm - when needed.
The option to turn the daemon off would be nice, but not really necessary, IMO.
If someone sets an alarm , they want that alarm to come on regardless of whether
they're running the app or not. If they really want to disable the deamon they
could always just kill it manually.
Considering how many people want the feature (as seen by votes and the number of
dups) it might be worthy to offer a bounty to fix it. I'm currently trying to
figure out a new nsnotify with the functionality to signal alarms but with all
my other projects right now (and my lack of good net access) means it'll
probably be for naught.

The idea, however, if anyone cares to take it and run with it, is as such: An
extension exists for both Thunderbird and Sunbird, which manages settings for an
external nsnotify app. It'll also signal the app whenever changes are made. I
figure that it'd be easy enough to do for Win32 (that is, signalling changes and
setting prefs) but I don't have enough *nix/Mac knowledge to find a way to do so
on those platforms. If it's possible to send a SIGHUP to it from another
program, a handler for that could be used to reset the nsnotify.

The only really tricky part is the extension, since it'll need to be able to
lurk on certain settings in both SB and TB, as well as announce new alarms. It
should also inform nsnotify to go to sleep when SB or TB is run (and it'll need
to know which, so if only one or the other is running the features for the one
that isn't still work), and wake it when the apps close.

That should be moved to its own bug though (which is the one just for
reimplementing nsnotify, again? I thought it used to be marked as a blocker for
this one.) since it's about making a new nsnotify, not adding the alarm feature
to it.
QA Contact: gurganbl → general
this feature (and other aspects of mail/calendar integration) is a must in 
order to compete with other mail clients (e.g. outlook)
*** Bug 312074 has been marked as a duplicate of this bug. ***
Is there a way to query to see whether an alarm has already been triggered? If so, then on launch, you could go back over the list of existing alarms that are from the past, and see if they were triggered; if they were not, then trigger them.
(In reply to comment #35)
> Is there a way to query to see whether an alarm has already been triggered? If
> so, then on launch, you could go back over the list of existing alarms that are
> from the past, and see if they were triggered; if they were not, then trigger
> them.
Yes and no.  There is no standard property to define this.  Sunbird 0.2 used an X-prop to specify that the alarm had fired.  I'm currently in the process of doing something similar for the current trunk builds.  That, however, is irrelevant to this bug.  This bug is about firing alarms when they program is NOT running (or only a small subset of it is running), so the "on launch" option is not a solution.
Target Milestone: 1.0 → ---
Duplicate of this bug: 585353
Priority: P1 → --
You need to log in before you can comment on or make changes to this bug.