Lines 5-13
Link Here
|
5 |
# |
5 |
# |
6 |
|
6 |
|
7 |
getXuser() { |
7 |
getXuser() { |
8 |
user=`finger| grep -m1 ":$displaynum " | awk '{print $1}'` |
8 |
user=`who| grep -m1 ":$displaynum " | awk '{print $1}'` |
9 |
if [ x"$user" = x"" ]; then |
9 |
if [ x"$user" = x"" ]; then |
10 |
user=`finger| grep -m1 ":$displaynum" | awk '{print $1}'` |
10 |
user=`who| grep -m1 ":$displaynum" | awk '{print $1}'` |
11 |
fi |
11 |
fi |
12 |
if [ x"$user" != x"" ]; then |
12 |
if [ x"$user" != x"" ]; then |
13 |
userhome=`getent passwd $user | cut -d: -f6` |
13 |
userhome=`getent passwd $user | cut -d: -f6` |
Lines 17-62
Link Here
|
17 |
fi |
17 |
fi |
18 |
} |
18 |
} |
19 |
|
19 |
|
|
|
20 |
aticonfig='/opt/ati/bin/aticonfig' |
21 |
performance_state=`$aticonfig --lsp | grep 'performance mode' | cut -c 3` |
22 |
low_voltage_state=`$aticonfig --lsp | grep 'low voltage' | cut -c 3` |
20 |
|
23 |
|
21 |
grep -q closed /proc/acpi/button/lid/*/state |
24 |
grep -q closed /proc/acpi/button/lid/*/state |
22 |
if [ $? = 0 ]; then |
25 |
if [ $? = 0 ]; then |
23 |
lid_closed=1 |
26 |
lid_closed=1 |
24 |
echo "Lid Closed" |
27 |
logger "Lid Closed" |
25 |
else |
28 |
else |
26 |
lid_closed=0 |
29 |
lid_closed=0 |
27 |
echo "Lid Open" |
30 |
logger "Lid Open" |
28 |
fi |
31 |
fi |
29 |
|
32 |
|
30 |
grep -q off-line /proc/acpi/ac_adapter/*/state |
33 |
grep -q off-line /proc/acpi/ac_adapter/*/state |
31 |
|
34 |
|
32 |
if [ $? = 0 ]; then |
35 |
if [ $? = 0 ]; then |
33 |
echo "On DC" |
36 |
logger "On DC" |
34 |
on_dc=1 |
37 |
on_dc=1 |
35 |
else |
38 |
else |
36 |
echo "On AC" |
39 |
logger "On AC" |
37 |
on_dc=0 |
40 |
on_dc=0 |
38 |
fi |
41 |
fi |
39 |
|
42 |
|
40 |
|
43 |
|
41 |
|
44 |
|
42 |
if [ ${lid_closed} -eq 1 -o ${on_dc} -eq 1 ]; then |
45 |
if [ ${lid_closed} -eq 1 -o ${on_dc} -eq 1 ]; then |
43 |
echo "Low power" |
46 |
logger "Low power" |
44 |
for x in /tmp/.X11-unix/*; do |
47 |
for x in /tmp/.X11-unix/*; do |
45 |
displaynum=`echo $x | sed s#/tmp/.X11-unix/X##` |
48 |
displaynum=`echo $x | sed s#/tmp/.X11-unix/X##` |
46 |
getXuser; |
49 |
getXuser; |
47 |
if [ x"$XAUTHORITY" != x"" ]; then |
50 |
if [ x"$XAUTHORITY" != x"" ]; then |
48 |
export DISPLAY=":$displaynum" |
51 |
export DISPLAY=":$displaynum" |
49 |
su $user -c "/usr/X11R6/bin/aticonfig --set-powerstate=1 --effective=now" |
52 |
su $user -c "$aticonfig --set-powerstate=$low_voltage_state --effective=now" |
50 |
fi |
53 |
fi |
51 |
done |
54 |
done |
52 |
else |
55 |
else |
53 |
echo "high power" |
56 |
logger "High power" |
54 |
for x in /tmp/.X11-unix/*; do |
57 |
for x in /tmp/.X11-unix/*; do |
55 |
displaynum=`echo $x | sed s#/tmp/.X11-unix/X##` |
58 |
displaynum=`echo $x | sed s#/tmp/.X11-unix/X##` |
56 |
getXuser; |
59 |
getXuser; |
57 |
if [ x"$XAUTHORITY" != x"" ]; then |
60 |
if [ x"$XAUTHORITY" != x"" ]; then |
58 |
export DISPLAY=":$displaynum" |
61 |
export DISPLAY=":$displaynum" |
59 |
su $user -c "/usr/X11R6/bin/aticonfig --set-powerstate=3 --effective=now" |
62 |
su $user -c "$aticonfig --set-powerstate=$performance_state --effective=now" |
60 |
fi |
63 |
fi |
61 |
done |
64 |
done |
62 |
fi |
65 |
fi |