Merge branch 'master' of http://git.hands.com/zavai
[gregoa/zavai.git] / README
diff --git a/README b/README
index a13e1c6e0c78106d99b527f4a45d76bb0ffbfa10..3b5cfc14a9858749a17ac3a7315ff75bb93ce058 100644 (file)
--- a/README
+++ b/README
@@ -11,9 +11,14 @@ Getting it to work:
 
  * Install dependencies
 
 
  * 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
 
 
  * Compile
 
@@ -36,6 +41,11 @@ Getting it to work:
    cp /usr/share/applications/FBReader.desktop ~/.zavai
    cp conf/satmon.desktop ~/.zavai
 
    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) 
 
  * Update the information about the polygen grammars installed in the system
    (optional) 
 
@@ -97,15 +107,38 @@ Features / guide
  * Alarms
 
  It is possible to set an alarm, which will be shown in the alarm window. When
  * 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.
 
 
  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
+ main screen.
+
+ The calendar shows notes on every day. You can add notes just by typing on the
+ white space below the calendar.
+
+ The notes are saved in ~/.zavai/cal/YEAR/MONTH/DAY.txt, feel free to:
+  - sync it with your main computer;
+  - create a tool that populates it using the information from your
+    favourite calendar system;
+  - interface zavai with a proper calendar system, without making the interface
+    harder to use (if you can).
+
 Stability / design
 
  Zavai currently focuses on the interface side, trying to make it easy for me
 Stability / design
 
  Zavai currently focuses on the interface side, trying to make it easy for me
@@ -122,13 +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:
  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
- + check for effective visibility before showing the power popup menu (or
-   better, hide zavai window when going out of visibility, whether it's
-   currently visible or not)
+ - 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
  - 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
     - 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
@@ -136,39 +195,45 @@ 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
     - 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
- - calendar, just the GTK calendar widget with buttons to go back, forth and
-   current (fill in with opimd if it will make sense)
-    - fill in day info with data coming from the laptop, but just read only,
-      without edit features. Good to check what's on for the day, and notes can
-      be taken with pen and paper for now
+ - 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
  - track EPV (and similar) in gpx and kill trackpoints with bad accuracy
  - Audio note
     - shortcut icon in main screen
  - GPX status icon (off, waiting for fix, recording)
  - GPX waypoint using AUX button
  - GPX + Audio track
  - track EPV (and similar) in gpx and kill trackpoints with bad accuracy
  - Audio note
     - shortcut icon in main screen
- - Wake up alarm
  - Toggle wireless
     - turn on/off chip
     - start/stop wicd
     - start/stop wicd-client
  - Toggle wireless
     - turn on/off chip
     - start/stop wicd
     - start/stop wicd-client
+ - 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)
  - 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
  - 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
    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, ...)
 
  * Not quite needed yet:
  - GPX log with more features (quality, course, speed, ...)
@@ -177,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
     - 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?)
  - get fix events without requesting the GPX resource (and then? gpx log all the time? what for?)