diff options
-rw-r--r-- | .config/sxhkd/sxhkdrc | 2 | ||||
-rwxr-xr-x | .local/bin/bl | 72 |
2 files changed, 73 insertions, 1 deletions
diff --git a/.config/sxhkd/sxhkdrc b/.config/sxhkd/sxhkdrc index ba0ab40..aae73ee 100644 --- a/.config/sxhkd/sxhkdrc +++ b/.config/sxhkd/sxhkdrc @@ -25,7 +25,7 @@ XF86AudioMute vol toggle XF86MonBrightness{Up,Down} - xbacklight {+,-}5% + bl {inc,dec} # lock screen super + shift + s diff --git a/.local/bin/bl b/.local/bin/bl new file mode 100755 index 0000000..644fe2a --- /dev/null +++ b/.local/bin/bl @@ -0,0 +1,72 @@ +#!/bin/sh + +# This program is free software: you can redistribute it and/or modify it under +# the terms of the GNU Affero General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) any +# later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more +# details. + +main() +{ + # Handle opts + while getopts ":h" opt + do + case "$opt" in + h) usage && exit 0 ;; + *) + printf "Invalid option passed: %s\n" "$OPTARG" >&2 + ;; + esac + done + + shift $(( OPTIND - 1 )) + + [ $# -lt 1 ] && usage && exit 1 + + case "$1" in + inc) + xbacklight -inc ${2:-5} + notify="Brightness increased to $(brightness_level)%" + ;; + dec) + xbacklight -dec ${2:-5} + notify="Brightness lowered to $(brightness_level)%" + ;; + esac + + notify-send -n 57492 -s -t 4 -i "$(brightness_icon)" "Backlight" "$notify" +} + +brightness_level() +{ + xbacklight -get +} + +brightness_icon() +{ + [ $(brightness_level) -lt 10 ] && printf "notification-display-brightness-off" && return + [ $(brightness_level) -lt 35 ] && printf "notification-display-brightness-low" && return + [ $(brightness_level) -lt 70 ] && printf "notification-display-brightness-medium" && return + [ $(brightness_level) -lt 95 ] && printf "notification-display-brightness-high" && return + + printf "notification-display-brightness-full" +} + +usage() +{ + cat <<EOF +Usage: + ${0##*/} -h + +Nondescript + +Options: + -h Show this help text and exit. +EOF +} + +main "$@" |