fso-el: Emacs interface to the freesmartphone API
This is an Emacs client to be used on phones like the OpenMoko FreeRunner. It relies on the freesmartphone API. Because it requires the new Emacs dbus support, you need to be using a recent version of Emacs.
Contents
Screenshots
Code
To checkout:
git clone http://git.wjsullivan.net/fso-el.git
Please send patches to john@wjsullivan.net, or put them here.
Working features
- Toggle silent mode on and off.
- Activate GPRS connection and log changes in connection status.
- Log times for incoming calls, outgoing calls, ended calls, incoming sms and sent sms.
- Initiate calls.
- Answer and end call.
- Receive and display call status changes.
- Incoming SMS pop up automatically.
- View all stored SMS messages.
- Reply to stored SMS message.
- Send SMS messages.
- Delete individual SMS messages.
- Show network status.
- Register and unregister to the network.
- Turn wifi on and off.
To do
0.1
- Enforce character limit on SMS.
Make easier to reply to sms
- Answer incoming call while on active call
- Mute microphone
- Retrieve call from hold
- Put call on hold
Check out yrk's http://yrk.nfshost.com/repos/diamondsms/diamondsms.el and see if we can borrow from it
Activate GPRS
Deactivate GPRS. This is on hold because I'm getting an error when I try to use the DeactivateContext method.
- Make it easier to answer incoming call -- tap screen?
- Monitor the SIM to catch when it's full and notify the user. Probably need a variable to define how many messages it can hold. Mine holds 30.
- Make FSO menu
View SMS
- View contacts
Send sms
Make call
Answer call
End call
Activate wifi
- View log
- Show status information in fso buffer
- Resource status / policies
- SIM status / info
Network status / info
- Current profile
- Add view contacts function
- Log history
SMS sent
SMS received
Calls placed
- Calls answered
Calls ended
Calls incoming
- Generate api functions with defmacro?
Set profile to silent.
- Send dtmf tones
Listen for SMS and display when received.
Add activate wifi function
- Turn bluetooth on and off?
- Monitor dbus and warn when it stops answering
0.15
Display binary sms to fix /Bugs/MMS. Check to see if the message is binary and use bindat?
- Copy SMS from SIM to file as they arrive.
- Copy SMS from SIM to file as they are sent.
- Add option to raise window on incoming call.
- Send SMS to multiple numbers.
- View missed calls.
- View recent answered calls with durations.
- View recent placed calls with durations.
- Add command to call number from log.
- Mode for active call
- Mode for individual message viewing
- Mode for message list viewing
- Trigger pop-up illume keyboard automatically when prompted for number or message text.
0.20
- Add voicemail indicator to show when there is one, based on OTA message
- Automatically split and send long SMS.
- View SMS by status (read, unread, sent, etc)
- Add graphical phone dialer.
- Audio signal when call is ended.
- Mixer for while call is active
- Reference number to contacts for incoming calls
- Abbrevs for sms
- Create new contact from incoming call number
- Create new contact from incoming sms number
- Update existing contact from incoming call number
- Update existing contact from incoming sms number
- Set headset profiles.
0.25
- Show elapsed time for call while on the call.
- Add festival or espeak support for reading sms.
- Contacts integration with bbdb
- Contacts integration with Addressbook
- Name-based completion for dialing
Bugs
http://www.ozekisms.com/index.php?owpn=380 CMS error codes
- d-bus signals seem to take a long time to arrive sometimes. After ending a call, it can take a full minute before the call status changes in Emacs, even though the call is released immediately. If a key is pressed while waiting, then the signal seems to arrive right then.
- What happens when an SMS comes in while on a call?
Why is there an error about <pause> that happens when a call is dialed?
Fixed
/Bugs/RetrieveMessageChannelMediatorError was fixed by fso framework commit d7dca1626ae625c836e6819f774a70446e2954d2.
Patches
Documentation
M-x fso starts it.
Keybindings
These are still very much in flux and subject to change.
d |
delete SMS |
g |
turn GPRS on if it's not already on |
j |
join network |
l |
show messages |
n |
show network status |
p |
initiate call |
q |
quit |
r |
reply to SMS |
s |
send SMS |
w |
toggle wifi |