Hi Xromer
You're certainly ploughing through it!
For the Calendar, there' s nothing to do to manage it with external scripts :-(
The atd.c file in libschedule it' s built to manage the output of the at command with the libpopt library.
It execute the at -f -g cmd and wait it to output the UID of the event, storing it in the sqlite env.
Without the at cmd output you have to generate the UID manually.
So you have to be a little more patient guys.
After i finish to make some tries (with the changes i made), i will put the new ipks online for you to try them with me.
For the GPE-Announce i didn' t have time to try deep the new IPK, after looking at the new code, i will fix it as the old one.
The Snooze function is always related to the libschedule issue, but this time the programmers added the SYSTEM call function at the end of atd.c that makes Announce trig directly AT.
This is the reason why Announce doesn' t freeze as Calendar.
Because Announce doesn' t wait for the AT output.
An that' s the way i will follow.
CHEERS!
[div align=\"right\"][a href=\"index.php?act=findpost&pid=122633\"][{POST_SNAPBACK}][/a][/div]
I'm not completely clear on everything above, but here is a scheduled job (working):
#!/bin/sh
#!/bin/sh
export DISPLAY=:0
gpe-announce ''
gpe-calendar -s 1144921500 -e 5 &
#!# 5 1144921500
rm -f $0
The at script adds the first shebang and the last line (to remove the script once executed).
I don't think the extra shebang causes any problems. As you can see, gpe-announce doesn't get any information other than a message to display; is announce supposed to call at? If so, I don't see how it would because it has no information (e.g. job id) to use for this.
The gpe-calendar line seems to work; it doesn't actually launch the calendar on screen, it just does something then quits. The long number is the time of the alarm, so my best guess is that it's supposed to register that the alarm has occurred. What it seems to do is re-schedule the event for the same time!
As for the next line, I can't see that it does anything - it looks like a comment (bash accepts it, but doesn't seem to do anything), possibly created by a malformed command. It's interesting that both this and the previous line have the same number (5) in them.
OK, here are the questions:
1) Should gpe-announce be passed more information, such as the at job id, or the time? Or does it call gpe-calendar (or look at the database) to get the info it needs?
2) Does gpe-announce call at directly? What command line?
3) What exactly should the gpe-calendar line do? What are the extra parameters?
4) Is the last line correct? Should it be doing something? What?
I think if we can answer the above, that will fix the two remaining issues with at implementation:
- some alarms immediately re-scheduled when they go off, regardless of being dismissed
- suspending alarms not reliable
By the way, I am not concerned with fixing at via the script, as it brings the functionality more into line with all the other (standard) versions out there, and make it more useful for other tasks as well as gpe integration. I guess it would be quite trivial to repackage the atd ipk with the updated script too.
What else can I do to help test this and provide feedback?
Karl