]> ToastFreeware Gitweb - gregoa/zavai.git/blobdiff - README
butcher butcher butcher
[gregoa/zavai.git] / README
diff --git a/README b/README
index d08f1f4f6822c96ebf4a55e2af51d8b0ffc2c61f..45bf69e1ab52112744e4fb9bcb9181e8e3f2e82e 100644 (file)
--- a/README
+++ b/README
@@ -12,10 +12,9 @@ Getting it to work:
  * Install dependencies
 
    # Build time
  * 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
-
-   # Runtime
-   apt-get install devicekit-power
+   apt-get install valac libglib2.0-dev libdbus-glib-1-dev libgee-dev libgtk2.0-dev \
+                   libwnck-dev \
+                   libomhacks-dev liblua5.1-dev
 
    # Optional runtime
    apt-get install polygen polygen-data
 
    # Optional runtime
    apt-get install polygen polygen-data
@@ -107,22 +106,27 @@ 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 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.
 
 
  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
 
 
  * Calendar
 
@@ -139,6 +143,21 @@ Features / guide
   - interface zavai with a proper calendar system, without making the interface
     harder to use (if you can).
 
   - 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
 Stability / design
 
  Zavai currently focuses on the interface side, trying to make it easy for me
@@ -154,38 +173,81 @@ TODO list / wish list
  * FSO API "documentation":
  http://git.freesmartphone.org/?p=specs.git;a=blob_plain;f=html/index.html;hb=HEAD
 
  * FSO API "documentation":
  http://git.freesmartphone.org/?p=specs.git;a=blob_plain;f=html/index.html;hb=HEAD
 
+using vala-dbus-binding-tool:
+  mdbus -s org.freesmartphone.ogsmd /org/freesmartphone/GSM/Device org.freedesktop.DBus.Introspectable.Introspect > /tmp/api.xml
+  vi /tmp/api.xml
+  convert to xml: 
+    remove quotes at begin and end
+    :$s/\n/^M/g
+  mkdir /tmp/foo
+  vala-dbus-binding-tool --directory=/tmp/foo --api-path=/tmp/api.xml
+
+  Async and D-Bus:
+  http://git.gnome.org/browse/vala/tree/tests/dbus/async.test
+
  * Features to add:
  * Features to add:
- - fisheye listview
-    - enlarge step area with more small font items (so that there are many more
-      readable items but not much space is traded for it)
- - lua config
+ - if GPS time is more than 1 minute and less than 1 hour different than the
+   system time, automatically sync it
+   if GPS time is more than 1 hour different than the system time, show a
+   "SYNC" button that will sync it if pressed
+ - log
+    - flash aux when there are unacknowledged log entries
+    - 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
+    - pick up phone call
+       - phone call applet (pushed when picking up)
+          - buttons for dtmf
+         - button for hold
+         - button for hangup
+       - icon in main screen (to go back to applet if going around zavai during
+        phone call)
+   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
+    - 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
+    - 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
+ - audio notes
+    - record audio notes, logging start and stop so it gets an associated GPX
+    - shortcut icon in main screen
+ - 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
+ - battery: 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
     - vcard+index file
     - lua functions to read things
  - 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
  - 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
  - GSM power and network
     - link to open SHR-dialer
  - icon to show if there are new messages
@@ -197,27 +259,21 @@ TODO list / wish list
  - GPX waypoint using AUX button
  - GPX + Audio track
  - track EPV (and similar) in gpx and kill trackpoints with bad accuracy
  - 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)
+ - 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)
- - 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, ...)
@@ -226,7 +282,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?)