there is also a laptop package called laptop-mode
http://samwel.tk/laptop_mode/
it's highly configurable and can be very aggressive when you go into battery mode
it takes care of cpu stepping and hard disk head activity and spin down and so on
you get a directory called /etc/laptop-mode for hour of adjusting
it can kill tasks
disable services
stop HAL polling
controll wifi power saving mode
reduce brightness
disable video out
power down some USB ports
on and on
some of the developers have started trying to get gpu switching working
https://github.com/awilliam/asus-swi.../master/README
too bad no fancy proprietary drivers like for ATI switching
if you try to do switching remember you have to restart x (remember how windows 7 would blink a few times)