]> ToastFreeware Gitweb - gregoa/zavai.git/blobdiff - README
Merge branch 'master' into gregoa
[gregoa/zavai.git] / README
diff --git a/README b/README
index 3b5cfc14a9858749a17ac3a7315ff75bb93ce058..0bfa0a0c283f42a8485571a1a617a949fc13eb1a 100644 (file)
--- a/README
+++ b/README
@@ -12,7 +12,9 @@ Getting it to work:
  * Install dependencies
 
    # Build time
-   apt-get install valac libglib2.0-dev libdbus-glib-1-dev libgee-dev libgtk2.0-dev libwnck-dev libdevkit-power-gobject-dev
+   apt-get install valac libglib2.0-dev libdbus-glib-1-dev libgee-dev libgtk2.0-dev \
+                   libwnck-dev libdevkit-power-gobject-dev \
+                   libomhacks-dev liblua5.1-dev
 
    # Runtime
    apt-get install devicekit-power
@@ -107,22 +109,27 @@ 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 vibrates
- for 5 seconds.
+ the alarm expires, the phone wakes up if it is suspended, and zavai vibrates,
+ turns on baclight, shows a big ACK button and flashes the AUX led for 30
+ seconds. It also plays some music.
 
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.
You can use the big button on screen or the AUX button to acknowledge the
alarm and stop all the attention-seeking activities.
  
- When I'll implement some audio playing infrastructure, I'll implement playing
- an audio file as well.
+ If you want to change the alarm ringtone, you can set:
+ ringtone_alarm = "file:///some/where/file.ext"
+ in ~/.zavai/config; gstreamer is used, so mostly any audio file format will
+ work. I'm not sure what will happen if you choose a video format: that might
+ work as well.
 
- Also missing are a popup that tells that an alarm is ringing, and a notifier
for unacknowledged popups.
+ Alarms (acknowledged or not) are logged in "~/.zavai/log-alarm/". Still
missing, howerver, is a way to show that an alarm rang and noone noticed.
 
  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.
+ Details: the alarms are scheduled with at(1): they stay scheduled even if
+ zavai is restarted, and you can see them with "atq". Please see omhacks for
+ simple suspend hooks that will wake up the phone to run scheduled at jobs.
 
  * Calendar
 
@@ -139,6 +146,21 @@ Features / guide
   - interface zavai with a proper calendar system, without making the interface
     harder to use (if you can).
 
+ * GSM
+
+ If you have a pin, add 'sim_pin = "1234"' to ~/.zavai/config
+
+ Don't start frameworkd at boot. Get rid of fso-usaged from your system (it
+ will be started by dbus when frameworkd starts, if it's there).
+
+ Now you can use zavai to turn on GSM, including powering up the antenna and
+ providing the PIN if required by the SIM.
+
+ It does not currently do anything else beside turning things on. It is useful,
+ however, to make GSM services available to simple scripts like SMS or contact
+ list dump tools.
+
+
 Stability / design
 
  Zavai currently focuses on the interface side, trying to make it easy for me
@@ -155,13 +177,31 @@ TODO list / wish list
  http://git.freesmartphone.org/?p=specs.git;a=blob_plain;f=html/index.html;hb=HEAD
 
  * Features to add:
- - 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
+ - log
+    - write data to disk as log happens (to have at least partial logs if power
+      is cut)
+    - more detailed GPX data (dop, elev..)
+    - message (structured) (json?)
+ - turn on/off gsm
+    + start frameworkd as a subprocess, configured to only do phone
+    + go through the dbus motions of turning on this and that, and entering PIN
+      hardcoded in zavai config
+    + GSM status on main screen (with messages while coming online, and
+      operator, power and so on)
+    - log and refuse incoming calls and messages
+   to "move" the GSM device to my laptop:
+    socat FILE:/dev/ttySAC0 TCP-LISTEN:12345,bind=192.168.0.202
+    socat TCP:192.168.0.202:12345 PTY,link=/tmp/gps,raw,echo=0
+
+ - alarm
+    + play sound at alarm trigger
+    - 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
+      often they are triggered, and show them most frequent first
+    - show active alarms and allow to delete them
  - fisheye list music player
+   (-> learn/test gstreamer libs)
     - player page with seek/skip controls
     - playlist editor
     - chosen song start playing if nothing is being played
@@ -172,9 +212,28 @@ TODO list / wish list
     - 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
+ - audio notes
+    - record audio notes, logging start and stop so it gets an associated GPX
+    - shortcut icon in main screen
+ - check gobject introspection and dynamic loading
+    - there could be a basic loader core that just dynamically loads bits as
+      available/needed. Only the battery icon and calendar can be loaded on a
+      laptop, while on the moko one can also load the power menu.
+      Different bits can effectively work as plugins, to be there or not.
+      Alternative plugins can be loaded based on different technologies, too (a
+      gpsd satellite monitor, or a fso satellite monitor).
+ - zavai does not look good in landscape mode
+    - replace menus with a widget taking a list of actions, which then lays
+      them out according to the screen size
+ - set backlight with Randr (xrandr --prop shows "Backlight: 4 (0x00000004)    range:  (0,15)")
+   and xbacklight uses it
+   (note: the property is not available on the freerunner atm, it would be only
+    for desktop systems, to avoid chowning the device under /sys/something)
+ - volume control in power menu "Amp Spk"
+   (-> learn/test libalsamixer something)
+   /usr/share/vala/vapi/alsa.vapi
  - space buttons from sliders, to avoid shutting down instead of lowering the volume
- - lua config
+ - battery without devkit: do the parsing via lua
  - contacts: show as a fancy focus+context list (see prefuse)
     - vcard on e-vcard.{h,c}
     - ical on libical-dev
@@ -182,26 +241,10 @@ TODO list / wish list
     - 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
-      often they are triggered, and show them most frequent first
-    - 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
+ - calendar
+    - next30: don't update if not shown currently on the notebook
+    - gtk_calendar_set_detail_func
+ - GPS FixNow mode for sleeping
  - GSM power and network
     - link to open SHR-dialer
  - icon to show if there are new messages
@@ -213,12 +256,6 @@ TODO list / wish list
  - 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
- - 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?)