-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Paul Fertser edited this page Feb 6, 2013
·
33 revisions
This project is an attempt to create an Emacs interface for the most typical GSM telephony-related usecases: calling, text messages, contacts management and everything that makes smartphone usage more productive.
The objectives:
- make the UI usable directly on the device with touchscreen
- make the UI usable via ssh
- integrate well with other Emacs applications (please drop me a line with explanations what exactly do you want from BBDB <-> opimd integration, i also need feedback about Linphone integration : do you need it, whether the linphone mode works for you at all and what modifications are required)
- provide user with reasonable customisation options
Screenshots of the user interface.
Requirements:
- FreeSmartphone.org middleware running on host (compatible with 10 Nov 2012 git HEAD and for all the versions for about a year before)
- Emacs 23 (with dbus support) (available both from SHR feeds and Debian repositories) (Emacs 24.3.50.2 works too; Emacs 24.2.1 is known to miss signals, so do not expect it to work sanely)
Quick start guide contains everything you need to get started.
Hints:
- you can use many clients with the same FSO instance simultaneously without conflicts, e.g. running SHR on phone and
fso.el
on your desktop viadbus-daemon-proxy
- configuration options can be edited with
M-x customize-mode <RET>
-
xterm-mouse-mode
enables mouse clicks for the text-mode frames - you can open another frame (either text-mode or X11) with
emacsclient -c
thanks to Emacs23’s multitty support - you can bind
emacsclient -e '(fso-gsm-activate-incoming)'
to a key handled by your WM to be able to activate an incoming call promptly even when the Emacs window is hidden - there is a set of hooks you can use to customise the status display and perform various actions on certain events, e.g.
(add-hook 'fso-status-buffer-hook
(lambda ()
(condition-case nil
(let ((sc (fso-gsm-get-serving-cell)))
(insert "\n\n\nServing cell information:\n\n")
(insert (format "LAC: %5d CID: %5d ARFCN: %3d\n"
(cdr (assoc "lac" sc))
(cdr (assoc "cid" sc))
(cdr (assoc "arfcn" sc))))
(insert (format "TA: %2d RXLEV: %2d TXLEV: %2d"
(cdr (assoc "tav" sc))
(cdr (assoc "rxlev" sc))
(cdr (assoc "txlev" sc)))))
(error nil))))
General Emacs on smartphone hints:
- Emacs takes very long to start if you have no network connectivity and non-empty /etc/resolv.conf
-
ido-mode
saves quite some typing when switching buffers and opening files - in customisation options for
erc
disable thefill
module, it’ll save you some precious screen estate, timestamps should either be disabled orErc Insert Timestamp Function
set toLeft
(alternatively, activateHide Timestamps
andEcho Timestamps
and you’ll be able to see the timestamp of any message by movingpoint
to it) - BitlBee is a nice IRC<->IM (Jabber/XMPP and others supported by libpurple) free gateway software and service, you might like to use it for your IM’ing needs
- I sometimes accidentally press in the echo area and the screen splits in half to show
*Messages*
. To avoid that, use
(global-set-key [down-mouse-1]
(lambda (start-event)
(interactive "e")
(let ((w (posn-window (event-start start-event))))
(if (or (not (window-minibuffer-p w))
(minibuffer-window-active-p w))
(mouse-drag-region start-event)))))
Please send your feedback to:
Smartphones-userland mailing list with Cc to “Paul Fertser <[email protected]>”
Enjoy and happy hacking! :)