Build-Depends: debhelper (>= 5), libglib2.0-dev, libdbus-glib-1-dev, libhal-dev, mce-dev (>= 1.8.10)
Standards-Version: 3.7.2
-Package: espeaktime-python
-Architecture: all
-Depends: ${shlibs:Depends}, ${misc:Depends}, python, python-dbus, python-gobject, espeak
-Description: Talking clock based on eSpeak
- This is a simple talking clock daemon. Activate it by double-pressing
- the power button while the display is locked.
- .
- This package provides a python implementation.
-XB-Maemo-Display-Name: eSpeakTime
-XSBC-Bugtracker: mailto:vamposdecampos@gmail.com
-
Package: espeaktime-daemon
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, espeak
This is a simple talking clock daemon. Activate it by double-pressing
the power button while the display is locked.
.
- This package provides a C implementation.
+ This package provides the long-running daemon responsible for
+ monitoring power button events.
XB-Maemo-Display-Name: eSpeakTime
XSBC-Bugtracker: mailto:vamposdecampos@gmail.com
+++ /dev/null
-#!/usr/bin/python
-
-"""
-
-signal sender=:1.12 -> dest=(null destination) serial=1208 path=/org/freedesktop/Hal/devices/computer_logicaldev_input; interface=org.freedesktop.Hal.Device; member=Condition
- string "ButtonPressed"
- string "power"
-
-signal sender=:1.11 -> dest=(null destination) serial=750 path=/com/nokia/mce/signal; interface=com.nokia.mce.signal; member=display_status_ind
- string "on"
-
-signal sender=:1.11 -> dest=(null destination) serial=731 path=/com/nokia/mce/signal; interface=com.nokia.mce.signal; member=tklock_mode_ind
- string "locked"
-"""
-
-# mce/dbus-names.h
-MCE_SERVICE = "com.nokia.mce"
-MCE_REQUEST_IF = "com.nokia.mce.request"
-MCE_SIGNAL_IF = "com.nokia.mce.signal"
-MCE_REQUEST_PATH = "/com/nokia/mce/request"
-MCE_SIGNAL_PATH = "/com/nokia/mce/signal"
-MCE_TKLOCK_MODE_SIG = "tklock_mode_ind"
-MCE_DISPLAY_SIG = "display_status_ind"
-
-import gobject
-import dbus
-import dbus.mainloop.glib
-import time
-import os
-
-class SpeakTimeController(object):
- def __init__(self):
- bus = dbus.SystemBus()
- mce_req = dbus.Interface(
- bus.get_object(MCE_SERVICE, MCE_REQUEST_PATH),
- dbus_interface=MCE_REQUEST_IF)
- mce = dbus.Interface(
- bus.get_object(MCE_SERVICE, MCE_SIGNAL_PATH),
- dbus_interface=MCE_SIGNAL_IF)
- hal = dbus.Interface(
- bus.get_object("org.freedesktop.Hal", "/org/freedesktop/Hal/devices/computer_logicaldev_input"),
- dbus_interface="org.freedesktop.Hal.Device")
-
- self.sig_display_status(mce_req.get_display_status())
- self.sig_tklock_mode(mce_req.get_tklock_mode())
-
- mce.connect_to_signal(MCE_DISPLAY_SIG, self.sig_display_status)
- mce.connect_to_signal(MCE_TKLOCK_MODE_SIG, self.sig_tklock_mode)
- hal.connect_to_signal("Condition", self.sig_condition)
-
-
-
- def sig_display_status(self, status):
- print "display status [%s]" % status
- self.display_status = status
-
- def sig_tklock_mode(self, mode):
- print "lock mode [%s]" % mode
- self.tklock_mode = mode
-
- def sig_condition(self, name, *args):
- print "condition: name=[%s] args=[%r]" % (name, args)
- if name == 'ButtonPressed' and args[0] == 'power':
- print "power button"
- if self.display_status == "on" and self.tklock_mode == "locked":
- s = time.strftime("%H:%M")
- print "speak: [%s]" % s
- print os.system("espeak \"%s\"" % s)
-
-
-def main():
- dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
-
- ctrl = SpeakTimeController()
-
- print "loop"
- mainloop = gobject.MainLoop()
- mainloop.run()
-
-main()