summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/opiealarm/opiealarm.c36
-rwxr-xr-xroot/etc/resume-scripts/R46opiealarm2
2 files changed, 25 insertions, 13 deletions
diff --git a/core/opiealarm/opiealarm.c b/core/opiealarm/opiealarm.c
index 3a06236..ac98832 100644
--- a/core/opiealarm/opiealarm.c
+++ b/core/opiealarm/opiealarm.c
@@ -32,3 +32,3 @@ FILE *log; // debug only
32 32
33int resume ( void ); 33int resume ( int resuspend );
34int suspend ( void ); 34int suspend ( void );
@@ -75,3 +75,6 @@ void usage ( void )
75{ 75{
76 fprintf ( stderr, "Usage: opiealarm -r|-s\n" ); 76 fprintf ( stderr, "Usage: opiealarm -r|-s [-a]\n\n" );
77 fprintf ( stderr, "\t-s\tSuspend mode: set RTC alarm\n" );
78 fprintf ( stderr, "\t-r\tResume mode: kill running opiealarm\n" );
79 fprintf ( stderr, "\t-a <x>\tResuspend in <x> seconds (resume mode)\n\n" );
77 exit ( 1 ); 80 exit ( 1 );
@@ -141,5 +144,6 @@ int main ( int argc, char **argv )
141 int mode = 0; 144 int mode = 0;
145 int ac_resusp = 0;
142 int opt; 146 int opt;
143 147
144 while (( opt = getopt ( argc, argv, "rs" )) != EOF ) { 148 while (( opt = getopt ( argc, argv, "a:rs" )) != EOF ) {
145 switch ( opt ) { 149 switch ( opt ) {
@@ -151,2 +155,10 @@ int main ( int argc, char **argv )
151 break; 155 break;
156 case 'a':
157 ac_resusp = atoi ( optarg );
158 if ( ac_resusp < 30 ) {
159 ac_resusp = 120;
160
161 fprintf ( stderr, "Warning: resuspend timeout must be >= 30 sec. -- now set to 120 sec\n" );
162 }
163 break;
152 default: 164 default:
@@ -168,7 +180,7 @@ int main ( int argc, char **argv )
168 180
169 if ( mode == 'r' ) 181 switch ( mode ) {
170 return resume ( ); 182 case 'r': return resume ( ac_resusp );
171 else 183 case 's':
172 return suspend ( ); 184 default : return suspend ( );
173 185 }
174 return 0; 186 return 0;
@@ -264,3 +276,3 @@ static int onac ( void )
264 276
265int resume ( void ) 277int resume ( int resuspend )
266{ 278{
@@ -271,3 +283,3 @@ int resume ( void )
271 if ( !opiealarm_was_running ) { // opiealarm -s got it's RTC signal -> wake up by RTC 283 if ( !opiealarm_was_running ) { // opiealarm -s got it's RTC signal -> wake up by RTC
272 if ( onac ( )) { 284 if ( resuspend && onac ( )) {
273 time_t start, now; 285 time_t start, now;
@@ -278,3 +290,3 @@ int resume ( void )
278 290
279 // sleep 120sec (not less!) 291 // sleep <resuspend> sec (not less!)
280 time ( &start ); 292 time ( &start );
@@ -283,3 +295,3 @@ int resume ( void )
283 time ( &now ); 295 time ( &now );
284 } while (( now - start ) < 120 ); 296 } while (( now - start ) < resuspend );
285 297
diff --git a/root/etc/resume-scripts/R46opiealarm b/root/etc/resume-scripts/R46opiealarm
index c258047..169dc30 100755
--- a/root/etc/resume-scripts/R46opiealarm
+++ b/root/etc/resume-scripts/R46opiealarm
@@ -4,2 +4,2 @@
4 4
5/opt/QtPalmtop/bin/opiealarm -r 5/opt/QtPalmtop/bin/opiealarm -r -a 120