The app provices a large set of configuration options to customize the app behavior. Most of the preferences are self explanatory. Some more advanced options are described here
The app already has 40+ toggle options. But in case the toggle you are looking for is not present, you can create your own plugin and integrate it with PowerToggles.
Refer the plugin development guide for more details.
You can also use Tasker app to quickly create a on/off toggle
Refer the tasker guide for more details.
The app uses periodic battery polling to get the battery information (more dedatil explanation in the next section).
You can customize the interval for polling.
Also on some motorola devices, the battery value increment happens in multiples of 5. You can enable the 'Motorola 1% battery hack' to make the app try an alternative way to read the battery. If this alternate method fails, this setting will automatically get disabled.
You can also customize the display of battery toggles (and not the statusbar battery icon) from here. You can change the battery levels at which the toggle should change colors as well as make the battery toggles use a separate color scheme than the widget color scheme, in which the toggle is added
Currently there are two ways available to get the battery updates in android.
The first method is to start a service, which gets notified when the battery changes. This method is preferable for running apps, like music player or games. But when you have a service running, the app is not cached by the system (inactive apps are automatically cached and paused by android to reduce resource consumption). And so the whole app is always sitting on your device RAM.
The second method is to periodically check for battery changes, using android inbuilt AlarmManager (its is different for the Alarm app).
This way the app can be cached when it is not being used. This method is used in the Power Toggle widget.
When an alarm is received, the app is brought to the RAM by the android system, the apps does the processing (like checking if the battery has changed, and accordingly update the widgets), and then after a few seconds of inactivity is cached back to the background.
This is also what happens when the user clicks on a toggle in the widget. Most of the time, the widget is in cached (paused and inactive) state. On clicking a toggle, the system brings the widget to RAM, notifies the widget of the click (and the widget processing follows accordingly), and after a few seconds sends it back to cache.
One more benefit of using the second method is that alarms can automatically be disabled when the device is on standby, and so the there is no polling in standby mode.
The second method is prefered for apps, which donŐt generally do much processing all the time like widgets.
If you do not know what does 'root' mean in the context of android, this section is not for you
If your device is rooted, you can have 1-click GPS and NFC toggle. The app needs to be installed as an system app for this feature.
To move it to system app use any available program like /system/app mover or Titanium Backup or any similar program.
If you have installed the app as a system app and still want those shortcuts, use Other shoutcuts > Settings.