> I want my laptop to suspend to ram when I close the lid, expect when it is in 'download' power profile, then I obviously want it to continue working (downloading).
You can try not closing the lid.
> Suspend to disk - never use it.
I use it to save the system during suspend mode. When I close the lid to go into suspend mode and put the laptop in my bag.. but the battery still gets used. If the battery goes below a certain point the laptop is going to automatically power off no matter what. So it's a lot better when the laptop goes into "suspend to disk" rather then just kill the memory contents.
> And my power button has to turn of the screen so I have a quick button to save some power (but not turn the laptop off entirely).
Never use it. I just hit control-alt-l and let the screen shut off after 5 minutes of inactivity. To each their own.
> Making all this non-configurable - well, let's just say I won't be using GNOME 3 on my laptop if that happens...
a) Apparently the post above yours says it's still configurable.
b) I doubt you were planing on using Gnome 3 anyways.
But it's just all dbus anyways. I am surprised with all the complaining people do that nobody has bothered to make a alternative power management/network management daemon. That way you can get all the nice features for managing the system without having to depend on Gnome. Like if your a fluxbox user or whatever. All the gnome-volume-manager, gnome-power-manager, etc etc just do is listen on the dbus and give out replies to events based on their configurations. I thought about mucking around with something like that a few times since it would allow you to get all the PM features you want without having to run a full desktop. But I've gotten increasingly happy with the minimalism-ui-with-lots-of-hidden-functionality that gnome is achieving.
I've done small stuff using dbus and python. It's pretty easy. Just setup something to listen for events and then when they happen you send a message back out over the bus to let the daemons know what you want done.
NET::DBUS for perl too, which may be handy since the dbus bindings with python require the use of gtk-style event loops and whatnot and will pull in Gnome dependencies. I think. It's been a while.