frontend: Add auto light/dark theme switching support#13213
Draft
cammo1123 wants to merge 1 commit intoobsproject:masterfrom
Draft
frontend: Add auto light/dark theme switching support#13213cammo1123 wants to merge 1 commit intoobsproject:masterfrom
cammo1123 wants to merge 1 commit intoobsproject:masterfrom
Conversation
Integrates auto theme selection using system theme detection with `Qt::ColorScheme` and a new watcher component. Updates settings UI to allow separate configuration for light and dark themes.
Author
|
I can see the build errors, will fix them when I have a chance. Update: The default QT6 package version is 6.4.2 on Ubuntu, and this requires 6.5. I'll wait until this is bumped above 6.5 |
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.
Description
Adds an optional "Match System" mode that detects the OS light/dark preference via
Qt::ColorSchemeand a small watcher component, and switches between user-selected Light/Dark OBS themes automatically.I don't have the capacity to test this on Linux/MacOS, but this should be programmed in a way that makes it cross-platform. Windows seems to take a while to propagate the theme change, but this seems to be just as quick as other apps (as demonstrated in my video with the file explorer on the top left).
I've had this lying around for a few months, so figured I would put in a pr and see what the consensus is. It's currently on by default; feedback on this would be greatly appreciated.
2026-03-12.00-51-42.mp4
Motivation and Context
Most OSs expose a system-wide light/dark preference. Many apps can follow it automatically, obs doesn't. This keeps the old behaviour and adds a new opt-in/out "Match System" option. It should be cross-platform by design as it relies on
Qt::ColorScheme.How Has This Been Tested?
Hardware:
Scenarios:
Types of changes
Checklist: