X-Git-Url: https://git.toastfreeware.priv.at/gregoa/zavai.git/blobdiff_plain/810faf3c605f30e7ed89eddd8115c16514c138fd..HEAD:/README diff --git a/README b/README index d08f1f4..45bf69e 100644 --- a/README +++ b/README @@ -12,10 +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 - - # 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 @@ -107,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 @@ -139,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 @@ -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 +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: - - 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 - - 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 @@ -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 - - 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) - - 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 - - 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 - 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, ...) @@ -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 - - 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?)