I’ve started to use ratpoison on my netbook. I’ve made a script that displays a menu of power-related actions and the current state of the battery. Here is a screenshot:
[discharging 58%] SLEEP HIBERNATE REBOOT SHUTDOWN LOCK
The script uses ratmenu to actually display the menu and uses dbus to send signals.