Add idle-dimmer
This commit is contained in:
parent
49afde275e
commit
73bed5ab4c
1 changed files with 33 additions and 0 deletions
33
idle-dimmer
Executable file
33
idle-dimmer
Executable file
|
|
@ -0,0 +1,33 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Slowly dim the display when idle, reverting brightness when resuming.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
if (( $# > 0 )); then
|
||||
if [[ $1 == 'kill' ]]; then
|
||||
pkill idle-dimmer || true
|
||||
exit
|
||||
fi
|
||||
|
||||
exit 1
|
||||
fi
|
||||
|
||||
declare -i initial_value
|
||||
initial_value=$(brightnessctl get)
|
||||
|
||||
function revert() {
|
||||
echo revert
|
||||
brightnessctl set "${initial_value}"
|
||||
}
|
||||
|
||||
trap revert EXIT
|
||||
|
||||
declare -i sleep_interval_ms=$(( (100 - initial_value) * 1000 / 30 ))
|
||||
# shellcheck disable=SC2155
|
||||
declare -r sleep_interval=$(bc <<< "scale=2; $sleep_interval_ms / 1000" )
|
||||
declare -i value=$initial_value
|
||||
while (( --value >= 0 )); do
|
||||
brightnessctl set "${value}"
|
||||
sleep "${sleep_interval}"
|
||||
done
|
||||
Loading…
Add table
Add a link
Reference in a new issue