From 5e83a094476f28eb77508c8b470efe3dfd56de83 Mon Sep 17 00:00:00 2001 From: Mohammad Reza Karimi Date: Fri, 9 Jan 2026 17:34:31 -0500 Subject: some big changes --- scripts/dot-local/bin/batctl | 61 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100755 scripts/dot-local/bin/batctl (limited to 'scripts/dot-local/bin/batctl') diff --git a/scripts/dot-local/bin/batctl b/scripts/dot-local/bin/batctl new file mode 100755 index 0000000..d6fcaa1 --- /dev/null +++ b/scripts/dot-local/bin/batctl @@ -0,0 +1,61 @@ +#!/usr/bin/env bash + +set -eo pipefail + +DEFAULT_START_THRESHOLD=75 +DEFAULT_STOP_THRESHOLD=85 + +BAT_DIR=/sys/class/power_supply/BAT0 +START_FILE="$BAT_DIR/charge_start_threshold" +STOP_FILE="$BAT_DIR/charge_stop_threshold" + +setcharge() +{ + start=$1 + stop=$2 + cur_start=$(cat "$START_FILE") + cur_stop=$(cat "$STOP_FILE") + + if ((cur_stop > stop)); then + echo "$start" | sudo tee "$START_FILE" >/dev/null + echo "$stop" | sudo tee "$STOP_FILE" >/dev/null + else + echo "$stop" | sudo tee "$STOP_FILE" >/dev/null + echo "$start" | sudo tee "$START_FILE" >/dev/null + fi + echo "Charging set:" + echo " start=$start" + echo " stop=$stop" +} + +cmd=$1 + +shift || true + +case "$cmd" in + show) + start=$(cat "$START_FILE") + stop=$(cat "$STOP_FILE") + echo "Current thresholds:" + echo " start=$start" + echo " stop=$stop" + ;; + + set) + start=${1:-$DEFAULT_START_THRESHOLD} + stop=${2:-$DEFAULT_STOP_THRESHOLD} + setcharge "$start" "$stop" + ;; + + fullcharge) + start=95 + stop=100 + echo "Fullcharge. Keep AC on!" + setcharge "$start" "$stop" + ;; + + *) + echo "Usage: $0 {show|set [start=$DEFAULT_START_THRESHOLD] [stop=$DEFAULT_STOP_THRESHOLD]|fullcharge}" >&2 + exit 1 + ;; +esac -- cgit v1.2.3-71-gdd5e