I noticed that after revert is applied in the GUI, the following values were immediately reset to the default values of 0 while the others values are successfully reverted.
Upon further investigation, this is caused by MonitorConfig's from_xxx() method not reading certain values like sdrBrightness/sdrSaturation etc. This method is called from IPC.get_monitors() which is then used in snapshotting before application, switching to current profile. This results in monique displaying wrong values for these fields in the following scenarios:
- Upon first launch of monique which leads to scenarios like a HDR profile selected but the HDR rules are all reset. (This can be manually bypassed by switching to another profile and switch back).
- Upon switching to '(Current)' profile
- Revert after application of profile
I am using Hyprland so I am not sure about Niri and Sway but hyprctl on the latest patch does return some of those values.
...
...
disabled: false
currentFormat: XBGR2101010
mirrorOf: none
availableModes: 3840x2160@60.00Hz 3840x2160@160.00Hz 3840x2160@144.00Hz 3840x2160@119.88Hz 3840x2160@120.00Hz 3840x2160@59.94Hz 3840x2160@50.00Hz 2560x1440@120.00Hz 1920x1080@60.00Hz 1920x1080@59.94Hz 1920x1080@50.00Hz 1680x1050@59.95Hz 1280x1024@75.00Hz 1280x1024@60.02Hz 1440x900@59.89Hz 1280x720@59.94Hz 1280x720@50.00Hz 1024x768@75.03Hz 1024x768@60.00Hz 800x600@75.00Hz 800x600@60.32Hz 720x576@50.00Hz 720x480@59.94Hz 640x480@75.00Hz 640x480@59.94Hz 640x480@59.93Hz
colorManagementPreset: hdredid
sdrBrightness: 1.00
sdrSaturation: 1.00
sdrMinLuminance: 0.00
sdrMaxLuminance: 303
I propose just adding the relevant field to the from_xxx() functions if they are available but I am not sure if there are considerations not reading these values.
I noticed that after revert is applied in the GUI, the following values were immediately reset to the default values of 0 while the others values are successfully reverted.
Upon further investigation, this is caused by MonitorConfig's
from_xxx()method not reading certain values like sdrBrightness/sdrSaturation etc. This method is called fromIPC.get_monitors()which is then used in snapshotting before application, switching to current profile. This results in monique displaying wrong values for these fields in the following scenarios:I am using Hyprland so I am not sure about Niri and Sway but hyprctl on the latest patch does return some of those values.
I propose just adding the relevant field to the
from_xxx()functions if they are available but I am not sure if there are considerations not reading these values.