From a9d2623851da79337976697b57835998be6f9d93 Mon Sep 17 00:00:00 2001 From: steel99xl Date: Sun, 24 Dec 2023 14:39:29 -0500 Subject: [PATCH] Minor cleanup --- AutomaticBrightness.service | 8 -- README.md | 1 + autobrightness.sh | 169 ------------------------------------ 3 files changed, 1 insertion(+), 177 deletions(-) delete mode 100644 AutomaticBrightness.service delete mode 100644 autobrightness.sh diff --git a/AutomaticBrightness.service b/AutomaticBrightness.service deleted file mode 100644 index cbdde28..0000000 --- a/AutomaticBrightness.service +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Mac like automatic brightness service - -[Service] -ExecStart=/path/to/AutomaticBrightness.sh - -[Install] -WantedBy=default.target diff --git a/README.md b/README.md index 80c8c16..7d81699 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Mac-like-automatic-brightness A simple script to provide a "Mac" like automatic brightness adjustemnt/ animation. ## Now as a system service +Run ```setup.sh``` to make it a service made for the FrameWork laptop diff --git a/autobrightness.sh b/autobrightness.sh deleted file mode 100644 index 4c64893..0000000 --- a/autobrightness.sh +++ /dev/null @@ -1,169 +0,0 @@ -#!/bin/bash -# Slight Alteration of AutomaticBrighness.sh (could be a dell specific fork) - -#variables to run - -#decrease cpu usage -Priority=19 # CPU limit, adjust as needed - -# How much light change must be seen by the sensor before it will act -LightChange=10 - -# How often it checks the sensor -SensorDelay=1 - -# Scale sensor to display brightness range -SensorToDisplayScale=20 - -# This should match your refresh rate otherwise it will either change the backlight more times than needed or too few for a smooth animation -LevelSteps=60 - -# The is should match the LevelSteps but in the actual time each event should take to see -AnimationDelay=0.016 - -# Read the variable names -MaxScreenBrightness=937 -MinimumBrightness=1 - -#minimum illuminance to get minimum brightness - -MinimimumIlluminance=0 - -# 2 : Default | 1 : Add Offset | 0 : Subtract Offset, Recommended not to change -op=2 - -#place where you get the brightness of the monitor being controled and the sensor of brightness -MonitorBrightness=/sys/class/backlight/intel_backlight/brightness - -#my sensor keep changing places, this way it will always be found with * if you have lots of sensors - -AnbientSensorIlluminance=`echo "$(set -- $(realpath /sys/bus/iio/devices/iio:*/in_illuminance_raw); echo "$1")"` - - -while getopts i:d: flag; do - case "${flag}" in - i) op=1 - num=${OPTARG};; - d) op=0 - num=${OPTARG};; - esac -done - -if [[ -f /tmp/AB.offset ]]; then - OffSet=$(cat /tmp/AB.offset) -else - OffSet=0 - echo $OffSet > /tmp/AB.offset - chmod 666 /tmp/AB.offset -fi - -OffSet=$((OffSet < 0 ? 0 : OffSet)) - -if [[ $op -lt 2 ]]; then - if [[ $op -eq 1 ]]; then - OffSet=$((OffSet + num)) - else - OffSet=$((OffSet - num)) - fi - - OffSet=$((OffSet < 0 ? 0 : OffSet)) - echo $OffSet > /tmp/AB.offset - chmod 666 /tmp/AB.offset - exit -fi - - -# Set the priority of the current script and says it is running -renice "$Priority" "$$" -touch '/tmp/AB.running' - - -OldLight=$(cat $AnbientSensorIlluminance) - -until [ -f /tmp/AB.kill ]; do - if [[ -f /tmp/AB.stop ]]; then - rm '/tmp/AB.stop' - rm '/tmp/AB.running' - - until [[ -f /tmp/AB.start ]]; do - sleep 10 - done - - rm '/tmp/AB.start' - touch '/tmp/AB.running' - else - if [[ -f /tmp/AB.offset ]]; then - OffSet=$(cat /tmp/AB.offset) - else - OffSet=0 - echo $OffSet > /tmp/AB.offset - chmod 666 /tmp/AB.offset - fi - - Light=$(cat $AnbientSensorIlluminance) - RealLight=$(cat $AnbientSensorIlluminance) - Light=$((Light + OffSet)) - RealLight=$((RealLight + OffSet)) - - if [[ $Light -lt $LightChange ]]; then - MaxOld=$((OldLight + LightChange)) - MinOld=$((OldLight - LightChange)) - else - MaxOld=$((OldLight + OldLight/LightChange)) - MinOld=$((OldLight - OldLight/LightChange)) - fi - - if [[ $Light -gt $MaxOld ]] || [[ $Light -lt $MinOld ]]; then - CurrentBrightness=$(cat $MonitorBrightness) - Light=$(( $Light + $MinimumBrightness )) - TempLight=$(($Light * $SensorToDisplayScale)) - - if [[ $TempLight -gt $MaxScreenBrightness ]]; then - NewLight=$MaxScreenBrightness - LimitMaxIlluminanceReached=1 - elif [[ $RealLight -le $MinimimumIlluminance ]]; then - NewLight=$MinimumBrightness - LimitMinIlluminanceReached=1 - else - NewLight=$TempLight - fi - - DiffCount=$(( ($NewLight - $CurrentBrightness)/$LevelSteps )) - - for i in $(eval echo {1..$LevelSteps}); do - NewLight=$(( $DiffCount )) - - if [[ $NewLight -lt 0 ]]; then - NewLight=$( echo "$NewLight" | awk -F "-" {'print$2'}) - NewLight=$(echo $NewLight-) - else - NewLight=$(echo +$NewLight) - fi - - if [[ $i -eq $LevelSteps ]]; then - brightnessctl -q s $NewLight - - if [[ $LimitMaxIlluminanceReached -eq 1 ]]; then - NewLight=$MaxScreenBrightness - LimitMaxIlluminanceReached=0 - fi - - if [[ $LimitMinIlluminanceReached -eq 1 ]]; then - NewLight=$MinimumBrightness - LimitMinIlluminanceReached=0 - fi - fi - - brightnessctl -q s $NewLight - sleep $AnimationDelay - done - - OldLight=$Light - fi - - sleep $SensorDelay - fi -done - -rm '/tmp/AB.running' -rm '/tmp/AB.kill'