I see that you're going through desktop image bitmap pixels to calculate luminosity. I wonder if it would be more efficient to downscale the image in graphics memory first. Then analyze tiny interpolated image instead of bringing the whole image to RAM every second.
This is really clever and honestly something I've thought about 1 million times when I'm cmd-tabbing between apps that have dark themes and other's that don't! Brilliant...
I don't understand it or it doesn't work for me.
I downloaded the pre-built binaries and put it in my application folder, I open it, it is up there in the menu bar... but I don't notice any difference.
I wanted to use it for watching tv shows while I am chatting or browsing, so it dim somehow the rest of the screen a bit, but it doesn't seem to dim anything really.
EDIT: Ok, I see, it works when I go out of full screen. Maybe in next updates you could add the option to adjust the amount of dim? :)