Before learning these things I was feeling excited about Apple's re-committing to the Mac around that time, but man these things made it feel like such "commitment" was just surface level - such low-hanging fruit not being handled is a shame. But, this is a rant for another day.
Anyway, I built my own very simple utility to poll the internal display for its brightness and write that same brightness to the LG via DDC, but never had the time/energy to make it more robust for publishing to the web. I have yet to try Lunar but I definitely will; much appreciated.
Can you elaborate on why you think that is? I’ve owned that monitor, and it seemed equally easy on both.
Hope that made sense! Thanks for the software!!! :)
So what does this do:
Lunar allows you to change the hardware brightness and contrast of the monitor (the one that can be controlled with the hardware buttons on the monitor)
If you simply want to turn down the brightness from time to time, you can set Lunar in Manual mode and use the brightness keys on your keyboard to adjust the monitor brightness.
Where Lunar shines is with a MacBook or iMac where there is an ambient light sensor integrated in the device that adapts the builtin display brightness. In Sync mode Lunar can sync that already adapted brightness to your external monitor so you don't have to worry about the brightness throughout the day.
There's also a Location mode if you want the brightness to adjust automatically based on the sun position in your location.
All this can be controlled through hotkeys which are visible in both the menu bar icon menu and the Hotkeys configuration page reachable by pressing the left arrow key 2 times in the Lunar UI.
AFAIK there is no events for brightness change so this is why polling for main monitor brightness?
What are you using for analytics at "https://log.lunar.fyi?
I have been using [1] before, your app seems much more slick
Yes, there are no brightness change events, but reading the brightness is very fast so polling adds very little overhead.
For analytics I've just been using a plain nginx route that logs the request body to a static file, and I parse that using loki for further visualization in Grafana. I haven't found much value in that info though so I've decommissioned it after I migrated from nginx to Caddy. I'll remove the analytics request in the next update.
Your app has been a godsend for my multimonitor setup, Macbook in clamshell mode. I tried a bunch of tools, but eventually gave up frustrated after crashes.
Love Lunar since I discovered it, it’s been working smooth from day one.
I will disable the request completely in the next update, but if you want to know what's sent or even disable it completely you can take a look at the source code of the sendAnalytics function in AppDelegate.swift: https://github.com/alin23/Lunar
Thanks for making this! Having keys to adjust the brightness is such a blessing for my workflow.
I use it with 2 disparate non-thunderbolt monitors, one connected into its built-in dock, and the other to a dock dongle. Works perfectly fine!