Conditional compilation based on presence or not of devkit-power
[gregoa/zavai.git] / README
diff --git a/README b/README
index 737a73b5b33519640debd02a1938f9b8d9032c05..3b5cfc14a9858749a17ac3a7315ff75bb93ce058 100644 (file)
--- a/README
+++ b/README
@@ -11,9 +11,14 @@ Getting it to work:
 
  * Install dependencies
 
-   apt-get install valac libglib2.0-dev libdbus-glib-1-dev libgee-dev libgtk2.0-dev libwnck-dev
+   # Build time
+   apt-get install valac libglib2.0-dev libdbus-glib-1-dev libgee-dev libgtk2.0-dev libwnck-dev libdevkit-power-gobject-dev
 
-   Optional: apt-get install polygen polygen-data
+   # Runtime
+   apt-get install devicekit-power
+
+   # Optional runtime
+   apt-get install polygen polygen-data
 
  * Compile
 
@@ -36,6 +41,11 @@ Getting it to work:
    cp /usr/share/applications/FBReader.desktop ~/.zavai
    cp conf/satmon.desktop ~/.zavai
 
+ * Copy accessory scripts in ~/.zavai
+
+   cp hooks/display ~/.zavai
+   cp hooks/keyboard ~/.zavai
+
  * Update the information about the polygen grammars installed in the system
    (optional) 
 
@@ -97,15 +107,23 @@ Features / guide
  * Alarms
 
  It is possible to set an alarm, which will be shown in the alarm window. When
- the alarm expires, the phone wakes up if it is suspended, and zavai does
- nothing but print an error message on standard error.
+ the alarm expires, the phone wakes up if it is suspended, and zavai vibrates
+ for 5 seconds.
+
+ It is planned to use the AUX button to acknowledge the alarm and stop the
+ vibration; when this will happen, vibration can go on for more than 5 seconds.
  
- When there will be a documented API to turn OFF the vibrator, I'll implement
- vibration on alarm.  When I'll implement some audio playing infrastructure,
- I'll implement playing an audio file as well.
+ When I'll implement some audio playing infrastructure, I'll implement playing
+ an audio file as well.
+
+ Also missing are a popup that tells that an alarm is ringing, and a notifier
+ for unacknowledged popups.
 
  Patches welcome.
 
+ Details: the alarms are scheduled with at(1). Please see omhacks for simple
+ suspend hooks that will wake up the phone to run scheduled at jobs.
+
  * Calendar
 
  You can reach the calendar from the menu or by clicking on the date in the
@@ -137,11 +155,39 @@ TODO list / wish list
  http://git.freesmartphone.org/?p=specs.git;a=blob_plain;f=html/index.html;hb=HEAD
 
  * Features to add:
- - switch backlight keep mode when on power/recharging
-    - the button changes the default for the current power mode
+ - remove dependency on devkit-power
+    + do the watching/triggering taking code from devkit-power
+    + do the parsing hardcoded
+    - devkit-power conditional compilation
+    - remove libdevkit-power-gobject1 from the phone
+    - do the parsing via lua
+ - fisheye list music player
+    - player page with seek/skip controls
+    - playlist editor
+    - chosen song start playing if nothing is being played
+    - chosen song moves to playlist editor: play, add to playlist, add dir to playlist
+      (show a standard list multiselectable with all the songs in the dir and
+      only the selected song selected; allow to select others, select all, add
+      selected to playlist)
+    - playlist as reorderable standard list, allow to delete tracks, reorder tracks
+    - save playlist to file to reload later
+    - pause with headset button
+ - volume control in power menu
+ - space buttons from sliders, to avoid shutting down instead of lowering the volume
+ - lua config
+ - contacts: show as a fancy focus+context list (see prefuse)
+    - vcard on e-vcard.{h,c}
+    - ical on libical-dev
+    - vcard+index file
+    - lua functions to read things
+ - zavai-calendar as a separate app
+ - zavai-contacts as a separate app
  - alarm
     - vibrate at alarm trigger
     - play sound at alarm trigger
+    - acknowledge alarms with AUX button
+       - then, vibrate and play sound for longer
+    - popup that tells that an alarm is ringing
     - leave expired alarm on screen until acknowledged
       (alarm status icon that also brings to alarm menu)
     - remember alarm names (on request, maybe with an add feature) and how
@@ -149,6 +195,20 @@ TODO list / wish list
     - remember unexpired alarms persistently (again, a table in sqlite?) so
       that they can be reinstated if zavai is restarted
     - show active alarms and allow to delete them
+ - work without ogpsd
+    + power on/off the gps and start/stop gpsd
+    + set to keep the GPS on during suspend
+    - use the gpsd protocol to know if there is a fix or not
+    - suspend/resume hooks to put the GPS into low power mode
+ - next30: don't update if not shown currently on the notebook
+ - gtk_calendar_set_detail_func
+ - GSM power and network
+    - link to open SHR-dialer
+ - icon to show if there are new messages
+    - link to open SHR-messages
+ - switch backlight keep mode when on power/recharging
+    - the button changes the default for the current power mode
+ - unlock screen when receiving phone calls
  - GPX status icon (off, waiting for fix, recording)
  - GPX waypoint using AUX button
  - GPX + Audio track
@@ -159,24 +219,21 @@ TODO list / wish list
     - turn on/off chip
     - start/stop wicd
     - start/stop wicd-client
- - Simple wireless scanner (code from guessnet)
+ - Simple wireless scanner (code from guessnet, or minimal wicd client)
  - Suspend phone if not calling and gps is not on and backlight is not on
    (maybe with idle notifier?)
  - Phone from kapula (or just running kapula)
- - Split polygen applet in a separate app, ran via a .desktop file
-   (faster zavai startup time, can then integrate a browser in the polygen
-    applet, makes more sense altogether)
- - Is there a way to lock the screen completely turning off the touchscreen, so
-   that interrupts are not even generated?
  - Timezone selector
     - Location aware (show timezones in order of distance from current
       location)
  - Show timezone in clock
 
  * To find out
- Why sometimes the phone will stop acting normal and will completely ignore
+ Why sometimes the phone will stop acting normal and will completely ignore
    the screen for the purpose of screen dimming, that is, it will dim the
-   screen even if I'm using the touchscreen?
+   screen even if I'm using the touchscreen? (it was old ousaged brokenness)
+ - Is there a way to lock the screen completely turning off the touchscreen, so
+   that interrupts are not even generated?
 
  * Not quite needed yet:
  - GPX log with more features (quality, course, speed, ...)
@@ -185,7 +242,4 @@ TODO list / wish list
     - Add an audio note
     - Add a text note (tickling the text input method thing)
    If timeout expires, leave the waypoint with the automatic name
- - restart zavai
-   (also on dbus fuckup)
-   (can be done by just quitting and let the runner script restart it)
  - get fix events without requesting the GPX resource (and then? gpx log all the time? what for?)