Revert "Debounce brightness key bursts"

This reverts commit 324505bf08.
This commit is contained in:
jan
2026-04-25 14:22:27 +02:00
parent 324505bf08
commit a84963e7a0
6 changed files with 10 additions and 102 deletions

View File

@@ -7,4 +7,8 @@ if [[ -f "$CONFIG" ]]; then
source "$CONFIG"
fi
"$HOME/.local/bin/brightness-step" down
BACKLIGHT_DEVICE="${BRIGHTNESS_BACKLIGHT_DEVICE:-intel_backlight}"
STEP="${BRIGHTNESS_STEP:-10}"
brightnessctl -q -d "$BACKLIGHT_DEVICE" set "${STEP}%-"
"$HOME/.local/bin/brightness-osd" || true

View File

@@ -1,92 +0,0 @@
#!/usr/bin/env bash
set -euo pipefail
CONFIG="${BRIGHTNESS_AUTOMATION_CONFIG:-$HOME/.config/brightness-automation/env}"
if [[ -f "$CONFIG" ]]; then
# shellcheck disable=SC1090
source "$CONFIG"
fi
BACKLIGHT_DEVICE="${BRIGHTNESS_BACKLIGHT_DEVICE:-intel_backlight}"
BACKLIGHT_PATH="${BRIGHTNESS_SYNC_BACKLIGHT:-/sys/class/backlight/${BACKLIGHT_DEVICE}}"
STEP="${BRIGHTNESS_STEP:-10}"
DEBOUNCE_MS="${BRIGHTNESS_APPLY_DEBOUNCE_MS:-180}"
STATE_DIR="${XDG_RUNTIME_DIR:-/tmp}/brightness-automation"
STATE_FILE="$STATE_DIR/target-percent"
STAMP_FILE="$STATE_DIR/target-stamp"
LOCK_FILE="$STATE_DIR/lock"
mkdir -p "$STATE_DIR"
read_current_percent() {
local current max
current="$(<"${BACKLIGHT_PATH}/brightness")"
max="$(<"${BACKLIGHT_PATH}/max_brightness")"
printf '%s\n' "$(( (current * 100 + max / 2) / max ))"
}
clamp_percent() {
local value="$1"
if (( value < 1 )); then
value=1
elif (( value > 100 )); then
value=100
fi
printf '%s\n' "$value"
}
now_ms() {
date +%s%3N
}
apply_after_quiet_period() {
while true; do
sleep "$(awk "BEGIN { printf \"%.3f\", ${DEBOUNCE_MS} / 1000 }")"
local now stamp age target
now="$(now_ms)"
stamp="$(<"$STAMP_FILE")"
age="$(( now - stamp ))"
if (( age >= DEBOUNCE_MS )); then
target="$(<"$STATE_FILE")"
brightnessctl -q -d "$BACKLIGHT_DEVICE" set "${target}%"
exit 0
fi
done
}
if [[ "${1:-}" == "--apply-worker" ]]; then
apply_after_quiet_period
fi
if [[ "$#" -ne 1 || ! "$1" =~ ^(up|down)$ ]]; then
echo "Usage: $(basename "$0") up|down" >&2
exit 2
fi
(
flock 9
current="$(read_current_percent)"
if [[ -f "$STATE_FILE" ]]; then
base="$(<"$STATE_FILE")"
else
base="$current"
fi
case "$1" in
up) target="$(( base + STEP ))" ;;
down) target="$(( base - STEP ))" ;;
esac
target="$(clamp_percent "$target")"
printf '%s\n' "$target" >"$STATE_FILE"
now_ms >"$STAMP_FILE"
"$HOME/.local/bin/brightness-osd" "$target" || true
) 9>"$LOCK_FILE"
if ! pgrep -f "$HOME/.local/bin/brightness-step --apply-worker" >/dev/null 2>&1; then
nohup "$HOME/.local/bin/brightness-step" --apply-worker >/dev/null 2>&1 &
fi

View File

@@ -7,4 +7,8 @@ if [[ -f "$CONFIG" ]]; then
source "$CONFIG"
fi
"$HOME/.local/bin/brightness-step" up
BACKLIGHT_DEVICE="${BRIGHTNESS_BACKLIGHT_DEVICE:-intel_backlight}"
STEP="${BRIGHTNESS_STEP:-10}"
brightnessctl -q -d "$BACKLIGHT_DEVICE" set "+${STEP}%"
"$HOME/.local/bin/brightness-osd" || true