Update our SUI to follow win 11 guidelines#11720
Conversation
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentcarlos dpg sid SPACEBAR Unregister Urxvt vcvarsall xIcon yIcon zamoraTo accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the [email protected]:microsoft/terminal.git repository ✏️ Contributor please read thisBy default the command suggestion will generate a file named based on your commit. That's generally ok as long as you add the file to your commit. Someone can reorganize it later.
If the listed items are:
See the 🔬 You can test your commits without appending to a PR by creating a new branch with that extra change and pushing it to your fork. The check-spelling action will run in response to your push -- it doesn't require an open pull request. By using such a branch, you can limit the number of typos your peers see you make. 😉 🗜️ If you see a bunch of garbageIf it relates to a ... well-formed patternSee if there's a pattern that would match it. If not, try writing one and adding it to a Patterns are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your lines. Note that patterns can't match multiline strings. binary-ish stringPlease add a file path to the File paths are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your files.
|
|
NOTE: This is slightly different from the settings app in the following manner - when you hover over our expanders, only the chevron/arrow gets highlighted, whereas when you hover over the expanders in the settings app, the entire control gets highlighted. We know about this difference and are sticking with our implementation because the settings app implemented its own version of an 'expander' that is actually a toggle button + a border instead of using the built-in xaml expander, which is what we are using. Here's the difference in GIFs: |
carlos-zamora
left a comment
There was a problem hiding this comment.
It's annoying that the mux expander is different from the Settings App one, but this is a good start. :)
| <Style x:Key="NonExpanderGrid" | ||
| TargetType="Grid"> |
There was a problem hiding this comment.
Is there anything we can set the BasedOn property too? That way, if any changes happen upstream, we'll just get them for free.
|
I personally agree that the default expander style should be kept, as settings is the only inbox app that uses those. Other inbox apps such as Calculator, Clock and Snipping Tool all use the default expander style in their settings. |
|
I was wondering: Why have those boxes with rounded corners? The windows 11 settings app does not have any boxes. The navigation and the pages share the same background. @Tropix126 already created a design concept that looks much more consistent to the windows 11 settings: |
This is just due to the default styling added by WinUI, it can be overrided fairly easily if they want to do that. One thing that I might suggest if you guys make the settings panel flush with the app, is to also modify the tabs to be semitransparent so they line up as a single apparent surface. I imagine this will also depend on how mica is handled throughout the titlebar too, though. |
zadjii-msft
left a comment
There was a problem hiding this comment.
meh, I'm pretty much good with this. Let's merge and keep working on the rest of the polish for 1.12
src/cascadia/TerminalApp/App.xaml
Outdated
| <ResourceDictionary.MergedDictionaries> | ||
| <!-- Include the MUX Controls resources --> | ||
| <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" | ||
| ControlsResourcesVersion="Version1" /> |
There was a problem hiding this comment.
this is going to also change the appearance of the tabs, of the command palette, the find dialog, the content dialogs, the toasts - everything.
This almost deserves it's own PR to make sure everything besides the SUI still looks & works right
|
Undrafting this so we can get this in, the actions page and color schemes page will be done in post |
| <Style TargetType="local:SettingContainer"> | ||
| <Setter Property="Margin" Value="0,24,0,0" /> | ||
| <Setter Property="IsTabStop" Value="False" /> | ||
| <Setter Property="MaxWidth" Value="1000" /> |
There was a problem hiding this comment.
Is 1000 enough for super high resolution screens with the window maximized?
There was a problem hiding this comment.
I'm sure this value is in DIPs, So that should be 3000px at 300% scaling and thus fine.
| </Grid> | ||
|
|
||
| <VisualStateManager.VisualStateGroups> | ||
| <VisualStateGroup x:Name="CommonStates"> |
There was a problem hiding this comment.
My brain has exploded at these animation declarations. My hope is that you were able to just steal these from somewhere and not have to figure all this out yourself. Sheesh!
There was a problem hiding this comment.
Yeah I got them from the xaml github (yay open source 👍)
|
I'm not automerging this because it'll blow up the stacked changes IIRC |
DHowett
left a comment
There was a problem hiding this comment.
i love this, and you did a great job pulling it together
Turns out, this bug only repros in Controls version 2. I'm not sure why, but it didn't repro only on main. So this fix does nothing until #11720 merges. This PR prevents us from setting properties on the paste warning dialog unless we actually need to paste. 5f9c551 proves that settings these properties is what would cause the bug in the first place. I went a step further and cleaned this up a bit. This was always a little weird, having to get the `BracketedPasteEnabled` for the active control on the UI thread before we actually display the warning. In the post-#5000 future where going back to the control like this would be a x-proc hop, I figured I should just skip that entirely and plumb the `BracketedPaste` state out in the initial request. * [x] Closes #12202 * [x] I work here * [x] No tests, but there's not a great place for a test like this * [x] Doesn't affect docs See also: #12241 which would introduce #12202 on its own.
## Summary of the Pull Request **Note: This PR targets #11720** Replaces our old pivot-style settings UI with a breadcrumb bar style, as per the windows 11 style guidelines. This required splitting `Profiles.xaml` into 3 separate files, `Profiles_Base.xaml` for general settings, `Profiles_Appearance.xaml` for appearance settings, `Profiles_Advanced.xaml` for advanced settings The header in the navigation view is now a [BreadcrumbBar](https://docs.microsoft.com/en-us/windows/apps/design/controls/breadcrumbbar), which can be used to navigate back to `Profiles_Base` after moving into the advanced or appearance page (see GIF below) <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist * [ ] Closes #xxx * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema updated. * [x] I work here ## Validation Steps Performed 
Updates our SUI to follow the windows 11 style guidelines. Includes updating our setting containers to follow the 'expander' style. * [x] Closes #10631 * [x] Closes #9978 * [x] Closes #9595 * [x] Closes #11231 * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema updated. * [x] I work here
**Note: This PR targets #11720** Replaces our old pivot-style settings UI with a breadcrumb bar style, as per the windows 11 style guidelines. This required splitting `Profiles.xaml` into 3 separate files, `Profiles_Base.xaml` for general settings, `Profiles_Appearance.xaml` for appearance settings, `Profiles_Advanced.xaml` for advanced settings The header in the navigation view is now a [BreadcrumbBar](https://docs.microsoft.com/en-us/windows/apps/design/controls/breadcrumbbar), which can be used to navigate back to `Profiles_Base` after moving into the advanced or appearance page (see GIF below) <!-- Please review the items on the PR checklist before submitting--> * [ ] Closes #xxx * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema updated. * [x] I work here 







Summary of the Pull Request
Updates our SUI to follow the windows 11 style guidelines. Includes updating our setting containers to follow the 'expander' style.
PR Checklist