RemoteControlApplet

Summary

This specification describes how to improve the facility of use a remote with Lirc.

Rationale

Told described here, a robust support for remote controls is needed in both Debian and Ubuntu, and is a must for the UbuntuMediaCenter.

To use your remote, you need to install Lirc. It allow you with a the lircd daemon, to catch the ir signal. Then this signal is send to programs so you can manage your programs with your remote. But there are lot of problems to start this deamon or other tools provided by Lirc at the start of your computer (trust me ;)).

Use Cases

  • Jack owns an new remote. He wants to manage his computer with it, but when he starts his computer, the remote doesn't respond.
  • Elise wants to start the daemon, but there is problem, she doesn't know what is a deamon and how to stop it.

Design

a. Create the interface

Fisrt of all, we can develop the interface. We want to use Python and Gtk (pygtk). The interface of an applet is very easy, so it can be a good start point to have a vision of this tools. Possiblity to develop the interface with Glade, because the main problem is the core.

There is another point with the interface, the logo. Each applet has a logo/icon. Lirc has a diode for logo. But it's maybe time to have other choices. A try can be found here On and Off. The idea is that the power button is:

  • green when the daemon runs and receives a signal,
  • red when the daemon runs but nothing is received,
  • gray if the daemon isn't running (ie "Remote control support disabled").

If some graphists have ideas, don't hesitate to send this on the mailing !!!

b. Create the core

Define which tool should run. There are some : irexec, lircd,... Maybe the possibility to choose. But for a base user, he doesn't know. And the spirit is he mustn't know how it work. A use of lib os in python will be great ! We need to do :

  • send actions (irexec)
  • activate / deactivate the remote support (ie invoke-rc.d lirc) {start,stop} + options at-boot => use gksu

c. Testing time

Test the applet on different configurations, with different remotes. When it's done, the next point can be applied.

d. Other features

Configuration (ie auto detection / choice of the remote, ability to configure extern programs (Elisa, Mythtv, Kaffeine...) Note : need to be discuss : extern tool (possibility to have an other team on this task, separate start daemon/configure remote) or integrate with the applet (have all in one tool) ?

e. Discussion with Lirc for an inclusion

Discuss with the developpers of Lirc to include this tool in Lirc. It's a part of the RemoteControls spec, with for example the new name space standard. Give a new power of the Lirc project !

Implementation

Milestone 1 (target: Gutsy)

Implement the following solutions:

Milestone 1 or 2 (target: Gutsy or Gutsy+1)

  • Task name

    Task status

    Assignee

    Comments

    d. Other features

    not started (0 %)

    e. Discussion with Lirc for an inclusion

    not started (0 %)

Note : if you want to participate, don't hesite to contact LoicDardant or mail to the mailing list.

References

RemoteControlApplet (last edited 2008-08-06 16:35:42 by localhost)