Skip to content

GetConsoleScreenBufferInfoEx doesn't return the actual palette #10639

@alabuzhev

Description

@alabuzhev

Windows Terminal version (or Windows build number)

1.9.1523.0

Other Software

No response

Steps to reproduce

  1. Compile the following code:
#include <iomanip>
#include <iostream>

#include <windows.h>


int main()
{
	CONSOLE_SCREEN_BUFFER_INFOEX Info{ sizeof(Info) };
	if (!GetConsoleScreenBufferInfoEx(GetStdHandle(STD_OUTPUT_HANDLE), &Info))
		return 1;

	for (const auto& i: Info.ColorTable)
	{
		std::cout << std::hex << std::setw(8) << std::setfill('0') << i << '\n';
	}

	std::cout.flush();
}
  1. Set WT palette to "Vintage" in settings
  2. Run the compiled code

Expected Behavior

The same colour codes as in the corresponding section of C:\Program Files\WindowsApps\Microsoft.WindowsTerminalPreview_1.9.1523.0_x64__8wekyb3d8bbwe\defaults.json:

000000
800000
008000
808000
000080
800080
008080
C0C0C0
808080
FF0000
00FF00
FFFF00
0000FF
FF00FF
00FFFF
FFFFFF

Actual Behavior

It looks like the default Windows 10 palette is returned instead:

000c0c0c
00da3700
000ea113
00dd963a
001f0fc5
00981788
00009cc1
00cccccc
00767676
00ff783b
000cc616
00d6d661
005648e7
009e00b4
00a5f1f9
00f2f2f2

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-ServerDown in the muck of API call servicing, interprocess communication, eventing, etc.Issue-TaskIt's a feature request, but it doesn't really need a major design.Priority-3A description (P3)Product-ConptyFor console issues specifically related to conpty

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions