X-Git-Url: https://git.toastfreeware.priv.at/gregoa/zavai.git/blobdiff_plain/1a0718e3c81079218efc6c76e63a13b5b8464c97..HEAD:/README diff --git a/README b/README index 1ee64ca..45bf69e 100644 --- a/README +++ b/README @@ -13,12 +13,9 @@ Getting it to work: # Build time apt-get install valac libglib2.0-dev libdbus-glib-1-dev libgee-dev libgtk2.0-dev \ - libwnck-dev libdevkit-power-gobject-dev \ + libwnck-dev \ libomhacks-dev liblua5.1-dev - # Runtime - apt-get install devicekit-power - # Optional runtime apt-get install polygen polygen-data @@ -109,22 +106,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 @@ -141,6 +143,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 @@ -156,29 +173,59 @@ TODO list / wish list * 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 + - 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 - - 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 - - log and refuse incoming calls and messages + - 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) - 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 - - 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 @@ -190,27 +237,12 @@ TODO list / wish list (-> learn/test libalsamixer something) /usr/share/vala/vapi/alsa.vapi - space buttons from sliders, to avoid shutting down instead of lowering the volume - - log - - message (structured) (json?) - - 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 - - battery without devkit: do the parsing via lua + - 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 - - zavai-calendar as a separate app - zavai-contacts as a separate app - calendar - next30: don't update if not shown currently on the notebook