Combining Windows Terminal and Oh my Posh leads to black rendered triangles #20022

Closed
opened 2026-01-31 07:01:01 +00:00 by claunia · 5 comments
Owner

Originally created by @mu88 on GitHub (Jun 1, 2023).

Windows Terminal version

1.16.10261.0

Windows build number

10.0.19045.0

Other Software

oh-my-posh 16.4.2

Steps to reproduce

  1. Set background opacity to 50%
  2. Install Oh my Posh
  3. Configure Oh my Posh like this:
{
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
"blocks": [
  {
    "alignment": "left",
    "horizontal_offset": 0,
    "vertical_offset": 0,
    "segments": [
      {
        "background": "#c17e1a",
        "foreground": "#ffffff",
        "powerline_symbol": "",
        "invert_powerline": false,
        "properties": {
            "prefix": "",
            "style": "folder"
        },
        "style": "diamond",
        "leading_diamond": "",
        "trailing_diamond": "",
        "template": " \uea83  {{ .Path }} ",
        "type": "path"
      },
      {
        "background": "#fffb38",
        "background_templates": [
          "{{ if or (.Working.Changed) (.Staging.Changed) }}#FF9248{{ end }}",
          "{{ if and (gt .Ahead 0) (gt .Behind 0) }}#ff4500{{ end }}",
          "{{ if gt .Ahead 0 }}#B388FF{{ end }}",
          "{{ if gt .Behind 0 }}#B388FF{{ end }}"
        ],
        "foreground": "#193549",
        "powerline_symbol": "",
        "invert_powerline": false,
        "properties": {
          "branch_max_length": 25,
          "fetch_status": true,
          "fetch_upstream_icon": true
        },
        "style": "powerline",
        "template": " {{ .UpstreamIcon }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} \uf044 {{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }} \uf046 {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} \ueb4b {{ .StashCount }}{{ end }} ",
        "leading_diamond": "",
        "trailing_diamond": "",
        "type": "git"
      },
      {
        "type": "dotnet",
        "style": "powerline",
        "powerline_symbol": "",
        "invert_powerline": false,
        "foreground": "#ffffff",
        "background": "#6CA35E",
        "template": "  {{ .Full }} "
      },
      {
        "type": "root",
        "style": "powerline",
        "powerline_symbol": "",
        "invert_powerline": false,
        "foreground": "#ffffff",
        "background": "#ffff66",
        "leading_diamond": "",
        "trailing_diamond": "",
        "properties": null
      },
      {
        "background": "#6CA35E",
        "foreground": "#ffffff",
        "powerline_symbol": "\ue0b0",
        "properties": {
          "fetch_version": true
        },
        "style": "powerline",
        "template": " \ue718 {{ if .PackageManagerIcon }}{{ .PackageManagerIcon }} {{ end }}{{ .Full }} ",
        "type": "node"
      },
      {
        "background": "#8ED1F7",
        "foreground": "#111111",
        "powerline_symbol": "\ue0b0",
        "properties": {
          "fetch_version": true
        },
        "style": "powerline",
        "template": " \ue626 {{ if .Error }}{{ .Error }}{{ else }}{{ .Full }}{{ end }} ",
        "type": "go"
      },
      {
        "background": "#4063D8",
        "foreground": "#111111",
        "powerline_symbol": "\ue0b0",
        "properties": {
          "fetch_version": true
        },
        "style": "powerline",
        "template": " \ue624 {{ if .Error }}{{ .Error }}{{ else }}{{ .Full }}{{ end }} ",
        "type": "julia"
      },
      {
        "background": "#FFDE57",
        "foreground": "#111111",
        "powerline_symbol": "\ue0b0",
        "properties": {
          "display_mode": "files",
          "fetch_virtual_env": false
        },
        "style": "powerline",
        "template": " \ue235 {{ if .Error }}{{ .Error }}{{ else }}{{ .Full }}{{ end }} ",
        "type": "python"
      },
      {
        "background": "#AE1401",
        "foreground": "#ffffff",
        "powerline_symbol": "\ue0b0",
        "properties": {
          "display_mode": "files",
          "fetch_version": true
        },
        "style": "powerline",
        "template": " \ue791 {{ if .Error }}{{ .Error }}{{ else }}{{ .Full }}{{ end }} ",
        "type": "ruby"
      },
      {
        "background": "#FEAC19",
        "foreground": "#ffffff",
        "powerline_symbol": "\ue0b0",
        "properties": {
          "display_mode": "files",
          "fetch_version": false
        },
        "style": "powerline",
        "template": " \uf0e7{{ if .Error }}{{ .Error }}{{ else }}{{ .Full }}{{ end }} ",
        "type": "azfunc"
      },
      {
        "background_templates": [
          "{{if contains \"default\" .Profile}}#FFA400{{end}}",
          "{{if contains \"jan\" .Profile}}#f1184c{{end}}"
        ],
        "foreground": "#ffffff",
        "powerline_symbol": "\ue0b0",
        "properties": {
          "display_default": false
        },
        "style": "powerline",
        "template": " \ue7ad {{ .Profile }}{{ if .Region }}@{{ .Region }}{{ end }} ",
        "type": "aws"
      },
      {
        "background": "#ffff66",
        "foreground": "#111111",
        "powerline_symbol": "\ue0b0",
        "style": "powerline",
        "template": " \uf0ad ",
        "type": "root"
      },
      {
        "background": "#83769c",
        "foreground": "#ffffff",
        "properties": {
          "always_enabled": true
        },
        "style": "plain",
        "template": "<transparent>\ue0b0</> \ueba2{{ .FormattedMs }}\u2800",
        "type": "executiontime"
      },
      {
        "background": "#00897b",
        "background_templates": [
          "{{ if gt .Code 0 }}#e91e63{{ end }}"
        ],
        "foreground": "#ffffff",
        "properties": {
          "always_enabled": true
        },
        "style": "diamond",
        "template": "<parentBackground>\ue0b0</> \ue23a ",
        "trailing_diamond": "\ue0b4",
        "type": "exit"
      }
    ],
    "type": "prompt"
  },
  {
    "segments": [
      {
        "background": "#0077c2",
        "foreground": "#ffffff",
        "style": "plain",
        "template": "<#0077c2,transparent>\ue0b6</> \uf489 {{ .Name }} <transparent,#0077c2>\ue0b2</>",
        "type": "shell"
      },
      {
        "background": "#1BD760",
        "foreground": "#111111",
        "invert_powerline": true,
        "powerline_symbol": "\ue0b2",
        "properties": {
          "paused_icon": "\uf04c ",
          "playing_icon": "\uf04b "
        },
        "style": "powerline",
        "template": " \uf167 {{ .Icon }}{{ if ne .Status \"stopped\" }}{{ .Artist }} - {{ .Track }}{{ end }} ",
        "type": "ytm"
      },
      {
        "background": "#2e9599",
        "foreground": "#111111",
        "invert_powerline": true,
        "leading_diamond": "\ue0b2",
        "style": "diamond",
        "template": " {{ .CurrentDate | date .Format }} ",
        "trailing_diamond": "\ue0b4",
        "type": "time"
      }
    ],
    "type": "rprompt"
  }
],
"console_title_style": "folder",
"final_space": true,
"version": 2
}

