diff options
Diffstat (limited to 'scripts/brightness.sh')
| -rwxr-xr-x | scripts/brightness.sh | 55 |
1 files changed, 41 insertions, 14 deletions
diff --git a/scripts/brightness.sh b/scripts/brightness.sh index 71432d6..b3051a1 100755 --- a/scripts/brightness.sh +++ b/scripts/brightness.sh @@ -1,22 +1,49 @@ -#!/bin/bash +#!/usr/bin/env bash -read_brightness() { xbacklight -get; } +max() { [[ "$1" -gt "$2" ]] && echo "$1" || echo "$2"; } +min() { [[ "$1" -lt "$2" ]] && echo "$1" || echo "$2"; } +between() { max "$2" $(min "$1" "$3"); } -get_brightness() { printf "%.0f%s" "$(read_brightness)" "%"; } +adapter_bctl() { + set_() { brightnessctl set "$@"; } + get() { brightnessctl get; } + max_b() { brightnessctl m; } + update() { + local curr=`brightnessctl get`; + local min=100; + local max=`max_b`; + set_ $(between $(echo "$curr $1" | bc) $min $max); + } -set_brightness() { xbacklight -set $1; } + local delta="1000"; + case "$1" in + get) echo "100 * `get` / `max_b`" | bc ;; + set) set_ $(echo "$2 * `max_b` / 100" | bc) ;; + inc) update "+ $delta" ;; + dec) update "- $delta" ;; + *) echo "invalid command" ;; + esac; +} -increment() { xbacklight -inc $1; } -decrement() { xbacklight -dec $1; } +adapter_xbacklight() { + read_brightness() { xbacklight -get; } -case $1 in - get) get_brightness ;; - set) set_brightness $2 ;; - inc) increment $2 ;; - dec) decrement $2 ;; - *) echo "For tools to work, you need to know how to use them" ;; -esac + get_brightness() { printf "%.0f%s" "$(read_brightness)" "%"; } -#~/scripts/statusbar/statusbar.sh update brightness; + set_brightness() { xbacklight -set $1; } + + increment() { xbacklight -inc $1; } + decrement() { xbacklight -dec $1; } + + case $1 in + get) get_brightness ;; + set) set_brightness $2 ;; + inc) increment $2 ;; + dec) decrement $2 ;; + *) echo "For tools to work, you need to know how to use them" ;; + esac +} + +adapter_bctl "$@"; update-dwmblock brightness; |
