cd
mkdir scripts
touch scripts/bright
nano/leafpad/gedit bright
---------------------------------------------------------
#!/usr/bin/env bash
set -e
if [ "$#" -eq 0 ]; then
cat <<-eof p="">Usage: $0 [command]
Increase or decrease screen brightness at hardware level by steps of 10% of
max, as determined by the values under /sys/class/backlight/**. Limit values
to the range of 0 to max_brightness.
up | Increase brightness by 10%
down | Decrease brightness by 10%
current | Report current brightness
This script needs root access - sudo is an option, but you may also consider
allowing your user to run the script without a password prompt e.g.:
EOF
exit 1
fi
# Gather information
backlight_dir='/sys/class/backlight'
device_dir=$(ls "${backlight_dir}" | head -n 1)
if [ -z "$device_dir" ]; then
echo 'No backlight hardware is listed in /sys/class/backlight! Quitting.'
exit 1
fi
device_dir="${backlight_dir}/${device_dir}"
brightness_file="${device_dir}/brightness"
curr_brightness=$(cat "${brightness_file}")
max_brightness=$(cat "${device_dir}/max_brightness")
if [ "$1" == 'current' ]; then
echo $( echo "(${curr_brightness} / ${max_brightness}) * 100" | bc -l) \
| cut -d'.' -f 1
else
direction=$1
# Calculate
step=$(( $max_brightness / 10 ))
if [ $direction == 'up' ]; then
new_brightness=$(( $curr_brightness + $step ))
elif [ $direction == 'down' ]; then
new_brightness=$(( $curr_brightness - $step ))
else
echo 'Argument $1 must be either "up" or "down". Quitting.'
exit 1
fi
# Limit range
if [ "$new_brightness" -gt "$max_brightness" ]; then
new_brightness="$max_brightness"
fi
if [ "$new_brightness" -lt 0 ]; then
new_brightness=0
fi
# "Do it" - the emperor
echo $new_brightness > "${brightness_file}"
fi
----------------------------------------
changer owner of bright script to root to prevent misuse
cd scripts
sudo chown root bright
----------------------------------------
credits/source :
https://chrispeterson.info/linux-acpi-brightness-control-script/
mkdir scripts
touch scripts/bright
nano/leafpad/gedit bright
---------------------------------------------------------
#!/usr/bin/env bash
set -e
if [ "$#" -eq 0 ]; then
cat <<-eof p="">Usage: $0 [command]
Increase or decrease screen brightness at hardware level by steps of 10% of
max, as determined by the values under /sys/class/backlight/**. Limit values
to the range of 0 to max_brightness.
up | Increase brightness by 10%
down | Decrease brightness by 10%
current | Report current brightness
This script needs root access - sudo is an option, but you may also consider
allowing your user to run the script without a password prompt e.g.:
EOF
exit 1
fi
# Gather information
backlight_dir='/sys/class/backlight'
device_dir=$(ls "${backlight_dir}" | head -n 1)
if [ -z "$device_dir" ]; then
echo 'No backlight hardware is listed in /sys/class/backlight! Quitting.'
exit 1
fi
device_dir="${backlight_dir}/${device_dir}"
brightness_file="${device_dir}/brightness"
curr_brightness=$(cat "${brightness_file}")
max_brightness=$(cat "${device_dir}/max_brightness")
if [ "$1" == 'current' ]; then
echo $( echo "(${curr_brightness} / ${max_brightness}) * 100" | bc -l) \
| cut -d'.' -f 1
else
direction=$1
# Calculate
step=$(( $max_brightness / 10 ))
if [ $direction == 'up' ]; then
new_brightness=$(( $curr_brightness + $step ))
elif [ $direction == 'down' ]; then
new_brightness=$(( $curr_brightness - $step ))
else
echo 'Argument $1 must be either "up" or "down". Quitting.'
exit 1
fi
# Limit range
if [ "$new_brightness" -gt "$max_brightness" ]; then
new_brightness="$max_brightness"
fi
if [ "$new_brightness" -lt 0 ]; then
new_brightness=0
fi
# "Do it" - the emperor
echo $new_brightness > "${brightness_file}"
fi
--------------------------------------------------------------------------
#for no password prompt
sudo visudo
---------------------------------
Cmnd_Alias BRIGHT_CMDS=~/scripts/bright up, ~/scripts/bright down
user_name ALL=(root) NOPASSWD: BRIGHT_CMDS
-------------------------------------------------------------------------------------
on .config/i3/config
add
# Brightness controls
bindsym XF86MonBrightnessUp exec sudo ~/scripts/bright up; exec notify-send -t 1 "Brightness: $(~/scripts/bright current)%"
bindsym XF86MonBrightnessDown exec sudo ~/scripts/bright down; exec notify-send -t 1 "Brightness: $(~/scripts/bright current)%"
------------------------------------------------------------
for notification in i3 install dunst and autostart it using exec_always dunst
----------------------------------------
changer owner of bright script to root to prevent misuse
cd scripts
sudo chown root bright
----------------------------------------
credits/source :
https://chrispeterson.info/linux-acpi-brightness-control-script/
Comments
Post a Comment