Open zadjii-msft opened 4 years ago
Hi! Thanks for attempting to open an issue. Unfortunately, you didn't write anything in the body which makes it impossible to understand your concern. You are welcome to fix up the issue and try again by opening another issue with the body filled out.
Just some context on how conemu does autodetection of long running operations: if last line starts with [int]% it assumes that it's a progress indicator and sets tab name accordingly and also taskbar state:
I would love to see something like this in terminal.
Just installed Preview v1.6.10272.0 and gave that great feature a shot.
Is it intentional that the taskbar (only) reflects the "progress state" of the active tab? I know that it's not possible to display multiple states there, but shouldn't it be possible to display the result of some combination? For instance, if any tab is "busy", then the taskbar says "busy", if tab 1 is at 50% and tab 2 is at 75%, then the taskbar shows 62.5%?
It is intentional.
It doesn't seem like a bad idea to combine these states somehow (with a setting), but we'd want to make sure we're clear what happens in cases like:
etc.
It doesn't seem like a bad idea to combine these states somehow (with a setting), but we'd want to make sure we're clear what happens in cases like:
- one tab has progress=N%, another tab has no progress
- one tab has progress=N%, another tab has progress=M%
- one tab has progress=N%, another tab has progress=indeterminate
- one tab has progress=N%, another tab has progress=M% AND is in the error state
etc.
Sure, we have to specify this exhaustively.
I can't seem to see a visible difference between ESC ] 9 ; 4 ; 2 ST
(Error) and ESC ] 9 ; 4 ; 4 ST
(Warning or Pause, what's the official 'name'?).
Do I miss something?
"warning": ^[]9;4;4;100^G
"error": ^[]9;4;2;100^G
One is yellow, the other is red...
"warning":
^[]9;4;4;100^G
"error":
^[]9;4;2;100^G
One is yellow, the other is red...
Oh... reading #8055 and experimenting, I had not guessed / understood that the pr
argument must be present, even when useless. It doesn't seem needed for 0 and 3, but now I know that a dummy non-zero argument must be there for 2 and 4...
It doesn't seem like a bad idea to combine these states somehow (with a setting), but we'd want to make sure we're clear what happens in cases like:
- one tab has progress=N%, another tab has no progress
- one tab has progress=N%, another tab has progress=M%
- one tab has progress=N%, another tab has progress=indeterminate
- one tab has progress=N%, another tab has progress=M% AND is in the error state
etc.
Sure, we have to specify this exhaustively.
It is specified in Taskbar API here how progress bars are combined for multiple windows collapsed into single button. For consistency it would be good idea to duplicate the behavior.
It is specified in Taskbar API here how progress bars are combined for multiple windows collapsed into single button. For consistency it would be good idea to duplicate the behavior.
Thanks for that. We should do that.
FYI, this WinUI bug still exists: https://github.com/microsoft/microsoft-ui-xaml/issues/3787
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?
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?
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.
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
Without this, only OSC9;4;x;yST
with x=1,2,4 are fully functional.
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 @DHowett: one must enable animations under Settings / Ease of Access / Display:
Here's the state of affairs on this issue:
This has been discussed in https://github.com/microsoft/terminal/issues/9374 up to the point where I created https://aka.ms/AAehwy4, and from there no progress has been made.
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=
2and
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=
1and
pr=
/
-1/
0either do nothing or simply reset the taskbar (as if
stwas
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
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).
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/
4to
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...)
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.
[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.
"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:
bellStyle: flash
-> flash the window. (maybevisual
)bellStyle: taskbar
-> flash the taskbar (maybetaskbar
)bellStyle: visual
-> both? (maybevisual|taskbar
)Related?
14909