terminal icon indicating copy to clipboard operation
terminal copied to clipboard

Light mode in settings UI only

Open Lombra opened this issue 4 years ago • 5 comments

Description of the new feature/enhancement

Since my shells are all dark, it makes sense to use dark mode to get the dark title bar, however Windows' idea of dark mode design means the new settings UI is an eyesore. I would like to have the settings UI use light mode.

Lombra avatar Feb 20 '21 14:02 Lombra

Okay, sure. I'll slap this into the megathread for "theming", #3327. Something like settingsUi.requestedTheme: light|dark|system. Why not.

zadjii-msft avatar Feb 22 '21 12:02 zadjii-msft

Note

Walkthrough

  • [ ] Start by adding a new Theme object for the settings UI:
    • [ ] SettingsTheme in Theme.idl, quite similar to WindowTheme in the same file
    • [ ] Add a single ElementTheme RequestedTheme to that runtimeclass.
    • [ ] In MTSMSettings.h, define a new MTSM_THEME_SETTINGS_SETTINGS, again taking cues from the tab row version. The key for this one should just be "settings"
    • [ ] Add a THEME_OBJECT(SettingsTheme, MTSM_THEME_SETTINGS_SETTINGS); to Theme.h
    • [ ] Add the sui theme to the other places theme objects appear in Theme.cpp as well.
  • [ ] Actually use this new setting
    • [ ] MainPage::_UpdateBackgroundForMica is probably the right place for this, as it's already trying to set the RequestedTheme for the settings page.
    • [ ] Instead, use the settings.requestedTheme, if it is set.

zadjii-msft avatar Feb 06 '23 17:02 zadjii-msft

Hello,

I am looking into this at the moment, but I hit a snag, where I am unsure if I should proceed or you might have some pointers to a better solution.

Just some background on my machine, I am running Windows 11 Pro Version 10.0.22621 Build 22621. To make it work on my machine I had to remove the isMicaAvailable check in MainPage.cpp function ::_UpdateBackgroundForMica(). I tested to print out the value from the DwmGetWindowAttribute() and it always returns DWMSBT_NONE, therefore I removed the check for Mica.

I assume the isMicaAvailable check is there for a reason for backward compatibility?

Also I will remove the DebugOutputStringW() and the switch case, if we proceed with this.

bundgaard avatar Oct 03 '23 21:10 bundgaard

I assume the isMicaAvailable check is there for a reason for backward compatibility?

That was introduced in https://github.com/microsoft/terminal/pull/14675. That might have more context

(it's almost 5pm here so I can take a look deeper in the morning)

zadjii-msft avatar Oct 03 '23 21:10 zadjii-msft

Description of the new feature/enhancement

Since my shells are all dark, it makes sense to use dark mode to get the dark title bar, however Windows' idea of dark mode design means the new settings UI is an eyesore. I would like to have the settings UI use light mode.

I don't think dark and white mode had any good feature so far I use lots of app but I don't find it's better use then brightness.instead of dark and white mode what about adding overview of app so user can get must out of it .

Stromlight avatar May 11 '24 10:05 Stromlight