#!/bin/sh # vim:noexpandtab # Simple powersave script # # Copyright 2006 Red Hat, Inc. # # Based on work from: # Bill Nottingham # Peter Jones # David Zeuthen # Richard Hughes # # This program is free software; you can redistribute it and/or modify # it under the terms of version 2 of the GNU General Public License as # published by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # export STASHNAME=pm-powersave . "@PM-UTILS-LIBDIR@/pm-functions" remove_powersave_lock() { release_lock "${STASHNAME}.lock" } # take the powersave lock. # ensure it gets released no matter how we exit. try_lock "${STASHNAME}.lock" || exit 1 trap remove_powersave_lock 0 mkdir -p "${STORAGEDIR}" rm -f "${INHIBIT}" load_hook_blacklist if [ "$1" = "true" -o "$1" = "false" ] ; then init_logfile "${PM_LOGFILE}" run_hooks power "$1" elif [ ! "$1" ]; then # no arg? Guess! init_logfile "${PM_LOGFILE}" if on_ac_power; then run_hooks power false; else run_hooks power true; fi else echo "Argument needs to be true or false" >&2 exit 1 fi