Skip to content

Taskbar action handling is slow in 1.25 #19394

@alabuzhev

Description

@alabuzhev

Windows Terminal version

1.25.250925001-llm

Windows build number

10.0.19045.6218

Other Software

No response

Steps to reproduce

  1. Compile this simple program:
#include <iostream>
#include <string>

#include <windows.h>

int main()
{
	for (;;)
	{
		std::cout << "Press Enter" << std::endl;

		std::string s;
		std::getline(std::cin, s);

		std::cout << "\u001b]9;4;3\u001b\\" << std::flush;

		Sleep(10);

		std::cout << "\u001b]9;4;0\u001b\\" << std::flush;
	}
}
  1. Run it in WT
  2. Press Enter a few dozen times

Expected Behavior

The program uses taskbar state:

// 4 is SetProgressBar, which sets the taskbar state/progress.

to indicate that it is doing something.
The busy period is generally unknown: it can be tens of seconds or a few milliseconds.
The program first sets the state to "indeterminate", then resets it once the work is done.
The code above simulates such a work with a short delay of 10 (or so) ms.
The overall expectation is that in cases when the delay between 'set' and 'reset' actions is short enough, it should be (more or less) invisible to the user, because we apes are way, way slower than machines and cannot notice such minute events with the naked eye.

Actual Behavior

It was (more or less) invisible until recently:

WT 1.24.1901.0:

1.24.1901.0.mp4

Now it takes about 0.5 s at least:

WT 1.25.2371.0:

1.25.2371.0.mp4

Unfortunately I don't have binaries between 1.24.1901.0 and 1.25.2371.0 to pinpoint it more precisely.

The real world scenario: run Far in WT, visit a few directories. Every time you enter or exit a directory the tab icon disappears for about 0.5 s to show the progress circle, even though the directory listing finishes much faster than that, which is annoying.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-UserInterfaceIssues pertaining to the user interface of the Console or TerminalIssue-BugIt either shouldn't be doing this or needs an investigation.Needs-Tag-FixDoesn't match tag requirementsPriority-2A description (P2)Product-TerminalThe new Windows Terminal.

    Type

    Projects

    Status

    Shipped

    Status

    Shipped

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions