* Use $( rather than ` * Use spaces consistently * Quote all parameter expansions * Use a parameter expansion rather than sed * Use printf instead of echo echo with arguments is not well defined by POSIX. Additionally if the variable starts with -, the results are further undefined. Use printf to avoid all issues. * Add screen brightness controls * drop all dbus/xauth nonsense (by Piraty) Closes: #25909 [via git-merge-pr]
95 lines
2.7 KiB
Bash
95 lines
2.7 KiB
Bash
#!/bin/sh
|
|
# Default acpi script that takes an entry for all actions
|
|
|
|
# NOTE: This is a 2.6-centric script. If you use 2.4.x, you'll have to
|
|
# modify it to not use /sys
|
|
|
|
# $1 should be + or - to step up or down the brightness.
|
|
step_backlight() {
|
|
for backlight in /sys/class/backlight/*/; do
|
|
[ -d "$backlight" ] || continue
|
|
step=$(( $(cat "$backlight/max_brightness") / 20 ))
|
|
printf '%s' "$(( $(cat "$backlight/brightness") $1 step ))" >"$backlight/brightness"
|
|
done
|
|
}
|
|
|
|
minspeed=$(cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq)
|
|
maxspeed=$(cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq)
|
|
setspeed="/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed"
|
|
|
|
|
|
case "$1" in
|
|
button/power)
|
|
case "$2" in
|
|
PBTN|PWRF)
|
|
logger "PowerButton pressed: $2, shutting down..."
|
|
shutdown -P now
|
|
;;
|
|
*) logger "ACPI action undefined: $2" ;;
|
|
esac
|
|
;;
|
|
button/sleep)
|
|
case "$2" in
|
|
SBTN|SLPB)
|
|
# suspend-to-ram
|
|
logger "Sleep Button pressed: $2, suspending..."
|
|
zzz
|
|
;;
|
|
*) logger "ACPI action undefined: $2" ;;
|
|
esac
|
|
;;
|
|
ac_adapter)
|
|
case "$2" in
|
|
AC|ACAD|ADP0)
|
|
case "$4" in
|
|
00000000)
|
|
printf '%s' "$minspeed" >"$setspeed"
|
|
#/etc/laptop-mode/laptop-mode start
|
|
;;
|
|
00000001)
|
|
printf '%s' "$maxspeed" >"$setspeed"
|
|
#/etc/laptop-mode/laptop-mode stop
|
|
;;
|
|
esac
|
|
;;
|
|
*) logger "ACPI action undefined: $2" ;;
|
|
esac
|
|
;;
|
|
battery)
|
|
case "$2" in
|
|
BAT0)
|
|
case "$4" in
|
|
00000000) #echo "offline" >/dev/tty5
|
|
;;
|
|
00000001) #echo "online" >/dev/tty5
|
|
;;
|
|
esac
|
|
;;
|
|
CPU0)
|
|
;;
|
|
*) logger "ACPI action undefined: $2" ;;
|
|
esac
|
|
;;
|
|
button/lid)
|
|
case "$3" in
|
|
close)
|
|
# suspend-to-ram
|
|
logger "LID closed, suspending..."
|
|
zzz
|
|
;;
|
|
open)
|
|
logger "LID opened"
|
|
;;
|
|
*) logger "ACPI action undefined (LID): $2";;
|
|
esac
|
|
;;
|
|
video/brightnessdown)
|
|
step_backlight -
|
|
;;
|
|
video/brightnessup)
|
|
step_backlight +
|
|
;;
|
|
*)
|
|
logger "ACPI group/action undefined: $1 / $2"
|
|
;;
|
|
esac
|