Closed vietthedev closed 6 years ago
Do you mean that you want to use Redshift while keeping your gamma intact, or that you don't want to use Redshift at all?
Recently I added the switch to reset the gamma before applying the gamma calculated by Redshift, because otherwise the brightness adjustment didn't work properly (it added up causing really strange stuff). But I can make that switch optional.
If it's about not using Redshift at all, enable "Start disabled".
If you meant the first issue, please try https://github.com/ltGuillaume/Redshift-Tray/releases/tag/1.6.7 If you use the brightness adjustment (Alt+PgUp/PgDwn), it will still reset the gamma, though.
Hmm... Let me describe my issue more clearly, not sure if it's related to gamma, though.
I want to use Redshift while keeping my color calibration.
In 1.6.6 with Redshift disabled, it reset my calibration when launched and just did repeatedly after I clicked the reload calibration button.
In 1.6.7 which you just released, it resets the calibration when launched and doesn't do it again after I click the reload button. But a new problem arises, it resets the calibration after I toggle Redshift.
Strange, it shouldn't do so, according to how Redshift itself works. Can you find a solution for this on the Github page of Redshift itself? If so, I'd be happy to implement it in Redshift Tray.
Ah wait I get what's happening here, lemme check if I can fix it.
@S-a-l-a-d Ok, so basically this is not properly supported by Redshift itself, so I've found a workaround. This workaround has two downsides:
The latter is because it calls a default Windows task that recalibrates your gamma settings (just like the button in your screenshot) right before Redshift applies its own changes. If you don't have an English Windows installation, please tell me if you can find the task Microsoft\Windows\WindowsColorSystem\Calibration Loader
in the Scheduled Tasks, or the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\WindowsColorSystem\Calibration Loader
.
rstray_calibrationtest2.zip
(Small update, now rstray_calibrationtest2
.zip)
It only works with the enabled state but not with others. Redshift Tray doesn't have to be run as Administrator here.
But hey, now I know why this happens, and I think you found out too. It's because of the "-x" parameter in the Restore() function (the purpose is to reset the changes made by Redshift, right?). The solution would be to simply load the calibration after running Redshift with that parameter.
Also, I don't think there needs to be that "Keep Windows Calibration" option as people who care about color would want to keep it, and those who don't would not be affected. So letting it always load the calibration won't hurt, will it?
Sorry, but then you pretty much ignored all I've written down for you. Please read again and try again properly.
No, I didn't ignore it. What did I miss?
Enabled - the calibration is correctly loaded Forced - dunno because of the temperature change Paused - the calibration is reset and I have to reload manually Disabled - same as Paused Exit - same as Paused
Redshift Tray is run as administrator.
It only works with the enabled state. Redshift Tray doesn't have to be run as Administrator here.
If Redshift Tray doesn't, it can't run the calibration tasks. If you have Keep Windows Calibration enabled, it should already be running elevated.
But hey, now I know why this happens. It's because of the "-x" parameter in the Restore() function (the purpose is to reset the changes made by Redshift, right?). The solution would be to simply load the calibration after running Redshift with that parameter.
I know, and that's what I'm doing now when Keep Windows Calibration is enabled.
Also, I don't think there needs to be that "Keep Windows Calibration" option as people who cares about color would want to keep it, and those who don't would not be affected. So letting it always load the calibration won't hurt, will it?
Keep Windows Calibration has obvious downsides and I've already explained them to you.
Alright.
I know, and that's what I'm doing now when Keep Windows Calibration is enabled.
Currently, the test build only reloads the calibration with Enabled mode. I think it is reasonable for Redshift Tray to do so with Paused and Disabled modes and when exiting.
Yesss, you're right! I need to check for keepcalibration in two places, good catch! Please try this one: rstray-calibrationtest3.zip
It seems to work well now.
Thank you for your time ;)
Cool! Now we have something new Redshift can't take care of on its own, very nice :-P
@S-a-l-a-d Would you be so kind to check out this last test version, before I release it? The changes are minimal, but it's more efficient (if Keep Windows calibration is enabled, it doesn't run redshift -x
anymore, just Windows' LoadCalibration task). I just need to be sure it doesn't introduce a timing problem.
I tried changing the mode and the time and it works fine. Without -x
it doesn't reset the calibration so there's also no flickering. I'm very happy with this.
If you're able to make it work without running redshift -x
then I don't think running the Windows' task is needed.
Without -x it doesn't reset the calibration so there's also no flickering. I'm very happy with this.
There is flickering when you use Alt+PgUp/PgDn or RAlt+PgUp/PgDn for brightness or gamma adjustment, resp.
If you're able to make it work without running redshift -x then I don't think running the Windows' task is needed.
Not true.
Okay. My bad :( We can close this now.
Cool. Thanks for testing it so quickly!
https://github.com/ltGuillaume/Redshift-Tray/releases/tag/1.7.0
Hmm, why there is no brightness setting (e.g. 90%) to start with?
Original Redshift has a corresponding option (brightness=0.9
) in redshift.confg
.
That's some ugly stuff to begin with, since you'll be limiting the output range. I hardly use it, especially since I can adjust my monitor backlight just as easily with https://clickmonitorddc.bplaced.net
@ltGuillaume, there is a reason why software brightness control exists here, there and there (and even as a separate app) and sometimes is preferred over hardware-via-DCC. Reason is PWM flickering (1, 2) and humming (my case in particular) if hardware brightness is set below 100% (which is rarely acceptable for prolonged use, especially in poorly lit environments). So I set hardware brightness to 100% and then dim the screen. Indeed, this changes colors a bit, but it’s OK unless playing a movie or photo editing is involved. Currently RedshiftTray allows to control brightness it via hotkeys, but it always starts with 100% (because of -b 1
). Let it be configurable.
Ah that indeed is a good reason.
Question is... Should "pause" and "disable" reset the brightness or shouldn't it?
Please try this one: rstray-1.7.1_brightness.zip
This version should handle brightness separately from gamma, i.e. it keeps the brightness, even when gamma adjustments are disabled/paused. This would be preferrable in your case, I think.
The last brightness setting is simply saved on exit and restored next time.
@sergeevabc Tried it yet?
@ltGuillaume, a tray indicator reports brightness percentage incorrectly, e.g. RedShiftTray starts with 90% (when brightness=0.9
), yet tray reports 100%. As for keeping brightness when the app is paused or disabled, it is a brain teaser, indeed. For example, Flux resets both gamma and brightness when user disables the app for a while (“disable for a hour” = pause) or completely, however they forget to restore previously set brightness when the app becomes active again.
I cannot reproduce. When I start with brightness = 90%, the tray reports 90% at start-up. Every time. What it currently does not do, is report the correct brightness on pause and disable (which is currently 100%). I was thinking about setting Redshift to 6500K + brightness, instead of completely quitting Redshift, when paused or disabled. I guess I can make it optional. Hang on.
@sergeevabc This should do it. Check the "Keep brightness" option. It entails both "keep brightness when paused/disabled" and "keep brightness between sessions".
@ltGuillaume,
brightness=0.900000
in rstray.ini
and launch rstray.exe
(90% is reported, ok)rstray.ini
)I've always seen the brightness setting as something to play with momentarily. This is how it has been implemented previously. That's why it didn't have a value in the .ini file. If you press Alt+Home, brightness is reset.
If you want to keep the previous value, enable "Keep brightness". After that, brightness will be saved to the .ini and restored when restarting. Also, it will apply brightness when paused/disabled.
If you do not check "Keep brightness", all behavior will be as the previous version.
We have a miscommunication here. I do my best to convey the idea. Please, do not rush either.
Again, slower. There is .ini
with user settings. They are applied upon launch. When I press “disable”, adjustments should be turned off, but not reset within *.ini
. So when I press “enable”, my settings should be applied once again. That is, 90% brightness upon launch -> 100% brightness upon disable -> 90% brightness on enable.
Presently that emphasized part is not working as described.
About “Keeping brightness” option. When it is checked, I expect RedShiftTray to keep brightness level (e.g. 90%) upon pressing “pause” or “disable”. For example, it is 3200K and 90% and “keep brightness” is set, then I press “disable”, then it is 6500K and 90%. And when “Keeping brightness” is not checked, then it is 6500K and 100% in disabled state. (And restore brightness to *.ini
setting, when is enabled again.)
No, I did understand you. It's just not easy break previous behavior. What you're asking is to split the "Keep brightness" setting into "Keep brightsness when disabled" (optional) and to always keep the brightness value. Although I agree that only because there now is an actual brightness value in the .ini file, this behavior has now become more logical than the previous behavior, which was to treat brightness as a temporary setting (unless "Keep brightness" was set).
With your proposed behavior implemented, another thing comes up: how to handle brightness adjustments in paused/disabled mode when "Keep brightness when disabled" is checked/unchecked? As currently implemented (attached):
@ltGuillaume, I’ve given it a try for a few days and it works without a flaw except for occasional double -r
in redshift.exe -l xx.xxxx:yy.yyyy -t 5800:3800 -b 0.900000 -r -r -P
when I sometimes observe running processes. Alas, I was not able to track what exact steps could reproduce the case.
Thanks for being so thorough! :) Yeah, the double -r
doesn't really matter, but it should be fixed in this one:
rstray_1.7.1-brightness4.zip
@ltGuillaume, AltGr+PgUp/Dn combos are supposed to control temperature, yet in my case they affect brightness (whereas Alt+PgUp/Dn are meant for that).
@sergeevabc What's your keyboard layout?
@sergeevabc Thanks! Please try v1.9.4: https://github.com/ltGuillaume/Redshift-Tray/releases/tag/1.9.4
@ltGuillaume, works as expected now, thank you.
Hi,
Can you provide a way to disable gamma change? It messes up my color calibration.