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,
turns on baclight, shows a big ACK button and flashes the AUX led for 30
- seconds.
+ seconds. It also plays some music.
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.
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.
* 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:
+ - 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
+ - stacked notifier, with stacked modal dialogs
+ (notify sms received during phone ringing during alarm)
+ - aux acks the topmost dialog
+ - custom ringtone per every notifier (stops ringtone of modifier below,
+ saving the time offset of playing so it can be reloaded and resumed)
- log
+ + load log entry for showing it
+ - 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..)
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
+ + log but don't pick up incoming calls
+ - play ringtone when someone calls (not useful to pick up, but just to
+ notify a call is there)
+ (but stop ringtone if aux pressed in the meantime, to avoid annoying
+ people)
+ - log incoming SMS messages
+ (first as a standalone app quick to compile)
+ - 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
+ play sound at alarm trigger
- - leave expired alarm on screen until acknowledged
- (alarm status icon that also brings to alarm menu)
+ + leave expired alarm on screen until acknowledged
- 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
- 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
- ical on libical-dev
- vcard+index file
- lua functions to read things
- - zavai-calendar as a separate app
- zavai-contacts as a separate app
- calendar
- next30: don't update if not shown currently on the notebook