Skip to content

[Scenario] Progress Bar Follow-ups #6700

Open

Description

[Original issue: #3004] [Initial PR: #8055] [Display the progress in the tab: #8133]

This is a list of tasks, bugs, etc, related to the "taskbar progress indicator", as first implemented in #8055. While not all of them are immediately relevant for the taskbar indicator, they're all related to the showing of progress state in the Terminal.

Sequence Description

ESC ] 9 ; 4 ; st ; pr ST

Set progress state on Windows taskbar and tab. When `st` is:
  • 0: remove progress.
  • 1: set progress value to pr (number, 0-100).
  • 2: set the taskbar to the "Error" state
  • 3: set the taskbar to the "Indeterminate" state
  • 4: set the taskbar to the "Warning" state

### Follow-up work
- [ ] #7955
- [ ] #1620
- [ ] #8449
- [ ] #9481
- [x] #8910
- [x] #10090
- [x] #9743
- [ ] #3991

"Auto-detect output, display in tab/taskbar" (#7955) and #1620 are very closely related

Bell notifications

These cover some of the same areas of the above, so I'm including them because I feel they deserve a mention here:

Related?

Activity

  1. ghost added
    Needs-TriageIt's a new issue that the core contributor team needs to triage at the next triage meeting
    on Jun 27, 2020
  2. ghost added
    Needs-Tag-FixDoesn't match tag requirements
    on Jun 27, 2020
  3. ghost closed this as completedon Jun 27, 2020
  4. ghost added
    Needs-Author-FeedbackThe original author of the issue/PR needs to come back and respond to something
    on Jun 27, 2020
  5. ghost added
    No-Recent-ActivityThis issue/PR is going stale and may be auto-closed without further activity.
    on Jul 1, 2020
  6. deleted a comment from on Jul 1, 2020
  7. ghost removed
    No-Recent-ActivityThis issue/PR is going stale and may be auto-closed without further activity.
    on Jul 1, 2020
  8. removed
    Needs-TriageIt's a new issue that the core contributor team needs to triage at the next triage meeting
    on Jul 2, 2020
  9. changed the title [-]Reserved for future use [/-] [+][Scenario] Progress Bar Follow-ups[/+] on Oct 29, 2020
  10. 19 remaining items

  11. sba923 commented on Feb 8, 2021

    @sba923

    On at least two of my systems ESC ] 9 ; 4 ; 3 ; 100 BEL does cause the rotating symbol on the Windows Terminal tab, but doesn't trigger the animation on the taskbar button. Shall I open a separate issue for that?

  12. sba923 commented on Mar 4, 2021

    @sba923

    On at least two of my systems ESC ] 9 ; 4 ; 3 ; 100 BEL does cause the rotating symbol on the Windows Terminal tab, but doesn't trigger the animation on the taskbar button. Shall I open a separate issue for that?

    Opened #9374

  13. tringi commented on Mar 5, 2021

    @tringi

    A little off topic, but wouldn't it be trivial to add this also to Conhost? Just simply forward the command to ITaskbarList3?

    Thinking about it... now that this is open, I might even try myself.

  14. sba923 commented on Mar 16, 2021

    @sba923

    On at least two of my systems ESC ] 9 ; 4 ; 3 ; 100 BEL does cause the rotating symbol on the Windows Terminal tab, but doesn't trigger the animation on the taskbar button. Shall I open a separate issue for that?

    Opened #9374

    #9374 closed with solution by Dustin L. Howett (@DHowett): one must enable animations under Settings / Ease of Access / Display:

    image

    Without this, only OSC9;4;x;yST with x=1,2,4 are fully functional.

  15. ghost added a commit that references this issue on Aug 10, 2021
  16. sba923 commented on Sep 7, 2022

    @sba923

    On at least two of my systems ESC ] 9 ; 4 ; 3 ; 100 BEL does cause the rotating symbol on the Windows Terminal tab, but doesn't trigger the animation on the taskbar button. Shall I open a separate issue for that?

    Opened #9374

    #9374 closed with solution by Dustin L. Howett (@DHowett): one must enable animations under Settings / Ease of Access / Display:

    Here's the state of affairs on this issue:

    1. on one system, even with "Show Animations in Windows" set to "on", the animation's still missing
    2. on the same system, the "Show Animations in Windows" setting keeps turning itself off

    This has been discussed in #9374 up to the point where I created https://aka.ms/AAehwy4, and from there no progress has been made.

  17. aetonsi commented on Mar 9, 2023

    @aetonsi

    Hi, is there, anywhere, a clear documentation about all of these behaviors? If not, would it be possible to add a brief section in the Console Virtual Terminal Sequences page (if that's the correct location)?

    I'm asking because i have a couple of quick questions but i can't find the answer anywhere, the information is pretty fragmented (it seems to me). I'm going to place them here in case anyone has an answer.

    First question
    It's possible to switch from "progress" (green taskbar) status to "error"/"warning" status (red/yellow) without altering and without even knowing the current progress percentage. This is possible by using st=2/4 (error/warning) combined with pr= (empty string).
    For example, if the status bar is currently 33% in "progress" (green) status, using st=2 and pr= i can go to 33% "error" (red) status.
    The question is: is it possible to do the same but in the opposite direction? meaning, for example, is it possible to go from 33% "error" status to the same percentage but in "progress" status?
    I tried st=1 and pr= /-1/0 either do nothing or simply reset the taskbar (as if st was 0)

    Second question
    In #8055 it is said:

    We've also extended this with:

    • st 3: set indeterminate state
    • st 4: set paused state

    What it is meant with "paused state"? is it referring to conemu's "warning" state? or is it some additional/custom WindowsTerminal's feature?


    thank you everyone

  18. j4james commented on Mar 9, 2023

    @j4james
    Collaborator

    The question is: is it possible to do the same but in the opposite direction? meaning, for example, is it possible to go from 33% "error" status to the same percentage but in "progress" status?

    No. The default percent value for an error state is the whatever current percent is (that's why you can change from st=1 to st=2 without setting the percent), but the default percent value for the progress state is 0. In other words, if you set st=1 with no percent, you're getting 0%, which is the same as disabling the progress.

    What it is meant with "paused state"? is it referring to conemu's "warning" state?

    Yes. At the time this feature was being developed, ConEmu had only documented states 0, 1, and 2. I think state 3 may already have been implemented, but not yet documented. State 4 was then proposed by Windows Terminal, but it was discussed with the Maximus5 first, who agreed to add matching functionality to ConEmu. The ConEmu documentation now includes all 5 states (see ConEmu specific OSC).

  19. aetonsi commented on Mar 10, 2023

    @aetonsi

    No. The default percent value for an error state is the whatever current percent is (that's why you can change from st=1 to st=2 without setting the percent), but the default percent value for the progress state is 0. In other words, if you set st=1 with no percent, you're getting 0%, which is the same as disabling the progress.

    Is this a Windows default?

    Is there a system API to read the current progress percentage? Because if there is, it would nice if WindowsTerminal's behaviour was more consistent, maintaining the current percentage whenever pr= , even when going from st=2/4 to st=1 (by first reading the current "error"/"warning" percentage, then applying the "progress" state with that percentage).

    If you deem this to be too misleading, because it wouldn't match the OS' behaviour, i'd just like to know if a WT escape code/API/something to get the current percentage exists, so that i can use it in my utilities to achieve the aforementioned behaviour. Something like the ESC[6n escape code which "returns" the cursor position in the stdin stream (even though i don't know how to read the returned value...)

  20. j4james commented on Mar 10, 2023

    @j4james
    Collaborator

    Is this a Windows default?

    No. That's the way it was defined by ConEmu. We're just following their specification.

    i'd just like to know if a WT escape code/API/something to get the current percentage exists

    No. The simplest option would be for you to keep track of the last percentage value yourself, since I'm assuming you're the one that set it. But if that's not an option for you, then I don't have any other ideas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Area-UserInterfaceIssues pertaining to the user interface of the Console or TerminalArea-VTVirtual Terminal sequence supportIssue-ScenarioProduct-TerminalThe new Windows Terminal.

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions