Update WT's icon at runtime to match high-contrast as applicable (#7971)
This commit introduces 8 more variants of the .ICO file, embeds the right ones into WindowsTerminal.exe, and adds code that will select the most appropriate icon at runtime. Since we're a Centennial application, the "application" icon inside our package isn't used by the shell for the taskbar thumbnails or the Alt-Tab window. To quote J. Tippet, > I believe there are two possible fixes: > > 1. Fix the OS shell to prefer the MRT icon instead of preferring the > win32 icon > 2. Add alternate versions of /res/terminal.ico > The 1st fix is clearly better, since it benefits any hybrid app. But > the 2nd fix is much easier, since it'd just take about an hour to gin up > a new .ico file and hack the .RC file to refer to it when building the > preview flavor. ... and to quote Michael Ratanapintha, > Basically, if your MSIX-packaged desktop app's image resources are > separate files or even separate MSIX packages, they may be loaded by > MRT. If they're embedded in the .exe, they're the old-fashioned Win32 > resources Mr. Tippet is referring to. This is the "2nd fix." Fixes #6777 Co-authored-by: Jeffrey Tippet <jtippet@ntdev.microsoft.com>
14
.github/actions/spell-check/dictionary/apis.txt
vendored
@ -3,14 +3,20 @@ ACCESSDENIED
|
||||
alignof
|
||||
bitfield
|
||||
bitfields
|
||||
COLORPROPERTY
|
||||
CLASSNOTAVAILABLE
|
||||
COLORPROPERTY
|
||||
CXICON
|
||||
CYICON
|
||||
environstrings
|
||||
EXPCMDFLAGS
|
||||
EXPCMDSTATE
|
||||
fullkbd
|
||||
futex
|
||||
GETDESKWALLPAPER
|
||||
GETHIGHCONTRAST
|
||||
Hashtable
|
||||
HIGHCONTRASTON
|
||||
HIGHCONTRASTW
|
||||
href
|
||||
IAsync
|
||||
IBind
|
||||
@ -25,8 +31,8 @@ IInheritable
|
||||
IMap
|
||||
IObject
|
||||
IStorage
|
||||
llabs
|
||||
LCID
|
||||
llabs
|
||||
lround
|
||||
LSHIFT
|
||||
NCHITTEST
|
||||
@ -46,14 +52,14 @@ RSHIFT
|
||||
rx
|
||||
serializer
|
||||
SIZENS
|
||||
GETDESKWALLPAPER
|
||||
UPDATEINIFILE
|
||||
spsc
|
||||
STDCPP
|
||||
strchr
|
||||
syscall
|
||||
THEMECHANGED
|
||||
tmp
|
||||
tx
|
||||
UPDATEINIFILE
|
||||
userenv
|
||||
wcstoui
|
||||
XDocument
|
||||
|
||||
@ -24,6 +24,7 @@ Param(
|
||||
[string]$Path,
|
||||
[string]$Destination,
|
||||
[int[]]$Altforms = (16, 20, 24, 30, 32, 36, 40, 48, 60, 64, 72, 80, 96, 256),
|
||||
[int[]]$Win32IconSizes = (16, 20, 24, 32, 48, 64, 256),
|
||||
[switch]$Unplated = $true,
|
||||
[float[]]$Scales = (1.0, 1.25, 1.5, 2.0, 4.0),
|
||||
[string]$HighContrastPath = "",
|
||||
@ -115,6 +116,7 @@ If (-Not [string]::IsNullOrEmpty($Destination)) {
|
||||
$TranslatedOutDir = "."
|
||||
}
|
||||
|
||||
$intermediates = [System.Collections.Concurrent.ConcurrentBag[PSCustomObject]]::new()
|
||||
$intermediateFiles = [System.Collections.Concurrent.ConcurrentBag[string]]::new()
|
||||
|
||||
# Generate the base icons
|
||||
@ -136,6 +138,11 @@ $allSizes | ForEach-Object -Parallel {
|
||||
}
|
||||
|
||||
($using:intermediateFiles).Add($intermediateStandardNt)
|
||||
($using:intermediates).Add([PSCustomObject]@{
|
||||
Contrast = "standard"
|
||||
Size = $sz
|
||||
PathWSL = $intermediateStandardWsl
|
||||
})
|
||||
|
||||
If ($svgContrastWsl -Ne $null) {
|
||||
$intermediateBlackNt = "$destinationNt\_intermediate.black.$($sz).png"
|
||||
@ -158,9 +165,28 @@ $allSizes | ForEach-Object -Parallel {
|
||||
|
||||
($using:intermediateFiles).Add($intermediateBlackNt)
|
||||
($using:intermediateFiles).Add($intermediateWhiteNt)
|
||||
($using:intermediates).Add([PSCustomObject]@{
|
||||
Contrast = "black"
|
||||
Size = $sz
|
||||
PathWSL = $intermediateBlackWsl
|
||||
})
|
||||
($using:intermediates).Add([PSCustomObject]@{
|
||||
Contrast = "white"
|
||||
Size = $sz
|
||||
PathWSL = $intermediateWhiteWsl
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
$intermediates | ? { $_.Size -In $Win32IconSizes } | Group-Object Contrast | ForEach-Object -Parallel {
|
||||
$assetName = "terminal.ico"
|
||||
If ($_.Name -Ne "standard") {
|
||||
$assetName = "terminal_contrast-$($_.Name).ico"
|
||||
}
|
||||
Write-Host "Producing win32 .ico for contrast=$($_.Name) as $assetName"
|
||||
wsl convert $_.Group.PathWSL "$($using:TranslatedOutDir)/$assetName"
|
||||
}
|
||||
|
||||
# Once the base icons are done, splat them into the middles of larger canvases.
|
||||
$allAssetSizes | ForEach-Object -Parallel {
|
||||
$asset = $_
|
||||
|
||||
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 614 B After Width: | Height: | Size: 841 B |
|
Before Width: | Height: | Size: 374 B After Width: | Height: | Size: 605 B |
|
Before Width: | Height: | Size: 444 B After Width: | Height: | Size: 594 B |
|
Before Width: | Height: | Size: 811 B After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 491 B After Width: | Height: | Size: 775 B |
|
Before Width: | Height: | Size: 518 B After Width: | Height: | Size: 685 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 474 B After Width: | Height: | Size: 841 B |
|
Before Width: | Height: | Size: 501 B After Width: | Height: | Size: 728 B |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 574 B After Width: | Height: | Size: 976 B |
|
Before Width: | Height: | Size: 565 B After Width: | Height: | Size: 805 B |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 959 B After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 869 B After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 566 B After Width: | Height: | Size: 809 B |
|
Before Width: | Height: | Size: 549 B After Width: | Height: | Size: 800 B |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 626 B After Width: | Height: | Size: 925 B |
|
Before Width: | Height: | Size: 615 B After Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 669 B After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 657 B After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 864 B After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 818 B After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 726 B After Width: | Height: | Size: 966 B |
|
Before Width: | Height: | Size: 700 B After Width: | Height: | Size: 954 B |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 846 B After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 816 B After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 967 B After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 910 B After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 504 B After Width: | Height: | Size: 650 B |
|
Before Width: | Height: | Size: 501 B After Width: | Height: | Size: 653 B |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 554 B After Width: | Height: | Size: 783 B |
|
Before Width: | Height: | Size: 562 B After Width: | Height: | Size: 790 B |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 625 B After Width: | Height: | Size: 858 B |
|
Before Width: | Height: | Size: 608 B After Width: | Height: | Size: 845 B |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 697 B After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 676 B After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 447 B After Width: | Height: | Size: 547 B |
|
Before Width: | Height: | Size: 447 B After Width: | Height: | Size: 547 B |
|
Before Width: | Height: | Size: 300 B After Width: | Height: | Size: 411 B |
|
Before Width: | Height: | Size: 395 B After Width: | Height: | Size: 482 B |
|
Before Width: | Height: | Size: 300 B After Width: | Height: | Size: 411 B |
|
Before Width: | Height: | Size: 395 B After Width: | Height: | Size: 482 B |
|
Before Width: | Height: | Size: 567 B After Width: | Height: | Size: 691 B |
|
Before Width: | Height: | Size: 567 B After Width: | Height: | Size: 691 B |