This is what it looks like with my current config:
image

Please notice the tiny little black parts between source and 0ms resp. pwsh and the current time. I created this issue, but the Oh my Posh owner mentioned here that it actually is a WT issue.

I also tried enabling the Atlas rendering engine, but without any visual change.

Expected Behavior

The tiny black triangles are rendered transparently.

Actual Behavior

The tiny triangles are rendered black.

Originally created by @mu88 on GitHub (Jun 1, 2023). ### Windows Terminal version 1.16.10261.0 ### Windows build number 10.0.19045.0 ### Other Software oh-my-posh 16.4.2 ### Steps to reproduce 1. Set background opacity to 50% 2. Install Oh my Posh 3. Configure Oh my Posh like this: ```json { "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", "blocks": [ { "alignment": "left", "horizontal_offset": 0, "vertical_offset": 0, "segments": [ { "background": "#c17e1a", "foreground": "#ffffff", "powerline_symbol": "", "invert_powerline": false, "properties": { "prefix": "", "style": "folder" }, "style": "diamond", "leading_diamond": "", "trailing_diamond": "", "template": " \uea83 {{ .Path }} ", "type": "path" }, { "background": "#fffb38", "background_templates": [ "{{ if or (.Working.Changed) (.Staging.Changed) }}#FF9248{{ end }}", "{{ if and (gt .Ahead 0) (gt .Behind 0) }}#ff4500{{ end }}", "{{ if gt .Ahead 0 }}#B388FF{{ end }}", "{{ if gt .Behind 0 }}#B388FF{{ end }}" ], "foreground": "#193549", "powerline_symbol": "", "invert_powerline": false, "properties": { "branch_max_length": 25, "fetch_status": true, "fetch_upstream_icon": true }, "style": "powerline", "template": " {{ .UpstreamIcon }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} \uf044 {{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }} \uf046 {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} \ueb4b {{ .StashCount }}{{ end }} ", "leading_diamond": "", "trailing_diamond": "", "type": "git" }, { "type": "dotnet", "style": "powerline", "powerline_symbol": "", "invert_powerline": false, "foreground": "#ffffff", "background": "#6CA35E", "template": "  {{ .Full }} " }, { "type": "root", "style": "powerline", "powerline_symbol": "", "invert_powerline": false, "foreground": "#ffffff", "background": "#ffff66", "leading_diamond": "", "trailing_diamond": "", "properties": null }, { "background": "#6CA35E", "foreground": "#ffffff", "powerline_symbol": "\ue0b0", "properties": { "fetch_version": true }, "style": "powerline", "template": " \ue718 {{ if .PackageManagerIcon }}{{ .PackageManagerIcon }} {{ end }}{{ .Full }} ", "type": "node" }, { "background": "#8ED1F7", "foreground": "#111111", "powerline_symbol": "\ue0b0", "properties": { "fetch_version": true }, "style": "powerline", "template": " \ue626 {{ if .Error }}{{ .Error }}{{ else }}{{ .Full }}{{ end }} ", "type": "go" }, { "background": "#4063D8", "foreground": "#111111", "powerline_symbol": "\ue0b0", "properties": { "fetch_version": true }, "style": "powerline", "template": " \ue624 {{ if .Error }}{{ .Error }}{{ else }}{{ .Full }}{{ end }} ", "type": "julia" }, { "background": "#FFDE57", "foreground": "#111111", "powerline_symbol": "\ue0b0", "properties": { "display_mode": "files", "fetch_virtual_env": false }, "style": "powerline", "template": " \ue235 {{ if .Error }}{{ .Error }}{{ else }}{{ .Full }}{{ end }} ", "type": "python" }, { "background": "#AE1401", "foreground": "#ffffff", "powerline_symbol": "\ue0b0", "properties": { "display_mode": "files", "fetch_version": true }, "style": "powerline", "template": " \ue791 {{ if .Error }}{{ .Error }}{{ else }}{{ .Full }}{{ end }} ", "type": "ruby" }, { "background": "#FEAC19", "foreground": "#ffffff", "powerline_symbol": "\ue0b0", "properties": { "display_mode": "files", "fetch_version": false }, "style": "powerline", "template": " \uf0e7{{ if .Error }}{{ .Error }}{{ else }}{{ .Full }}{{ end }} ", "type": "azfunc" }, { "background_templates": [ "{{if contains \"default\" .Profile}}#FFA400{{end}}", "{{if contains \"jan\" .Profile}}#f1184c{{end}}" ], "foreground": "#ffffff", "powerline_symbol": "\ue0b0", "properties": { "display_default": false }, "style": "powerline", "template": " \ue7ad {{ .Profile }}{{ if .Region }}@{{ .Region }}{{ end }} ", "type": "aws" }, { "background": "#ffff66", "foreground": "#111111", "powerline_symbol": "\ue0b0", "style": "powerline", "template": " \uf0ad ", "type": "root" }, { "background": "#83769c", "foreground": "#ffffff", "properties": { "always_enabled": true }, "style": "plain", "template": "<transparent>\ue0b0</> \ueba2{{ .FormattedMs }}\u2800", "type": "executiontime" }, { "background": "#00897b", "background_templates": [ "{{ if gt .Code 0 }}#e91e63{{ end }}" ], "foreground": "#ffffff", "properties": { "always_enabled": true }, "style": "diamond", "template": "<parentBackground>\ue0b0</> \ue23a ", "trailing_diamond": "\ue0b4", "type": "exit" } ], "type": "prompt" }, { "segments": [ { "background": "#0077c2", "foreground": "#ffffff", "style": "plain", "template": "<#0077c2,transparent>\ue0b6</> \uf489 {{ .Name }} <transparent,#0077c2>\ue0b2</>", "type": "shell" }, { "background": "#1BD760", "foreground": "#111111", "invert_powerline": true, "powerline_symbol": "\ue0b2", "properties": { "paused_icon": "\uf04c ", "playing_icon": "\uf04b " }, "style": "powerline", "template": " \uf167 {{ .Icon }}{{ if ne .Status \"stopped\" }}{{ .Artist }} - {{ .Track }}{{ end }} ", "type": "ytm" }, { "background": "#2e9599", "foreground": "#111111", "invert_powerline": true, "leading_diamond": "\ue0b2", "style": "diamond", "template": " {{ .CurrentDate | date .Format }} ", "trailing_diamond": "\ue0b4", "type": "time" } ], "type": "rprompt" } ], "console_title_style": "folder", "final_space": true, "version": 2 } ``` This is what it looks like with my current config: ![image](https://github.com/microsoft/terminal/assets/4560672/e19b67dd-e354-440b-874a-92f45d3c5b8d) Please notice the tiny little black parts between _source_ and _0ms_ resp. _pwsh_ and the current time. I created [this issue](https://github.com/JanDeDobbeleer/oh-my-posh/issues/3925), but the Oh my Posh owner mentioned [here](https://github.com/JanDeDobbeleer/oh-my-posh/issues/3925#issuecomment-1571657464) that it actually is a WT issue. I also tried enabling the Atlas rendering engine, but without any visual change. ### Expected Behavior The tiny black triangles are rendered transparently. ### Actual Behavior The tiny triangles are rendered black.
claunia added the Issue-BugResolution-DuplicateProduct-TerminalArea-AtlasEngine labels 2026-01-31 07:01:02 +00:00
Author
Owner

@lhecker commented on GitHub (Jun 1, 2023):

Thanks for the report! I've edited your comment to say that background opacity has to be enabled for this to happen (which is required to trigger the issue).

@lhecker commented on GitHub (Jun 1, 2023): Thanks for the report! I've edited your comment to say that background opacity has to be enabled for this to happen (which is required to trigger the issue).
Author
Owner

@j4james commented on GitHub (Jun 1, 2023):

I may be misunderstanding what was said in the oh-my-posh issue, but if they're using a reverse rendition attribute to achieve a transparent foreground color, then this is likely a duplicate of #7014.

@j4james commented on GitHub (Jun 1, 2023): I may be misunderstanding what was said in the oh-my-posh issue, but if they're using a reverse rendition attribute to achieve a transparent foreground color, then this is likely a duplicate of #7014.
Author
Owner

@carpet92 commented on GitHub (Jun 2, 2023):

Isn't the new AtlasEngine supposed to solve this problem?

@carpet92 commented on GitHub (Jun 2, 2023): Isn't the new AtlasEngine supposed to solve this problem?
Author
Owner

@DHowett commented on GitHub (Jun 2, 2023):

The new rendering engine was not intended to solve the problem of having transparent foreground characters! 😄

It might help us to do so, however.

@DHowett commented on GitHub (Jun 2, 2023): The new rendering engine was not intended to solve the problem of having transparent foreground characters! :smile: It might _help_ us to do so, however.
Author
Owner

@DHowett commented on GitHub (Jun 2, 2023):

This does look like a /duplicate of #7014, however. Thanks for finding it, James!

@DHowett commented on GitHub (Jun 2, 2023): This does look like a /duplicate of #7014, however. Thanks for finding it, James!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#20022