-
Notifications
You must be signed in to change notification settings - Fork 8.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace TerminalSettings runtimeclasses with interfaces only #885
Comments
So that's what I tried initially. However, the Trying to make it a cppwinrt static library also introduced it's own insanity of build errors, where sometimes the winmd would be double included, or not included at all. You also can't have a cppwinrt project that only has interface definitions without defining at least one type. I don't know if that was resolved in cppwinrt 2.0 or not. I tried this initially by making a TerminalSettings project that only included two idl files, but somewhere up the tree, msbuild was not be happy about the fact that the project didn't generate a dll (since it had no code, it didn't build a dll). |
Indeed. I'll mark this |
Notes: I think it's okay that It can also become a C++/WinRT consumer very easily. It's significantly cheaper than authoring components, and it is the recommended way to consume all WinRT APIs in all C++ code. |
@zadjii-msft - First I am no expert on this and I am just starting to read up on WinRT. Plus - I don't think I 100% understand the issue, but the discussion helps me learn. So please ignore if this isn't helpful.
Instead of doing a project for this, could you use the command line and build step? Use midl.exe and compile the idl files then combine them. Then use cppwinrt.exe to generate the headers. If I understand the issue correctly it appears this will work. Docs that I have been reading on this. |
That's certainly an idea. I'd be wary to make sure that the build artifacts are included correctly in all the consuming projects, but it's certainly something worth trying. |
Huh, I was assuming Basically, would it make sense to just move the parsing code into |
I certainly considered that. I was thinking about something like Visual Studio, which could host a version of the control (or something using the core at least). They however probably want to use their own settings serialization and settings structure. They probably don't have any notion of profiles or anything like that, and they probably want to store the settings as XML. So, I wanted |
Note to whoever follows up: terminal/src/cascadia/TerminalSettings/TerminalSettings.cpp Lines 125 to 129 in 5119ed1
TerminalSettings is no longer a "dumb data carrier", and this logic will need to be moved to wherever it ends up living. (/cc @hannesne) |
Profile is now a WinRT object in the TerminalApp project. As with ColorScheme, all of the serialization logic is not exposed via the idl. TerminalSetingsModel will handle it when it's all moved over. I removed the "Get" and "Set" prefixes from all of the Profile functions. It just makes more sense to use the `GETSET_PROPERTY` macro to do most of the work for us. `CloseOnExitMode` is now an enum off of the Profile.idl. `std::optional<wstring>` got converted to `hstring` (as opposed to `IReference<hstring>`). `IReference<hstring>` is not valid to MIDL. ## References #7141 - Profile is a settings object #885 - this new settings object will be moved to a new TerminalSettingsModel project ## Validation Steps Performed - [x] Tests passed - [x] Deployment succeeded Closes #7435
GlobalAppSettings is now a WinRT object in the TerminalApp project. ## References #7141 - GlobalAppSettings is a settings object #885 - this new settings object will be moved to a new TerminalSettingsModel project ## PR Checklist * [x] Tests passed ## Detailed Description of the Pull Request / Additional comments This one was probably the easiest thus far. The only weird thing is how we handle InitialPosition. Today, we lose a little bit of fidelity when we convert from LaunchPosition (int) --> Point (float) --> RECT (long). The current change converts LaunchPosition (optional<long>) --> InitialPosition (long) --> RECT (long). NOTE: Though I could use LaunchPosition to go directly from TermApp to AppHost, I decided to introduce InitialPosition because LaunchPosition will be a part of TerminalSettingsModel soon. ## Validation Steps Performed - [x] Tests passed - [x] Deployment succeeded
CascadiaSettings is now a WinRT object in the TerminalApp project. ## References #7141 - CascadiaSettings is a settings object #885 - this new settings object will be moved to a new TerminalSettingsModel project This one _looks_ big, but most of it is really just propagating the changes to the tests. In fact, you can probably save yourself some time because the tests were about an hour of Find&Replace. `CascadiaSettings::GetCurrentAppSettings()` was only being used in Pane.cpp. So I ripped out the 3 lines of code and stuffed them in there. Follow-up work: - There's a few places in AppLogic where I `get_self` to be able to get the warnings out. This will go away in the next PR (wrapping up #885) ## Validation Steps Performed - [x] Tests passed - [X] Deployment succeeded Closes #7141
Now that CascadiaSettings is a WinRT object, we need to update the error handling a bit. Making it a WinRT object limits our errors to be hresults. So we moved all the error handling down a layer to when we load the settings object. - Warnings encountered during validation are saved to `Warnings()`. - Errors encountered during validation are saved to `GetLoadingError()`. - Deserialization errors (mainly from JsonUtils) are saved to `GetDeserializationErrorMessage()`. ## References #7141 - CascadiaSettings is a settings object #885 - this makes ripping out CascadiaSettings into TerminalSettingsModel much easier ## Validation Steps Performed * [x] Tests passed - [x] Deployment succeeded - tested with invalid JSON (deserialization error) - tested with missing DefaultProfile (validation error)
`KeyMapping` was introduced to break up `AppKeyBindings`. `KeyMapping` records the keybindings from the JSON and lets you query them. `AppKeyBindings` now just holds a `ShortcutActionDispatcher` to run actions, and a `KeyMapping` to record/query your existing keybindings. This refactor allows `KeyMapping` to be moved to the TerminalSettingsModel, and `ShortcutActionDispatcher` and `AppKeyBindings` will stay in TerminalApp. `AppKeyBindings` had to be passed down to a terminal via `TerminalSettings`. Since each settings object had its own responsibility to update/create a `TerminalSettings` object, I moved all of that logic to `TerminalSettings`. This helps with the TerminalSettingsModel refactor, and makes the construction of `TerminalSettings` a bit cleaner and more centralized. ## References #885 - this is all in preparation for the TerminalSettingsModel ## Validation Steps Performed - [x] Tests passed - [X] Deployment succeeded
Introduces a new TerminalSettingsModel (TSM) project. This project is responsible for (de)serializing and exposing Windows Terminal's settings as WinRT objects. ## References #885: TSM epic #1564: Settings UI is dependent on this for data binding and settings access #6904: TSM Spec In the process of ripping out TSM from TerminalApp, a few other changes were made to make this possible: 1. AppLogic's `ApplicationDisplayName` and `ApplicationVersion` was moved to `CascadiaSettings` - These are defined as static functions. They also no longer check if `AppLogic::Current()` is nullptr. 2. `enum LaunchMode` was moved from TerminalApp to TSM 3. `AzureConnectionType` and `TelnetConnectionType` were moved from the profile generators to their respective TerminalConnections 4. CascadiaSettings' `SettingsPath` and `DefaultSettingsPath` are exposed as `hstring` instead of `std::filesystem::path` 5. `Command::ExpandCommands()` was exposed via the IDL - This required some of the warnings to be saved to an `IVector` instead of `std::vector`, among some other small changes. 6. The localization resources had to be split into two halves. - Resource file linked in init.cpp. Verified at runtime thanks to the StaticResourceLoader. 7. Added constructors to some `ActionArgs` 8. Utils.h/cpp were moved to `cascadia/inc`. `JsonKey()` was moved to `JsonUtils`. Both TermApp and TSM need access to Utils.h/cpp. A large amount of work includes moving to the new namespace (`TerminalApp` --> `Microsoft::Terminal::Settings::Model`). Fixing the tests had its own complications. Testing required us to split up TSM into a DLL and LIB, similar to TermApp. Discussion on creating a non-local test variant can be found in #7743. Closes #885
## Summary of the Pull Request This introduces a spec for (what I like to call) winrt TerminalSettings. Basically, we need to move over some of the code that resides in TerminalApp that relates to the settings model, then expose some of the settings objects as winrt objects. Doing so will allow us to access/modify settings across different project layers (a must-have for the Settings UI). ## References #885 - winrt Terminal Settings issue #1564 - spec for most of the backend work for Settings UI
## Summary of the Pull Request This introduces a spec for (what I like to call) winrt TerminalSettings. Basically, we need to move over some of the code that resides in TerminalApp that relates to the settings model, then expose some of the settings objects as winrt objects. Doing so will allow us to access/modify settings across different project layers (a must-have for the Settings UI). ## References microsoft#885 - winrt Terminal Settings issue microsoft#1564 - spec for most of the backend work for Settings UI
*Total -- 5,231.36kb -> 4,043.90kb (22.7%) /doc/specs/#605 - Search/images/SearchBoxControl.png -- 41.18kb -> 1.88kb (95.44%) /doc/specs/#605 - Search/images/SearchBoxUpSelected.png -- 67.26kb -> 10.20kb (84.83%) /doc/specs/#6899 - Action IDs/data-mockup-actions.png -- 54.62kb -> 19.22kb (64.82%) /doc/specs/#6899 - Action IDs/data-mockup-actions-and-ids-and-keys.png -- 130.33kb -> 50.25kb (61.44%) /doc/specs/#6899 - Action IDs/data-mockup-actions-and-ids.png -- 111.60kb -> 43.85kb (60.7%) /doc/specs/#1235 - Azure cloud shell connector/images/solDesign.png -- 5.46kb -> 2.32kb (57.58%) /doc/images/panes.png -- 299.69kb -> 133.56kb (55.43%) /doc/specs/#6899 - Action IDs/data-mockup-002.png -- 103.63kb -> 46.22kb (55.4%) /doc/specs/#605 - Search/images/SearchBoxControlNoEnoughWidth.png -- 11.19kb -> 5.06kb (54.78%) /doc/specs/#6899 - Action IDs/data-mockup.png -- 63.42kb -> 29.65kb (53.25%) /doc/specs/#1502 - Advanced Tab Switcher/img/VSCodeTabSwitcher.png -- 15.03kb -> 7.19kb (52.12%) /src/cascadia/WindowsTerminalUniversal/internal-background.png -- 3.54kb -> 1.74kb (50.94%) /doc/specs/#1571 - New Tab Menu Customization/Menu-Customization-000.png -- 45.84kb -> 25.69kb (43.95%) /res/terminal/images-Pre/Square44x44Logo.targetsize-256_contrast-black.png -- 3.97kb -> 2.23kb (43.75%) /res/terminal/images-Pre/Square44x44Logo.targetsize-256_altform-unplated_contrast-black.png -- 3.97kb -> 2.23kb (43.75%) /res/terminal/images-Dev/Square44x44Logo.targetsize-256_altform-unplated_contrast-black.png -- 4.38kb -> 2.49kb (43.13%) /res/terminal/images-Dev/Square44x44Logo.targetsize-256_contrast-black.png -- 4.38kb -> 2.49kb (43.13%) /doc/specs/#1502 - Advanced Tab Switcher/img/CommandPaletteExample.png -- 34.05kb -> 20.68kb (39.28%) /res/terminal/images/Square44x44Logo.targetsize-256_altform-unplated_contrast-black.png -- 2.64kb -> 1.61kb (39.13%) /res/terminal/images/Square44x44Logo.targetsize-256_contrast-black.png -- 2.64kb -> 1.61kb (39.13%) /res/terminal/images-Pre/LockScreenLogo.scale-400_contrast-black.png -- 1.68kb -> 1.06kb (37.13%) /res/terminal/images-Pre/Square44x44Logo.targetsize-96_altform-unplated_contrast-black.png -- 1.68kb -> 1.06kb (37.13%) /res/terminal/images-Pre/Square44x44Logo.targetsize-96_contrast-black.png -- 1.68kb -> 1.06kb (37.13%) /res/terminal/Terminal_Dev.svg -- 12.06kb -> 7.63kb (36.71%) /res/terminal/images-Pre/Square44x44Logo.targetsize-80_contrast-black.png -- 1.53kb -> 0.97kb (36.21%) /res/terminal/images-Pre/Square44x44Logo.targetsize-80_altform-unplated_contrast-black.png -- 1.53kb -> 0.97kb (36.21%) /res/terminal/images-Dev/Square44x44Logo.targetsize-80_altform-unplated_contrast-black.png -- 1.60kb -> 1.02kb (36.11%) /res/terminal/images-Dev/Square44x44Logo.targetsize-80_contrast-black.png -- 1.60kb -> 1.02kb (36.11%) /res/terminal/images-Dev/Square44x44Logo.targetsize-96_contrast-black.png -- 1.75kb -> 1.12kb (35.85%) /res/terminal/images-Dev/LockScreenLogo.scale-400_contrast-black.png -- 1.75kb -> 1.12kb (35.85%) /res/terminal/images-Dev/Square44x44Logo.targetsize-96_altform-unplated_contrast-black.png -- 1.75kb -> 1.12kb (35.85%) /res/terminal/images-Dev/Square44x44Logo.targetsize-60_altform-unplated_contrast-black.png -- 1.37kb -> 0.88kb (35.33%) /res/terminal/images-Dev/Square44x44Logo.targetsize-60_contrast-black.png -- 1.37kb -> 0.88kb (35.33%) /res/terminal/Terminal_Pre.svg -- 13.01kb -> 8.59kb (34.02%) /res/terminal/images-Dev/Square44x44Logo.targetsize-64_altform-unplated_contrast-black.png -- 1.31kb -> 0.88kb (32.69%) /res/terminal/images-Dev/Square44x44Logo.targetsize-64_contrast-black.png -- 1.31kb -> 0.88kb (32.69%) /src/tools/integrity/packageuwp/assets/AppList.targetsize-256.png -- 3.03kb -> 2.07kb (31.54%) /res/terminal/images-Pre/Square44x44Logo.targetsize-64_altform-unplated_contrast-black.png -- 1.23kb -> 0.85kb (31.11%) /res/terminal/images-Pre/Square44x44Logo.targetsize-64_contrast-black.png -- 1.23kb -> 0.85kb (31.11%) /res/terminal/images-Pre/Square44x44Logo.targetsize-72_contrast-black.png -- 1.29kb -> 0.89kb (30.94%) /res/terminal/images-Pre/Square44x44Logo.targetsize-72_altform-unplated_contrast-black.png -- 1.29kb -> 0.89kb (30.94%) /res/terminal/images-Pre/Square44x44Logo.targetsize-60_contrast-black.png -- 1.21kb -> 0.85kb (29.74%) /res/terminal/images-Pre/Square44x44Logo.targetsize-60_altform-unplated_contrast-black.png -- 1.21kb -> 0.85kb (29.74%) /res/terminal/images-Dev/Square44x44Logo.targetsize-72_altform-unplated_contrast-black.png -- 1.31kb -> 0.92kb (29.42%) /res/terminal/images-Dev/Square44x44Logo.targetsize-72_contrast-black.png -- 1.31kb -> 0.92kb (29.42%) /src/tools/integrity/packageuwp/assets/SplashScreen.scale-100.png -- 2.50kb -> 1.82kb (27.33%) /doc/specs/#1502 - Advanced Tab Switcher/img/VSMinimumSizeWithTabSwitcher.png -- 344.89kb -> 253.09kb (26.62%) /res/terminal/images-Pre/Square44x44Logo.targetsize-48_contrast-black.png -- 0.94kb -> 0.69kb (26.17%) /res/terminal/images-Pre/Square44x44Logo.targetsize-48_altform-unplated_contrast-black.png -- 0.94kb -> 0.69kb (26.17%) /res/terminal/images-Pre/LockScreenLogo.scale-200_contrast-black.png -- 0.94kb -> 0.69kb (26.17%) /res/terminal/images-Dev/Square44x44Logo.targetsize-48_altform-unplated_contrast-black.png -- 0.95kb -> 0.71kb (26.02%) /res/terminal/images-Dev/Square44x44Logo.targetsize-48_contrast-black.png -- 0.95kb -> 0.71kb (26.02%) /res/terminal/images-Dev/LockScreenLogo.scale-200_contrast-black.png -- 0.95kb -> 0.71kb (26.02%) /res/terminal/images/Square44x44Logo.scale-400_contrast-black.png -- 1.25kb -> 0.94kb (24.82%) /doc/specs/#4191 - Formatted Copy/twitter-poll.png -- 60.02kb -> 45.79kb (23.71%) /res/terminal/images-Dev/Square44x44Logo.targetsize-40_contrast-black.png -- 0.87kb -> 0.67kb (23.04%) /res/terminal/images-Dev/Square44x44Logo.targetsize-40_altform-unplated_contrast-black.png -- 0.87kb -> 0.67kb (23.04%) /doc/images/terminal-0.6.png -- 27.92kb -> 21.50kb (23%) /res/terminal/images/LockScreenLogo.scale-400_contrast-black.png -- 0.94kb -> 0.72kb (22.94%) /res/terminal/images/Square44x44Logo.targetsize-96_altform-unplated_contrast-black.png -- 0.94kb -> 0.72kb (22.94%) /res/terminal/images/Square44x44Logo.targetsize-96_contrast-black.png -- 0.94kb -> 0.72kb (22.94%) /src/tools/integrity/packageuwp/assets/LargeLogo.scale-100.png -- 2.00kb -> 1.55kb (22.66%) /res/terminal/images/Square44x44Logo.targetsize-80_contrast-black.png -- 0.86kb -> 0.67kb (22.54%) /res/terminal/images/Square44x44Logo.targetsize-80_altform-unplated_contrast-black.png -- 0.86kb -> 0.67kb (22.54%) /res/terminal/images/Square44x44Logo.targetsize-256_altform-unplated_contrast-white.png -- 2.03kb -> 1.59kb (22%) /res/terminal/images/Square44x44Logo.targetsize-256_contrast-white.png -- 2.03kb -> 1.59kb (22%) /res/terminal/images-Pre/Square44x44Logo.targetsize-36_altform-unplated_contrast-black.png -- 0.82kb -> 0.64kb (21.85%) /res/terminal/images-Pre/Square44x44Logo.targetsize-36_contrast-black.png -- 0.82kb -> 0.64kb (21.85%) /res/terminal/images-Pre/LockScreenLogo.scale-150_contrast-black.png -- 0.82kb -> 0.64kb (21.85%) /res/terminal/images/Square150x150Logo.scale-200_contrast-black.png -- 1.25kb -> 0.98kb (21.37%) /res/terminal/images-Pre/Square44x44Logo.targetsize-256_contrast-white.png -- 2.94kb -> 2.31kb (21.37%) /res/terminal/images-Pre/Square44x44Logo.targetsize-256_altform-unplated_contrast-white.png -- 2.94kb -> 2.31kb (21.37%) /res/terminal/images-Pre/Square44x44Logo.targetsize-40_altform-unplated_contrast-black.png -- 0.85kb -> 0.67kb (20.99%) /res/terminal/images-Pre/Square44x44Logo.targetsize-40_contrast-black.png -- 0.85kb -> 0.67kb (20.99%) /res/terminal/images/SmallTile.scale-400_contrast-white.png -- 1.54kb -> 1.22kb (20.93%) /res/terminal/images-Dev/Square44x44Logo.targetsize-256_contrast-white.png -- 3.23kb -> 2.55kb (20.87%) /res/terminal/images-Dev/Square44x44Logo.targetsize-256_altform-unplated_contrast-white.png -- 3.23kb -> 2.55kb (20.87%) /res/terminal/images/LargeTile.scale-100_contrast-black.png -- 1.27kb -> 1.01kb (20.77%) /res/terminal/images-Pre/Square150x150Logo.scale-200_contrast-black.png -- 1.72kb -> 1.37kb (20.24%) /res/terminal/images-Dev/Square44x44Logo.targetsize-36_contrast-black.png -- 0.82kb -> 0.66kb (20.21%) /res/terminal/images-Dev/LockScreenLogo.scale-150_contrast-black.png -- 0.82kb -> 0.66kb (20.21%) /res/terminal/images-Dev/Square44x44Logo.targetsize-36_altform-unplated_contrast-black.png -- 0.82kb -> 0.66kb (20.21%) /res/terminal/images-Pre/StoreLogo.scale-400_contrast-black.png -- 1.86kb -> 1.49kb (20.15%) /res/terminal/images-Pre/LargeTile.scale-100_contrast-black.png -- 1.74kb -> 1.39kb (20.07%) /doc/specs/#1564 - Settings UI/keyboard-modal.png -- 213.32kb -> 170.56kb (20.04%) /doc/specs/#1564 - Settings UI/keyboard-modal-add.png -- 214.87kb -> 172.12kb (19.9%) /res/terminal/images-Pre/Square44x44Logo.scale-400_contrast-black.png -- 1.76kb -> 1.41kb (19.86%) /res/terminal/images-Pre/SmallTile.scale-400_contrast-white.png -- 2.05kb -> 1.64kb (19.81%) /doc/specs/#1564 - Settings UI/keyboard-modal-args.png -- 216.11kb -> 173.34kb (19.79%) /res/terminal/images/StoreLogo.scale-400_contrast-black.png -- 1.38kb -> 1.10kb (19.73%) /doc/specs/#1564 - Settings UI/keyboard.png -- 211.14kb -> 169.54kb (19.7%) /res/terminal/images-Pre/SmallTile.scale-200_contrast-black.png -- 1.21kb -> 0.97kb (19.26%) /res/terminal/images-Dev/Square44x44Logo.scale-400_contrast-black.png -- 1.86kb -> 1.50kb (19.2%) /res/terminal/images/Square44x44Logo.targetsize-72_altform-unplated_contrast-black.png -- 0.77kb -> 0.62kb (19.04%) /res/terminal/images/Square44x44Logo.targetsize-72_contrast-black.png -- 0.77kb -> 0.62kb (19.04%) /doc/specs/#1564 - Settings UI/navigation-2.png -- 223.05kb -> 180.61kb (19.03%) /res/terminal/images/Square44x44Logo.scale-400_contrast-white.png -- 1.18kb -> 0.95kb (19%) /res/terminal/images/SmallTile.scale-200_contrast-black.png -- 0.84kb -> 0.69kb (18.75%) /res/terminal/images/SmallTile.scale-400_contrast-black.png -- 1.52kb -> 1.24kb (18.54%) /doc/specs/#1502 - Advanced Tab Switcher/img/VSMinimumSize.png -- 91.70kb -> 74.76kb (18.47%) /res/terminal/images-Pre/SmallTile.scale-400_contrast-black.png -- 2.03kb -> 1.66kb (18.4%) /res/terminal/images-Dev/StoreLogo.scale-400_contrast-black.png -- 2.01kb -> 1.64kb (18.3%) /res/terminal/images/Wide310x150Logo.scale-200_contrast-black.png -- 1.45kb -> 1.18kb (18.29%) /res/terminal/images/SplashScreen.scale-100_contrast-black.png -- 1.45kb -> 1.18kb (18.29%) /res/terminal/images-Pre/StoreLogo.scale-400_contrast-white.png -- 1.84kb -> 1.50kb (18.24%) /doc/specs/#1235 - Azure cloud shell connector/images/azProf.png -- 18.61kb -> 15.23kb (18.16%) /res/terminal/images-Dev/Square150x150Logo.scale-200_contrast-black.png -- 1.76kb -> 1.44kb (18.03%) /res/terminal/images/LargeTile.scale-125_contrast-black.png -- 1.50kb -> 1.23kb (17.96%) /res/terminal/images-Dev/Square44x44Logo.targetsize-30_contrast-black.png -- 0.76kb -> 0.62kb (17.94%) /res/terminal/images-Dev/Square44x44Logo.targetsize-30_altform-unplated_contrast-black.png -- 0.76kb -> 0.62kb (17.94%) /res/terminal/images-Dev/LockScreenLogo.scale-125_contrast-black.png -- 0.76kb -> 0.62kb (17.94%) /res/terminal/images-Dev/LargeTile.scale-100_contrast-black.png -- 1.78kb -> 1.46kb (17.91%) /res/terminal/images-Dev/SmallTile.scale-400_contrast-white.png -- 2.17kb -> 1.78kb (17.81%) /res/terminal/images/Square44x44Logo.targetsize-60_contrast-black.png -- 0.69kb -> 0.57kb (17.8%) /res/terminal/images/Square44x44Logo.targetsize-60_altform-unplated_contrast-black.png -- 0.69kb -> 0.57kb (17.8%) /res/terminal/images-Pre/LargeTile.scale-125_contrast-black.png -- 2.05kb -> 1.69kb (17.61%) /res/terminal/images/Square150x150Logo.scale-400_contrast-black.png -- 2.42kb -> 2.00kb (17.59%) /res/terminal/images-Dev/SmallTile.scale-200_contrast-black.png -- 1.22kb -> 1.01kb (17.59%) /res/terminal/images-Dev/SmallTile.scale-400_contrast-black.png -- 2.19kb -> 1.80kb (17.55%) /res/terminal/images-Pre/Square150x150Logo.scale-150_contrast-black.png -- 1.34kb -> 1.11kb (17.54%) /doc/specs/#1502 - Advanced Tab Switcher/img/VSTabSwitcher.png -- 27.66kb -> 22.83kb (17.44%) /res/terminal/images-Pre/LockScreenLogo.scale-125_contrast-black.png -- 0.75kb -> 0.62kb (17.4%) /res/terminal/images-Pre/Square44x44Logo.targetsize-30_altform-unplated_contrast-black.png -- 0.75kb -> 0.62kb (17.4%) /res/terminal/images-Pre/Square44x44Logo.targetsize-30_contrast-black.png -- 0.75kb -> 0.62kb (17.4%) /res/terminal/images/Square44x44Logo.targetsize-64_contrast-black.png -- 0.70kb -> 0.58kb (17.09%) /res/terminal/images/Square44x44Logo.targetsize-64_altform-unplated_contrast-black.png -- 0.70kb -> 0.58kb (17.09%) /res/terminal/images-Pre/SplashScreen.scale-100_contrast-black.png -- 1.89kb -> 1.57kb (17.06%) /res/terminal/images-Pre/Wide310x150Logo.scale-200_contrast-black.png -- 1.89kb -> 1.57kb (17.06%) /res/terminal/images-Pre/LargeTile.scale-125_contrast-white.png -- 2.01kb -> 1.67kb (16.92%) /res/terminal/images-Dev/LargeTile.scale-125_contrast-black.png -- 2.14kb -> 1.78kb (16.9%) /res/terminal/images/LargeTile.scale-125_contrast-white.png -- 1.45kb -> 1.20kb (16.89%) /res/terminal/images-Pre/LargeTile.scale-150_contrast-white.png -- 2.31kb -> 1.92kb (16.86%) /res/terminal/images/Square150x150Logo.scale-100_contrast-black.png -- 0.71kb -> 0.59kb (16.67%) /res/terminal/images-UniversalDev/Square44x44Logo.targetsize-256_altform-unplated.png -- 22.30kb -> 18.58kb (16.65%) /res/terminal/images-UniversalDev/Square44x44Logo.targetsize-256.png -- 22.30kb -> 18.58kb (16.65%) /res/terminal/images-Pre/Square150x150Logo.scale-200_contrast-white.png -- 1.63kb -> 1.36kb (16.41%) /res/terminal/images/Square150x150Logo.scale-200_contrast-white.png -- 1.15kb -> 0.97kb (16.33%) /res/terminal/images/Square150x150Logo.scale-400_contrast-white.png -- 2.37kb -> 1.99kb (16.22%) /res/terminal/images/StoreLogo.scale-400_contrast-white.png -- 1.33kb -> 1.12kb (16.21%) /res/terminal/images/LargeTile.scale-150_contrast-white.png -- 1.78kb -> 1.49kb (16.2%) /res/terminal/images/Square150x150Logo.scale-150_contrast-black.png -- 0.94kb -> 0.79kb (16.13%) /res/terminal/images/LargeTile.scale-200_contrast-black.png -- 2.45kb -> 2.06kb (16.12%) /res/terminal/images-Pre/Wide310x150Logo.scale-150_contrast-black.png -- 1.46kb -> 1.23kb (16.11%) /res/terminal/images-Dev/Square150x150Logo.scale-125_contrast-black.png -- 1.23kb -> 1.04kb (16.06%) /res/terminal/images-Pre/LargeTile.scale-100_contrast-white.png -- 1.64kb -> 1.38kb (16.05%) /res/terminal/images-Pre/StoreLogo.scale-200_contrast-black.png -- 1.11kb -> 0.93kb (16.04%) /res/terminal/images-Pre/Square44x44Logo.scale-400_contrast-white.png -- 1.69kb -> 1.42kb (15.99%) /res/terminal/images-Dev/LargeTile.scale-125_contrast-white.png -- 2.09kb -> 1.75kb (15.99%) /res/terminal/images/Square150x150Logo.scale-125_contrast-black.png -- 0.83kb -> 0.69kb (15.96%) /res/terminal/images-Pre/LockScreenLogo.scale-400_contrast-white.png -- 1.27kb -> 1.07kb (15.95%) /res/terminal/images-Pre/Square44x44Logo.targetsize-96_contrast-white.png -- 1.27kb -> 1.07kb (15.95%) /res/terminal/images-Pre/Square44x44Logo.targetsize-96_altform-unplated_contrast-white.png -- 1.27kb -> 1.07kb (15.95%) /res/terminal/images-Dev/Square150x150Logo.scale-150_contrast-black.png -- 1.36kb -> 1.15kb (15.89%) /res/terminal/images-Dev/Square44x44Logo.scale-400_contrast-white.png -- 1.79kb -> 1.51kb (15.83%) /res/terminal/images-Pre/LargeTile.scale-150_contrast-black.png -- 2.30kb -> 1.94kb (15.73%) /res/terminal/images-Pre/Square150x150Logo.scale-125_contrast-black.png -- 1.18kb -> 0.99kb (15.73%) /res/terminal/images/Wide310x150Logo.scale-100_contrast-black.png -- 0.79kb -> 0.67kb (15.72%) /res/terminal/images-Pre/SplashScreen.scale-125_contrast-black.png -- 2.35kb -> 1.98kb (15.61%) /res/terminal/images-Dev/SplashScreen.scale-125_contrast-black.png -- 2.45kb -> 2.07kb (15.41%) /res/terminal/images-Dev/SplashScreen.scale-100_contrast-black.png -- 1.93kb -> 1.64kb (15.35%) /res/terminal/images-Dev/Wide310x150Logo.scale-200_contrast-black.png -- 1.93kb -> 1.64kb (15.35%) /res/terminal/images/LargeTile.scale-100_contrast-white.png -- 1.16kb -> 0.99kb (15.27%) /res/terminal/images/SplashScreen.scale-125_contrast-black.png -- 1.79kb -> 1.52kb (15.25%) /res/terminal/images-Dev/LargeTile.scale-150_contrast-white.png -- 2.44kb -> 2.07kb (15.24%) /res/terminal/images-Dev/Square150x150Logo.scale-200_contrast-white.png -- 1.68kb -> 1.43kb (15.11%) /res/terminal/images/LargeTile.scale-200_contrast-white.png -- 2.41kb -> 2.04kb (15.09%) /doc/specs/#1564 - Settings UI/appearance.png -- 274.26kb -> 233.00kb (15.04%) /res/terminal/images-Dev/Wide310x150Logo.scale-150_contrast-black.png -- 1.49kb -> 1.27kb (15.04%) /res/terminal/images-Dev/StoreLogo.scale-400_contrast-white.png -- 1.94kb -> 1.65kb (15.03%) /res/terminal/images/StoreLogo.scale-200_contrast-black.png -- 0.76kb -> 0.65kb (14.98%) /res/terminal/images-Dev/Square150x150Logo.scale-400_contrast-black.png -- 3.29kb -> 2.80kb (14.98%) /doc/specs/#1502 - Advanced Tab Switcher/img/tmuxPaneSwitching.png -- 33.57kb -> 28.56kb (14.95%) /res/terminal/images-Dev/LargeTile.scale-100_contrast-white.png -- 1.69kb -> 1.44kb (14.82%) /res/terminal/images-Pre/SmallTile.scale-200_contrast-white.png -- 1.15kb -> 0.98kb (14.82%) /res/terminal/images-Dev/StoreLogo.scale-200_contrast-black.png -- 1.13kb -> 0.97kb (14.81%) /res/terminal/images-Pre/SplashScreen.scale-125_contrast-white.png -- 2.31kb -> 1.97kb (14.81%) /res/terminal/images-Pre/SplashScreen.scale-150_contrast-white.png -- 2.71kb -> 2.31kb (14.75%) /res/terminal/images-Pre/Wide310x150Logo.scale-100_contrast-black.png -- 1.03kb -> 0.88kb (14.62%) /res/terminal/images/Square44x44Logo.targetsize-96_altform-unplated_contrast-white.png -- 0.85kb -> 0.72kb (14.61%) /res/terminal/images/Square44x44Logo.targetsize-96_contrast-white.png -- 0.85kb -> 0.72kb (14.61%) /res/terminal/images/LockScreenLogo.scale-400_contrast-white.png -- 0.85kb -> 0.72kb (14.61%) /res/terminal/images-Dev/LargeTile.scale-150_contrast-black.png -- 2.47kb -> 2.11kb (14.56%) /res/terminal/images/Wide310x150Logo.scale-150_contrast-black.png -- 1.06kb -> 0.91kb (14.47%) /res/terminal/images-Pre/Square150x150Logo.scale-400_contrast-black.png -- 3.04kb -> 2.60kb (14.44%) /res/terminal/images-Dev/Square150x150Logo.scale-400_contrast-white.png -- 3.26kb -> 2.79kb (14.38%) /res/terminal/images-Pre/Square150x150Logo.scale-150_contrast-white.png -- 1.27kb -> 1.09kb (14.36%) /res/terminal/images-Dev/LargeTile.scale-200_contrast-black.png -- 3.34kb -> 2.86kb (14.31%) /res/terminal/images-Dev/Square150x150Logo.scale-100_contrast-black.png -- 0.94kb -> 0.81kb (14.29%) /res/terminal/images-Pre/Square150x150Logo.scale-100_contrast-black.png -- 0.93kb -> 0.80kb (14.26%) /res/terminal/images-Dev/Square44x44Logo.targetsize-96_contrast-white.png -- 1.31kb -> 1.12kb (14.2%) /res/terminal/images-Dev/Square44x44Logo.targetsize-96_altform-unplated_contrast-white.png -- 1.31kb -> 1.12kb (14.2%) /res/terminal/images-Dev/LockScreenLogo.scale-400_contrast-white.png -- 1.31kb -> 1.12kb (14.2%) /res/terminal/images-Dev/SplashScreen.scale-125_contrast-white.png -- 2.39kb -> 2.05kb (14.19%) /res/terminal/images/SplashScreen.scale-150_contrast-white.png -- 2.18kb -> 1.87kb (14.14%) /res/terminal/images-Pre/StoreLogo.scale-100_contrast-black.png -- 0.76kb -> 0.65kb (14.1%) /res/terminal/images-Pre/SmallTile.scale-100_contrast-black.png -- 0.79kb -> 0.68kb (14.04%) /res/terminal/images-Pre/StoreLogo.scale-100_contrast-white.png -- 0.76kb -> 0.65kb (14.03%) /res/terminal/images/LargeTile.scale-150_contrast-black.png -- 1.78kb -> 1.53kb (14.03%) /res/terminal/images/SplashScreen.scale-125_contrast-white.png -- 1.73kb -> 1.49kb (14.02%) /res/terminal/images-Pre/SplashScreen.scale-150_contrast-black.png -- 2.71kb -> 2.33kb (13.97%) /res/terminal/images-Dev/LargeTile.scale-200_contrast-white.png -- 3.30kb -> 2.84kb (13.85%) /res/terminal/images-Dev/Wide310x150Logo.scale-100_contrast-black.png -- 1.04kb -> 0.90kb (13.82%) /res/terminal/images/SmallTile.scale-200_contrast-white.png -- 0.80kb -> 0.69kb (13.81%) /res/terminal/images-Dev/Square150x150Logo.scale-125_contrast-white.png -- 1.20kb -> 1.04kb (13.67%) /res/terminal/images-Pre/SmallTile.scale-100_contrast-white.png -- 0.78kb -> 0.67kb (13.66%) /res/terminal/images-Dev/SplashScreen.scale-150_contrast-white.png -- 2.85kb -> 2.46kb (13.65%) /res/terminal/images-Pre/LargeTile.scale-200_contrast-black.png -- 3.08kb -> 2.66kb (13.64%) /res/terminal/images-Dev/SmallTile.scale-200_contrast-white.png -- 1.17kb -> 1.01kb (13.64%) /res/terminal/images-Universal/LargeTile.scale-400.png -- 35.15kb -> 30.37kb (13.62%) /doc/specs/#885 - Terminal Settings Model/Inheritance-DAG.png -- 33.94kb -> 29.33kb (13.58%) /res/terminal/images-Dev/SplashScreen.scale-150_contrast-black.png -- 2.88kb -> 2.49kb (13.55%) /res/terminal/images-Pre/Wide310x150Logo.scale-200_contrast-white.png -- 1.80kb -> 1.56kb (13.48%) /res/terminal/images-Pre/SplashScreen.scale-100_contrast-white.png -- 1.80kb -> 1.56kb (13.48%) /res/terminal/images/Square150x150Logo.scale-125_contrast-white.png -- 0.80kb -> 0.69kb (13.48%) /res/terminal/images-Pre/Square44x44Logo.targetsize-80_contrast-white.png -- 1.12kb -> 0.97kb (13.48%) /res/terminal/images-Pre/Square44x44Logo.targetsize-80_altform-unplated_contrast-white.png -- 1.12kb -> 0.97kb (13.48%) /res/terminal/images-Dev/Square44x44Logo.targetsize-80_contrast-white.png -- 1.17kb -> 1.01kb (13.46%) /res/terminal/images-Dev/Square44x44Logo.targetsize-80_altform-unplated_contrast-white.png -- 1.17kb -> 1.01kb (13.46%) /res/terminal/images/Square44x44Logo.scale-150_contrast-black.png -- 0.61kb -> 0.53kb (13.44%) /res/terminal/images/Square150x150Logo.scale-100_contrast-white.png -- 0.68kb -> 0.59kb (13.29%) /res/terminal/images-Pre/StoreLogo.scale-200_contrast-white.png -- 1.07kb -> 0.93kb (13.19%) /res/terminal/images-Pre/Square150x150Logo.scale-400_contrast-white.png -- 3.00kb -> 2.61kb (13.15%) /res/terminal/images/Wide310x150Logo.scale-125_contrast-black.png -- 0.94kb -> 0.81kb (13.14%) /res/terminal/images/Wide310x150Logo.scale-200_contrast-white.png -- 1.34kb -> 1.16kb (13.13%) /res/terminal/images/SplashScreen.scale-100_contrast-white.png -- 1.34kb -> 1.16kb (13.13%) /res/terminal/images-Dev/Square44x44Logo.scale-150_contrast-black.png -- 0.84kb -> 0.73kb (13.05%) /res/terminal/images/SplashScreen.scale-200_contrast-black.png -- 3.17kb -> 2.76kb (13.05%) /res/terminal/images/Wide310x150Logo.scale-400_contrast-black.png -- 3.17kb -> 2.76kb (13.05%) /res/terminal/images-Dev/SmallTile.scale-100_contrast-black.png -- 0.79kb -> 0.69kb (12.98%) /src/tools/integrity/packageuwp/assets/Default_User_Tile.scale-100.png -- 0.58kb -> 0.50kb (12.96%) /res/terminal/images-Dev/Wide310x150Logo.scale-125_contrast-black.png -- 1.35kb -> 1.18kb (12.94%) /src/tools/integrity/packageuwp/assets/Logo.scale-100.png -- 0.92kb -> 0.80kb (12.9%) /res/terminal/images-Dev/Square44x44Logo.scale-200_contrast-black.png -- 1.04kb -> 0.91kb (12.8%) /res/terminal/images-Pre/LargeTile.scale-200_contrast-white.png -- 3.04kb -> 2.65kb (12.74%) /res/terminal/images-Pre/Square44x44Logo.scale-200_contrast-black.png -- 1.01kb -> 0.88kb (12.69%) /res/terminal/images-Dev/Square150x150Logo.scale-100_contrast-white.png -- 0.93kb -> 0.81kb (12.68%) /src/tools/integrity/packageuwp/assets/WideLogo.scale-100.png -- 1.06kb -> 0.93kb (12.58%) /res/terminal/images-Pre/Wide310x150Logo.scale-125_contrast-black.png -- 1.29kb -> 1.13kb (12.58%) /res/terminal/images-Pre/SmallTile.scale-150_contrast-black.png -- 1.00kb -> 0.88kb (12.57%) /res/terminal/images-Dev/StoreLogo.scale-100_contrast-black.png -- 0.76kb -> 0.67kb (12.56%) /res/terminal/images-Pre/Square44x44Logo.scale-150_contrast-black.png -- 0.82kb -> 0.72kb (12.49%) /res/terminal/images-Dev/SplashScreen.scale-100_contrast-white.png -- 1.85kb -> 1.62kb (12.4%) /res/terminal/images-Dev/Wide310x150Logo.scale-200_contrast-white.png -- 1.85kb -> 1.62kb (12.4%) /res/terminal/images-Pre/SmallTile.scale-150_contrast-white.png -- 1.00kb -> 0.88kb (12.38%) /res/terminal/images/Square44x44Logo.scale-200_contrast-black.png -- 0.68kb -> 0.60kb (12.34%) /res/terminal/images-Universal/Square44x44Logo.targetsize-256.png -- 16.49kb -> 14.45kb (12.34%) /res/terminal/images-Universal/Square44x44Logo.targetsize-256_altform-unplated.png -- 16.49kb -> 14.45kb (12.34%) /res/terminal/images/SplashScreen.scale-150_contrast-black.png -- 2.19kb -> 1.92kb (12.32%) /res/terminal/images-Dev/Square150x150Logo.scale-150_contrast-white.png -- 1.29kb -> 1.13kb (12.28%) /res/terminal/images-Pre/Square44x44Logo.targetsize-32_altform-unplated_contrast-black.png -- 0.67kb -> 0.58kb (12.19%) /res/terminal/images-Pre/Square44x44Logo.targetsize-32_contrast-black.png -- 0.67kb -> 0.58kb (12.19%) /res/terminal/images-Pre/Square150x150Logo.scale-100_contrast-white.png -- 0.91kb -> 0.80kb (12.18%) /res/terminal/images-Dev/SmallTile.scale-150_contrast-black.png -- 1.02kb -> 0.90kb (12.16%) /res/terminal/images/SplashScreen.scale-200_contrast-white.png -- 3.12kb -> 2.74kb (12.16%) /res/terminal/images/Wide310x150Logo.scale-400_contrast-white.png -- 3.12kb -> 2.74kb (12.16%) /res/terminal/images-Dev/SplashScreen.scale-200_contrast-black.png -- 4.06kb -> 3.57kb (12.12%) /res/terminal/images-Dev/Wide310x150Logo.scale-400_contrast-black.png -- 4.06kb -> 3.57kb (12.12%) /res/terminal/images-Dev/StoreLogo.scale-100_contrast-white.png -- 0.76kb -> 0.67kb (12.1%) /res/terminal/images/Square150x150Logo.scale-150_contrast-white.png -- 0.89kb -> 0.78kb (12.09%) /res/terminal/images-Dev/SmallTile.scale-100_contrast-white.png -- 0.78kb -> 0.69kb (11.88%) /res/terminal/images-Dev/StoreLogo.scale-200_contrast-white.png -- 1.09kb -> 0.96kb (11.8%) /res/terminal/images-Dev/Wide310x150Logo.scale-125_contrast-white.png -- 1.32kb -> 1.16kb (11.78%) /res/terminal/images-Pre/Wide310x150Logo.scale-100_contrast-white.png -- 0.99kb -> 0.87kb (11.74%) /res/terminal/images-Pre/Wide310x150Logo.scale-150_contrast-white.png -- 1.37kb -> 1.21kb (11.7%) /res/terminal/images-Pre/StoreLogo.scale-125_contrast-white.png -- 0.86kb -> 0.76kb (11.62%) /res/terminal/images-Pre/Square150x150Logo.scale-125_contrast-white.png -- 1.13kb -> 1.00kb (11.55%) /res/terminal/images/Wide310x150Logo.scale-100_contrast-white.png -- 0.74kb -> 0.65kb (11.38%) /res/terminal/images-Pre/SplashScreen.scale-200_contrast-black.png -- 3.81kb -> 3.38kb (11.26%) /res/terminal/images-Pre/Wide310x150Logo.scale-400_contrast-black.png -- 3.81kb -> 3.38kb (11.26%) /res/terminal/images-Dev/StoreLogo.scale-150_contrast-black.png -- 0.98kb -> 0.87kb (11.25%) /res/terminal/images-Pre/Square44x44Logo.targetsize-72_contrast-white.png -- 1.00kb -> 0.89kb (11.2%) /res/terminal/images-Pre/Square44x44Logo.targetsize-72_altform-unplated_contrast-white.png -- 1.00kb -> 0.89kb (11.2%) /res/terminal/images-Dev/Square44x44Logo.targetsize-32_altform-unplated_contrast-black.png -- 0.66kb -> 0.59kb (11.19%) /res/terminal/images-Dev/Square44x44Logo.targetsize-32_contrast-black.png -- 0.66kb -> 0.59kb (11.19%) /res/terminal/images/Square44x44Logo.scale-150_contrast-white.png -- 0.59kb -> 0.53kb (11.18%) /res/terminal/images-Dev/SmallTile.scale-150_contrast-white.png -- 1.01kb -> 0.90kb (11.18%) /res/terminal/images/StoreLogo.scale-200_contrast-white.png -- 0.73kb -> 0.65kb (11.17%) /res/terminal/images-Dev/Square44x44Logo.scale-200_contrast-white.png -- 1.02kb -> 0.91kb (11.15%) /res/terminal/images-Pre/StoreLogo.scale-150_contrast-black.png -- 0.96kb -> 0.85kb (11.13%) /res/terminal/images-Dev/Wide310x150Logo.scale-400_contrast-white.png -- 4.00kb -> 3.56kb (11.08%) /res/terminal/images-Dev/SplashScreen.scale-200_contrast-white.png -- 4.00kb -> 3.56kb (11.08%) /res/terminal/images-Universal/SplashScreen.scale-400.png -- 41.41kb -> 36.83kb (11.07%) /res/terminal/images-Pre/Square44x44Logo.scale-200_contrast-white.png -- 0.99kb -> 0.88kb (10.89%) /res/terminal/images/Wide310x150Logo.scale-125_contrast-white.png -- 0.90kb -> 0.80kb (10.87%) /res/terminal/images-Dev/Square44x44Logo.targetsize-60_altform-unplated_contrast-white.png -- 0.99kb -> 0.88kb (10.86%) /res/terminal/images-Dev/Square44x44Logo.targetsize-60_contrast-white.png -- 0.99kb -> 0.88kb (10.86%) /res/terminal/images-Pre/SmallTile.scale-125_contrast-white.png -- 0.88kb -> 0.79kb (10.84%) /res/terminal/images/StoreLogo.scale-125_contrast-black.png -- 0.59kb -> 0.52kb (10.83%) /res/terminal/images-Pre/SmallTile.scale-125_contrast-black.png -- 0.88kb -> 0.79kb (10.82%) /res/terminal/images/SmallTile.scale-100_contrast-black.png -- 0.55kb -> 0.49kb (10.78%) /res/terminal/images-Dev/Wide310x150Logo.scale-100_contrast-white.png -- 1.00kb -> 0.89kb (10.72%) /res/terminal/images-Pre/StoreLogo.scale-150_contrast-white.png -- 0.95kb -> 0.85kb (10.56%) /res/terminal/images/LargeTile.scale-400_contrast-white.png -- 5.99kb -> 5.35kb (10.55%) /res/terminal/images-Pre/Square44x44Logo.scale-150_contrast-white.png -- 0.81kb -> 0.72kb (10.51%) /res/terminal/images-Dev/Square44x44Logo.scale-150_contrast-white.png -- 0.83kb -> 0.74kb (10.41%) /res/terminal/images-Dev/Square44x44Logo.targetsize-24_contrast-black.png -- 0.59kb -> 0.53kb (10.41%) /res/terminal/images-Dev/LockScreenLogo.scale-100_contrast-black.png -- 0.59kb -> 0.53kb (10.41%) /res/terminal/images-Dev/Square44x44Logo.targetsize-24_altform-unplated_contrast-black.png -- 0.59kb -> 0.53kb (10.41%) /res/terminal/images/LargeTile.scale-400_contrast-black.png -- 5.99kb -> 5.37kb (10.38%) /res/terminal/images/SmallTile.scale-125_contrast-black.png -- 0.61kb -> 0.55kb (10.38%) /res/terminal/images-Pre/StoreLogo.scale-125_contrast-black.png -- 0.86kb -> 0.77kb (10.38%) /res/terminal/images-Pre/Wide310x150Logo.scale-125_contrast-white.png -- 1.25kb -> 1.12kb (10.35%) /res/terminal/images/Square44x44Logo.targetsize-60_contrast-white.png -- 0.63kb -> 0.57kb (10.31%) /res/terminal/images/Square44x44Logo.targetsize-60_altform-unplated_contrast-white.png -- 0.63kb -> 0.57kb (10.31%) /doc/reference/solution-dependencygraph.png -- 129.98kb -> 116.59kb (10.31%) /res/terminal/images-Pre/LockScreenLogo.scale-150_contrast-white.png -- 0.71kb -> 0.64kb (10.27%) /res/terminal/images-Pre/Square44x44Logo.targetsize-36_altform-unplated_contrast-white.png -- 0.71kb -> 0.64kb (10.27%) /res/terminal/images-Pre/Square44x44Logo.targetsize-36_contrast-white.png -- 0.71kb -> 0.64kb (10.27%) /res/terminal/images-Dev/Square44x44Logo.scale-125_contrast-white.png -- 0.77kb -> 0.69kb (10.25%) /res/terminal/images-Pre/SplashScreen.scale-200_contrast-white.png -- 3.76kb -> 3.37kb (10.24%) /res/terminal/images-Pre/Wide310x150Logo.scale-400_contrast-white.png -- 3.76kb -> 3.37kb (10.24%) /doc/images/terminal-mockup.png -- 109.67kb -> 98.52kb (10.17%) /res/terminal/images/StoreLogo.scale-100_contrast-black.png -- 0.53kb -> 0.47kb (10.17%) /res/terminal/images-Dev/Square44x44Logo.scale-125_contrast-black.png -- 0.76kb -> 0.69kb (10.09%) /res/terminal/images-Dev/StoreLogo.scale-150_contrast-white.png -- 0.97kb -> 0.87kb (10.06%) /res/terminal/images/Wide310x150Logo.scale-150_contrast-white.png -- 1.00kb -> 0.90kb (10.01%) /res/terminal/images-Dev/Wide310x150Logo.scale-150_contrast-white.png -- 1.39kb -> 1.25kb (9.86%) /res/terminal/images/Square44x44Logo.targetsize-80_contrast-white.png -- 0.74kb -> 0.67kb (9.78%) /res/terminal/images/Square44x44Logo.targetsize-80_altform-unplated_contrast-white.png -- 0.74kb -> 0.67kb (9.78%) /res/terminal/images-Pre/Square44x44Logo.targetsize-64_altform-unplated_contrast-white.png -- 0.94kb -> 0.85kb (9.76%) /res/terminal/images-Pre/Square44x44Logo.targetsize-64_contrast-white.png -- 0.94kb -> 0.85kb (9.76%) /res/terminal/images-Dev/SmallTile.scale-125_contrast-black.png -- 0.90kb -> 0.82kb (9.73%) /res/terminal/images-Pre/Square44x44Logo.targetsize-48_altform-unplated_contrast-white.png -- 0.77kb -> 0.70kb (9.6%) /res/terminal/images-Pre/LockScreenLogo.scale-200_contrast-white.png -- 0.77kb -> 0.70kb (9.6%) /res/terminal/images-Pre/Square44x44Logo.targetsize-48_contrast-white.png -- 0.77kb -> 0.70kb (9.6%) /res/terminal/images/LockScreenLogo.scale-200_contrast-black.png -- 0.56kb -> 0.51kb (9.58%) /res/terminal/images/Square44x44Logo.targetsize-48_contrast-black.png -- 0.56kb -> 0.51kb (9.58%) /res/terminal/images/Square44x44Logo.targetsize-48_altform-unplated_contrast-black.png -- 0.56kb -> 0.51kb (9.58%) /res/terminal/images/StoreLogo.scale-125_contrast-white.png -- 0.58kb -> 0.52kb (9.48%) /res/terminal/images/SmallTile.scale-125_contrast-white.png -- 0.60kb -> 0.54kb (9.43%) /res/terminal/images-Pre/Square44x44Logo.scale-125_contrast-black.png -- 0.76kb -> 0.69kb (9.42%) /res/terminal/images-Dev/Square44x44Logo.targetsize-72_contrast-white.png -- 1.02kb -> 0.92kb (9.41%) /res/terminal/images-Dev/Square44x44Logo.targetsize-72_altform-unplated_contrast-white.png -- 1.02kb -> 0.92kb (9.41%) /res/terminal/images-Dev/StoreLogo.scale-125_contrast-black.png -- 0.87kb -> 0.79kb (9.4%) /res/terminal/images/Square44x44Logo.scale-200_contrast-white.png -- 0.66kb -> 0.60kb (9.32%) /res/terminal/images-UniversalDev/LargeTile.scale-400.png -- 45.43kb -> 41.25kb (9.2%) /res/terminal/images-Dev/Square44x44Logo.targetsize-48_altform-unplated_contrast-white.png -- 0.79kb -> 0.71kb (9.19%) /res/terminal/images-Dev/LockScreenLogo.scale-200_contrast-white.png -- 0.79kb -> 0.71kb (9.19%) /res/terminal/images-Dev/Square44x44Logo.targetsize-48_contrast-white.png -- 0.79kb -> 0.71kb (9.19%) /res/terminal/images-Dev/SmallTile.scale-125_contrast-white.png -- 0.90kb -> 0.81kb (9.15%) /res/terminal/images-Pre/Square44x44Logo.scale-125_contrast-white.png -- 0.76kb -> 0.69kb (9.14%) /res/terminal/images-Pre/Square44x44Logo.targetsize-60_contrast-white.png -- 0.93kb -> 0.85kb (9.13%) /res/terminal/images-Pre/Square44x44Logo.targetsize-60_altform-unplated_contrast-white.png -- 0.93kb -> 0.85kb (9.13%) /res/terminal/images/SmallTile.scale-150_contrast-black.png -- 0.65kb -> 0.59kb (9.12%) /res/terminal/images-Pre/LockScreenLogo.scale-100_contrast-black.png -- 0.58kb -> 0.53kb (9.08%) /res/terminal/images-Pre/Square44x44Logo.targetsize-24_altform-unplated_contrast-black.png -- 0.58kb -> 0.53kb (9.08%) /res/terminal/images-Pre/Square44x44Logo.targetsize-24_contrast-black.png -- 0.58kb -> 0.53kb (9.08%) /res/terminal/images/StoreLogo.scale-150_contrast-black.png -- 0.63kb -> 0.57kb (9.05%) /res/terminal/images-Pre/StoreLogo.scale-400.png -- 5.03kb -> 4.58kb (9.02%) /res/terminal/images-Pre/LargeTile.scale-400_contrast-black.png -- 6.99kb -> 6.36kb (9.02%) /res/terminal/images-Dev/StoreLogo.scale-125_contrast-white.png -- 0.87kb -> 0.79kb (9%) /res/terminal/images-Pre/Square44x44Logo.scale-100_contrast-black.png -- 0.65kb -> 0.59kb (9%) /res/terminal/images-Pre/LargeTile.scale-400_contrast-white.png -- 6.99kb -> 6.37kb (8.89%) /res/terminal/images-Dev/Square44x44Logo.targetsize-64_contrast-white.png -- 0.97kb -> 0.88kb (8.89%) /res/terminal/images-Dev/Square44x44Logo.targetsize-64_altform-unplated_contrast-white.png -- 0.97kb -> 0.88kb (8.89%) /res/terminal/images-Dev/LargeTile.scale-400_contrast-black.png -- 7.50kb -> 6.83kb (8.88%) /res/terminal/images-Pre/Square44x44Logo.scale-100_contrast-white.png -- 0.65kb -> 0.60kb (8.81%) /res/terminal/images-Dev/StoreLogo.scale-400.png -- 5.18kb -> 4.72kb (8.79%) /res/terminal/images-Dev/LargeTile.scale-400_contrast-white.png -- 7.48kb -> 6.83kb (8.64%) /res/terminal/images-Dev/Square44x44Logo.targetsize-40_contrast-white.png -- 0.74kb -> 0.67kb (8.61%) /res/terminal/images-Dev/Square44x44Logo.targetsize-40_altform-unplated_contrast-white.png -- 0.74kb -> 0.67kb (8.61%) /res/terminal/images-Pre/Square44x44Logo.targetsize-96_altform-unplated.png -- 2.83kb -> 2.59kb (8.52%) /res/terminal/images-Pre/LockScreenLogo.scale-400.png -- 2.83kb -> 2.59kb (8.52%) /res/terminal/images-Pre/Square44x44Logo.targetsize-96.png -- 2.83kb -> 2.59kb (8.52%) /res/terminal/images/Square44x44Logo.targetsize-72_altform-unplated_contrast-white.png -- 0.68kb -> 0.62kb (8.45%) /res/terminal/images/Square44x44Logo.targetsize-72_contrast-white.png -- 0.68kb -> 0.62kb (8.45%) /res/terminal/images/SmallTile.scale-100_contrast-white.png -- 0.54kb -> 0.49kb (8.2%) /res/terminal/images/Square44x44Logo.scale-125_contrast-white.png -- 0.55kb -> 0.50kb (8.19%) /src/tools/integrity/packageuwp/assets/SmallLogo.scale-100.png -- 0.63kb -> 0.58kb (8.06%) /res/terminal/images-Pre/Square44x44Logo.targetsize-80_altform-unplated.png -- 2.55kb -> 2.35kb (8.03%) /res/terminal/images-Pre/Square44x44Logo.targetsize-80.png -- 2.55kb -> 2.35kb (8.03%) /res/terminal/Terminal_HC.svg -- 1.24kb -> 1.14kb (7.98%) /res/terminal/images-Dev/SmallTile.scale-400.png -- 5.50kb -> 5.06kb (7.94%) /res/terminal/images-Pre/SmallTile.scale-400.png -- 5.36kb -> 4.93kb (7.9%) /res/terminal/images-Pre/Square44x44Logo.targetsize-256_altform-unplated.png -- 8.19kb -> 7.55kb (7.88%) /res/terminal/images-Pre/Square44x44Logo.targetsize-256.png -- 8.19kb -> 7.55kb (7.88%) /res/terminal/images-Pre/Square44x44Logo.targetsize-24_altform-unplated_contrast-white.png -- 0.57kb -> 0.53kb (7.85%) /res/terminal/images-Pre/Square44x44Logo.targetsize-24_contrast-white.png -- 0.57kb -> 0.53kb (7.85%) /res/terminal/images-Pre/LockScreenLogo.scale-100_contrast-white.png -- 0.57kb -> 0.53kb (7.85%) /res/terminal/images-Dev/LockScreenLogo.scale-150_contrast-white.png -- 0.71kb -> 0.66kb (7.83%) /res/terminal/images-Dev/Square44x44Logo.targetsize-36_contrast-white.png -- 0.71kb -> 0.66kb (7.83%) /res/terminal/images-Dev/Square44x44Logo.targetsize-36_altform-unplated_contrast-white.png -- 0.71kb -> 0.66kb (7.83%) /res/terminal/images-Pre/Square150x150Logo.scale-400.png -- 8.25kb -> 7.61kb (7.77%) /res/terminal/images/SmallTile.scale-150_contrast-white.png -- 0.64kb -> 0.59kb (7.76%) /res/terminal/images-Dev/LockScreenLogo.scale-100_contrast-white.png -- 0.58kb -> 0.54kb (7.74%) /res/terminal/images-Dev/Square44x44Logo.targetsize-24_altform-unplated_contrast-white.png -- 0.58kb -> 0.54kb (7.74%) /res/terminal/images-Dev/Square44x44Logo.targetsize-24_contrast-white.png -- 0.58kb -> 0.54kb (7.74%) /doc/images/solution-platform.png -- 109.76kb -> 101.27kb (7.74%) /res/terminal/images-Pre/LargeTile.scale-200.png -- 8.34kb -> 7.70kb (7.69%) /res/terminal/images-Universal/StoreLogo.scale-400.png -- 9.05kb -> 8.35kb (7.68%) /res/terminal/images/Square44x44Logo.targetsize-48_altform-unplated_contrast-white.png -- 0.55kb -> 0.51kb (7.43%) /res/terminal/images/Square44x44Logo.targetsize-48_contrast-white.png -- 0.55kb -> 0.51kb (7.43%) /res/terminal/images/LockScreenLogo.scale-200_contrast-white.png -- 0.55kb -> 0.51kb (7.43%) /res/terminal/images-Pre/Square44x44Logo.targetsize-32_altform-unplated_contrast-white.png -- 0.63kb -> 0.58kb (7.42%) /res/terminal/images-Pre/Square44x44Logo.targetsize-32_contrast-white.png -- 0.63kb -> 0.58kb (7.42%) /res/terminal/images/Square44x44Logo.scale-125_contrast-black.png -- 0.54kb -> 0.50kb (7.4%) /res/terminal/images-Dev/LargeTile.scale-200.png -- 8.48kb -> 7.85kb (7.36%) /res/terminal/images-Dev/Square150x150Logo.scale-200.png -- 3.90kb -> 3.61kb (7.34%) /res/terminal/images-Pre/LargeTile.scale-150.png -- 6.00kb -> 5.57kb (7.24%) /res/terminal/images-Dev/Square150x150Logo.scale-400.png -- 8.38kb -> 7.78kb (7.19%) /res/terminal/images/StoreLogo.scale-150_contrast-white.png -- 0.61kb -> 0.57kb (7.18%) /res/terminal/images-Dev/LargeTile.scale-100.png -- 3.92kb -> 3.64kb (7.17%) /res/terminal/images-Pre/SmallTile.scale-200.png -- 2.78kb -> 2.58kb (7.14%) /res/terminal/images/StoreLogo.scale-100_contrast-white.png -- 0.51kb -> 0.47kb (7.07%) /res/terminal/images-Pre/Square44x44Logo.targetsize-40_contrast-white.png -- 0.72kb -> 0.67kb (7.02%) /res/terminal/images-Pre/Square44x44Logo.targetsize-40_altform-unplated_contrast-white.png -- 0.72kb -> 0.67kb (7.02%) /res/terminal/images-Dev/SmallTile.scale-200.png -- 2.82kb -> 2.63kb (6.92%) /res/terminal/images-Universal/LargeTile.scale-200.png -- 14.99kb -> 13.96kb (6.89%) /res/terminal/images-UniversalDev/LargeTile.scale-200.png -- 19.07kb -> 17.75kb (6.88%) /res/terminal/images-Dev/LargeTile.scale-150.png -- 6.15kb -> 5.73kb (6.87%) /res/terminal/images-UniversalDev/Square150x150Logo.scale-400.png -- 18.90kb -> 17.60kb (6.84%) /res/terminal/images/Square44x44Logo.targetsize-30_altform-unplated_contrast-white.png -- 0.51kb -> 0.47kb (6.76%) /res/terminal/images/Square44x44Logo.targetsize-30_contrast-white.png -- 0.51kb -> 0.47kb (6.76%) /res/terminal/images/LockScreenLogo.scale-125_contrast-white.png -- 0.51kb -> 0.47kb (6.76%) /res/terminal/images/Square44x44Logo.scale-100_contrast-black.png -- 0.49kb -> 0.46kb (6.75%) /res/terminal/images-Pre/Square44x44Logo.scale-400.png -- 4.35kb -> 4.06kb (6.74%) /res/terminal/images-Dev/Square44x44Logo.targetsize-256.png -- 8.38kb -> 7.82kb (6.68%) /res/terminal/images-Dev/Square44x44Logo.targetsize-256_altform-unplated.png -- 8.38kb -> 7.82kb (6.68%) /res/terminal/images-Universal/Square150x150Logo.scale-400.png -- 14.84kb -> 13.85kb (6.67%) /res/terminal/images-Dev/Square44x44Logo.scale-400.png -- 4.47kb -> 4.17kb (6.66%) /res/terminal/images/Square44x44Logo.targetsize-64_altform-unplated_contrast-white.png -- 0.62kb -> 0.58kb (6.62%) /res/terminal/images/Square44x44Logo.targetsize-64_contrast-white.png -- 0.62kb -> 0.58kb (6.62%) /res/terminal/images/Square44x44Logo.scale-100_contrast-white.png -- 0.49kb -> 0.46kb (6.59%) /res/terminal/images-Pre/LargeTile.scale-125.png -- 5.02kb -> 4.69kb (6.53%) /res/terminal/images/Square44x44Logo.targetsize-32_altform-unplated_contrast-white.png -- 0.48kb -> 0.45kb (6.53%) /res/terminal/images/Square44x44Logo.targetsize-32_contrast-white.png -- 0.48kb -> 0.45kb (6.53%) /res/terminal/images-Dev/LargeTile.scale-125.png -- 5.11kb -> 4.79kb (6.25%) /res/terminal/images-Universal/Wide310x150Logo.scale-400.png -- 16.70kb -> 15.70kb (5.98%) /res/terminal/images-Universal/SplashScreen.scale-200.png -- 16.70kb -> 15.70kb (5.98%) /res/terminal/images/SplashScreen.scale-400_contrast-white.png -- 8.77kb -> 8.25kb (5.94%) /res/terminal/images-Dev/Square44x44Logo.targetsize-30_altform-unplated_contrast-white.png -- 0.67kb -> 0.63kb (5.84%) /res/terminal/images-Dev/Square44x44Logo.targetsize-30_contrast-white.png -- 0.67kb -> 0.63kb (5.84%) /res/terminal/images-Dev/LockScreenLogo.scale-125_contrast-white.png -- 0.67kb -> 0.63kb (5.84%) /res/terminal/images/Square44x44Logo.targetsize-40_altform-unplated_contrast-white.png -- 0.52kb -> 0.49kb (5.83%) /res/terminal/images/Square44x44Logo.targetsize-40_contrast-white.png -- 0.52kb -> 0.49kb (5.83%) /res/terminal/images-Universal/SmallTile.scale-400.png -- 9.54kb -> 8.99kb (5.76%) /res/terminal/images-Dev/Square44x44Logo.scale-100_contrast-black.png -- 0.63kb -> 0.60kb (5.69%) /res/terminal/images-Dev/Square44x44Logo.scale-100_contrast-white.png -- 0.64kb -> 0.60kb (5.67%) /res/terminal/images-Pre/SplashScreen.scale-150.png -- 6.85kb -> 6.46kb (5.65%) /res/terminal/images-Dev/Square44x44Logo.targetsize-20_altform-unplated_contrast-white.png -- 0.53kb -> 0.50kb (5.56%) /res/terminal/images-Dev/Square44x44Logo.targetsize-20_contrast-white.png -- 0.53kb -> 0.50kb (5.56%) /res/terminal/images-Pre/Square44x44Logo.targetsize-20_contrast-white.png -- 0.53kb -> 0.50kb (5.49%) /res/terminal/images-Pre/Square44x44Logo.targetsize-20_altform-unplated_contrast-white.png -- 0.53kb -> 0.50kb (5.49%) /res/terminal/images-Pre/SplashScreen.scale-125.png -- 5.67kb -> 5.36kb (5.46%) /res/terminal/images-Dev/SplashScreen.scale-400_contrast-white.png -- 10.28kb -> 9.72kb (5.43%) /doc/specs/#1502 - Advanced Tab Switcher/img/VSCodeMinimumTabSwitcherSize.png -- 32.37kb -> 30.62kb (5.41%) /res/terminal/images-Pre/Square150x150Logo.scale-150.png -- 2.98kb -> 2.82kb (5.37%) /res/terminal/images-Pre/LargeTile.scale-400.png -- 19.64kb -> 18.58kb (5.37%) /res/terminal/images-Pre/SplashScreen.scale-400_contrast-white.png -- 9.78kb -> 9.26kb (5.33%) /res/terminal/images-Dev/Square150x150Logo.scale-125.png -- 2.64kb -> 2.50kb (5.28%) /res/terminal/images-Dev/SplashScreen.scale-150.png -- 7.02kb -> 6.65kb (5.27%) /res/terminal/images-Dev/LargeTile.scale-400.png -- 20.15kb -> 19.10kb (5.21%) /res/terminal/images-Dev/SplashScreen.scale-125.png -- 5.75kb -> 5.45kb (5.18%) /res/terminal/images-Pre/Square44x44Logo.targetsize-30_altform-unplated_contrast-white.png -- 0.66kb -> 0.63kb (5.15%) /res/terminal/images-Pre/LockScreenLogo.scale-125_contrast-white.png -- 0.66kb -> 0.63kb (5.15%) /res/terminal/images-Pre/Square44x44Logo.targetsize-30_contrast-white.png -- 0.66kb -> 0.63kb (5.15%) /res/terminal/images-Dev/Square150x150Logo.scale-150.png -- 3.02kb -> 2.86kb (5.08%) /res/terminal/images-Dev/Square44x44Logo.targetsize-32_altform-unplated_contrast-white.png -- 0.62kb -> 0.59kb (5.03%) /res/terminal/images-Dev/Square44x44Logo.targetsize-32_contrast-white.png -- 0.62kb -> 0.59kb (5.03%) /res/terminal/images/SplashScreen.scale-400_contrast-black.png -- 8.77kb -> 8.33kb (5.03%) /res/terminal/images/Square44x44Logo.targetsize-36_altform-unplated_contrast-white.png -- 0.49kb -> 0.46kb (4.99%) /res/terminal/images/Square44x44Logo.targetsize-36_contrast-white.png -- 0.49kb -> 0.46kb (4.99%) /res/terminal/images/LockScreenLogo.scale-150_contrast-white.png -- 0.49kb -> 0.46kb (4.99%) /res/terminal/images-Universal/Square44x44Logo.scale-400.png -- 7.81kb -> 7.42kb (4.99%) /res/terminal/images/Square44x44Logo.targetsize-20_contrast-white.png -- 0.42kb -> 0.40kb (4.92%) /res/terminal/images/Square44x44Logo.targetsize-20_altform-unplated_contrast-white.png -- 0.42kb -> 0.40kb (4.92%) /res/terminal/images-Dev/SplashScreen.scale-400_contrast-black.png -- 10.30kb -> 9.82kb (4.73%) /res/terminal/images-Dev/Wide310x150Logo.scale-125.png -- 2.90kb -> 2.76kb (4.71%) /res/terminal/images-Pre/StoreLogo.scale-200.png -- 2.59kb -> 2.46kb (4.68%) /res/terminal/images-Pre/SplashScreen.scale-400_contrast-black.png -- 9.80kb -> 9.35kb (4.57%) /res/terminal/images-Universal/LargeTile.scale-150.png -- 10.44kb -> 9.97kb (4.49%) /res/terminal/images-UniversalDev/SplashScreen.scale-400.png -- 51.88kb -> 49.55kb (4.49%) /res/terminal/images-UniversalDev/StoreLogo.scale-400.png -- 11.35kb -> 10.85kb (4.45%) /res/terminal/images-Dev/StoreLogo.scale-200.png -- 2.62kb -> 2.51kb (4.32%) /res/terminal/images-Dev/Wide310x150Logo.scale-200.png -- 4.32kb -> 4.14kb (4.32%) /res/terminal/images-Dev/SplashScreen.scale-100.png -- 4.32kb -> 4.14kb (4.32%) /res/terminal/images/Square44x44Logo.targetsize-24_contrast-white.png -- 0.43kb -> 0.42kb (4.28%) /res/terminal/images/Square44x44Logo.targetsize-24_altform-unplated_contrast-white.png -- 0.43kb -> 0.42kb (4.28%) /res/terminal/images/LockScreenLogo.scale-100_contrast-white.png -- 0.43kb -> 0.42kb (4.28%) /res/terminal/Terminal_Dev_HC.svg -- 2.49kb -> 2.38kb (4.13%) /res/terminal/images-Pre/Square44x44Logo.targetsize-16_contrast-white.png -- 0.47kb -> 0.45kb (4.12%) /res/terminal/images-Pre/Square44x44Logo.targetsize-16_altform-unplated_contrast-white.png -- 0.47kb -> 0.45kb (4.12%) /res/terminal/images-UniversalDev/SmallTile.scale-400.png -- 11.97kb -> 11.48kb (4.09%) /res/terminal/images-Pre/Wide310x150Logo.scale-150.png -- 3.25kb -> 3.11kb (4.06%) /res/terminal/images/Square44x44Logo.targetsize-16_contrast-white.png -- 0.39kb -> 0.37kb (4.05%) /res/terminal/images/Square44x44Logo.targetsize-16_altform-unplated_contrast-white.png -- 0.39kb -> 0.37kb (4.05%) /res/terminal/images-Universal/Square150x150Logo.scale-200.png -- 6.42kb -> 6.17kb (3.92%) /src/tools/integrity/packageuwp/assets/AppList.targetsize-48.png -- 0.63kb -> 0.60kb (3.88%) /res/terminal/images-Pre/Wide310x150Logo.scale-400.png -- 9.87kb -> 9.49kb (3.87%) /res/terminal/images-Pre/SplashScreen.scale-200.png -- 9.87kb -> 9.49kb (3.87%) /res/terminal/images-Universal/LargeTile.scale-100.png -- 6.45kb -> 6.21kb (3.75%) /res/terminal/images-Dev/Wide310x150Logo.scale-150.png -- 3.29kb -> 3.16kb (3.74%) /res/terminal/Terminal_Pre_HC.svg -- 2.82kb -> 2.71kb (3.64%) /res/terminal/images-Universal/SplashScreen.scale-150.png -- 11.53kb -> 11.11kb (3.59%) /res/terminal/images-UniversalDev/LargeTile.scale-150.png -- 12.93kb -> 12.47kb (3.56%) /res/terminal/images-Universal/LargeTile.scale-125.png -- 8.44kb -> 8.14kb (3.52%) /res/terminal/images-Dev/SplashScreen.scale-400.png -- 26.13kb -> 25.21kb (3.52%) /res/terminal/images/Square44x44Logo.targetsize-30_contrast-black.png -- 0.48kb -> 0.46kb (3.46%) /res/terminal/images/LockScreenLogo.scale-125_contrast-black.png -- 0.48kb -> 0.46kb (3.46%) /res/terminal/images/Square44x44Logo.targetsize-30_altform-unplated_contrast-black.png -- 0.48kb -> 0.46kb (3.46%) /res/terminal/images-Universal/SmallTile.scale-200.png -- 4.23kb -> 4.08kb (3.46%) /res/terminal/images-Pre/SplashScreen.scale-400.png -- 25.55kb -> 24.68kb (3.43%) /res/terminal/images-Universal/Square150x150Logo.scale-125.png -- 3.74kb -> 3.61kb (3.4%) /res/terminal/images-Universal/Square150x150Logo.scale-150.png -- 4.52kb -> 4.37kb (3.24%) /res/terminal/images-UniversalDev/Square44x44Logo.scale-400.png -- 9.90kb -> 9.59kb (3.09%) /res/terminal/images-Pre/Square150x150Logo.scale-200.png -- 2.92kb -> 2.83kb (3.05%) /res/terminal/images-UniversalDev/SmallTile.scale-200.png -- 5.14kb -> 4.98kb (3.04%) /res/terminal/images-UniversalDev/Square150x150Logo.scale-125.png -- 4.45kb -> 4.32kb (2.98%) /res/terminal/images-Universal/Square150x150Logo.scale-100.png -- 2.83kb -> 2.74kb (2.97%) /res/terminal/Terminal.svg -- 5.52kb -> 5.37kb (2.73%) /res/terminal/images-Universal/Wide310x150Logo.scale-125.png -- 4.03kb -> 3.92kb (2.71%) /res/terminal/images-Dev/Square44x44Logo.targetsize-16_altform-unplated_contrast-white.png -- 0.47kb -> 0.46kb (2.7%) /res/terminal/images-Dev/Square44x44Logo.targetsize-16_contrast-white.png -- 0.47kb -> 0.46kb (2.7%) /res/terminal/images-UniversalDev/LargeTile.scale-100.png -- 8.02kb -> 7.81kb (2.67%) /res/terminal/images-UniversalDev/Square150x150Logo.scale-150.png -- 5.44kb -> 5.30kb (2.62%) /res/terminal/images-Universal/SplashScreen.scale-125.png -- 9.31kb -> 9.07kb (2.6%) /res/terminal/images-UniversalDev/Square150x150Logo.scale-200.png -- 7.97kb -> 7.77kb (2.58%) /res/terminal/images-UniversalDev/LargeTile.scale-125.png -- 10.39kb -> 10.13kb (2.54%) /res/terminal/images-UniversalDev/SplashScreen.scale-150.png -- 14.19kb -> 13.83kb (2.53%) /res/terminal/images-Universal/SmallTile.scale-150.png -- 3.10kb -> 3.02kb (2.49%) /res/terminal/images-UniversalDev/Square150x150Logo.scale-100.png -- 3.19kb -> 3.11kb (2.48%) /res/terminal/images-UniversalDev/Wide310x150Logo.scale-125.png -- 4.78kb -> 4.66kb (2.47%) /res/terminal/images-UniversalDev/SmallTile.scale-150.png -- 3.74kb -> 3.65kb (2.4%) /res/terminal/images-UniversalDev/Wide310x150Logo.scale-400.png -- 21.33kb -> 20.83kb (2.34%) /res/terminal/images-UniversalDev/SplashScreen.scale-200.png -- 21.33kb -> 20.83kb (2.34%) /res/terminal/images-Universal/StoreLogo.scale-200.png -- 4.02kb -> 3.93kb (2.26%) /res/terminal/images-UniversalDev/Wide310x150Logo.scale-150.png -- 5.80kb -> 5.67kb (2.25%) /res/terminal/images-Universal/Wide310x150Logo.scale-150.png -- 4.85kb -> 4.74kb (2.23%) /res/terminal/images-Universal/SplashScreen.scale-100.png -- 7.02kb -> 6.87kb (2.14%) /res/terminal/images-Universal/Wide310x150Logo.scale-200.png -- 7.02kb -> 6.87kb (2.14%) /res/terminal/images-Universal/Square44x44Logo.scale-200.png -- 3.60kb -> 3.53kb (2.14%) /res/terminal/images-Pre/LargeTile.scale-100.png -- 2.92kb -> 2.86kb (2.14%) /res/terminal/images-Dev/SplashScreen.scale-200.png -- 10.01kb -> 9.80kb (2.11%) /res/terminal/images-Dev/Wide310x150Logo.scale-400.png -- 10.01kb -> 9.80kb (2.11%) /res/terminal/images-Universal/SmallTile.scale-125.png -- 2.69kb -> 2.63kb (2.1%) /res/terminal/images-Pre/Wide310x150Logo.scale-100.png -- 1.79kb -> 1.75kb (1.97%) /res/terminal/images-Universal/Wide310x150Logo.scale-100.png -- 2.99kb -> 2.93kb (1.96%) /res/terminal/images-UniversalDev/SplashScreen.scale-125.png -- 11.41kb -> 11.19kb (1.93%) /res/terminal/images-Dev/Wide310x150Logo.scale-100.png -- 1.85kb -> 1.82kb (1.9%) /res/terminal/images-Universal/StoreLogo.scale-125.png -- 2.63kb -> 2.58kb (1.9%) /res/terminal/images-UniversalDev/Square44x44Logo.scale-200.png -- 4.25kb -> 4.17kb (1.88%) /res/terminal/images-Universal/StoreLogo.scale-150.png -- 2.98kb -> 2.93kb (1.83%) /res/terminal/images-Pre/SplashScreen.scale-100.png -- 3.10kb -> 3.05kb (1.6%) /res/terminal/images-Pre/Wide310x150Logo.scale-200.png -- 3.10kb -> 3.05kb (1.6%) /res/terminal/images-UniversalDev/StoreLogo.scale-200.png -- 4.89kb -> 4.81kb (1.6%) /res/terminal/images-UniversalDev/Wide310x150Logo.scale-100.png -- 3.38kb -> 3.33kb (1.59%) /res/terminal/images-Dev/Square44x44Logo.targetsize-96.png -- 2.95kb -> 2.90kb (1.46%) /res/terminal/images-Dev/Square44x44Logo.targetsize-96_altform-unplated.png -- 2.95kb -> 2.90kb (1.46%) /res/terminal/images-Dev/LockScreenLogo.scale-400.png -- 2.95kb -> 2.90kb (1.46%) /res/terminal/images-UniversalDev/StoreLogo.scale-150.png -- 3.62kb -> 3.57kb (1.43%) /res/terminal/images-UniversalDev/SmallTile.scale-125.png -- 3.05kb -> 3.01kb (1.41%) /res/terminal/images-Universal/LockScreenLogo.scale-400.png -- 5.26kb -> 5.19kb (1.39%) /res/terminal/images-Universal/Square44x44Logo.targetsize-96_altform-unplated.png -- 5.26kb -> 5.19kb (1.39%) /res/terminal/images-Universal/Square44x44Logo.targetsize-96.png -- 5.26kb -> 5.19kb (1.39%) /res/terminal/images-Universal/Square44x44Logo.scale-150.png -- 2.56kb -> 2.53kb (1.3%) /res/terminal/images-UniversalDev/SplashScreen.scale-100.png -- 8.60kb -> 8.49kb (1.27%) /res/terminal/images-UniversalDev/Wide310x150Logo.scale-200.png -- 8.60kb -> 8.49kb (1.27%) /res/terminal/images-UniversalDev/Square44x44Logo.scale-150.png -- 2.92kb -> 2.88kb (1.24%) /res/terminal/images-UniversalDev/SmallTile.scale-100.png -- 2.25kb -> 2.22kb (1.22%) /res/terminal/images-Pre/Wide310x150Logo.scale-125.png -- 2.35kb -> 2.32kb (1.21%) /res/terminal/images-Universal/SmallTile.scale-100.png -- 1.91kb -> 1.89kb (1.12%) /res/terminal/images-UniversalDev/StoreLogo.scale-125.png -- 2.98kb -> 2.95kb (1.11%) /res/terminal/images-UniversalDev/Square44x44Logo.scale-125.png -- 2.40kb -> 2.37kb (1.06%) /res/terminal/images-Pre/Square150x150Logo.scale-125.png -- 2.23kb -> 2.21kb (1.01%) /doc/specs/#1564 - Settings UI/navigation.png -- 46.57kb -> 46.13kb (0.94%) /res/terminal/images-UniversalDev/StoreLogo.scale-100.png -- 2.20kb -> 2.18kb (0.89%) /res/terminal/images-Universal/Square44x44Logo.scale-100.png -- 1.61kb -> 1.60kb (0.79%) /res/terminal/images-Universal/StoreLogo.scale-100.png -- 1.86kb -> 1.85kb (0.73%) /res/terminal/images-UniversalDev/Square44x44Logo.scale-100.png -- 1.83kb -> 1.82kb (0.64%) /res/terminal/images-Pre/SmallTile.scale-150.png -- 1.90kb -> 1.88kb (0.62%) /doc/images/new-issue-template.png -- 77.66kb -> 77.33kb (0.43%) /res/terminal/images-Universal/Square44x44Logo.scale-125.png -- 2.06kb -> 2.05kb (0.28%) /res/terminal/images-UniversalDev/Square44x44Logo.targetsize-96_altform-unplated.png -- 6.59kb -> 6.59kb (0.09%) /res/terminal/images-UniversalDev/LockScreenLogo.scale-400.png -- 6.59kb -> 6.59kb (0.09%) /res/terminal/images-UniversalDev/Square44x44Logo.targetsize-96.png -- 6.59kb -> 6.59kb (0.09%) Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
🎉This issue was addressed in #7667, which has now been successfully released as Handy links: |
ocurred -> occurred
Fixed typo: ocurred -> occurred * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA
TerminalSettings.dll exists because it is difficult to coerce the C++/WinRT build infrastructure to produce a type library and a set of headers without either statically linking (which rolls up the generated types into the consuming project) or dynamically linking (which forces us to put a DLL on disk).
I posit that the ideal representation of settings is the
ICoreSettings
andIControlSettings
interfaces only. No classes need to be implemented in TerminalSettings.dll, because all they'd do is ferry data back and forth.By dropping the classes and switching to the interfaces, we can remove the setters from the interfaces, and remove the runtime classes completely. Cascadia (or
TerminalApp::<something>
) can implementICoreSettings
andIControlSettings
as views over existing profile data.This will reduce both the number of runtime hops required for loading and saving settings and the number of code authoring hops required for adding new settings.
Approach
TerminalSettings::TerminalSettings
toTerminalApp::TerminalSettings
TerminalSettings
interfaces #7140: MoveTerminalSettings
interfacesTerminalSettings::ICoreSettings
to TerminalControl projectTerminalSettings::IControlSettings
to TerminalControl projectThe text was updated successfully, but these errors were encountered: