Fragment fontFace not detecting correctly #14684

Open
opened 2026-01-31 04:16:51 +00:00 by claunia · 6 comments
Owner

Originally created by @ZeroCoolGOS on GitHub (Jul 25, 2021).

Windows Terminal version (or Windows build number)

1.9.1942.0

Other Software

Oh-My-Posh (latest)

Steps to reproduce

Set a default fontFace in settings.json
Set different fontFace in {fragments}.json

Review if font is displaying correctly.

If not, disable the default fontFace and revalidate.

Expected Behavior

The expected behavior is that the fontFace that is set for a profile in the {Fragments}.json file is indeed using the desired font.

Actual Behavior

When a default fontFace is set then the fontFace that is set as part of the fragment is ignored.

Removing the default fontFace string enables the fontFace that was set in the fragment to be used.

Originally created by @ZeroCoolGOS on GitHub (Jul 25, 2021). ### Windows Terminal version (or Windows build number) 1.9.1942.0 ### Other Software Oh-My-Posh (latest) ### Steps to reproduce Set a default fontFace in settings.json Set different fontFace in {fragments}.json Review if font is displaying correctly. If not, disable the default fontFace and revalidate. ### Expected Behavior The expected behavior is that the fontFace that is set for a profile in the {Fragments}.json file is indeed using the desired font. ### Actual Behavior When a default fontFace is set then the fontFace that is set as part of the fragment is ignored. Removing the default fontFace string enables the fontFace that was set in the fragment to be used.
claunia added the Area-SettingsPriority-3Product-TerminalIssue-Docs labels 2026-01-31 04:16:52 +00:00
Author
Owner

@zadjii-msft commented on GitHub (Jul 26, 2021):

Can you share your whole settings.json and the contents of the fragment you're trying to add?

@zadjii-msft commented on GitHub (Jul 26, 2021): Can you share your whole `settings.json` and the contents of the fragment you're trying to add?
Author
Owner

@ghost commented on GitHub (Jul 30, 2021):

This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 4 days. It will be closed if no further activity occurs within 3 days of this comment.

@ghost commented on GitHub (Jul 30, 2021): This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for **4 days**. It will be closed if no further activity occurs **within 3 days of this comment**.
Author
Owner

@DHowett commented on GitHub (Aug 3, 2021):

This is indicative of the problem Kayla's often talked about. Right now, the settings look like this:

   ┌─────────────────────────────────────────────────────────┐
3  │ Specific settings block for a profile guid              │ Most Important
   └─────────────────────────────────────────────────────────┘
                                                                │  │  │  │  │
   ┌─────────────────────────────────────────────────────────┐  │  │  │  │  │
2  │ User's ".defaults" settings (apply to all profiles)     │  │  │  │  │  │
   └─────────────────────────────────────────────────────────┘  │  │  │  │  │
                                                                │  │  │  │  │
   ┌─────────────────────────────────────────────────────────┐  │  │  │  │  │
1  │ Fragment                                                │  │  │  │  │  │
   └─────────────────────────────────────────────────────────┘  │  │  │  │  │
                                                                ▼  ▼  ▼  ▼  ▼
   ┌─────────────────────────┐ ┌─────────────────────────────┐
0  │ Built-in default json   │ │ Generated (wsl)             │ Least Important
   └─────────────────────────┘ └─────────────────────────────┘

Settings are read top-down. If something exists in a higher layer, it overrides the thing in the lower layer.

@DHowett commented on GitHub (Aug 3, 2021): This is indicative of the problem Kayla's often talked about. Right now, the settings look like this: ``` ┌─────────────────────────────────────────────────────────┐ 3 │ Specific settings block for a profile guid │ Most Important └─────────────────────────────────────────────────────────┘ │ │ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ │ │ 2 │ User's ".defaults" settings (apply to all profiles) │ │ │ │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ │ │ │ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ │ │ 1 │ Fragment │ │ │ │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ ▼ ▼ ▼ ▼ ┌─────────────────────────┐ ┌─────────────────────────────┐ 0 │ Built-in default json │ │ Generated (wsl) │ Least Important └─────────────────────────┘ └─────────────────────────────┘ ``` Settings are read top-down. If something exists in a higher layer, it overrides the thing in the lower layer.
Author
Owner

@DHowett commented on GitHub (Aug 3, 2021):

This is a polarizing topic, and there's really just two camps:

  1. Fragments are generated by an application vendor, and as such represent the application's desires. The application should win over the user's desire for uniformity.
  2. Fragments are generated by an application vendor, and as such represent the application's suggestion. The user's uniformity should win out over all application suggestions.
@DHowett commented on GitHub (Aug 3, 2021): This is a polarizing topic, and there's really just two camps: 1. Fragments are generated by an application vendor, and as such represent the application's desires. The application should win over the user's desire for uniformity. 2. Fragments are generated by an application vendor, and as such represent the application's **suggestion**. The user's uniformity should win out over all application suggestions.
Author
Owner

@zadjii-msft commented on GitHub (Aug 4, 2021):

tagging this up for discussion, but I'm not sure what there is to discuss that we haven't already. If anything, we need to clearly document (with examples) how the layering works in cases like this.

@zadjii-msft commented on GitHub (Aug 4, 2021): tagging this up for discussion, but I'm not sure what there is to discuss that we haven't already. If anything, we need to clearly document (with examples) how the layering works in cases like this.
Author
Owner

@zadjii-msft commented on GitHub (Aug 9, 2021):

Okay so I think our conclusion was:

  • #10436 will help make this clearer to the user what's happening
  • We should also add some variation on the above diagram to the Fragments page on the docs.

So I'm gonna leave this open to track the second bit of work. Thanks!

@zadjii-msft commented on GitHub (Aug 9, 2021): Okay so I think our conclusion was: * #10436 will help make this clearer to the user what's happening * We should also add some variation on the above diagram to the Fragments page on the docs. So I'm gonna leave this open to track the second bit of work. Thanks!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#14684