Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AniMe Matrix: Automatically match screen brightness #1733

Closed
KelseyHigham opened this issue Dec 13, 2023 · 8 comments
Closed

AniMe Matrix: Automatically match screen brightness #1733

KelseyHigham opened this issue Dec 13, 2023 · 8 comments

Comments

@KelseyHigham
Copy link

Is your feature request related to a problem? Please describe.
I'd like to set-and-forget a still image or gif on the AniMe Matrix. But generally I need to turn up the brightness during the day to see the image, and dim it at night so it's not overwhelmingly bright. I wish the Matrix would automatically match my screen brightness, like the backlit logo on a MacBook.

Describe the solution you'd like
I'd like the AniMe Matrix to match my screen's brightness. So 0% screen brightness would cause 10% Matrix Contrast, and 100% screen brightness would cause 100% Matrix Contrast. This would be a nice addition to the brightness dropdown, something like [Off, Dim, Medium, Bright, Auto]

Describe alternatives you've considered
Alternative triggers, other than screen brightness:

  • keyboard brightness (this doesn't work for a few different reasons)
  • the brightness of what's displayed on the screen (this sounds CPU- or GPU-intensive)
  • a manually set schedule
  • sunrise/sunset times
  • the light sensor that determines automatic screen brightness
  • keyboard hotkeys, similar to the screen brightness and keyboard brightness hotkeys

Alternative brightness equation:
I did some measurements of the G14 screen, the Matrix, a MacBook screen, and the MacBook's glowing logo, to figure out if a nonlinear brightness curve would be required. It would help a tiny bit, and it would take some more brightness measurements and some math. I can do that if desired. But a linear curve would be fine, and easier to implement.

Additional context
Thank you for the Contrast slider, it's made the Matrix a lot more fun to play with :)

@seerge seerge added the out-of-scope too much for current app label Dec 13, 2023
@seerge
Copy link
Owner

seerge commented Dec 13, 2023

@KelseyHigham hello, this is way more difficult to do than it sounds.

  1. It's almost impossible to get notified by windows when brightness changes, and querying it all the time will consume a lot of resources

  2. Matrix has other modes (including hardware ones), that simply don't have contrast slider, so they can't be affected.

So I'm sorry, but this is super narrow usecase, and in my opinion it's too much. Whole purpose of the app is to be lightweight and simple.

@seerge seerge closed this as not planned Won't fix, can't repro, duplicate, stale Dec 13, 2023
@KelseyHigham
Copy link
Author

I understand wanting to avoid complication in the codebase, and if that's your opinion then I respect it.

  1. I feel like querying at 1 Hz would be sufficient - does that use an excess of resources?

  2. I can do some measurements to figure out where the hardware brightness modes line up with the contrast slider, so the logic would look something like this, but with more accurate numbers:

screen brightness 0-50:   hardware Dim mode,    contrast 10-100
screen brightness 50-75:  hardware Medium mode, contrast 50-100
screen brightness 75-100: hardware Bright mode, contrast 75-100

this way this feature would be useful to people who don't use the Picture mode.

@KelseyHigham
Copy link
Author

I understand that most people don't use the AniMe Matrix - people who have it generally turn it off - but for people who do want to keep it on all the time, I think this would be a more useful default than Bright.

@seerge
Copy link
Owner

seerge commented Dec 15, 2023

@KelseyHigham

I feel like querying at 1 Hz would be sufficient - does that use an excess of resources?

That's huge amount of resources (querying WMI for brightness every time) for such a small and extremely exotic feature

I can add Shift+F7/F8 to control Matrix brightness (same as it happens for sceen or backlight), will that suit you ?

@KelseyHigham
Copy link
Author

oh i'd love that!

@KelseyHigham
Copy link
Author

especially if that could control both hardware brightness mode and contrast as described above #1733 (comment)

but controlling one or the other would still be helpful

@seerge
Copy link
Owner

seerge commented Dec 16, 2023

@KelseyHigham try this build
GHelper.zip

@seerge seerge reopened this Dec 16, 2023
@seerge seerge removed the out-of-scope too much for current app label Dec 16, 2023
@seerge seerge closed this as completed Dec 16, 2023
@KelseyHigham
Copy link
Author

thank you! this is a big help

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants