Add light/dark auto-switch - #14151
Open
larsoner wants to merge 1 commit into
Open
Conversation
drammock
reviewed
Aug 14, 2026
| # our own setStyleSheet emits PaletteChange; without this the signal recurses | ||
| window._mne_theme_updating = True | ||
| try: | ||
| # re-setting an unchanged sheet costs styled children (sliders) native rendering |
Member
There was a problem hiding this comment.
I don't understand this comment (specifically the verb "costs")
| if theme is None: | ||
| theme = _qt_detect_theme() | ||
| theme = get_config("MNE_3D_OPTION_THEME", theme) | ||
| stylesheet = _qt_get_stylesheet(theme) |
Member
There was a problem hiding this comment.
this logic seems a bit convoluted:
- if a theme was passed in, set window._mne_theme to it
- replace value of
themevariable with window._mne_theme, or - if it's None, with
_qt_detect_theme() - override value of
themewith the config variable.
I think I get why we do step 4 (user set an MNE-specific preference, AKA "don't follow system theme"). But the other 3 steps I can't quite follow... Could this be re-ordered, simplified, or just commented a bit better? Naively I'd think that something like this would be clearer:
theme = (
get_config("MNE_3D_OPTION_THEME", None)
or theme
or getattr(window, "_mne_theme", None)
or _qt_detect_theme()
)...but IDK what the significance is of changing window._mne_theme to be the passed-in value and not one of the other values
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.
Closes #9182
Knocking off one more TODO in our code using Claude Opus 5 to draft changes (which I've reviewed)... automatic switching on macOS when the system theme changes. Mostly a code refactor, one tricky point (needing to apply to children iff they had one applied previously). Also deleted a comment that doesn't apply anymore.