mrrl-logincaps

MRRL version of logincaps
git clone https://ccx.te2000.cz/git/mrrl-logincaps
Log | Files | Refs

commit 8a0ee06ba48c4dccd5d9705b44e0287727310110
parent c6dc5f11bd42edc9e0aa386ffe78b2a71e854f9f
Author: ccx <ccx@te2000.cz>
Date:   Fri,  7 Jun 2024 20:13:42 +0000

Add brightness login capability

Diffstat:
Asbin/login.capability.brightness | 34++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+), 0 deletions(-)

diff --git a/sbin/login.capability.brightness b/sbin/login.capability.brightness @@ -0,0 +1,34 @@ +#!/bin/zsh +setopt no_unset warn_create_global extended_glob + +typeset -g backlight /sys/class/backlight/amdgpu_bl0 + +adjust-brightness() { + awk >$backlight/brightness \ + -v adjustment=$1 \ + -v max=$(<$backlight/max_brightness) \ + -v current=$(<$backlight/brightness) \ + 'BEGIN { + if(match(adjustment, /^\+[0-9]+%$/)) { + adjustment = substr(adjustment, 2, RLENGTH - 2) + adjustment = current + adjustment * 0.01 * max + } else if(match(adjustment, /^-[0-9]+%$/)) { + adjustment = substr(adjustment, 2, RLENGTH - 2) + adjustment = current - adjustment * 0.01 * max + } else if(match(adjustment, /^[0-9]+%$/)) { + adjustment = substr(adjustment, 1, RLENGTH - 1) + adjustment = adjustment * 0.01 * max + } else if(match(adjustment, /^\+[0-9]+$/)) { + adjustment = substr(adjustment, 2) + adjustment = current + adjustment + } else if(match(adjustment, /^-[0-9]+$/)) { + adjustment = substr(adjustment, 2) + adjustment = current - adjustment + } + adjustment = adjustment < 0 ? 0 : ( adjustment > max ? max : adjustment ) + printf ("%d\n", adjustment) + }' +} + +adjust-brightness $1 +# vim: ft=zsh noet ts=4 sts=4 sw=4