[GH-ISSUE #188] Default values in the menu sliders on the first run and #141

Closed
opened 2026-05-05 05:14:41 -06:00 by gitea-mirror · 11 comments
Owner

Originally created by @singalen on GitHub (Mar 14, 2020).
Original GitHub issue: https://github.com/MonitorControl/MonitorControl/issues/188

Originally assigned to: @waydabber on GitHub.

First, thank you! It was a gaping hole in MacOS, thank you for making our lives better!

When I first run MC, all the sliders in the menu defaulted to 0 (leftmost position). The monitor volume, brightness and contrast definitely were not at 0.

I'd love to a) initially see what were the values in the beginning, and b) be able to reset back to monitor defaults (if such a thing as monitor defaults exists).

I'm not a color profile specialist, so I don't know what are the optimal settings for the monitor.

Originally created by @singalen on GitHub (Mar 14, 2020). Original GitHub issue: https://github.com/MonitorControl/MonitorControl/issues/188 Originally assigned to: @waydabber on GitHub. First, thank you! It was a gaping hole in MacOS, thank you for making our lives better! When I first run MC, all the sliders in the menu defaulted to 0 (leftmost position). The monitor volume, brightness and contrast definitely were not at 0. I'd love to a) initially see what were the values in the beginning, and b) be able to reset back to monitor defaults (if such a thing as monitor defaults exists). I'm not a color profile specialist, so I don't know what are the optimal settings for the monitor.
gitea-mirror 2026-05-05 05:14:41 -06:00
Author
Owner

@kumowoon1025 commented on GitHub (Mar 20, 2020):

Do you mean when you launched the app, it actually set the brightness and contrast to its minimum setting on your monitor, or just the UI?

For finding initial values you might have to change the settings if not supported (increase brightness +1, then back -1 etc.)

Monitor "default" settings definitely are a thing, but what those defaults are, and in turn the usefulness of those settings, vary.

Consumer displays often have the "Reset Picture Settings" option in their OSD that blows away any adjustments you made to the factory defaults. Decent panels are calibrated at least to some level at the factory, and the result normalized so the default values are consistent between units (i.e. all units have default "50" for contrast slider, not 48 or 52 depending on calibration.) Less commonly, the calibrated values themselves are programmed in as the defaults. Whether the reset command can be issued inband depends on the display.

If you have a "monitor" monitor, the defaults would be the détente on the knobs I guess? But those have no other meaning than the mid-range value, and their behavior is a bit different as far as connection goes, I've never tried using the DisplayPort input to control brightness, but I'd assume it'd be ignored. They're controlled by proprietary protocols in channels such as ethernet or RS485, that would be a completely new app if someone was to implement a software solution.

<!-- gh-comment-id:601587378 --> @kumowoon1025 commented on GitHub (Mar 20, 2020): Do you mean when you launched the app, it actually set the brightness and contrast to its minimum setting on your monitor, or just the UI? For finding initial values you might have to change the settings if not supported (increase brightness +1, then back -1 etc.) Monitor "default" settings definitely are a thing, but what those defaults are, and in turn the usefulness of those settings, vary. Consumer displays often have the "Reset Picture Settings" option in their OSD that blows away any adjustments you made to the factory defaults. Decent panels are calibrated at least to some level at the factory, and the result normalized so the default values are consistent between units (i.e. all units have default "50" for contrast slider, not 48 or 52 depending on calibration.) Less commonly, the calibrated values themselves are programmed in as the defaults. Whether the reset command can be issued inband depends on the display. If you have a "monitor" monitor, the defaults would be the détente on the knobs I guess? But those have no other meaning than the mid-range value, and their behavior is a bit different as far as connection goes, I've never tried using the DisplayPort input to control brightness, but I'd assume it'd be ignored. They're controlled by proprietary protocols in channels such as ethernet or RS485, that would be a completely new app if someone was to implement a software solution.
Author
Owner

@singalen commented on GitHub (Mar 23, 2020):

I mean just the UI.

I'm not asking as much as resetting to a factory settings or reading them. That would be too complicated. But, if the monitor responds to a respective CEC command, to position the settings' knobs to the amount they were set to before the app was launched. If it doesn't, maybe 50% would be a more reasonable default for brightness and contrast than 0.

And yes, I can control the brightness and contrast of my USB-C monitor with MonitorControl.

<!-- gh-comment-id:602755669 --> @singalen commented on GitHub (Mar 23, 2020): I mean just the UI. I'm not asking as much as resetting to a factory settings or reading them. That would be too complicated. But, if the monitor responds to a respective CEC command, to position the settings' knobs to the amount they were set to before the app was launched. If it doesn't, maybe 50% would be a more reasonable default for brightness and contrast than 0. And yes, I can control the brightness and contrast of my USB-C monitor with MonitorControl.
Author
Owner

@kumowoon1025 commented on GitHub (Mar 23, 2020):

That sounds like a pretty annoying bug though, I was asking if I understand correctly, so if MonitorControl is ever relaunched, your screen turns black?

<!-- gh-comment-id:602873189 --> @kumowoon1025 commented on GitHub (Mar 23, 2020): That sounds like a pretty annoying bug though, I was asking if I understand correctly, so if MonitorControl is ever relaunched, your screen turns black?
Author
Owner

@singalen commented on GitHub (Mar 23, 2020):

Nope, it's just the sliders in the UI that default to 0.
I suggest defaulting them to a current setting, or to 50% (except for the volume).

But when I start dragging the brightness/contrast after the first launch (when they were at 0), the screen is naturally getting quite dark, close to 0.

<!-- gh-comment-id:602891961 --> @singalen commented on GitHub (Mar 23, 2020): Nope, it's just the sliders in the UI that default to 0. I suggest defaulting them to a current setting, or to 50% (except for the volume). But when I start dragging the brightness/contrast after the first launch (when they were at 0), the screen is naturally getting quite dark, close to 0.
Author
Owner

@kumowoon1025 commented on GitHub (Mar 24, 2020):

It should not be doing that in the first place though, which display do you have? USB-C is most likely alt mode DP and CEC is not involved.

<!-- gh-comment-id:603086896 --> @kumowoon1025 commented on GitHub (Mar 24, 2020): It should not be doing that in the first place though, which display do you have? USB-C is most likely alt mode DP and CEC is not involved.
Author
Owner

@singalen commented on GitHub (Mar 30, 2020):

USB-C, Dell U3818DW.

<!-- gh-comment-id:605811478 --> @singalen commented on GitHub (Mar 30, 2020): USB-C, Dell U3818DW.
Author
Owner

@JoniVR commented on GitHub (Apr 3, 2020):

MonitorControl should use the last known values for each display if it’s unable to read them from the display itself and then set slider values to those values, that’s the current solution, just not sure why it’s not working on your setup.

Could you perhaps run the app through Xcode and post the debug output?

<!-- gh-comment-id:608346181 --> @JoniVR commented on GitHub (Apr 3, 2020): MonitorControl should use the last known values for each display if it’s unable to read them from the display itself and then set slider values to those values, that’s the current solution, just not sure why it’s not working on your setup. Could you perhaps run the app through Xcode and post the debug output?
Author
Owner

@singalen commented on GitHub (Apr 3, 2020):

I can try it.

<!-- gh-comment-id:608675979 --> @singalen commented on GitHub (Apr 3, 2020): I can try it.
Author
Owner

@kumowoon1025 commented on GitHub (Apr 6, 2020):

@singalen What do your settings look like, btw (for MonitorControl)?

<!-- gh-comment-id:609825334 --> @kumowoon1025 commented on GitHub (Apr 6, 2020): @singalen What do your settings look like, btw (for MonitorControl)?
Author
Owner

@JoniVR commented on GitHub (Sep 19, 2020):

@singalen My best guess is that perhaps when reading your values through DDC, 0 is being returned instead of the actual values? This would also explain why the fallback to last known value isn't working.

You could try going to Settings > Advanced and setting Polling Mode to None. In that case it won't try to read your values and will use the last known values anyways.

<!-- gh-comment-id:695210806 --> @JoniVR commented on GitHub (Sep 19, 2020): @singalen My best guess is that perhaps when reading your values through DDC, 0 is being returned instead of the actual values? This would also explain why the fallback to last known value isn't working. You could try going to `Settings > Advanced` and setting `Polling Mode` to `None`. In that case it won't try to read your values and will use the last known values anyways.
Author
Owner

@waydabber commented on GitHub (Aug 21, 2021):

This issue should be resolved by setting Polling Mode to None. Since there was no response for a long time, I'll close this issue for now, but feel free to comment if this is still a problem and we'll reopen the issue! Thank you!

<!-- gh-comment-id:903137512 --> @waydabber commented on GitHub (Aug 21, 2021): This issue should be resolved by setting Polling Mode to None. Since there was no response for a long time, I'll close this issue for now, but feel free to comment if this is still a problem and we'll reopen the issue! Thank you!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/MonitorControl#141
No description provided.