feat: dim HDR-dependent settings and remove HDR toggle - #43
Closed
Eclipse-Dominator wants to merge 2 commits into
Closed
feat: dim HDR-dependent settings and remove HDR toggle#43Eclipse-Dominator wants to merge 2 commits into
Eclipse-Dominator wants to merge 2 commits into
Conversation
added 2 commits
July 17, 2026 06:28
…pable Collect HDR-dependent controls into _hdr_dependent_rows and dim them via dim-label CSS class when Color Management is set to a value that does not enable HDR output (i.e. not auto, hdr, or hdredid), indicating their values won't be relevant.
Remove the hdr field from `MonitorConfig` — it was redundant with setting `color_management = "hdr"` and served no purpose beyond the toggle. Legacy profiles with `hdr: true` and no explicit CM preset are auto-converted to `color_management: "hdr"` on load in `Profile.from_dict`.
Eclipse-Dominator
marked this pull request as draft
July 17, 2026 00:25
Contributor
Author
|
Update: I made a new PR #44, which uses hints over the row dimming to have a less intrusive UX (as an alternative approach). I think the other might overall be better than full row dimming approach here? Do check it out. An alternative could be to just dim the text and not the controls and add the tooltip? Like what was doing in #44. |
Owner
|
Closing in favor of #44, which is the refined alternative you proposed here: subtitle + tooltip hints instead of full dimming, so the HDR-dependent fields stay legible and explain themselves. Thank you for both approaches, and sorry again for the delay. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #41
Changes
1. Dim HDR-dependent controls when CM isn't HDR-capable
Controls under the HDR/EDID Override group (SDR EOTF, luminance fields, etc.) as well as some other settings only affect the visual output when Color Management is set to a potential HDR-capable preset (
auto,hdr, orhdredid). They now get thedim-labelCSS class when CM is set to any other value, indicating their values won't be relevant — while remaining modifiable. (autois included because Hyprland have an auto hdr setting)_hdr_dependent_rowslist collecting relevant widgets_set_rows_dimmedhelper and_sync_hdr_dependent_setting_dimmingsync methodupdate_from_monitor) and on every property change (_on_changed)2. Remove standalone HDR toggle
color_management = "hdr"already produces the same config output as the oldhdr: truetoggle. The standalone switch (_sw_hdr) was redundant with the Color Management dropdown and potentially confusing.hdr: boolfromMonitorConfigcm = self.color_management(removed the("hdr" if self.hdr else "")fallback in both legacy and Lua paths)Profile.from_dict: profiles with"hdr": trueand no explicit CM are auto-converted tocolor_management: "hdr"on load_sw_hdrwidget creation,set_active, andget_activeTests
Added
tests/test_hdr_migration.pycovering:hdr: truewithout CM →color_management: "hdr"hdr: truehdrkey → unchangedhdr: false→ unchangedhdrnot present in serialized outputFor ux wise I feel that tooltips/hints could be add to address why they are dimmed and that changing cm to a hdr capable mode would resolve it. For users who never touched color mode and only used hdr toggles. This change should auto migrate existing profiles over but for creating new profiles, users who aren't sure of cm could be confused.
I have some considerations which is why I have yet to implement the tooltips. As of now none of the widget that is affect by this commit uses tooltips, so
_set_rows_dimmedcan have an optional field to include tooltips and remove it otherwise, but to account for potential future uses if something does have a preset tooltip, it would mean that dimming/undimming it would replace/removing the existing tooltips. The workaround would be to cache their original tooltip or using an append to the existing tooltips.Alternative would be a toast that would be displayed once (per profile?/per session) when the user tried to change some of the dimmed field.