[ltp] ThinkPad Theft Protection evolved

André Wyrwa linux-thinkpad@linux-thinkpad.org
Mon, 12 Feb 2007 13:11:47 +1000


--=-MqgqnSXVj7jgmapqel/x
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hei,

I'm going away for a couple of weeks, but i want to give you guys a
preview of the little project i was working on recently:

http://wyrfel.reukauf.com/tonttu-0.1.tar.bz2

I ran into Lex van Roons Thinkpad Theft Protection application, which is
written in Python and is intended for a GNOME environment. It was the
most promising approach in that area i found so far, so i hooked on to
it, first extending it, then rewriting almost all the code.

The most significant changes:
-> plugin-system
-> main program is completely event driven,
   loops and threads only in plugins that need them
   and for grace state
-> merged daemon and tray icon, separated settings
-> options to hide tray icon
-> gnome-screensaver and xscreensaver support
-> lid support (needs acpid)
-> ThinkPad Fn-F2 support (needs acpid and ibm-acpi)
-> support for immediate triggering on
---> ac-power (needs gnome-power-manager)
---> power-button (needs acpid)
-> CD-ROM eject functionality (needs eject)
-> ThinkPad LED and ThinkLight support (needs ibm-acpi)
-> OSD support (needs XOSD and pyosd)

And the software requirements:

- gconf
- pygtk

Plugin-Requirements:

Screensaver.....(dbus, gnome-screensaver) or xscreensaver
Lid.....acpid
Fn-F2.....acpid, ibm-acpi
USB.....hal, dbus
Bluetooth.....hal, dbus, bluez-libs, pybluez
HDAPS.....hdaps kernel driver
AC-Power.....dbus, gnome-power-manager
Power-Button.....acpid
ThinkPad LEDs.....ibm-acpi
On Screen Display.....xosd, pyosd
Play Sound.....python-alsaaudio
Eject CD-ROM.....eject

Tonttu (the new name is rather temporary, actually) is targetted at
GNOME and uses a lot of it (hal, dbus, gconf, gtk) to be both functional
and sexy. Thanks to being a plugin framework and handling all hardware
specific functionality through plugins, it is not ThinkPad specific
anymore and can even be used without a motion sensor. However, i'm
pointing this out to you, because the original idea was born here and it
evolved from that.

The code is still a bit rough and there are quite a few features still
to be implemented, but the basic framework pretty much includes all the
features i wanted it to. It doesn't do much error checking at the
moment, either, so expect to run into a few misbehaviours. That said, at
least here everything is pretty much usable. If you feel like it, give
it a try and give me some feedback. Would make me happy. ;-)

And there might be a problem with autostarting the daemon, so try
running it from a terminal, if nothing happens on preferences change.
(A good test is to enable the LED module and then activate the "Enable
alarm" checkbox.)

Have fun playing with it,
Andr=E9.


--=-MqgqnSXVj7jgmapqel/x
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQBFz9rzEOp8fsnyxsQRAoK2AJ9AEZ1g8YT5eIUWMiIJwEv96BfawwCggO1J
8J0kxMWXCYecmTKPsfwPd1U=
=c9F6
-----END PGP SIGNATURE-----

--=-MqgqnSXVj7jgmapqel/x--