--- common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh 2006-08-04 14:44:24.000000000 -0400 +++ common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh 2006-08-04 14:51:10.000000000 -0400 @@ -5,9 +5,9 @@ # getXuser() { - user=`finger| grep -m1 ":$displaynum " | awk '{print $1}'` + user=`who| grep -m1 ":$displaynum " | awk '{print $1}'` if [ x"$user" = x"" ]; then - user=`finger| grep -m1 ":$displaynum" | awk '{print $1}'` + user=`who| grep -m1 ":$displaynum" | awk '{print $1}'` fi if [ x"$user" != x"" ]; then userhome=`getent passwd $user | cut -d: -f6` @@ -17,46 +17,49 @@ fi } +aticonfig='/opt/ati/bin/aticonfig' +performance_state=`$aticonfig --lsp | grep 'performance mode' | cut -c 3` +low_voltage_state=`$aticonfig --lsp | grep 'low voltage' | cut -c 3` grep -q closed /proc/acpi/button/lid/*/state if [ $? = 0 ]; then lid_closed=1 - echo "Lid Closed" + logger "Lid Closed" else lid_closed=0 - echo "Lid Open" + logger "Lid Open" fi grep -q off-line /proc/acpi/ac_adapter/*/state if [ $? = 0 ]; then - echo "On DC" + logger "On DC" on_dc=1 else - echo "On AC" + logger "On AC" on_dc=0 fi if [ ${lid_closed} -eq 1 -o ${on_dc} -eq 1 ]; then - echo "Low power" + logger "Low power" for x in /tmp/.X11-unix/*; do displaynum=`echo $x | sed s#/tmp/.X11-unix/X##` getXuser; if [ x"$XAUTHORITY" != x"" ]; then export DISPLAY=":$displaynum" - su $user -c "/usr/X11R6/bin/aticonfig --set-powerstate=1 --effective=now" + su $user -c "$aticonfig --set-powerstate=$low_voltage_state --effective=now" fi done else - echo "high power" + logger "High power" for x in /tmp/.X11-unix/*; do displaynum=`echo $x | sed s#/tmp/.X11-unix/X##` getXuser; if [ x"$XAUTHORITY" != x"" ]; then export DISPLAY=":$displaynum" - su $user -c "/usr/X11R6/bin/aticonfig --set-powerstate=3 --effective=now" + su $user -c "$aticonfig --set-powerstate=$performance_state --effective=now" fi done fi