#!/bin/sh
#Copyright: 2026 Aitor <aitor@genuen.org>
#License: CC0-1.0
#Comment: oneshot; invoke with: sv once brightness-stop

exec 2>&1

ebegin() { [ "${VERBOSE:-}" = no ] || echo "$@"; }
eend() { r=${1:-0}; shift || true; [ "$r" -eq 0 ] || [ "${VERBOSE:-}" = no ] || echo "$*" >&2; return "$r"; }
einfo() { [ "${VERBOSE:-}" = no ] || echo "$@"; }
ewarn() { echo "$@" >&2; }
eerror() { echo "$@" >&2; }

readonly SAVEFILE_PREFIX=/var/lib/initscripts/brightness
. /lib/init/vars.sh

do_stop_one() {
	local label=$1 knob=$2 max=$3 file=$SAVEFILE_PREFIX${1:+.$1}
	test -e "$knob" || return 0
	test "$(cat $knob)" -eq 0 && return 0
	test x"$VERBOSE" = x"no" || ebegin "Saving $label brightness level"
	cat "$knob" >"$file"
	local rv=$?
	test x"$VERBOSE" = x"no" || eend $rv
	return $rv
}

rv=0
do_stop_one '' /sys/class/backlight/acpi_video0/brightness /sys/class/backlight/acpi_video0/max_brightness || rv=$?
do_stop_one intel /sys/class/backlight/intel_backlight/brightness /sys/class/backlight/intel_backlight/max_brightness || rv=$?
exit $rv
