Show error state in progress ring of tab #13013

Open
opened 2026-01-31 03:31:27 +00:00 by claunia · 5 comments
Owner

Originally created by @KalleOlaviNiemitalo on GitHub (Mar 13, 2021).

Description of the new feature/enhancement

If an application reports progress via OSC 9;4, Windows Terminal nowadays shows that in the task bar and in the tab header (https://github.com/microsoft/terminal/pull/8133). However, if the progress report has the error or warning state, that information goes only to the task bar. I'd like the tab header to display the error or warning, too.

Related to https://github.com/microsoft/terminal/issues/6700 and https://github.com/microsoft/terminal/issues/9435#issuecomment-796667902.

Proposed technical implementation details (optional)

Could perhaps change the color of the progress ring. I don't see any color or error property in Microsoft.UI.Xaml.Controls.ProgressRing, though.

Originally created by @KalleOlaviNiemitalo on GitHub (Mar 13, 2021). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING: 1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement. 2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement. 3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number). 4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement. 5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement. All good? Then proceed! --> # Description of the new feature/enhancement <!-- A clear and concise description of what the problem is that the new feature would solve. Describe why and how a user would use this new functionality (if applicable). --> If an application reports progress via OSC 9;4, Windows Terminal nowadays shows that in the task bar and in the tab header (<https://github.com/microsoft/terminal/pull/8133>). However, if the progress report has the error or warning state, that information goes only to the task bar. I'd like the tab header to display the error or warning, too. Related to <https://github.com/microsoft/terminal/issues/6700> and <https://github.com/microsoft/terminal/issues/9435#issuecomment-796667902>. # Proposed technical implementation details (optional) <!-- A clear and concise description of what you want to happen. --> Could perhaps change the color of the progress ring. I don't see any color or error property in [Microsoft.UI.Xaml.Controls.ProgressRing](https://docs.microsoft.com/windows/winui/api/microsoft.ui.xaml.controls.progressring?view=winui-2.5), though.
claunia added the Help WantedIssue-TaskProduct-TerminalArea-UserInterface labels 2026-01-31 03:31:27 +00:00
Author
Owner

@KalleOlaviNiemitalo commented on GitHub (Mar 14, 2021):

Changing the colors of a ProgressRing is apparently https://github.com/microsoft/microsoft-ui-xaml/issues/1968.

If Windows Terminal instead displayed the error and warning states by changing the tab color, then it would have to be decided how that interacts with tab colors set by applications (https://github.com/microsoft/terminal/issues/6574); and if the tab color could be set in a color scheme (https://github.com/microsoft/terminal/issues/9413), then perhaps the tab error and warning colors should be configurable there as well.

@KalleOlaviNiemitalo commented on GitHub (Mar 14, 2021): Changing the colors of a ProgressRing is apparently <https://github.com/microsoft/microsoft-ui-xaml/issues/1968>. If Windows Terminal instead displayed the error and warning states by changing the tab color, then it would have to be decided how that interacts with tab colors set by applications (<https://github.com/microsoft/terminal/issues/6574>); and if the tab color could be set in a color scheme (<https://github.com/microsoft/terminal/issues/9413>), then perhaps the tab error and warning colors should be configurable there as well.
Author
Owner

@DHowett commented on GitHub (Mar 14, 2021):

If we're willing to dispense with the progress part of the ring during an error state, we could mimic it with an elliptical path. That would give us the freedom to style it and perhaps even animate it. Likely that we'd be able to do that before microsoft/microsoft-ui-xaml#1968 lands ;P

@DHowett commented on GitHub (Mar 14, 2021): If we're willing to dispense with the _progress_ part of the ring during an error state, we could mimic it with an elliptical path. That would give us the freedom to style it and perhaps even animate it. Likely that we'd be able to do that before microsoft/microsoft-ui-xaml#1968 lands ;P
Author
Owner

@zadjii-msft commented on GitHub (Mar 15, 2021):

we could mimic it with an elliptical path. That would give us the freedom to style it and perhaps even animate it

Yea that's a neat idea. If we're in the error/warning states, then we're not in the indeterminate state that needs the interesting animation anyways. A neat workaround 😉

@zadjii-msft commented on GitHub (Mar 15, 2021): > we could mimic it with an elliptical path. That would give us the freedom to style it and perhaps even animate it Yea that's a neat idea. If we're in the error/warning states, then we're not in the indeterminate state that needs the interesting animation anyways. A neat workaround 😉
Author
Owner

@KalleOlaviNiemitalo commented on GitHub (Oct 14, 2021):

The WinUI 3.0 documentation for ProgressRing now lists a Foreground property inherited from Microsoft.UI.Xaml.Controls.Control. It seems ProgressRing in WinUI 2.7 already inherited a Foreground property from Windows.UI.Xaml.Controls.Control but this was just not listed in the documentation. From ProgressRing.xaml and ProgressRing.cpp in WinUI 2.7, it looks like the property should affect the displayed color if set. I'm not sure where the WinUI 3.0 ProgressRing source code is, as ProgressRing even on the main branch of microsoft/microsoft-ui-xaml is derived from Windows.UI.Xaml.Controls.Control rather than Microsoft.UI.Xaml.Controls.Control.

@KalleOlaviNiemitalo commented on GitHub (Oct 14, 2021): The WinUI 3.0 documentation for [ProgressRing](https://docs.microsoft.com/windows/winui/api/microsoft.ui.xaml.controls.progressring?view=winui-3.0) now lists a Foreground property inherited from Microsoft.UI.Xaml.Controls.Control. It seems [ProgressRing in WinUI 2.7](https://docs.microsoft.com/windows/winui/api/microsoft.ui.xaml.controls.progressring?view=winui-2.7) already inherited a Foreground property from [Windows.UI.Xaml.Controls.Control](https://docs.microsoft.com/uwp/api/windows.ui.xaml.controls.control.foreground?view=winrt-10240) but this was just not listed in the documentation. From [ProgressRing.xaml](https://github.com/microsoft/microsoft-ui-xaml/blob/bb516c69eb06809b78bae01a5184739372f77479/dev/ProgressRing/ProgressRing.xaml#L8-L9) and [ProgressRing.cpp](https://github.com/microsoft/microsoft-ui-xaml/blob/bb516c69eb06809b78bae01a5184739372f77479/dev/ProgressRing/ProgressRing.cpp#L257) in WinUI 2.7, it looks like the property should affect the displayed color if set. I'm not sure where the WinUI 3.0 ProgressRing source code is, as ProgressRing even on the `main` branch of microsoft/microsoft-ui-xaml is [derived from Windows.UI.Xaml.Controls.Control](https://github.com/microsoft/microsoft-ui-xaml/blob/7901c2690c9843cf8c151738e734e5c941497252/dev/ProgressRing/ProgressRing.idl#L17) rather than Microsoft.UI.Xaml.Controls.Control.
Author
Owner

@mpela81 commented on GitHub (Oct 20, 2021):

If we like @KalleOlaviNiemitalo's suggestion the ProgressRing's Foreground property seems to work
ProgressRingForeground

@mpela81 commented on GitHub (Oct 20, 2021): If we like @KalleOlaviNiemitalo's suggestion the ProgressRing's Foreground property seems to work ![ProgressRingForeground](https://user-images.githubusercontent.com/1140981/138141843-34bf89e8-56ba-4023-9221-97c429353aff.gif)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#13013