Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.2
pm-utils
pm-utils-0.99.4-on_ac_power-no-dbus-fallback.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File pm-utils-0.99.4-on_ac_power-no-dbus-fallback.diff of Package pm-utils
Index: b/src/on_ac_power =================================================================== --- a/src/on_ac_power +++ b/src/on_ac_power @@ -29,19 +29,30 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # Check for AC/DC/etc adapters -ac_adapters=$(hal-find-by-capability --capability ac_adapter) +ac_adapters=$(hal-find-by-capability --capability ac_adapter 2>/dev/null) +error=$? -# If there are no AC adapters, it is most likely a desktop. -# Assume online, since we have no data. -[ -z "$ac_adapters" ] && exit 0 +if [ $error -eq 0 ]; then # dbus and HAL are there + # If there are no AC adapters, it is most likely a desktop. + # Assume online, since we have no data. + [ -z "$ac_adapters" ] && exit 0 -# If any of them are online, then we're done. -for device in $ac_adapters ; do - present=$(hal-get-property --udi $device --key ac_adapter.present) - [ "$present" == "true" ] && exit 0 -done + # If any of them are online, then we're done. + for device in $ac_adapters ; do + present=$(hal-get-property --udi $device --key ac_adapter.present) + [ "$present" == "true" ] && exit 0 + done +else # fall back to /sys/.../ac/... parsing... + ADAP=/sys/bus/acpi/drivers/ac/*/power_supply/*/online + for i in $ADAP; do + # no adapter -> assume online + [ $i = "/sys/bus/acpi/drivers/ac/*/power_supply/*/online" ] && exit 0 + read a < $i + [ $a = 1 ] && exit 0 + done +fi # If there are adapters, but none are online, we're not on AC. exit 1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor