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
Redesign color schemes page #9196
Conversation
just for awareness, can you explain what they were and where they were approved? |
@carlos-zamora
|
Tweaks to @mdtauk's design include moving the color buttons closer to the labels on the left and also making the "Color table" and "Functional colors" text subtitles. Also, we moved the functional colors closer to the color table to keep it more compact. |
Sorry for the confusion. I gave #8997 a deadline of 2/15 here because it's blocking closing a few bugs for the Settings UI. As we're preparing for release, I'd like to make sure the keyboard navigation and accessibility story are complete, and the redesign kinda encompasses that. Regarding some other feedback from #8997... From this comment:
Personally, I think adding the extra small headers would make it feel more cluttered. The format of the color table is already standard across terminal color schemes. That said, to make it more inclusive, maybe a link to the docs or a small description would be nice? @cinnamon-msft Thoughts? From this comment:
First off, I'm trying to minimize localization changes so if we go with this, I'll want it to be a follow up. Aside from that, this really is the same kind of issue as your last comment. "Red" actually being some hex code that doesn't look red at all is pretty standard across terminals. In fact, when you use something like PowerShell and get the "Red" color, you just get the color table's "red", not the actual red color. Again, in an effort to make it more inclusive, I'd say adding a link to the docs or a small description might work. @cinnamon-msft Thoughts? Alternatively, we could extract the hex value from the color picker and display that as the tooltip. But I don't see much value to it, and I think this would be better as a follow-up if we decide to go with it. |
This comment has been minimized.
This comment has been minimized.
I know we want to eventually add docs links to the right side of all of the pages, so maybe we hold off until then? I agree that adding headers over each color may be too cluttered.
Same as my comment above. The colors in the tooltips align directly with how shells interpret their colors, for example Ubuntu uses "blue" and "green" as its colors in the prompt. This means it'll display whatever is set to "blue" and "green" even though they may not actually be blue and green, which is totally fine. |
Sorta yes, sorta no. Ubuntu uses "four" and "two" as the colors for its prompt. The more correct expression for this is, like... "ANSI Color 0 (Usually Black)" "ANSI Color 7 (Usually White)" |
But we accept as a shortcut the "usually" part, and boil it down to Red. Bright red. Black. "Bright black", whatever that is. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
VERY, very clever with the data templates. That's excellent work. Big/small nits.
Automation::AutomationProperties::SetName(DeleteButton(), RS_(L"ColorScheme_DeleteButton/Text")); | ||
} | ||
|
||
void ColorSchemes::SizeChanged(IInspectable const& /*sender*/, Windows::UI::Xaml::SizeChangedEventArgs const& e) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry, we couldn't use a VSM because what now? we would have to retemplate the entire thing? heck naw
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The VSM honestly just made the code more complex to change this one value. The changes would look something like this...
- add the VSM; define 2 states (compact and standard)
- Either...
- set up an AdaptiveTrigger to switch between the states (I'd probably have to bind that to the
_colorPanelHorizontalWidth + indentMargin
, which would be annoying to set up in the code) - set up
SizeChanged
(like we do here), and callVisualStateManager::GoToState()
- set up an AdaptiveTrigger to switch between the states (I'd probably have to bind that to the
src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw
Outdated
Show resolved
Hide resolved
src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay I have a lot of questions and it's 5:09 here
We could use "Show But I am okay when you let it as is. If the users are confused they will fill issues and the you can think on a solution again. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now this, I like this
Hello @DHowett! Because this pull request has the p.s. you can customize the way I help with merging this pull request, such as holding this pull request until a specific person approves. Simply @mention me (
|
🎉 Handy links: |
This PR performs a large overall polish of the color schemes page:
accessible, no lost focus, etc...)
(link).
Note, there are some minor modifications to the design that were
approved by @cinnamon-msft.
horizontal mode
Detailed Description of the Pull Request / Additional comments
consistent and straightforward
ContentControl
is used to hold a reference to theColorTableEntry
and represent it properly using the aforementioneddata template.
functional colors.
seems to be the easiest way to correctly bind 16 controls that are
very similar.
scenarios like "selection background is the longest string" to force
the buttons and text to be aligned.
VisualStateManager
uses anAdaptiveTrigger
to change theorientation of the color tables' stack panel. The adaptive trigger
was carefully calculated to align with the navigation view's
breakpoint.
SettingContainer
)ContentControl
can be focusedas opposed to the content inside of it. We don't want that, so we
set
IsTabStop
to false on it. That basically fixes all of ourkeyboard navigation issues in this new design.
control's automation property to its own tooltip. So I had to do
this in the code and add a few
x:Name
around.Validation Steps Performed
References #8997 - Based on the work from @Chips1234
References #6800 - Settings UI Epic
Closes #8765 - Polish Color Schemes page
Closes #8899 - Automation Properties
Closes #8768 - Keyboard Navigation