I have one doubt, As you mentioned here:
The VSCode solution sounds good to me. I think we could have three new controls:
Auto Detect Theme (theme.autodetect): a checkbox
Prefered Dark Theme (theme.preferedDarkTheme): dropdown with all the themes
Prefered Light Theme (theme.preferedLightTheme): dropdown with all the themes
So you need three new setting values: theme.autodetect, theme.preferedDarkTheme and theme.preferedLightTheme.
When theme.autodetect is true, the theme.preferedDarkTheme and theme.preferedLightTheme dropdown are v…
When theme.autodetect
is true , the theme.preferedDarkTheme
and theme.preferedLightTheme
dropdown are visible, and the “Theme” dropdown is hidden.
When theme.autodetect
theme is off , the theme.preferedDarkTheme
and theme.preferedLightTheme
dropdown are hidden, and the “Theme” dropdown is visible.
When Auto Detect option is unchecked, preferred theme options won't be visible then how we can be able to set preferred themes for Night Mode button?
I think preferred theme options should be visible and Auto Detect theme option should also set theme according to preferred themes.
Auto Detect [ ] -> Detected Dark theme ? => Theme: preferredDarkTheme
Auto Detect [ ] -> Detected Light theme ? => Theme: preferredLightTheme
Auto Detect [ ] -> Hide Theme drop down
Auto Detect [ ] -> Visible Theme drop down
Night Mode button should toggle between preferred theme options
Here is the demo video of what I implemented in my first PR .