close
Skip to content

Replace Bold with SemiBold; clean up new-tab tooltip typography#20237

Open
niels9001 wants to merge 3 commits into
mainfrom
niels9001/fontweight-fixes
Open

Replace Bold with SemiBold; clean up new-tab tooltip typography#20237
niels9001 wants to merge 3 commits into
mainfrom
niels9001/fontweight-fixes

Conversation

@niels9001
Copy link
Copy Markdown
Contributor

@niels9001 niels9001 commented May 16, 2026

Summary

A first pass at the issues raised in #20228 around non-Fluent Bold / Italic typography in TerminalApp.

Closes: #20228

Changes

Bold → SemiBold

Replace FontWeight=Bold with SemiBold (matches Fluent's BodyStrong style):

  • SuggestionsControl.xaml — the description title shown above a suggestion's body.
  • TerminalPage.cpp — the default-profile entry in the new-tab dropdown flyout.
  • HighlightedTextControl.cpp — fallback run style used to render matched characters (e.g. in the Command Palette / snippets list).

New-tab + button + per-profile dropdown tooltip

  • Remove FontStyle=Italic from the shortcut-hint runs in both tooltips (TabRowControl.xaml and the dropdown tooltip built in TerminalPage.cpp).
  • Insert a blank line between the title (Open a new tab) and the shortcut hints.
  • Add spaces around + in the en-US shortcut strings:
    • Alt + Click to split the current window
    • Shift + Click to open a new window
    • Ctrl + Click to open as administrator

Other locales will be updated by the localization team.

Validation

  • Hover the new-tab + button → tooltip has the new layout/spacing, no italics.
  • Open the new-tab dropdown, hover a profile → tooltip likewise has the new layout/spacing, no italics. The default profile still stands out via SemiBold (was Bold).
  • Open the Command Palette, type to filter → matched character runs render as SemiBold.
  • Run showSuggestions on a snippet/task with a description → the description title is SemiBold.

Before:
image

After:
image


Before:

image

After:

image

Before:
image

After:


Before:
image

After:
image

niels9001 and others added 3 commits May 16, 2026 22:48
Bold and Italic are not part of the Fluent typography ramp. As a first pass:

- Replace all FontWeight=Bold usages in TerminalApp with SemiBold (matches Fluent's BodyStrong).
  - SuggestionsControl description title
  - Default-profile flyout item in the new-tab dropdown
  - HighlightedTextControl fallback run style for matched text

- Remove the italic styling on the new-tab '+' button tooltip and the per-profile dropdown tooltip; insert a blank line between the title and the shortcut hints; add spaces around '+' in the en-US shortcut strings (Alt + Click / Shift + Click / Ctrl + Click).

Part of #20228

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@niels9001 niels9001 marked this pull request as ready for review May 18, 2026 12:06
TargetType="TextBlock">
<Setter Property="FontStyle" Value="Italic" />
</Style>

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dead code

const auto conflictingCmdName{ conflictingCmd.Name() };
TextBlock conflictingCommandNameTB{};
conflictingCommandNameTB.Text(fmt::format(L"\"{}\"", conflictingCmdName.empty() ? RS_(L"Actions_UnnamedCommandName") : conflictingCmdName));
conflictingCommandNameTB.FontStyle(Windows::UI::Text::FontStyle::Italic);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 Before:
Image

This just removes the italic styling.

I'm ok with that

Copy link
Copy Markdown
Member

@carlos-zamora carlos-zamora left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some of the changes I agree with.
For others, I'm a bit concerned about removing the styling entirely. I think there's value to applying some kind of styling to key bindings or responses from the system.

That said, if there are good cases where the OS already follows this design pattern, I'm willing to set my thoughts aside for the sake of consistency.

Comment on lines 1295 to -1304
newTabRun.Text(RS_(L"NewTabRun/Text"));
auto newPaneRun = WUX::Documents::Run();
newPaneRun.Text(RS_(L"NewPaneRun/Text"));
newPaneRun.FontStyle(FontStyle::Italic);
auto newWindowRun = WUX::Documents::Run();
newWindowRun.Text(RS_(L"NewWindowRun/Text"));
newWindowRun.FontStyle(FontStyle::Italic);
auto elevatedRun = WUX::Documents::Run();
elevatedRun.Text(RS_(L"ElevatedRun/Text"));
elevatedRun.FontStyle(FontStyle::Italic);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm ok with removing the italic formatting and adding a line break.
I think we should still have some kind of styling on the key chords though. Perhaps semi-bold so that the user's attention is drawn to the key chord? Or even just applying italic to the key chords?

Before:
Image

After:
Image

Comment on lines -74 to +76
<Run x:Uid="NewTabRun" /> <LineBreak />
<Run x:Uid="NewPaneRun"
FontStyle="Italic" /> <LineBreak />
<Run x:Uid="NewWindowRun"
FontStyle="Italic" />
<Run x:Uid="NewTabRun" /> <LineBreak /><LineBreak />
<Run x:Uid="NewPaneRun" /> <LineBreak />
<Run x:Uid="NewWindowRun" />
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

auto keyChordRun = WUX::Documents::Run();
keyChordRun.Text(_keyChord);
keyChordRun.FontStyle(winrt::Windows::UI::Text::FontStyle::Italic);
textBlock.Inlines().Append(WUX::Documents::LineBreak{});
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar feedback to https://github.com/microsoft/terminal/pull/20237/changes#r3269347031

Perhaps we can apply consistent styling to the key chords here that we use there? Like, what if we changed the foreground color to be TextFillColorSecondaryBrush like in the dropdown page? Or semi-bold?
I don't mind the left-alignment and the line break. It

Before:
Image

After:
Image

Comment on lines 372 to 374
<TextBlock Padding="12,0"
VerticalAlignment="Center"
FontStyle="Italic"
Text="{x:Bind NoMatchesText, Mode=OneWay}" />
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mildly concerned that removing italic styling here would make it look like a regular option. I feel like we should still have some kind of styling applied on this to show that the system is alerting the user, no? Italic is lightweight and worked. Maybe semibold? Or TextFillColorSecondaryBrush foreground coloring?

Comment on lines 344 to 363
@@ -358,8 +358,8 @@

<ScrollViewer MaxHeight="200"
VerticalScrollBarVisibility="Auto">
<TextBlock FontStyle="Italic"
Text="{x:Bind ParsedCommandLineText, Mode=OneWay}"
<TextBlock Text="{x:Bind ParsedCommandLineText, Mode=OneWay}"
TextAlignment="Left"
TextWrapping="Wrap" />
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we get a before/after of this?

@microsoft-github-policy-service microsoft-github-policy-service Bot added the Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something label May 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something zBugBash-Consider

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[UX] Incorrect fontweights

2 participants