With Keyboard Maestro is there a way to retrieve the current screen brightness and store it in a variable and restore the brightness to this value later on?
I do know about the command line tool brightness
I could interface with, but of course a native way (not involving command line parsing) would be easier...
1 Like
I don't think there is a way to do that, which is why the command-line tool was created.
Even a quick look around did not find a way to do it in AppleScript.
I think brightness
is your best bet.
FWIW, if you just want the brightness level from the output of brightness
you can use this bit of shell scripting:
/usr/local/bin/brightness -l | /usr/bin/awk -F' ' '/brightness/{print $NF}'
Translated, that says: “Use the brightness -l
command, and then filter the results through awk
. Use the space character to determine "fields" (-F' '), then look for the word 'brightness' and show me that last 'word' ($NF
) on the line that has the word brightness
So if this is the usual output of brightness -l
:
display 0: main display, ID 0x4280e40
display 0: brightness 0.799805
Then the output of "the last 'word' of the line with the word 'brightness' in it" would be 0.799805
HTH.
Caveat: I don't have multiple monitors, so I can't test how it would work in that scenario.
1 Like
Thanks for looking into this. With multiple monitors the output of brightness -l
looks like this:
display 0: main, active, awake, online, external, ID 0x42c0141
display 0: brightness 0.146914
display 1: active, awake, online, built-in, ID 0x4280a80
display 1: brightness 0.186523
So, not much harder to parse when you stick to the first listed display.