Triggers is the geek's alternative to Timeriffic (http://play.google.com/store/apps/details?id=com.alfray.timeriffic), Llama (http://play.google.com/store/apps/details?id=com.kebab.Llama) and Locale (http://play.google.com/store/apps/details?id=com.twofortyfouram.locale). I played with Timeriffic and Llama and read about Locale, but none of them seemed to do quite what I wanted - i.e. script events. If you're not a geek, maybe one of these apps might be more to your liking. If you are a geek, read on!
Triggers is a fairly thin interface between various Android events and Lua scripting. When an event happens, your script is run and handed a table containing information about the event. You are also handed a table into which you can store data persistently between calls and, using the functionality provided by LuaJava you can call Android functions.
This isn't for the faint hearted. You need to know how to program Lua, and to be familiar with Android programming concepts. The help page (http://www.ty-penguin.org.uk/~auj/triggers/) isn't all I could hope it to be either.
Permissions: Of course it asks for lots. It needs them so it can receive events and pass them to your Lua script, and then let your Lua script do something with them. Triggers doesn't, itself, do anything worrying, I promise (though obviously I can't vouch for any Lua you may load into it).
Added library function "android.killpackage(packagename)" which will kill a running application. This required addition of the android KILL_BACKGROUND_PROCESSES permission. Now you can create triggers which cause applications to be close.
Fixed bug preventing the console showing all available data on startup.
Removed the need for the compatibility support library. App size cut by > 50% as a result.