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
|
alignof
|
||||||
bitfield
|
bitfield
|
||||||
bitfields
|
bitfields
|
||||||
COLORPROPERTY
|
|
||||||
CLASSNOTAVAILABLE
|
CLASSNOTAVAILABLE
|
||||||
|
COLORPROPERTY
|
||||||
|
CXICON
|
||||||
|
CYICON
|
||||||
environstrings
|
environstrings
|
||||||
EXPCMDFLAGS
|
EXPCMDFLAGS
|
||||||
EXPCMDSTATE
|
EXPCMDSTATE
|
||||||
fullkbd
|
fullkbd
|
||||||
futex
|
futex
|
||||||
|
GETDESKWALLPAPER
|
||||||
|
GETHIGHCONTRAST
|
||||||
Hashtable
|
Hashtable
|
||||||
|
HIGHCONTRASTON
|
||||||
|
HIGHCONTRASTW
|
||||||
href
|
href
|
||||||
IAsync
|
IAsync
|
||||||
IBind
|
IBind
|
||||||
@ -25,8 +31,8 @@ IInheritable
|
|||||||
IMap
|
IMap
|
||||||
IObject
|
IObject
|
||||||
IStorage
|
IStorage
|
||||||
llabs
|
|
||||||
LCID
|
LCID
|
||||||
|
llabs
|
||||||
lround
|
lround
|
||||||
LSHIFT
|
LSHIFT
|
||||||
NCHITTEST
|
NCHITTEST
|
||||||
@ -46,14 +52,14 @@ RSHIFT
|
|||||||
rx
|
rx
|
||||||
serializer
|
serializer
|
||||||
SIZENS
|
SIZENS
|
||||||
GETDESKWALLPAPER
|
|
||||||
UPDATEINIFILE
|
|
||||||
spsc
|
spsc
|
||||||
STDCPP
|
STDCPP
|
||||||
strchr
|
strchr
|
||||||
syscall
|
syscall
|
||||||
|
THEMECHANGED
|
||||||
tmp
|
tmp
|
||||||
tx
|
tx
|
||||||
|
UPDATEINIFILE
|
||||||
userenv
|
userenv
|
||||||
wcstoui
|
wcstoui
|
||||||
XDocument
|
XDocument
|
||||||
|
|||||||
@ -24,6 +24,7 @@ Param(
|
|||||||
[string]$Path,
|
[string]$Path,
|
||||||
[string]$Destination,
|
[string]$Destination,
|
||||||
[int[]]$Altforms = (16, 20, 24, 30, 32, 36, 40, 48, 60, 64, 72, 80, 96, 256),
|
[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,
|
[switch]$Unplated = $true,
|
||||||
[float[]]$Scales = (1.0, 1.25, 1.5, 2.0, 4.0),
|
[float[]]$Scales = (1.0, 1.25, 1.5, 2.0, 4.0),
|
||||||
[string]$HighContrastPath = "",
|
[string]$HighContrastPath = "",
|
||||||
@ -115,6 +116,7 @@ If (-Not [string]::IsNullOrEmpty($Destination)) {
|
|||||||
$TranslatedOutDir = "."
|
$TranslatedOutDir = "."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$intermediates = [System.Collections.Concurrent.ConcurrentBag[PSCustomObject]]::new()
|
||||||
$intermediateFiles = [System.Collections.Concurrent.ConcurrentBag[string]]::new()
|
$intermediateFiles = [System.Collections.Concurrent.ConcurrentBag[string]]::new()
|
||||||
|
|
||||||
# Generate the base icons
|
# Generate the base icons
|
||||||
@ -136,6 +138,11 @@ $allSizes | ForEach-Object -Parallel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
($using:intermediateFiles).Add($intermediateStandardNt)
|
($using:intermediateFiles).Add($intermediateStandardNt)
|
||||||
|
($using:intermediates).Add([PSCustomObject]@{
|
||||||
|
Contrast = "standard"
|
||||||
|
Size = $sz
|
||||||
|
PathWSL = $intermediateStandardWsl
|
||||||
|
})
|
||||||
|
|
||||||
If ($svgContrastWsl -Ne $null) {
|
If ($svgContrastWsl -Ne $null) {
|
||||||
$intermediateBlackNt = "$destinationNt\_intermediate.black.$($sz).png"
|
$intermediateBlackNt = "$destinationNt\_intermediate.black.$($sz).png"
|
||||||
@ -158,9 +165,28 @@ $allSizes | ForEach-Object -Parallel {
|
|||||||
|
|
||||||
($using:intermediateFiles).Add($intermediateBlackNt)
|
($using:intermediateFiles).Add($intermediateBlackNt)
|
||||||
($using:intermediateFiles).Add($intermediateWhiteNt)
|
($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.
|
# Once the base icons are done, splat them into the middles of larger canvases.
|
||||||
$allAssetSizes | ForEach-Object -Parallel {
|
$allAssetSizes | ForEach-Object -Parallel {
|
||||||
$asset = $_
|
$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 |