Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --- ati-powermodes.sh.old 2011-12-05 15:17:11.000000000 +0400
- +++ /etc/acpi/ati-powermode.sh 2011-11-19 15:00:16.000000000 +0400
- @@ -1,65 +1,75 @@
- -#!/bin/sh
- +#!/bin/bash
- #
- # Control script for ACPI lid state and AC adapter state
- #
- -FGLRX_ACPI_SWITCH_POWERSTATES=false
- -
- -[ -f /etc/default/fglrx-driver ] && . /etc/default/fglrx-driver
- -
- -[ "${FGLRX_ACPI_SWITCH_POWERSTATES}" != true ] && exit 0
- -
- getXuser() {
- - user=`finger| grep -m1 ":$displaynum " | awk '{print $1}'`
- - if [ x"$user" = x"" ]; then
- - user=`finger| grep -m1 ":$displaynum" | awk '{print $1}'`
- - fi
- - if [ x"$user" != x"" ]; then
- - userhome=`getent passwd $user | cut -d: -f6`
- - export XAUTHORITY=$userhome/.Xauthority
- - else
- - export XAUTHORITY=""
- - fi
- + user=`finger| grep -m1 ":$displaynum " | awk '{print $1}'`
- + if [ x"$user" = x"" ]; then
- + user=`finger| grep -m1 ":$displaynum" | awk '{print $1}'`
- + fi
- + if [ x"$user" != x"" ]; then
- + userhome=`getent passwd $user | cut -d: -f6`
- + export XAUTHORITY=$userhome/.Xauthority
- + else
- + export XAUTHORITY=""
- + fi
- }
- -if grep -q closed /proc/acpi/button/lid/*/state; then
- - lid_closed=1
- +
- +grep -q closed /proc/acpi/button/lid/*/state
- +if [ $? = 0 ]; then
- + lid_closed=1
- + echo "Lid Closed"
- else
- - lid_closed=0
- + lid_closed=0
- + echo "Lid Open"
- fi
- -if grep -q off-line /proc/acpi/ac_adapter/*/state; then
- - on_dc=1
- +grep -q off-line /proc/acpi/ac_adapter/*/state
- +
- +if [ $? = 0 ]; then
- + echo "On DC"
- + on_dc=1
- else
- - on_dc=0
- + echo "On AC"
- + on_dc=0
- fi
- -if [ ${lid_closed} -eq 1 ] || [ ${on_dc} -eq 1 ]; then
- - echo "fglrx: setting 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"
- - powermode=`/usr/bin/aticonfig --lsp | grep -m1 low | cut -b 3-3`
- - if [ x"$powermode" != x"" ]; then
- - su $user -c "/usr/bin/aticonfig --set-powerstate=$powermode --effective=now" >/dev/null 2>&1
- - fi
- - fi
- - done
- +#Find the right XServer to be configured.
- +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"
- + fi
- +done
- +
- +#If PPLIB is enabled
- +su $user -c '/usr/bin/aticonfig --pplib-cmd="get version"' | grep PPLIB
- +if [ $? = 0 ]; then
- + echo "Has PPLIB"
- + has_pplib=1
- else
- - echo "fglrx: setting default powermode"
- - 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"
- - powermode=`/usr/bin/aticonfig --lsp | grep -m1 default | cut -b 3-3`
- - if [ x"$powermode" != x"" ]; then
- - su $user -c "/usr/bin/aticonfig --set-powerstate=$powermode --effective=now" >/dev/null 2>&1
- - fi
- - fi
- - done
- + echo "No PPLIB"
- + has_pplib=0
- fi
- +
- +
- +if [ ${lid_closed} -eq 1 -o ${on_dc} -eq 1 ]; then
- + echo "Low power"
- + if [ ${has_pplib} -eq 1 ]; then
- + su $user -c '/usr/bin/aticonfig --pplib-cmd="notify psrc dc"'
- + else
- + su $user -c "/usr/bin/aticonfig --set-powerstate=1 --effective=now"
- + fi
- +else
- + echo "high power"
- + if [ ${has_pplib} -eq 1 ]; then
- + su $user -c '/usr/bin/aticonfig --pplib-cmd="notify psrc ac"'
- + else
- + su $user -c "/usr/bin/aticonfig --set-powerstate=3 --effective=now"
- + fi
- +fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement