mirror of
https://github.com/microsoft/terminal.git
synced 2026-05-21 06:18:34 +00:00
Compare commits
2 Commits
v1.25.1322
...
dev/migrie
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0c09178d7a | ||
|
|
056925eb42 |
1
.github/actions/spelling/allow/allow.txt
vendored
1
.github/actions/spelling/allow/allow.txt
vendored
@@ -67,7 +67,6 @@ servicebus
|
||||
slnt
|
||||
stakeholders
|
||||
subpage
|
||||
subpages
|
||||
sustainability
|
||||
sxn
|
||||
Tencent
|
||||
|
||||
2
.github/actions/spelling/expect/expect.txt
vendored
2
.github/actions/spelling/expect/expect.txt
vendored
@@ -572,7 +572,6 @@ FGHIJ
|
||||
fgidx
|
||||
FGs
|
||||
FILEDESCRIPTION
|
||||
filehops
|
||||
FILESUBTYPE
|
||||
FILESYSPATH
|
||||
FILEW
|
||||
@@ -1773,7 +1772,6 @@ uldash
|
||||
uldb
|
||||
ULONGLONG
|
||||
ulwave
|
||||
Unaccess
|
||||
Unadvise
|
||||
unattend
|
||||
UNCPRIORITY
|
||||
|
||||
@@ -56,12 +56,11 @@
|
||||
<ReleaseNotes>
|
||||
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
|
||||
|
||||
- ₣ïňάĺĺў, ŧне âъΐŀίťŷ ţø şēаґсђ ƒбг ăиÿ şēťτіήġ! !!! !!! !!! !!! !!!
|
||||
- Á ŋеώ ñăŧїνе ěðíτōг ƒοѓ ќэÿ вїñďĭňğş, дčтιθήѕ дñð çθmmãήδ ρàľěţťę ёñтгĩέś. !!! !!! !!! !!! !!! !!! !!! !
|
||||
- Пėώ čоmmμñìтў ŀό¢àłįżåţίòйš ŧō Šэґъιäñ åηδ Ůκŗăįлīăπ !!! !!! !!! !!! !!! !
|
||||
- Ѕυррòŗт ƒòŗ ťĥё "Kitty" ĸ℮ŷъøàŗď ρřŏťô¢õℓ ƒŏґ нįģћ-ƒíđёℓïтÿ îńрüť êńсøďíлğ !!! !!! !!! !!! !!! !!! !!! !
|
||||
- Ą ωћόĺé ņέш ∑×τзńşĩōиŝ ρâģε τђат šнòωş ωħąт нǻś ъеēñ įηšтǻľĺéδ ĭʼnтο ўбμŗ Ţзřmĭňāŀ !!! !!! !!! !!! !!! !!! !!! !!!
|
||||
- €όммаήδ Рдĺēтţĕ пŏẅ şĥŏшś üρ ϊñ ỳоũѓ йαťïνє ļäŋģµаġέ άś ŵєŀľ åś Σиĝℓĭŝђ !!! !!! !!! !!! !!! !!! !!!
|
||||
- ∏еẅ VΤ ƒэåŧύґέŝ şűçн ăŝ ѕỳňсĥŗǿйìźėð гēŋďзříⁿğ, ηĕш ćôĺõг şĉћěмєѕ, çóńƒіĝџŗáτїöπ ƒοг qũī¢ķ möűšë ąćŧϊόņŝ ľîķє žøōmίйğ, ǻⁿđ мόřε !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
||||
|
||||
Ρŀ℮âѕē şєё όûя ĜîтΗūь ŕεĺĕǻŝёš раġĕ ƒŏґ ãδđϊŧïбπåľ δеτáΐłś. !!! !!! !!! !!! !!! !!!
|
||||
Ρĺęąŝэ ѕєě õμя ĞĭтΗύв řєĺэдšέŝ рάġě ƒοґ àďđϊтїõлаℓ ðêţǻїłş. !!! !!! !!! !!! !!! !!!
|
||||
</ReleaseNotes>
|
||||
<ScreenshotCaptions>
|
||||
<!-- Valid length: 200 character limit, up to 9 elements per platform -->
|
||||
|
||||
@@ -56,12 +56,11 @@
|
||||
<ReleaseNotes>
|
||||
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
|
||||
|
||||
- ₣ïňάĺĺў, ŧне âъΐŀίťŷ ţø şēаґсђ ƒбг ăиÿ şēťτіήġ! !!! !!! !!! !!! !!!
|
||||
- Á ŋеώ ñăŧїνе ěðíτōг ƒοѓ ќэÿ вїñďĭňğş, дčтιθήѕ дñð çθmmãήδ ρàľěţťę ёñтгĩέś. !!! !!! !!! !!! !!! !!! !!! !
|
||||
- Пėώ čоmmμñìтў ŀό¢àłįżåţίòйš ŧō Šэґъιäñ åηδ Ůκŗăįлīăπ !!! !!! !!! !!! !!! !
|
||||
- Ѕυррòŗт ƒòŗ ťĥё "Kitty" ĸ℮ŷъøàŗď ρřŏťô¢õℓ ƒŏґ нįģћ-ƒíđёℓïтÿ îńрüť êńсøďíлğ !!! !!! !!! !!! !!! !!! !!! !
|
||||
- Ą ωћόĺé ņέш ∑×τзńşĩōиŝ ρâģε τђат šнòωş ωħąт нǻś ъеēñ įηšтǻľĺéδ ĭʼnтο ўбμŗ Ţзřmĭňāŀ !!! !!! !!! !!! !!! !!! !!! !!!
|
||||
- €όммаήδ Рдĺēтţĕ пŏẅ şĥŏшś üρ ϊñ ỳоũѓ йαťïνє ļäŋģµаġέ άś ŵєŀľ åś Σиĝℓĭŝђ !!! !!! !!! !!! !!! !!! !!!
|
||||
- ∏еẅ VΤ ƒэåŧύґέŝ şűçн ăŝ ѕỳňсĥŗǿйìźėð гēŋďзříⁿğ, ηĕш ćôĺõг şĉћěмєѕ, çóńƒіĝџŗáτїöπ ƒοг qũī¢ķ möűšë ąćŧϊόņŝ ľîķє žøōmίйğ, ǻⁿđ мόřε !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
||||
|
||||
Ρŀ℮âѕē şєё όûя ĜîтΗūь ŕεĺĕǻŝёš раġĕ ƒŏґ ãδđϊŧïбπåľ δеτáΐłś. !!! !!! !!! !!! !!! !!!
|
||||
Ρĺęąŝэ ѕєě õμя ĞĭтΗύв řєĺэдšέŝ рάġě ƒοґ àďđϊтїõлаℓ ðêţǻїłş. !!! !!! !!! !!! !!! !!!
|
||||
</ReleaseNotes>
|
||||
<ScreenshotCaptions>
|
||||
<!-- Valid length: 200 character limit, up to 9 elements per platform -->
|
||||
|
||||
@@ -56,12 +56,11 @@
|
||||
<ReleaseNotes>
|
||||
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
|
||||
|
||||
- ₣ïňάĺĺў, ŧне âъΐŀίťŷ ţø şēаґсђ ƒбг ăиÿ şēťτіήġ! !!! !!! !!! !!! !!!
|
||||
- Á ŋеώ ñăŧїνе ěðíτōг ƒοѓ ќэÿ вїñďĭňğş, дčтιθήѕ дñð çθmmãήδ ρàľěţťę ёñтгĩέś. !!! !!! !!! !!! !!! !!! !!! !
|
||||
- Пėώ čоmmμñìтў ŀό¢àłįżåţίòйš ŧō Šэґъιäñ åηδ Ůκŗăįлīăπ !!! !!! !!! !!! !!! !
|
||||
- Ѕυррòŗт ƒòŗ ťĥё "Kitty" ĸ℮ŷъøàŗď ρřŏťô¢õℓ ƒŏґ нįģћ-ƒíđёℓïтÿ îńрüť êńсøďíлğ !!! !!! !!! !!! !!! !!! !!! !
|
||||
- Ą ωћόĺé ņέш ∑×τзńşĩōиŝ ρâģε τђат šнòωş ωħąт нǻś ъеēñ įηšтǻľĺéδ ĭʼnтο ўбμŗ Ţзřmĭňāŀ !!! !!! !!! !!! !!! !!! !!! !!!
|
||||
- €όммаήδ Рдĺēтţĕ пŏẅ şĥŏшś üρ ϊñ ỳоũѓ йαťïνє ļäŋģµаġέ άś ŵєŀľ åś Σиĝℓĭŝђ !!! !!! !!! !!! !!! !!! !!!
|
||||
- ∏еẅ VΤ ƒэåŧύґέŝ şűçн ăŝ ѕỳňсĥŗǿйìźėð гēŋďзříⁿğ, ηĕш ćôĺõг şĉћěмєѕ, çóńƒіĝџŗáτїöπ ƒοг qũī¢ķ möűšë ąćŧϊόņŝ ľîķє žøōmίйğ, ǻⁿđ мόřε !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
||||
|
||||
Ρŀ℮âѕē şєё όûя ĜîтΗūь ŕεĺĕǻŝёš раġĕ ƒŏґ ãδđϊŧïбπåľ δеτáΐłś. !!! !!! !!! !!! !!! !!!
|
||||
Ρĺęąŝэ ѕєě õμя ĞĭтΗύв řєĺэдšέŝ рάġě ƒοґ àďđϊтїõлаℓ ðêţǻїłş. !!! !!! !!! !!! !!! !!!
|
||||
</ReleaseNotes>
|
||||
<ScreenshotCaptions>
|
||||
<!-- Valid length: 200 character limit, up to 9 elements per platform -->
|
||||
|
||||
@@ -56,11 +56,11 @@
|
||||
<ReleaseNotes>
|
||||
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
|
||||
|
||||
- Ą ωћόĺé ņέш ∑×τзńşĩōиŝ ρâģε τђат šнòωş ωħąт нǻś ъеēñ įηšтǻľĺéδ ĭʼnтο ўбμŗ Ţзřmĭňāŀ !!! !!! !!! !!! !!! !!! !!! !!!
|
||||
- €όммаήδ Рдĺēтţĕ пŏẅ şĥŏшś üρ ϊñ ỳоũѓ йαťïνє ļäŋģµаġέ άś ŵєŀľ åś Σиĝℓĭŝђ !!! !!! !!! !!! !!! !!! !!!
|
||||
- ∏еẅ VΤ ƒэåŧύґέŝ şűçн ăŝ ѕỳňсĥŗǿйìźėð гēŋďзříⁿğ, ηĕш ćôĺõг şĉћěмєѕ, çóńƒіĝџŗáτїöπ ƒοг qũī¢ķ möűšë ąćŧϊόņŝ ľîķє žøōmίйğ, ǻⁿđ мόřε !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
||||
- Ẁē'νё àðđέď đöžзńş öƒ śėŧťїńģš тб тнè ÛĮ ťħąт ŏņ¢з όⁿℓγ έжіѕŧéð іή тђε ЈŠΩŃ ƒїℓė, ĭňĉŀџđіņģ å ňэẅ φâģé ƒøя ςŭśŧŏmïżϊñģ тħέ ĺαŷöυτ öƒ убµř Йέẁ Ţàъ мęήµ! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
||||
- Ẁè ĥаνė řэąřčħΐŧέсτέð щįлďοш мǻňαĝēмêиť ťô ϊmрябνé ŗĕŀĩāвîĺïтγ; ρŀěăѕе ƒíŀё αⁿу вûġš ÿøú εʼnćōùлťēѓ ẃïτħ ŧћё wt.exe ǻļĭâś !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
||||
- Рґøƒíŀêŝ ňöẁ šћθẁ ãй ĭčöñ ίƒ ŧħэŷ'νę ъеєл ђіðδэñ őř řєƒěґ ŧσ φяοġгаmŝ ẅђíçĥ ẁ℮гέ џňϊйşťàľĺèð. !!! !!! !!! !!! !!! !!! !!! !!! !!! !
|
||||
|
||||
Ρĺęąŝэ ѕєě õμя ĞĭтΗύв řєĺэдšέŝ рάġě ƒοґ àďđϊтїõлаℓ ðêţǻїłş. !!! !!! !!! !!! !!! !!!
|
||||
Рļèāŝє ŝèĕ θџŗ ĢίťĤцъ řέĺэªşэš ρąĝę ƒόř áďđїτϊōπαľ đэŧдįļŝ. !!! !!! !!! !!! !!! !!!
|
||||
</ReleaseNotes>
|
||||
<ScreenshotCaptions>
|
||||
<!-- Valid length: 200 character limit, up to 9 elements per platform -->
|
||||
|
||||
@@ -56,11 +56,11 @@
|
||||
<ReleaseNotes>
|
||||
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
|
||||
|
||||
- Ą ωћόĺé ņέш ∑×τзńşĩōиŝ ρâģε τђат šнòωş ωħąт нǻś ъеēñ įηšтǻľĺéδ ĭʼnтο ўбμŗ Ţзřmĭňāŀ !!! !!! !!! !!! !!! !!! !!! !!!
|
||||
- €όммаήδ Рдĺēтţĕ пŏẅ şĥŏшś üρ ϊñ ỳоũѓ йαťïνє ļäŋģµаġέ άś ŵєŀľ åś Σиĝℓĭŝђ !!! !!! !!! !!! !!! !!! !!!
|
||||
- ∏еẅ VΤ ƒэåŧύґέŝ şűçн ăŝ ѕỳňсĥŗǿйìźėð гēŋďзříⁿğ, ηĕш ćôĺõг şĉћěмєѕ, çóńƒіĝџŗáτїöπ ƒοг qũī¢ķ möűšë ąćŧϊόņŝ ľîķє žøōmίйğ, ǻⁿđ мόřε !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
||||
- Ẁē'νё àðđέď đöžзńş öƒ śėŧťїńģš тб тнè ÛĮ ťħąт ŏņ¢з όⁿℓγ έжіѕŧéð іή тђε ЈŠΩŃ ƒїℓė, ĭňĉŀџđіņģ å ňэẅ φâģé ƒøя ςŭśŧŏmïżϊñģ тħέ ĺαŷöυτ öƒ убµř Йέẁ Ţàъ мęήµ! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
||||
- Ẁè ĥаνė řэąřčħΐŧέсτέð щįлďοш мǻňαĝēмêиť ťô ϊmрябνé ŗĕŀĩāвîĺïтγ; ρŀěăѕе ƒíŀё αⁿу вûġš ÿøú εʼnćōùлťēѓ ẃïτħ ŧћё wt.exe ǻļĭâś !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
||||
- Рґøƒíŀêŝ ňöẁ šћθẁ ãй ĭčöñ ίƒ ŧħэŷ'νę ъеєл ђіðδэñ őř řєƒěґ ŧσ φяοġгаmŝ ẅђíçĥ ẁ℮гέ џňϊйşťàľĺèð. !!! !!! !!! !!! !!! !!! !!! !!! !!! !
|
||||
|
||||
Ρĺęąŝэ ѕєě õμя ĞĭтΗύв řєĺэдšέŝ рάġě ƒοґ àďđϊтїõлаℓ ðêţǻїłş. !!! !!! !!! !!! !!! !!!
|
||||
Рļèāŝє ŝèĕ θџŗ ĢίťĤцъ řέĺэªşэš ρąĝę ƒόř áďđїτϊōπαľ đэŧдįļŝ. !!! !!! !!! !!! !!! !!!
|
||||
</ReleaseNotes>
|
||||
<ScreenshotCaptions>
|
||||
<!-- Valid length: 200 character limit, up to 9 elements per platform -->
|
||||
|
||||
@@ -56,11 +56,11 @@
|
||||
<ReleaseNotes>
|
||||
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
|
||||
|
||||
- Ą ωћόĺé ņέш ∑×τзńşĩōиŝ ρâģε τђат šнòωş ωħąт нǻś ъеēñ įηšтǻľĺéδ ĭʼnтο ўбμŗ Ţзřmĭňāŀ !!! !!! !!! !!! !!! !!! !!! !!!
|
||||
- €όммаήδ Рдĺēтţĕ пŏẅ şĥŏшś üρ ϊñ ỳоũѓ йαťïνє ļäŋģµаġέ άś ŵєŀľ åś Σиĝℓĭŝђ !!! !!! !!! !!! !!! !!! !!!
|
||||
- ∏еẅ VΤ ƒэåŧύґέŝ şűçн ăŝ ѕỳňсĥŗǿйìźėð гēŋďзříⁿğ, ηĕш ćôĺõг şĉћěмєѕ, çóńƒіĝџŗáτїöπ ƒοг qũī¢ķ möűšë ąćŧϊόņŝ ľîķє žøōmίйğ, ǻⁿđ мόřε !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
||||
- Ẁē'νё àðđέď đöžзńş öƒ śėŧťїńģš тб тнè ÛĮ ťħąт ŏņ¢з όⁿℓγ έжіѕŧéð іή тђε ЈŠΩŃ ƒїℓė, ĭňĉŀџđіņģ å ňэẅ φâģé ƒøя ςŭśŧŏmïżϊñģ тħέ ĺαŷöυτ öƒ убµř Йέẁ Ţàъ мęήµ! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
||||
- Ẁè ĥаνė řэąřčħΐŧέсτέð щįлďοш мǻňαĝēмêиť ťô ϊmрябνé ŗĕŀĩāвîĺïтγ; ρŀěăѕе ƒíŀё αⁿу вûġš ÿøú εʼnćōùлťēѓ ẃïτħ ŧћё wt.exe ǻļĭâś !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
||||
- Рґøƒíŀêŝ ňöẁ šћθẁ ãй ĭčöñ ίƒ ŧħэŷ'νę ъеєл ђіðδэñ őř řєƒěґ ŧσ φяοġгаmŝ ẅђíçĥ ẁ℮гέ џňϊйşťàľĺèð. !!! !!! !!! !!! !!! !!! !!! !!! !!! !
|
||||
|
||||
Ρĺęąŝэ ѕєě õμя ĞĭтΗύв řєĺэдšέŝ рάġě ƒοґ àďđϊтїõлаℓ ðêţǻїłş. !!! !!! !!! !!! !!! !!!
|
||||
Рļèāŝє ŝèĕ θџŗ ĢίťĤцъ řέĺэªşэš ρąĝę ƒόř áďđїτϊōπαľ đэŧдįļŝ. !!! !!! !!! !!! !!! !!!
|
||||
</ReleaseNotes>
|
||||
<ScreenshotCaptions>
|
||||
<!-- Valid length: 200 character limit, up to 9 elements per platform -->
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Optional, defaults to main. Name of the branch which will be used for calculating branch point. -->
|
||||
<PGOBranch>release-1.25</PGOBranch>
|
||||
<PGOBranch>main</PGOBranch>
|
||||
|
||||
<!-- Mandatory. Name of the NuGet package which will contain PGO databases for consumption by build system. -->
|
||||
<PGOPackageName>Microsoft.Internal.Windows.Terminal.PGODatabase</PGOPackageName>
|
||||
|
||||
@@ -46,7 +46,6 @@ jobs:
|
||||
BuildConfiguration: ${{ config }}
|
||||
dependsOn: ${{ parameters.dependsOn }}
|
||||
variables:
|
||||
BuildPlatform: Any CPU
|
||||
OutputBuildPlatform: AnyCPU
|
||||
Terminal.BinDir: $(Build.SourcesDirectory)/bin/$(OutputBuildPlatform)/$(BuildConfiguration)
|
||||
JobOutputDirectory: $(Build.ArtifactStagingDirectory)\nupkg
|
||||
|
||||
@@ -211,7 +211,7 @@ extends:
|
||||
ob_createvpack_verbose: true
|
||||
ob_createvpack_vpackdirectory: '$(JobOutputDirectory)\vpack'
|
||||
ob_createvpack_versionAs: string
|
||||
ob_createvpack_version: '$(XES_PACKAGEVERSIONNUMBER)'
|
||||
ob_createvpack_version: '$(XES_APPXMANIFESTVERSION)'
|
||||
ob_updateOSManifest_gitcheckinConfigPath: '$(Build.SourcesDirectory)\build\config\GitCheckin.json'
|
||||
# We're skipping the 'fetch' part of the OneBranch rules, but that doesn't mean
|
||||
# that it doesn't expect to have downloaded a manifest directly to some 'destination'
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<!-- This file is read by XES, which we use in our Release builds. -->
|
||||
<PropertyGroup Label="Version">
|
||||
<XesUseOneStoreVersioning>true</XesUseOneStoreVersioning>
|
||||
<XesBaseYearForStoreVersion>2026</XesBaseYearForStoreVersion>
|
||||
<XesBaseYearForStoreVersion>2025</XesBaseYearForStoreVersion>
|
||||
<VersionMajor>1</VersionMajor>
|
||||
<VersionMinor>25</VersionMinor>
|
||||
<VersionInfoProductName>Windows Terminal</VersionInfoProductName>
|
||||
|
||||
@@ -2407,14 +2407,6 @@
|
||||
"console"
|
||||
]
|
||||
},
|
||||
"compatibility.ambiguousWidth": {
|
||||
"default": "narrow",
|
||||
"description": "Controls the cell width of East Asian Ambiguous characters.",
|
||||
"enum": [
|
||||
"narrow",
|
||||
"wide"
|
||||
]
|
||||
},
|
||||
"copyFormatting": {
|
||||
"default": true,
|
||||
"description": "When set to `true`, the color and font formatting of selected text is also copied to your clipboard. When set to `false`, only plain text is copied to your clipboard. An array of specific formats can also be used. Supported array values include `html` and `rtf`. Plain text is always copied.",
|
||||
@@ -2470,13 +2462,6 @@
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"safeUriSchemes": {
|
||||
"description": "Specifies a list of URI schemes that are considered safe. No confirmation will be required to open URIs with these schemes.",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"rendering.graphicsAPI": {
|
||||
"description": "Direct3D 11 provides a more performant and feature-rich experience, whereas Direct2D is more stable. The default option \"Automatic\" will pick the API that best fits your graphics hardware. If you experience significant issues, consider using Direct2D.",
|
||||
"type": "string",
|
||||
|
||||
@@ -1143,13 +1143,6 @@ til::CoordType ROW::GetTrailingColumnAtCharOffset(const ptrdiff_t offset) const
|
||||
return _createCharToColumnMapper(offset).GetTrailingColumnAt(offset);
|
||||
}
|
||||
|
||||
uint16_t ROW::GetCharOffset(til::CoordType col) const noexcept
|
||||
{
|
||||
const auto columns = GetReadableColumnCount();
|
||||
const auto colBeg = clamp(col, 0, columns);
|
||||
return _uncheckedCharOffset(gsl::narrow_cast<size_t>(colBeg));
|
||||
}
|
||||
|
||||
DelimiterClass ROW::DelimiterClassAt(til::CoordType column, const std::wstring_view& wordDelimiters) const noexcept
|
||||
{
|
||||
const auto col = _clampedColumn(column);
|
||||
|
||||
@@ -172,7 +172,6 @@ public:
|
||||
std::wstring_view GetText(til::CoordType columnBegin, til::CoordType columnEnd) const noexcept;
|
||||
til::CoordType GetLeadingColumnAtCharOffset(ptrdiff_t offset) const noexcept;
|
||||
til::CoordType GetTrailingColumnAtCharOffset(ptrdiff_t offset) const noexcept;
|
||||
uint16_t GetCharOffset(til::CoordType col) const noexcept;
|
||||
DelimiterClass DelimiterClassAt(til::CoordType column, const std::wstring_view& wordDelimiters) const noexcept;
|
||||
|
||||
auto AttrBegin() const noexcept { return _attr.begin(); }
|
||||
|
||||
@@ -390,9 +390,6 @@ Microsoft::Console::ICU::unique_utext Microsoft::Console::ICU::UTextFromTextBuff
|
||||
utext_setup(&ut, 0, &status);
|
||||
FAIL_FAST_IF(status > U_ZERO_ERROR);
|
||||
|
||||
rowBeg = std::max<til::CoordType>(0, rowBeg);
|
||||
rowEnd = std::min(textBuffer.GetSize().BottomExclusive(), rowEnd);
|
||||
|
||||
ut.providerProperties = (1 << UTEXT_PROVIDER_LENGTH_IS_EXPENSIVE) | (1 << UTEXT_PROVIDER_STABLE_CHUNKS);
|
||||
ut.pFuncs = &utextFuncs;
|
||||
ut.context = &textBuffer;
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
<uap3:Name>com.microsoft.windows.terminal.settings</uap3:Name>
|
||||
</uap3:AppExtensionHost>
|
||||
</uap3:Extension>
|
||||
<uap3:Extension Category="windows.appExtension">
|
||||
<!-- <uap3:Extension Category="windows.appExtension">
|
||||
<uap3:AppExtension Name="com.microsoft.windows.console.host"
|
||||
Id="OpenConsole-Dev"
|
||||
DisplayName="OpenConsole Dev"
|
||||
@@ -111,7 +111,7 @@
|
||||
<com:ComInterface>
|
||||
<com:ProxyStub Id="DEC4804D-56D1-4F73-9FBE-6828E7C85C56" DisplayName="OpenConsoleHandoffProxy" Path="OpenConsoleProxy.dll"/>
|
||||
<com:Interface Id="E686C757-9A35-4A1C-B3CE-0BCC8B5C69F4" ProxyStubClsid="DEC4804D-56D1-4F73-9FBE-6828E7C85C56"/>
|
||||
<com:Interface Id="6F23DA90-15C5-4203-9DB0-64E73F1B1B00" ProxyStubClsid="DEC4804D-56D1-4F73-9FBE-6828E7C85C56"/> <!-- ITerminalHandoff3 -->
|
||||
<com:Interface Id="6F23DA90-15C5-4203-9DB0-64E73F1B1B00" ProxyStubClsid="DEC4804D-56D1-4F73-9FBE-6828E7C85C56"/>
|
||||
<com:Interface Id="746E6BC0-AB05-4E38-AB14-71E86763141F" ProxyStubClsid="DEC4804D-56D1-4F73-9FBE-6828E7C85C56"/>
|
||||
</com:ComInterface>
|
||||
</com:Extension>
|
||||
@@ -137,7 +137,7 @@
|
||||
<desktop5:Verb Id="OpenTerminalDev" Clsid="52065414-e077-47ec-a3ac-1cc5455e1b54" />
|
||||
</desktop5:ItemType>
|
||||
</desktop4:FileExplorerContextMenus>
|
||||
</desktop4:Extension>
|
||||
</desktop4:Extension> -->
|
||||
|
||||
</Extensions>
|
||||
|
||||
|
||||
@@ -237,7 +237,6 @@
|
||||
<Capability Name="internetClient" />
|
||||
<rescap:Capability Name="runFullTrust" />
|
||||
<rescap:Capability Name="unvirtualizedResources" />
|
||||
<rescap:Capability Name="appLicensing" />
|
||||
</Capabilities>
|
||||
|
||||
<Extensions>
|
||||
|
||||
@@ -237,7 +237,6 @@
|
||||
<Capability Name="internetClient" />
|
||||
<rescap:Capability Name="runFullTrust" />
|
||||
<rescap:Capability Name="unvirtualizedResources" />
|
||||
<rescap:Capability Name="appLicensing" />
|
||||
</Capabilities>
|
||||
|
||||
<Extensions>
|
||||
|
||||
@@ -245,6 +245,7 @@
|
||||
</ResourceDictionary>
|
||||
|
||||
<ResourceDictionary Source="ms-resource:///Files/TerminalApp/HighlightedTextControlStyle.xaml" />
|
||||
<ResourceDictionary Source="ms-resource:///Files/TerminalApp/VerticalTabViewStyle.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
|
||||
|
||||
@@ -499,8 +499,8 @@ namespace winrt::TerminalApp::implementation
|
||||
}
|
||||
else
|
||||
{
|
||||
const auto resizeSucceeded = _ResizePane(realArgs.ResizeDirection());
|
||||
args.Handled(resizeSucceeded);
|
||||
_ResizePane(realArgs.ResizeDirection());
|
||||
args.Handled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -672,15 +672,9 @@
|
||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||
<value>Dieser Linktyp wird derzeit nicht unterstützt:</value>
|
||||
</data>
|
||||
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
||||
<value>Abbrechen</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmText" xml:space="preserve">
|
||||
<value>Dieser Link kann zu einem unsicheren Speicherort führen. Links können ihren Computer und Ihre Daten beschädigen. Klicken Sie zum Schutz Des Computers nur auf Links aus vertrauenswürdigen Quellen.</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmAllowAction" xml:space="preserve">
|
||||
<value>Trotzdem öffnen</value>
|
||||
</data>
|
||||
<data name="SettingsTab" xml:space="preserve">
|
||||
<value>Einstellungen</value>
|
||||
</data>
|
||||
@@ -854,11 +848,11 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||
<value>Der aktive Bereich wurde auf die Registerkarte „{0}“ verschoben</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||
<value>Registerkarte „{0}“ wurde in das Fenster „{1}“ verschoben</value>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window to which the tab was moved.</comment>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window the tab was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>Registerkarte „{0}“ in neues Fenster verschoben</value>
|
||||
@@ -870,7 +864,7 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||
<value>Der aktive Bereich wurde in das Fenster "{0}" verschoben</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>Aktiver Bereich in neues Fenster verschoben</value>
|
||||
|
||||
@@ -442,6 +442,10 @@
|
||||
<data name="NewTabRun.Text" xml:space="preserve">
|
||||
<value>Open a new tab</value>
|
||||
</data>
|
||||
<data name="TabNewButtonText" xml:space="preserve">
|
||||
<value>New tab</value>
|
||||
<comment>Label for the new tab button in vertical tab strip mode.</comment>
|
||||
</data>
|
||||
<data name="NewPaneRun.Text" xml:space="preserve">
|
||||
<value>Alt+Click to split the current window</value>
|
||||
</data>
|
||||
@@ -669,15 +673,9 @@
|
||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||
<value>This link type is currently not supported:</value>
|
||||
</data>
|
||||
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
||||
<value>Cancel</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmText" xml:space="preserve">
|
||||
<value>This link may lead to an unsafe location. Hyperlinks can be harmful to your computer and data. To protect your computer, only click links from trusted sources.</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmAllowAction" xml:space="preserve">
|
||||
<value>Open anyway</value>
|
||||
</data>
|
||||
<data name="SettingsTab" xml:space="preserve">
|
||||
<value>Settings</value>
|
||||
</data>
|
||||
|
||||
@@ -669,15 +669,9 @@
|
||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||
<value>Este tipo de vínculo no se admite actualmente:</value>
|
||||
</data>
|
||||
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
||||
<value>Cancelar</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmText" xml:space="preserve">
|
||||
<value>Este vínculo puede dar lugar a una ubicación no segura. Los hipervínculos pueden ser perjudiciales para el equipo y los datos. Para proteger el equipo, haga clic solo en vínculos de orígenes de confianza.</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmAllowAction" xml:space="preserve">
|
||||
<value>Abrir de todas formas</value>
|
||||
</data>
|
||||
<data name="SettingsTab" xml:space="preserve">
|
||||
<value>Configuración</value>
|
||||
</data>
|
||||
@@ -851,11 +845,11 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||
<value>Panel activo movido a la pestaña "{0}"</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||
<value>La pestaña "{0}" se ha movido a la ventana "{1}"</value>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window to which the tab was moved.</comment>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window the tab was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>La pestaña "{0}" se ha movido a la nueva ventana</value>
|
||||
@@ -867,7 +861,7 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||
<value>Panel activo movido a la ventana "{0}"</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>Panel activo movido a nueva ventana</value>
|
||||
|
||||
@@ -669,15 +669,9 @@
|
||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||
<value>Ce type de lien n’est actuellement pas pris en charge :</value>
|
||||
</data>
|
||||
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
||||
<value>Annuler</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmText" xml:space="preserve">
|
||||
<value>Ce lien peut entraîner un emplacement non sécurisé. Les liens hypertexte peuvent endommager votre ordinateur et vos données. Pour protéger votre ordinateur, cliquez uniquement sur des liens provenant de sources fiables.</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmAllowAction" xml:space="preserve">
|
||||
<value>Ouvrir quand même</value>
|
||||
</data>
|
||||
<data name="SettingsTab" xml:space="preserve">
|
||||
<value>Paramètres</value>
|
||||
</data>
|
||||
@@ -851,11 +845,11 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||
<value>Volet actif déplacé vers l’onglet « {0} »</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||
<value>Onglet « {0} » déplacé vers la fenêtre « {1} »</value>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window to which the tab was moved.</comment>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window the tab was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>Onglet « {0} » déplacé vers une nouvelle fenêtre</value>
|
||||
@@ -867,7 +861,7 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||
<value>Volet actif déplacé vers l’onglet « {0} »</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>Volet actif déplacé vers une nouvelle fenêtre</value>
|
||||
|
||||
@@ -669,15 +669,9 @@
|
||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||
<value>Questo tipo di collegamento non è al momento supportato:</value>
|
||||
</data>
|
||||
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
||||
<value>Annulla</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmText" xml:space="preserve">
|
||||
<value>Questo collegamento potrebbe causare un percorso non sicuro. I collegamenti ipertestuali possono essere dannosi per il computer e i dati. Per proteggere il computer, fare clic solo su collegamenti da origini attendibili.</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmAllowAction" xml:space="preserve">
|
||||
<value>Apri comunque</value>
|
||||
</data>
|
||||
<data name="SettingsTab" xml:space="preserve">
|
||||
<value>Impostazioni</value>
|
||||
</data>
|
||||
@@ -851,11 +845,11 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||
<value>Riquadro attivo spostato nella scheda "{0}"</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||
<value>Scheda "{0}" spostata nella finestra "{1}"</value>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window to which the tab was moved.</comment>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window the tab was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>Scheda "{0}" spostata in una nuova finestra</value>
|
||||
@@ -867,7 +861,7 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||
<value>Riquadro attivo spostato nella finestra "{0}"</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>Riquadro attivo spostato in una nuova finestra</value>
|
||||
|
||||
@@ -670,15 +670,9 @@
|
||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||
<value>このリンクの種類は現在サポートされていません:</value>
|
||||
</data>
|
||||
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
||||
<value>キャンセル</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmText" xml:space="preserve">
|
||||
<value>このリンクは安全でない可能性があります。ハイパーリンクは、コンピューターやデータに問題を起こす可能性があります。コンピューターを保護するには、信頼できるソースからのリンクのみをクリックしてください。</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmAllowAction" xml:space="preserve">
|
||||
<value>開く</value>
|
||||
</data>
|
||||
<data name="SettingsTab" xml:space="preserve">
|
||||
<value>設定</value>
|
||||
</data>
|
||||
@@ -852,11 +846,11 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||
<value>アクティブなペインを [{0}] タブに移動しました</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||
<value>[{0}] タブを "{1}" ウィンドウに移動しました</value>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window to which the tab was moved.</comment>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window the tab was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>[{0}] タブを新しいウィンドウに移動しました</value>
|
||||
@@ -868,7 +862,7 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||
<value>アクティブなペインを "{0}" ウィンドウに移動しました</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>アクティブなペインを新しいウィンドウに移動しました</value>
|
||||
|
||||
@@ -669,15 +669,9 @@
|
||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||
<value>이 링크 형식은 현재 지원되지 않습니다.</value>
|
||||
</data>
|
||||
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
||||
<value>취소</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmText" xml:space="preserve">
|
||||
<value>이 링크로 인해 안전하지 않은 위치가 발생할 수 있습니다. 하이퍼링크는 컴퓨터와 데이터를 손상시킬 수 있습니다. 컴퓨터를 보호하려면 신뢰할 수 있는 원본의 링크만 클릭하세요.</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmAllowAction" xml:space="preserve">
|
||||
<value>열기</value>
|
||||
</data>
|
||||
<data name="SettingsTab" xml:space="preserve">
|
||||
<value>설정</value>
|
||||
</data>
|
||||
@@ -851,11 +845,11 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||
<value>활성 창이 "{0}" 탭으로 이동됨</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||
<value>"{0}" 탭이 "{1}" 창으로 이동됨</value>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window to which the tab was moved.</comment>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window the tab was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>"{0}" 탭이 새 창으로 이동됨</value>
|
||||
@@ -867,7 +861,7 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||
<value>활성 창이 "{0}" 창으로 이동됨</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>활성 창이 새 창으로 이동됨</value>
|
||||
|
||||
@@ -669,15 +669,9 @@
|
||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||
<value>Não há suporte para este tipo de link no momento:</value>
|
||||
</data>
|
||||
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
||||
<value>Cancelar</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmText" xml:space="preserve">
|
||||
<value>Este link pode levar a um local não seguro. Hiperlinks podem ser prejudiciais ao computador e aos dados. Para proteger o computador, clique somente em links de fontes confiáveis.</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmAllowAction" xml:space="preserve">
|
||||
<value>Abrir mesmo assim</value>
|
||||
</data>
|
||||
<data name="SettingsTab" xml:space="preserve">
|
||||
<value>Configurações</value>
|
||||
</data>
|
||||
@@ -851,11 +845,11 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||
<value>Painel ativo movido para a guia "{0}"</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||
<value>Guia "{0}" movida para janela "{1}"</value>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window to which the tab was moved.</comment>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window the tab was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>Guia "{0}" movida para nova janela</value>
|
||||
@@ -867,7 +861,7 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||
<value>Painel ativo movido para a janela "{0}"</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>Painel ativo movido para nova janela</value>
|
||||
|
||||
@@ -669,14 +669,8 @@
|
||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||
<value>Ťђïś łϊηќ ŧурē ιş çũґѓзⁿτľÿ ñστ şΰρρоŕŧĕđ: !!! !!! !!! !!! </value>
|
||||
</data>
|
||||
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||
<value>Çдπсёľ !</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmText" xml:space="preserve">
|
||||
<value>Ŧђīś ℓîŋќ мαў ľêãδ τб áń úʼnšàƒé ℓоćάŧίоñ. Ĥўрзŗℓĭŋķѕ çâⁿ ъέ ђąřмƒúļ τό ўôця ċómφύŧèґ аňδ ðáťǻ. Ţб ρгøťėçŧ ўòύг ςömφùţĕŕ, ŏŋľỳ čℓΐςķ łίŋκѕ ƒřöм ťŗμѕŧєđ śόυяčêś. !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmAllowAction" xml:space="preserve">
|
||||
<value>Őρέй ǻпŷŵãγ !!!</value>
|
||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
||||
<value>Сąñс℮ł !</value>
|
||||
</data>
|
||||
<data name="SettingsTab" xml:space="preserve">
|
||||
<value>Śëţťĩпğś !!</value>
|
||||
@@ -851,11 +845,11 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||
<value>∆çťíνĕ рåⁿэ мôνеð ťб "{0}" ţав !!! !!! !!!</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||
<value>"{0}" ťāъ мōνęđ τŏ "{1}" шΐπδŏẅ !!! !!! !!!</value>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window to which the tab was moved.</comment>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window the tab was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>"{0}" тąь mǿνєđ ŧσ ήèώ ẅĩŋďøẃ !!! !!! !!!</value>
|
||||
@@ -867,7 +861,7 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||
<value>Λςťìνє рáиė mόνéð ťб "{0}" ŵîńđθω !!! !!! !!! </value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>Αĉťįνέ ρªņз mσνёđ τǿ ήёẃ ẃîпďǿω !!! !!! !!!</value>
|
||||
|
||||
@@ -669,14 +669,8 @@
|
||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||
<value>Ťђïś łϊηќ ŧурē ιş çũґѓзⁿτľÿ ñστ şΰρρоŕŧĕđ: !!! !!! !!! !!! </value>
|
||||
</data>
|
||||
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||
<value>Çдπсёľ !</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmText" xml:space="preserve">
|
||||
<value>Ŧђīś ℓîŋќ мαў ľêãδ τб áń úʼnšàƒé ℓоćάŧίоñ. Ĥўрзŗℓĭŋķѕ çâⁿ ъέ ђąřмƒúļ τό ўôця ċómφύŧèґ аňδ ðáťǻ. Ţб ρгøťėçŧ ўòύг ςömφùţĕŕ, ŏŋľỳ čℓΐςķ łίŋκѕ ƒřöм ťŗμѕŧєđ śόυяčêś. !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmAllowAction" xml:space="preserve">
|
||||
<value>Őρέй ǻпŷŵãγ !!!</value>
|
||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
||||
<value>Сąñс℮ł !</value>
|
||||
</data>
|
||||
<data name="SettingsTab" xml:space="preserve">
|
||||
<value>Śëţťĩпğś !!</value>
|
||||
@@ -851,11 +845,11 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||
<value>∆çťíνĕ рåⁿэ мôνеð ťб "{0}" ţав !!! !!! !!!</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||
<value>"{0}" ťāъ мōνęđ τŏ "{1}" шΐπδŏẅ !!! !!! !!!</value>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window to which the tab was moved.</comment>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window the tab was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>"{0}" тąь mǿνєđ ŧσ ήèώ ẅĩŋďøẃ !!! !!! !!!</value>
|
||||
@@ -867,7 +861,7 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||
<value>Λςťìνє рáиė mόνéð ťб "{0}" ŵîńđθω !!! !!! !!! </value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>Αĉťįνέ ρªņз mσνёđ τǿ ήёẃ ẃîпďǿω !!! !!! !!!</value>
|
||||
|
||||
@@ -669,14 +669,8 @@
|
||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||
<value>Ťђïś łϊηќ ŧурē ιş çũґѓзⁿτľÿ ñστ şΰρρоŕŧĕđ: !!! !!! !!! !!! </value>
|
||||
</data>
|
||||
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||
<value>Çдπсёľ !</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmText" xml:space="preserve">
|
||||
<value>Ŧђīś ℓîŋќ мαў ľêãδ τб áń úʼnšàƒé ℓоćάŧίоñ. Ĥўрзŗℓĭŋķѕ çâⁿ ъέ ђąřмƒúļ τό ўôця ċómφύŧèґ аňδ ðáťǻ. Ţб ρгøťėçŧ ўòύг ςömφùţĕŕ, ŏŋľỳ čℓΐςķ łίŋκѕ ƒřöм ťŗμѕŧєđ śόυяčêś. !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmAllowAction" xml:space="preserve">
|
||||
<value>Őρέй ǻпŷŵãγ !!!</value>
|
||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
||||
<value>Сąñс℮ł !</value>
|
||||
</data>
|
||||
<data name="SettingsTab" xml:space="preserve">
|
||||
<value>Śëţťĩпğś !!</value>
|
||||
@@ -851,11 +845,11 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||
<value>∆çťíνĕ рåⁿэ мôνеð ťб "{0}" ţав !!! !!! !!!</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||
<value>"{0}" ťāъ мōνęđ τŏ "{1}" шΐπδŏẅ !!! !!! !!!</value>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window to which the tab was moved.</comment>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window the tab was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>"{0}" тąь mǿνєđ ŧσ ήèώ ẅĩŋďøẃ !!! !!! !!!</value>
|
||||
@@ -867,7 +861,7 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||
<value>Λςťìνє рáиė mόνéð ťб "{0}" ŵîńđθω !!! !!! !!! </value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>Αĉťįνέ ρªņз mσνёđ τǿ ήёẃ ẃîпďǿω !!! !!! !!!</value>
|
||||
|
||||
@@ -669,15 +669,9 @@
|
||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||
<value>Этот тип связи в настоящее время не поддерживается:</value>
|
||||
</data>
|
||||
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
||||
<value>Отмена</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmText" xml:space="preserve">
|
||||
<value>Эта ссылка может привести к небезопасному расположению. Гиперссылки могут нанести вред компьютеру и данным. Чтобы защитить компьютер, щелкните ссылки только из надежных источников.</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmAllowAction" xml:space="preserve">
|
||||
<value>Все равно открыть</value>
|
||||
</data>
|
||||
<data name="SettingsTab" xml:space="preserve">
|
||||
<value>Параметры</value>
|
||||
</data>
|
||||
@@ -851,11 +845,11 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||
<value>Активная область перемещена на вкладку "{0}"</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||
<value>Вкладка "{0}" перемещена в окно "{1}"</value>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window to which the tab was moved.</comment>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window the tab was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>Вкладка "{0}" перемещена в новое окно</value>
|
||||
@@ -867,7 +861,7 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||
<value>Активная область перемещена в окно "{0}"</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>Активная область перемещена в новое окно</value>
|
||||
|
||||
@@ -669,15 +669,9 @@
|
||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||
<value>当前不支持此链接类型:</value>
|
||||
</data>
|
||||
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
||||
<value>取消</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmText" xml:space="preserve">
|
||||
<value>此链接可能会导致不安全的位置。超链接可能对你的计算机和数据有害。若要保护你的计算机,请仅单击来自受信任源的链接。</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmAllowAction" xml:space="preserve">
|
||||
<value>仍然打开</value>
|
||||
</data>
|
||||
<data name="SettingsTab" xml:space="preserve">
|
||||
<value>设置</value>
|
||||
</data>
|
||||
@@ -851,11 +845,11 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||
<value>活动窗格已移动到“{0}”选项卡</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||
<value>“{0}”选项卡已移动到“{1}”窗口</value>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window to which the tab was moved.</comment>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window the tab was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>“{0}”选项卡已移动到新窗口</value>
|
||||
@@ -867,7 +861,7 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||
<value>活动窗格已移动到“{0}”选项卡</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>活动窗格已移动到新窗口</value>
|
||||
|
||||
@@ -669,15 +669,9 @@
|
||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||
<value>目前不支援此連結類型:</value>
|
||||
</data>
|
||||
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
||||
<value>取消</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmText" xml:space="preserve">
|
||||
<value>此連結可能通往不安全地點。超連結可能對你的電腦和資料造成傷害。為了保護你的電腦,只點擊來自可信來源的連結。</value>
|
||||
</data>
|
||||
<data name="UnsafeUrlConfirmAllowAction" xml:space="preserve">
|
||||
<value>一律開啟</value>
|
||||
</data>
|
||||
<data name="SettingsTab" xml:space="preserve">
|
||||
<value>設定</value>
|
||||
</data>
|
||||
@@ -851,11 +845,11 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||
<value>活動窗格已移動至「{0}」索引標籤</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the tab the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||
<value>「{0}」索引標籤已移至「{1}」視窗</value>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window to which the tab was moved.</comment>
|
||||
<comment>{Locked="{0}"}{Locked="{1}"}This text is read out by screen readers upon a successful tab movement. {0} is the name of the tab. {1} is the name of the window the tab was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>「{0}」索引標籤已移至新視窗</value>
|
||||
@@ -867,7 +861,7 @@
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||
<value>活動窗格已移動至「{0}」視窗</value>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window to which the pane was moved.</comment>
|
||||
<comment>{Locked="{0}"}This text is read out by screen readers upon a successful pane movement. {0} is the name of the window the pane was moved to.</comment>
|
||||
</data>
|
||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||
<value>活動窗格已移至新視窗</value>
|
||||
|
||||
@@ -844,14 +844,14 @@ namespace winrt::TerminalApp::implementation
|
||||
// Arguments:
|
||||
// - direction: The direction to move the separator in.
|
||||
// Return Value:
|
||||
// - whether a pane was resized
|
||||
bool Tab::ResizePane(const ResizeDirection& direction)
|
||||
// - <none>
|
||||
void Tab::ResizePane(const ResizeDirection& direction)
|
||||
{
|
||||
ASSERT_UI_THREAD();
|
||||
|
||||
// NOTE: This _must_ be called on the root pane, so that it can propagate
|
||||
// throughout the entire tree.
|
||||
return _rootPane->ResizePane(direction);
|
||||
_rootPane->ResizePane(direction);
|
||||
}
|
||||
|
||||
// Method Description:
|
||||
|
||||
@@ -53,7 +53,7 @@ namespace winrt::TerminalApp::implementation
|
||||
const float splitSize,
|
||||
winrt::Windows::Foundation::Size availableSpace) const;
|
||||
|
||||
bool ResizePane(const winrt::Microsoft::Terminal::Settings::Model::ResizeDirection& direction);
|
||||
void ResizePane(const winrt::Microsoft::Terminal::Settings::Model::ResizeDirection& direction);
|
||||
bool NavigateFocus(const winrt::Microsoft::Terminal::Settings::Model::FocusDirection& direction);
|
||||
bool SwapPane(const winrt::Microsoft::Terminal::Settings::Model::FocusDirection& direction);
|
||||
bool FocusPane(const uint32_t id);
|
||||
|
||||
@@ -255,9 +255,38 @@ namespace winrt::TerminalApp::implementation
|
||||
}
|
||||
if (_tabRow)
|
||||
{
|
||||
// collapse/show the row that the tabs are in.
|
||||
// NaN is the special value XAML uses for "Auto" sizing.
|
||||
_tabRow.Height(isVisible ? NAN : 0);
|
||||
if (_tabPosition == Settings::Model::TabPosition::Left ||
|
||||
_tabPosition == Settings::Model::TabPosition::Right)
|
||||
{
|
||||
// For left/right positions, collapse the column width instead of row height.
|
||||
// Also hide the splitter.
|
||||
_tabRow.Width(isVisible ? std::numeric_limits<double>::quiet_NaN() : 0);
|
||||
if (_tabStripSplitter)
|
||||
{
|
||||
_tabStripSplitter.Visibility(isVisible ? Visibility::Visible : Visibility::Collapsed);
|
||||
}
|
||||
// Collapse or restore the tab strip column
|
||||
auto tabStripColIdx = (_tabPosition == Settings::Model::TabPosition::Left) ? 0u : 2u;
|
||||
auto root = this->Root();
|
||||
if (root.ColumnDefinitions().Size() > tabStripColIdx)
|
||||
{
|
||||
auto col = root.ColumnDefinitions().GetAt(tabStripColIdx);
|
||||
if (isVisible)
|
||||
{
|
||||
col.Width(WUX::GridLengthHelper::FromPixels(200));
|
||||
}
|
||||
else
|
||||
{
|
||||
col.Width(WUX::GridLengthHelper::FromPixels(0));
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Top/Bottom: collapse/show the row that the tabs are in.
|
||||
// NaN is the special value XAML uses for "Auto" sizing.
|
||||
_tabRow.Height(isVisible ? NAN : 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -65,6 +65,10 @@
|
||||
<Type>DefaultStyle</Type>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="VerticalTabViewStyle.xaml">
|
||||
<Type>DefaultStyle</Type>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="ColorPickupFlyout.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
|
||||
@@ -315,6 +315,307 @@ namespace winrt::TerminalApp::implementation
|
||||
return true;
|
||||
}
|
||||
|
||||
// Method Description:
|
||||
// - Rearranges the TerminalPage's root grid to place the tab strip at the
|
||||
// position indicated by the current theme's TabPosition property. For Top,
|
||||
// the existing behavior is preserved (tabs in titlebar or Row 0). For
|
||||
// Bottom, the tab row goes in the last row. For Left/Right, an outer
|
||||
// 3-column grid is created with a resizable splitter between the tab strip
|
||||
// and the content area.
|
||||
void TerminalPage::_ApplyTabPosition()
|
||||
{
|
||||
// Read the tab position from the theme
|
||||
if (const auto theme = _settings.GlobalSettings().CurrentTheme())
|
||||
{
|
||||
if (const auto window = theme.Window())
|
||||
{
|
||||
_tabPosition = window.TabPosition();
|
||||
}
|
||||
}
|
||||
|
||||
auto root = this->Root();
|
||||
auto infoBarPanel = this->InfoBarPanel();
|
||||
|
||||
switch (_tabPosition)
|
||||
{
|
||||
case TabPosition::Top:
|
||||
{
|
||||
// Default XAML layout: Row 0=TabRow(Auto), Row 1=InfoBars(Auto), Row 2=TabContent(*)
|
||||
// If ShowTabsInTitlebar, remove the tab row from the grid and raise SetTitleBarContent
|
||||
if (_settings.GlobalSettings().ShowTabsInTitlebar())
|
||||
{
|
||||
uint32_t index = 0;
|
||||
if (root.Children().IndexOf(_tabRow, index))
|
||||
{
|
||||
root.Children().RemoveAt(index);
|
||||
}
|
||||
SetTitleBarContent.raise(*this, _tabRow);
|
||||
|
||||
const auto transparent = Media::SolidColorBrush();
|
||||
transparent.Color(Windows::UI::Colors::Transparent());
|
||||
_tabRow.Background(transparent);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case TabPosition::Bottom:
|
||||
{
|
||||
// Rearrange to: Row 0=InfoBars(Auto), Row 1=TabContent(*), Row 2=TabRow(Auto)
|
||||
// Remove only the three layout elements; leave deferred-load stubs
|
||||
// (CommandPalette, SuggestionsControl, dialogs, etc.) in the tree
|
||||
// so that FindName() can still locate them later.
|
||||
uint32_t idx;
|
||||
if (root.Children().IndexOf(_tabRow, idx))
|
||||
root.Children().RemoveAt(idx);
|
||||
if (root.Children().IndexOf(infoBarPanel, idx))
|
||||
root.Children().RemoveAt(idx);
|
||||
if (root.Children().IndexOf(_tabContent, idx))
|
||||
root.Children().RemoveAt(idx);
|
||||
|
||||
root.RowDefinitions().Clear();
|
||||
|
||||
WUX::Controls::RowDefinition row0;
|
||||
row0.Height(WUX::GridLengthHelper::FromValueAndType(1, WUX::GridUnitType::Auto));
|
||||
WUX::Controls::RowDefinition row1;
|
||||
row1.Height(WUX::GridLengthHelper::FromValueAndType(1, WUX::GridUnitType::Star));
|
||||
WUX::Controls::RowDefinition row2;
|
||||
row2.Height(WUX::GridLengthHelper::FromValueAndType(1, WUX::GridUnitType::Auto));
|
||||
root.RowDefinitions().Append(row0);
|
||||
root.RowDefinitions().Append(row1);
|
||||
root.RowDefinitions().Append(row2);
|
||||
|
||||
WUX::Controls::Grid::SetRow(infoBarPanel, 0);
|
||||
WUX::Controls::Grid::SetRow(_tabContent, 1);
|
||||
WUX::Controls::Grid::SetRow(_tabRow, 2);
|
||||
|
||||
// Insert layout elements at the front so overlay elements
|
||||
// (command palette, dialogs) remain on top in z-order.
|
||||
root.Children().InsertAt(0, infoBarPanel);
|
||||
root.Children().InsertAt(1, _tabContent);
|
||||
root.Children().InsertAt(2, _tabRow);
|
||||
|
||||
// Update overlay elements: the ones that had Grid.Row="2" in XAML
|
||||
// should now target Row 1 (the content area) instead of Row 2
|
||||
// (which is the tab row in this layout). Iterate the remaining
|
||||
// children (index 3+) and reassign any that were on row 2.
|
||||
for (uint32_t i = 3; i < root.Children().Size(); ++i)
|
||||
{
|
||||
auto child = root.Children().GetAt(i);
|
||||
if (const auto& fwe { child.try_as<WUX::FrameworkElement>() })
|
||||
{
|
||||
if (WUX::Controls::Grid::GetRow(fwe) == 2)
|
||||
{
|
||||
WUX::Controls::Grid::SetRow(fwe, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case TabPosition::Left:
|
||||
case TabPosition::Right:
|
||||
{
|
||||
// Build a 3-column layout: [tabstrip | splitter | content] or reversed.
|
||||
// Remove only the three layout elements; leave deferred-load stubs
|
||||
// (CommandPalette, SuggestionsControl, dialogs, etc.) in the tree
|
||||
// so that FindName() can still locate them later.
|
||||
uint32_t removeIdx;
|
||||
if (root.Children().IndexOf(_tabRow, removeIdx))
|
||||
root.Children().RemoveAt(removeIdx);
|
||||
if (root.Children().IndexOf(infoBarPanel, removeIdx))
|
||||
root.Children().RemoveAt(removeIdx);
|
||||
if (root.Children().IndexOf(_tabContent, removeIdx))
|
||||
root.Children().RemoveAt(removeIdx);
|
||||
|
||||
root.RowDefinitions().Clear();
|
||||
|
||||
// Create column definitions
|
||||
WUX::Controls::ColumnDefinition tabStripCol;
|
||||
tabStripCol.Width(WUX::GridLengthHelper::FromPixels(200));
|
||||
tabStripCol.MinWidth(100);
|
||||
tabStripCol.MaxWidth(400);
|
||||
|
||||
WUX::Controls::ColumnDefinition splitterCol;
|
||||
splitterCol.Width(WUX::GridLengthHelper::FromValueAndType(1, WUX::GridUnitType::Auto));
|
||||
|
||||
WUX::Controls::ColumnDefinition contentCol;
|
||||
contentCol.Width(WUX::GridLengthHelper::FromValueAndType(1, WUX::GridUnitType::Star));
|
||||
|
||||
// Create internal content grid (infobars + tab content stacked vertically)
|
||||
WUX::Controls::Grid contentGrid;
|
||||
WUX::Controls::RowDefinition infoRow;
|
||||
infoRow.Height(WUX::GridLengthHelper::FromValueAndType(1, WUX::GridUnitType::Auto));
|
||||
WUX::Controls::RowDefinition mainRow;
|
||||
mainRow.Height(WUX::GridLengthHelper::FromValueAndType(1, WUX::GridUnitType::Star));
|
||||
contentGrid.RowDefinitions().Append(infoRow);
|
||||
contentGrid.RowDefinitions().Append(mainRow);
|
||||
|
||||
WUX::Controls::Grid::SetRow(infoBarPanel, 0);
|
||||
WUX::Controls::Grid::SetRow(_tabContent, 1);
|
||||
contentGrid.Children().Append(infoBarPanel);
|
||||
contentGrid.Children().Append(_tabContent);
|
||||
|
||||
// Create the splitter border
|
||||
_tabStripSplitter = WUX::Controls::Border();
|
||||
_tabStripSplitter.Width(4);
|
||||
// the BG color will get set in _updatePaneResources
|
||||
|
||||
// Use a custom cursor via InputSystemCursorShape
|
||||
_tabStripSplitter.ManipulationMode(WUX::Input::ManipulationModes::None);
|
||||
|
||||
// Wire up pointer events for the splitter
|
||||
_tabStripSplitter.PointerEntered([](const auto& /*sender*/, const auto&) {
|
||||
if (const auto coreWindow = Windows::UI::Core::CoreWindow::GetForCurrentThread())
|
||||
{
|
||||
coreWindow.PointerCursor(
|
||||
Windows::UI::Core::CoreCursor{ Windows::UI::Core::CoreCursorType::SizeWestEast, 0 });
|
||||
}
|
||||
});
|
||||
_tabStripSplitter.PointerExited([](const auto& /*sender*/, const auto&) {
|
||||
if (const auto coreWindow = Windows::UI::Core::CoreWindow::GetForCurrentThread())
|
||||
{
|
||||
coreWindow.PointerCursor(
|
||||
Windows::UI::Core::CoreCursor{ Windows::UI::Core::CoreCursorType::Arrow, 0 });
|
||||
}
|
||||
});
|
||||
_tabStripSplitter.PointerPressed([weakThis{ get_weak() }](const auto& sender, const WUX::Input::PointerRoutedEventArgs& args) {
|
||||
if (auto page{ weakThis.get() })
|
||||
{
|
||||
auto border = sender.template as<WUX::Controls::Border>();
|
||||
border.CapturePointer(args.Pointer());
|
||||
page->_splitterDragging = true;
|
||||
page->_splitterDragStartX = args.GetCurrentPoint(page->Root()).Position().X;
|
||||
// Find the tab strip column width
|
||||
auto tabStripColIdx = (page->_tabPosition == TabPosition::Left) ? 0u : 2u;
|
||||
page->_splitterDragStartWidth = page->Root().ColumnDefinitions().GetAt(tabStripColIdx).ActualWidth();
|
||||
args.Handled(true);
|
||||
}
|
||||
});
|
||||
_tabStripSplitter.PointerMoved([weakThis{ get_weak() }](const auto& /*sender*/, const WUX::Input::PointerRoutedEventArgs& args) {
|
||||
if (auto page{ weakThis.get() })
|
||||
{
|
||||
if (!page->_splitterDragging)
|
||||
return;
|
||||
auto currentX = args.GetCurrentPoint(page->Root()).Position().X;
|
||||
auto delta = currentX - page->_splitterDragStartX;
|
||||
auto tabStripColIdx = (page->_tabPosition == TabPosition::Left) ? 0u : 2u;
|
||||
auto newWidth = (page->_tabPosition == TabPosition::Left) ? (page->_splitterDragStartWidth + delta) : (page->_splitterDragStartWidth - delta);
|
||||
newWidth = std::clamp(newWidth, 100.0, 400.0);
|
||||
page->Root().ColumnDefinitions().GetAt(tabStripColIdx).Width(WUX::GridLengthHelper::FromPixels(newWidth));
|
||||
args.Handled(true);
|
||||
}
|
||||
});
|
||||
_tabStripSplitter.PointerReleased([weakThis{ get_weak() }](const auto& sender, const WUX::Input::PointerRoutedEventArgs& args) {
|
||||
if (auto page{ weakThis.get() })
|
||||
{
|
||||
if (page->_splitterDragging)
|
||||
{
|
||||
page->_splitterDragging = false;
|
||||
auto border = sender.template as<WUX::Controls::Border>();
|
||||
border.ReleasePointerCapture(args.Pointer());
|
||||
args.Handled(true);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (_tabPosition == TabPosition::Left)
|
||||
{
|
||||
root.ColumnDefinitions().Append(tabStripCol);
|
||||
root.ColumnDefinitions().Append(splitterCol);
|
||||
root.ColumnDefinitions().Append(contentCol);
|
||||
|
||||
WUX::Controls::Grid::SetColumn(_tabRow, 0);
|
||||
WUX::Controls::Grid::SetColumn(_tabStripSplitter, 1);
|
||||
WUX::Controls::Grid::SetColumn(contentGrid, 2);
|
||||
}
|
||||
else // Right
|
||||
{
|
||||
root.ColumnDefinitions().Append(contentCol);
|
||||
root.ColumnDefinitions().Append(splitterCol);
|
||||
root.ColumnDefinitions().Append(tabStripCol);
|
||||
|
||||
WUX::Controls::Grid::SetColumn(contentGrid, 0);
|
||||
WUX::Controls::Grid::SetColumn(_tabStripSplitter, 1);
|
||||
WUX::Controls::Grid::SetColumn(_tabRow, 2);
|
||||
}
|
||||
|
||||
// Clear any row assignments from XAML
|
||||
WUX::Controls::Grid::SetRow(_tabRow, 0);
|
||||
|
||||
// Insert layout elements at the front so overlay elements
|
||||
// (command palette, dialogs) remain on top in z-order.
|
||||
root.Children().InsertAt(0, _tabRow);
|
||||
root.Children().InsertAt(1, _tabStripSplitter);
|
||||
root.Children().InsertAt(2, contentGrid);
|
||||
|
||||
// Update remaining overlay children (deferred-load stubs for
|
||||
// CommandPalette, SuggestionsControl, dialogs, InfoBars,
|
||||
// TeachingTips, etc.) so they span all 3 columns and cover the
|
||||
// full width of the page, not just the tab strip column.
|
||||
for (uint32_t i = 3; i < root.Children().Size(); ++i)
|
||||
{
|
||||
auto child = root.Children().GetAt(i);
|
||||
if (const auto& fwe { child.try_as<WUX::FrameworkElement>() })
|
||||
{
|
||||
WUX::Controls::Grid::SetColumn(fwe, 0);
|
||||
WUX::Controls::Grid::SetColumnSpan(fwe, 3);
|
||||
WUX::Controls::Grid::SetRow(fwe, 0);
|
||||
}
|
||||
}
|
||||
|
||||
// Apply vertical styles to the TabView from our resource dictionary
|
||||
if (const auto res = Application::Current().Resources())
|
||||
{
|
||||
if (const auto verticalTabViewStyle = res.Lookup(winrt::box_value(L"VerticalTabViewStyle")))
|
||||
{
|
||||
_tabView.Style(verticalTabViewStyle.as<WUX::Style>());
|
||||
}
|
||||
// Apply the vertical TabViewItem style as an implicit style
|
||||
// on the TabRow's resources so new tab items pick it up.
|
||||
if (const auto verticalItemStyle = res.Lookup(winrt::box_value(L"VerticalTabViewItemStyle")))
|
||||
{
|
||||
auto tabRowResources = _tabRow.Resources();
|
||||
if (!tabRowResources)
|
||||
{
|
||||
tabRowResources = WUX::ResourceDictionary{};
|
||||
_tabRow.Resources(tabRowResources);
|
||||
}
|
||||
auto itemStyleType = winrt::xaml_typename<MUX::Controls::TabViewItem>();
|
||||
tabRowResources.Insert(winrt::box_value(itemStyleType), verticalItemStyle);
|
||||
}
|
||||
}
|
||||
|
||||
// Bug fix: TabRowControl.xaml sets VerticalAlignment="Bottom" on
|
||||
// the TabView for the default horizontal mode. Override to Top so
|
||||
// tabs start at the top of the vertical strip.
|
||||
_tabView.VerticalAlignment(WUX::VerticalAlignment::Top);
|
||||
|
||||
// Bug fix: In vertical mode, give the "new tab" button a text
|
||||
// label ("New tab") next to its "+" icon so it reads naturally
|
||||
// in the wider sidebar.
|
||||
if (_newTabButton)
|
||||
{
|
||||
auto panel = WUX::Controls::StackPanel();
|
||||
panel.Orientation(WUX::Controls::Orientation::Horizontal);
|
||||
panel.Spacing(8);
|
||||
|
||||
WUX::Controls::FontIcon plusIcon{};
|
||||
plusIcon.Glyph(L"\uE710");
|
||||
plusIcon.FontFamily(WUX::Media::FontFamily{ L"Segoe Fluent Icons, Segoe MDL2 Assets" });
|
||||
plusIcon.FontSize(12);
|
||||
panel.Children().Append(plusIcon);
|
||||
|
||||
WUX::Controls::TextBlock label{};
|
||||
label.Text(RS_(L"TabNewButtonText"));
|
||||
label.VerticalAlignment(WUX::VerticalAlignment::Center);
|
||||
label.FontFamily(WUX::Media::FontFamily{ L"Segoe UI" });
|
||||
panel.Children().Append(label);
|
||||
|
||||
_newTabButton.Content(panel);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void TerminalPage::Create()
|
||||
{
|
||||
// Hookup the key bindings
|
||||
@@ -335,37 +636,10 @@ namespace winrt::TerminalApp::implementation
|
||||
auto tabRowImpl = winrt::get_self<implementation::TabRowControl>(_tabRow);
|
||||
_newTabButton = tabRowImpl->NewTabButton();
|
||||
|
||||
if (_settings.GlobalSettings().ShowTabsInTitlebar())
|
||||
{
|
||||
// Remove the TabView from the page. We'll hang on to it, we need to
|
||||
// put it in the titlebar.
|
||||
uint32_t index = 0;
|
||||
if (this->Root().Children().IndexOf(_tabRow, index))
|
||||
{
|
||||
this->Root().Children().RemoveAt(index);
|
||||
}
|
||||
// Apply the tab position from the theme. This rearranges the grid
|
||||
// layout and potentially moves the tab row into the titlebar (for Top).
|
||||
_ApplyTabPosition();
|
||||
|
||||
// Inform the host that our titlebar content has changed.
|
||||
SetTitleBarContent.raise(*this, _tabRow);
|
||||
|
||||
// GH#13143 Manually set the tab row's background to transparent here.
|
||||
//
|
||||
// We're doing it this way because ThemeResources are tricky. We
|
||||
// default in XAML to using the appropriate ThemeResource background
|
||||
// color for our TabRow. When tabs in the titlebar are _disabled_,
|
||||
// this will ensure that the tab row has the correct theme-dependent
|
||||
// value. When tabs in the titlebar are _enabled_ (the default),
|
||||
// we'll switch the BG to Transparent, to let the Titlebar Control's
|
||||
// background be used as the BG for the tab row.
|
||||
//
|
||||
// We can't do it the other way around (default to Transparent, only
|
||||
// switch to a color when disabling tabs in the titlebar), because
|
||||
// looking up the correct ThemeResource from and App dictionary is a
|
||||
// capital-H Hard problem.
|
||||
const auto transparent = Media::SolidColorBrush();
|
||||
transparent.Color(Windows::UI::Colors::Transparent());
|
||||
_tabRow.Background(transparent);
|
||||
}
|
||||
_updateThemeColors();
|
||||
|
||||
// Initialize the state of the CloseButtonOverlayMode property of
|
||||
@@ -1482,9 +1756,6 @@ namespace winrt::TerminalApp::implementation
|
||||
return {};
|
||||
}
|
||||
}();
|
||||
static const auto ambiguousIsWide = [&]() -> bool {
|
||||
return _settings.GlobalSettings().AmbiguousWidth() == AmbiguousWidth::Wide;
|
||||
}();
|
||||
|
||||
TerminalConnection::ITerminalConnection connection{ nullptr };
|
||||
|
||||
@@ -1550,10 +1821,6 @@ namespace winrt::TerminalApp::implementation
|
||||
{
|
||||
valueSet.Insert(L"textMeasurement", Windows::Foundation::PropertyValue::CreateString(textMeasurement));
|
||||
}
|
||||
if (ambiguousIsWide)
|
||||
{
|
||||
valueSet.Insert(L"ambiguousIsWide", Windows::Foundation::PropertyValue::CreateBoolean(true));
|
||||
}
|
||||
|
||||
if (const auto id = settings.SessionId(); id != winrt::guid{})
|
||||
{
|
||||
@@ -2791,15 +3058,14 @@ namespace winrt::TerminalApp::implementation
|
||||
// Arguments:
|
||||
// - direction: The direction to move the separator in.
|
||||
// Return Value:
|
||||
// - whether a pane was resized
|
||||
bool TerminalPage::_ResizePane(const ResizeDirection& direction)
|
||||
// - <none>
|
||||
void TerminalPage::_ResizePane(const ResizeDirection& direction)
|
||||
{
|
||||
if (const auto tabImpl{ _GetFocusedTabImpl() })
|
||||
{
|
||||
_UnZoomIfNeeded();
|
||||
return tabImpl->ResizePane(direction);
|
||||
tabImpl->ResizePane(direction);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// Method Description:
|
||||
@@ -2974,11 +3240,7 @@ namespace winrt::TerminalApp::implementation
|
||||
text = winrt::hstring{ Utils::TrimPaste(text) };
|
||||
}
|
||||
|
||||
// LOAD BEARING: Send an empty bracketed paste even if the clipboard was empty.
|
||||
// Bracketed Paste provides an application a way to know whether the
|
||||
// user pasted, even if there was no applicable content on it. This
|
||||
// behavior is observed in GNOME Terminal, among others.
|
||||
if (!bracketedPaste && text.empty())
|
||||
if (text.empty())
|
||||
{
|
||||
co_return;
|
||||
}
|
||||
@@ -3087,42 +3349,18 @@ namespace winrt::TerminalApp::implementation
|
||||
}
|
||||
CATCH_LOG();
|
||||
|
||||
safe_void_coroutine TerminalPage::_OpenHyperlinkHandler(const IInspectable /*sender*/, const Microsoft::Terminal::Control::OpenHyperlinkEventArgs eventArgs)
|
||||
void TerminalPage::_OpenHyperlinkHandler(const IInspectable /*sender*/, const Microsoft::Terminal::Control::OpenHyperlinkEventArgs eventArgs)
|
||||
{
|
||||
try
|
||||
{
|
||||
auto uriString{ eventArgs.Uri() };
|
||||
auto parsed = winrt::Windows::Foundation::Uri(uriString);
|
||||
auto parsed = winrt::Windows::Foundation::Uri(eventArgs.Uri());
|
||||
if (_IsUriSupported(parsed))
|
||||
{
|
||||
bool shouldLaunch{ _IsUriConsideredSomewhatSafe(parsed) };
|
||||
|
||||
if (!shouldLaunch)
|
||||
{
|
||||
if (auto presenter{ _dialogPresenter.get() })
|
||||
{
|
||||
// FindName needs to be called first to actually load the xaml object
|
||||
auto unopenedUriDialog = FindName(L"UriErrorDialog").try_as<WUX::Controls::ContentDialog>();
|
||||
|
||||
// Insert the reason and the URI
|
||||
unopenedUriDialog.SecondaryButtonText(RS_(L"UnsafeUrlConfirmAllowAction"));
|
||||
CouldNotOpenUriReason().Text(RS_(L"UnsafeUrlConfirmText"));
|
||||
UnopenedUri().Text(uriString);
|
||||
|
||||
// Show the dialog
|
||||
auto result = co_await presenter.ShowDialog(unopenedUriDialog);
|
||||
shouldLaunch = result == ContentDialogResult::Secondary;
|
||||
}
|
||||
}
|
||||
|
||||
if (shouldLaunch)
|
||||
{
|
||||
ShellExecuteW(nullptr, L"open", uriString.c_str(), nullptr, nullptr, SW_SHOWNORMAL);
|
||||
}
|
||||
ShellExecute(nullptr, L"open", eventArgs.Uri().c_str(), nullptr, nullptr, SW_SHOWNORMAL);
|
||||
}
|
||||
else
|
||||
{
|
||||
_ShowCouldNotOpenDialog(RS_(L"UnsupportedSchemeText"), uriString);
|
||||
_ShowCouldNotOpenDialog(RS_(L"UnsupportedSchemeText"), eventArgs.Uri());
|
||||
}
|
||||
}
|
||||
catch (...)
|
||||
@@ -3142,10 +3380,9 @@ namespace winrt::TerminalApp::implementation
|
||||
if (auto presenter{ _dialogPresenter.get() })
|
||||
{
|
||||
// FindName needs to be called first to actually load the xaml object
|
||||
auto unopenedUriDialog = FindName(L"UriErrorDialog").try_as<WUX::Controls::ContentDialog>();
|
||||
auto unopenedUriDialog = FindName(L"CouldNotOpenUriDialog").try_as<WUX::Controls::ContentDialog>();
|
||||
|
||||
// Insert the reason and the URI
|
||||
unopenedUriDialog.SecondaryButtonText({});
|
||||
CouldNotOpenUriReason().Text(reason);
|
||||
UnopenedUri().Text(uri);
|
||||
|
||||
@@ -3198,42 +3435,6 @@ namespace winrt::TerminalApp::implementation
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TerminalPage::_IsUriConsideredSomewhatSafe(const winrt::Windows::Foundation::Uri& parsedUri) const
|
||||
{
|
||||
const auto& schemeName = parsedUri.SchemeName();
|
||||
|
||||
if (schemeName == L"http" || schemeName == L"https")
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if (schemeName == L"file")
|
||||
{
|
||||
static const auto pathext{ wil::TryGetEnvironmentVariableW<std::wstring>(L"PATHEXT") };
|
||||
const auto filename = parsedUri.Path();
|
||||
for (const auto& e : til::split_iterator{ std::wstring_view{ pathext }, L';' })
|
||||
{
|
||||
if (til::ends_with_insensitive_ascii(filename, e))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
if (const auto& safeSchemes = _settings.GlobalSettings().SafeUriSchemes())
|
||||
{
|
||||
for (const auto& scheme : safeSchemes)
|
||||
{
|
||||
if (til::equals_insensitive_ascii(schemeName, scheme))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Important! Don't take this eventArgs by reference, we need to extend the
|
||||
// lifetime of it to the other side of the co_await!
|
||||
safe_void_coroutine TerminalPage::_ControlNoticeRaisedHandler(const IInspectable /*sender*/,
|
||||
@@ -3808,13 +4009,7 @@ namespace winrt::TerminalApp::implementation
|
||||
// for nulls
|
||||
if (const auto& connection{ _duplicateConnectionForRestart(paneContent) })
|
||||
{
|
||||
// Reset the terminal's VT state before attaching the new connection.
|
||||
// The previous client may have left dirty modes (e.g., bracketed
|
||||
// paste, mouse tracking, alternate buffer, kitty keyboard) that
|
||||
// would corrupt input/output for the new shell process.
|
||||
const auto& termControl = paneContent.GetTermControl();
|
||||
termControl.HardResetWithoutErase();
|
||||
termControl.Connection(connection);
|
||||
paneContent.GetTermControl().Connection(connection);
|
||||
connection.Start();
|
||||
}
|
||||
}
|
||||
@@ -5000,7 +5195,7 @@ namespace winrt::TerminalApp::implementation
|
||||
theme.TabRow().UnfocusedBackground()) :
|
||||
ThemeColor{ nullptr } };
|
||||
|
||||
if (_settings.GlobalSettings().UseAcrylicInTabRow() && (_activated || _settings.GlobalSettings().EnableUnfocusedAcrylic()))
|
||||
if (_settings.GlobalSettings().UseAcrylicInTabRow())
|
||||
{
|
||||
if (tabRowBg)
|
||||
{
|
||||
@@ -5030,7 +5225,7 @@ namespace winrt::TerminalApp::implementation
|
||||
TitlebarBrush(backgroundSolidBrush);
|
||||
}
|
||||
|
||||
if (!_settings.GlobalSettings().ShowTabsInTitlebar())
|
||||
if (_tabPosition != TabPosition::Top || !_settings.GlobalSettings().ShowTabsInTitlebar())
|
||||
{
|
||||
_tabRow.Background(TitlebarBrush());
|
||||
}
|
||||
@@ -5101,6 +5296,7 @@ namespace winrt::TerminalApp::implementation
|
||||
// will eat focus.
|
||||
_paneResources.focusedBorderBrush = SolidColorBrush{ Colors::Black() };
|
||||
}
|
||||
_tabStripSplitter.Background(_paneResources.focusedBorderBrush);
|
||||
|
||||
const auto unfocusedBorderBrushKey = winrt::box_value(L"UnfocusedBorderBrush");
|
||||
if (res.HasKey(unfocusedBorderBrushKey))
|
||||
|
||||
@@ -227,6 +227,9 @@ namespace winrt::TerminalApp::implementation
|
||||
Microsoft::UI::Xaml::Controls::SplitButton _newTabButton{ nullptr };
|
||||
winrt::TerminalApp::ColorPickupFlyout _tabColorPicker{ nullptr };
|
||||
|
||||
Microsoft::Terminal::Settings::Model::TabPosition _tabPosition{ Microsoft::Terminal::Settings::Model::TabPosition::Top };
|
||||
Windows::UI::Xaml::Controls::Border _tabStripSplitter{ nullptr };
|
||||
|
||||
Microsoft::Terminal::Settings::Model::CascadiaSettings _settings{ nullptr };
|
||||
|
||||
Windows::Foundation::Collections::IObservableVector<TerminalApp::Tab> _tabs;
|
||||
@@ -243,6 +246,11 @@ namespace winrt::TerminalApp::implementation
|
||||
bool _isAlwaysOnTop{ false };
|
||||
bool _showTabsFullscreen{ false };
|
||||
|
||||
// Splitter drag state for left/right tab positions
|
||||
bool _splitterDragging{ false };
|
||||
double _splitterDragStartX{ 0.0 };
|
||||
double _splitterDragStartWidth{ 0.0 };
|
||||
|
||||
std::optional<uint32_t> _loadFromPersistedLayoutIdx{};
|
||||
|
||||
bool _rearranging{ false };
|
||||
@@ -342,6 +350,7 @@ namespace winrt::TerminalApp::implementation
|
||||
void _UpdateTabIcon(Tab& tab);
|
||||
void _UpdateTabView();
|
||||
void _UpdateTabWidthMode();
|
||||
void _ApplyTabPosition();
|
||||
void _SetBackgroundImage(const winrt::Microsoft::Terminal::Settings::Model::IAppearanceConfig& newAppearance);
|
||||
|
||||
void _DuplicateFocusedTab();
|
||||
@@ -412,7 +421,7 @@ namespace winrt::TerminalApp::implementation
|
||||
const Microsoft::Terminal::Settings::Model::SplitDirection splitType,
|
||||
const float splitSize,
|
||||
std::shared_ptr<Pane> newPane);
|
||||
bool _ResizePane(const Microsoft::Terminal::Settings::Model::ResizeDirection& direction);
|
||||
void _ResizePane(const Microsoft::Terminal::Settings::Model::ResizeDirection& direction);
|
||||
void _ToggleSplitOrientation();
|
||||
|
||||
void _ScrollPage(ScrollDirection scrollDirection);
|
||||
@@ -422,9 +431,8 @@ namespace winrt::TerminalApp::implementation
|
||||
safe_void_coroutine _PasteFromClipboardHandler(const IInspectable sender,
|
||||
const Microsoft::Terminal::Control::PasteFromClipboardEventArgs eventArgs);
|
||||
|
||||
safe_void_coroutine _OpenHyperlinkHandler(const IInspectable sender, const Microsoft::Terminal::Control::OpenHyperlinkEventArgs eventArgs);
|
||||
static bool _IsUriSupported(const winrt::Windows::Foundation::Uri& parsedUri);
|
||||
bool _IsUriConsideredSomewhatSafe(const winrt::Windows::Foundation::Uri& parsedUri) const;
|
||||
void _OpenHyperlinkHandler(const IInspectable sender, const Microsoft::Terminal::Control::OpenHyperlinkEventArgs eventArgs);
|
||||
bool _IsUriSupported(const winrt::Windows::Foundation::Uri& parsedUri);
|
||||
|
||||
void _ShowCouldNotOpenDialog(winrt::hstring reason, winrt::hstring uri);
|
||||
bool _CopyText(bool dismissSelection, bool singleLine, bool withControlSequences, Microsoft::Terminal::Control::CopyFormat formats);
|
||||
|
||||
@@ -25,7 +25,8 @@
|
||||
Grid.Row="0"
|
||||
KeyUp="_KeyDownHandler" />
|
||||
|
||||
<StackPanel Grid.Row="1"
|
||||
<StackPanel x:Name="InfoBarPanel"
|
||||
Grid.Row="1"
|
||||
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
|
||||
<mux:InfoBar x:Name="KeyboardServiceWarningInfoBar"
|
||||
x:Load="False"
|
||||
@@ -84,29 +85,34 @@
|
||||
|
||||
<local:AboutDialog x:Name="AboutDialog"
|
||||
Grid.Row="2"
|
||||
Grid.ColumnSpan="3"
|
||||
x:Load="False" />
|
||||
|
||||
<ContentDialog x:Name="QuitDialog"
|
||||
x:Uid="QuitDialog"
|
||||
Grid.Row="2"
|
||||
Grid.ColumnSpan="3"
|
||||
x:Load="False"
|
||||
DefaultButton="Primary" />
|
||||
|
||||
<ContentDialog x:Name="CloseAllDialog"
|
||||
x:Uid="CloseAllDialog"
|
||||
Grid.Row="2"
|
||||
Grid.ColumnSpan="3"
|
||||
x:Load="False"
|
||||
DefaultButton="Primary" />
|
||||
|
||||
<ContentDialog x:Name="CloseReadOnlyDialog"
|
||||
x:Uid="CloseReadOnlyDialog"
|
||||
Grid.Row="2"
|
||||
Grid.ColumnSpan="3"
|
||||
x:Load="False"
|
||||
DefaultButton="Close" />
|
||||
|
||||
<ContentDialog x:Name="MultiLinePasteDialog"
|
||||
x:Uid="MultiLinePasteDialog"
|
||||
Grid.Row="2"
|
||||
Grid.ColumnSpan="3"
|
||||
x:Load="False"
|
||||
DefaultButton="Primary">
|
||||
<StackPanel>
|
||||
@@ -127,12 +133,14 @@
|
||||
<ContentDialog x:Name="LargePasteDialog"
|
||||
x:Uid="LargePasteDialog"
|
||||
Grid.Row="2"
|
||||
Grid.ColumnSpan="3"
|
||||
x:Load="False"
|
||||
DefaultButton="Primary" />
|
||||
|
||||
<ContentDialog x:Name="ControlNoticeDialog"
|
||||
x:Uid="ControlNoticeDialog"
|
||||
Grid.Row="2"
|
||||
Grid.ColumnSpan="3"
|
||||
x:Load="False"
|
||||
DefaultButton="Primary">
|
||||
<TextBlock IsTextSelectionEnabled="True"
|
||||
@@ -144,17 +152,18 @@
|
||||
</TextBlock>
|
||||
</ContentDialog>
|
||||
|
||||
<ContentDialog x:Name="UriErrorDialog"
|
||||
x:Uid="UriErrorDialog"
|
||||
<ContentDialog x:Name="CouldNotOpenUriDialog"
|
||||
x:Uid="CouldNotOpenUriDialog"
|
||||
Grid.Row="2"
|
||||
Grid.ColumnSpan="3"
|
||||
x:Load="False"
|
||||
DefaultButton="Close">
|
||||
DefaultButton="Primary">
|
||||
<TextBlock IsTextSelectionEnabled="True"
|
||||
TextWrapping="WrapWholeWords">
|
||||
<TextBlock.ContextFlyout>
|
||||
<mtu:TextMenuFlyout />
|
||||
</TextBlock.ContextFlyout>
|
||||
<Run x:Name="CouldNotOpenUriReason" /> <LineBreak /> <LineBreak />
|
||||
<Run x:Name="CouldNotOpenUriReason" /> <LineBreak />
|
||||
<Run x:Name="UnopenedUri"
|
||||
FontFamily="Cascadia Mono" />
|
||||
</TextBlock>
|
||||
@@ -162,6 +171,7 @@
|
||||
|
||||
<local:CommandPalette x:Name="CommandPaletteElement"
|
||||
Grid.Row="2"
|
||||
Grid.ColumnSpan="3"
|
||||
VerticalAlignment="Stretch"
|
||||
x:Load="False"
|
||||
PreviewKeyDown="_KeyDownHandler"
|
||||
@@ -169,6 +179,7 @@
|
||||
|
||||
<local:SuggestionsControl x:Name="SuggestionsElement"
|
||||
Grid.Row="2"
|
||||
Grid.ColumnSpan="3"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
x:Load="False"
|
||||
|
||||
@@ -270,6 +270,16 @@ namespace winrt::TerminalApp::implementation
|
||||
return _settings.GlobalSettings().ShowTabsInTitlebar();
|
||||
}
|
||||
|
||||
Microsoft::Terminal::Settings::Model::TabPosition TerminalWindow::GetTabPosition()
|
||||
{
|
||||
auto theme = Theme();
|
||||
if (auto window = theme.Window())
|
||||
{
|
||||
return window.TabPosition();
|
||||
}
|
||||
return Microsoft::Terminal::Settings::Model::TabPosition::Top;
|
||||
}
|
||||
|
||||
bool TerminalWindow::GetInitialAlwaysOnTop()
|
||||
{
|
||||
return _settings.GlobalSettings().AlwaysOnTop();
|
||||
|
||||
@@ -106,6 +106,7 @@ namespace winrt::TerminalApp::implementation
|
||||
winrt::Windows::UI::Xaml::ElementTheme GetRequestedTheme();
|
||||
Microsoft::Terminal::Settings::Model::LaunchMode GetLaunchMode();
|
||||
bool GetShowTabsInTitlebar();
|
||||
Microsoft::Terminal::Settings::Model::TabPosition GetTabPosition();
|
||||
bool GetInitialAlwaysOnTop();
|
||||
bool GetInitialShowTabsFullscreen();
|
||||
float CalcSnappedDimension(const bool widthOrHeight, const float dimension) const;
|
||||
|
||||
@@ -84,6 +84,7 @@ namespace TerminalApp
|
||||
Windows.UI.Xaml.ElementTheme GetRequestedTheme();
|
||||
Microsoft.Terminal.Settings.Model.LaunchMode GetLaunchMode();
|
||||
Boolean GetShowTabsInTitlebar();
|
||||
Microsoft.Terminal.Settings.Model.TabPosition GetTabPosition();
|
||||
Boolean GetInitialAlwaysOnTop();
|
||||
Boolean GetInitialShowTabsFullscreen();
|
||||
Single CalcSnappedDimension(Boolean widthOrHeight, Single dimension);
|
||||
|
||||
268
src/cascadia/TerminalApp/VerticalTabViewStyle.xaml
Normal file
268
src/cascadia/TerminalApp/VerticalTabViewStyle.xaml
Normal file
@@ -0,0 +1,268 @@
|
||||
<!--
|
||||
Copyright (c) Microsoft Corporation. All rights reserved. Licensed under
|
||||
the MIT License. See LICENSE in the project root for license information.
|
||||
|
||||
Retemplated styles for vertical (Left/Right) tab strip orientation.
|
||||
These styles override the horizontal TabView layout to stack tabs vertically
|
||||
in a sidebar configuration.
|
||||
-->
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mux="using:Microsoft.UI.Xaml.Controls"
|
||||
xmlns:primitives="using:Microsoft.UI.Xaml.Controls.Primitives">
|
||||
|
||||
<!--
|
||||
VerticalTabViewListViewStyle:
|
||||
Override the ItemsPanel to use vertical orientation and switch scrolling
|
||||
from horizontal to vertical.
|
||||
-->
|
||||
<Style x:Key="VerticalTabViewListViewStyle"
|
||||
TargetType="primitives:TabViewListView">
|
||||
<Setter Property="TabNavigation" Value="Once" />
|
||||
<Setter Property="IsItemClickEnabled" Value="True" />
|
||||
<Setter Property="IsSwipeEnabled" Value="False" />
|
||||
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled" />
|
||||
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" />
|
||||
<Setter Property="ScrollViewer.HorizontalScrollMode" Value="Disabled" />
|
||||
<Setter Property="ScrollViewer.VerticalScrollMode" Value="Enabled" />
|
||||
<Setter Property="ScrollViewer.IsHorizontalRailEnabled" Value="False" />
|
||||
<Setter Property="ScrollViewer.IsVerticalRailEnabled" Value="True" />
|
||||
<Setter Property="SingleSelectionFollowsFocus" Value="False" />
|
||||
<Setter Property="ItemContainerTransitions">
|
||||
<Setter.Value>
|
||||
<TransitionCollection>
|
||||
<AddDeleteThemeTransition />
|
||||
<ContentThemeTransition />
|
||||
<ReorderThemeTransition />
|
||||
</TransitionCollection>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Setter Property="ItemsPanel">
|
||||
<Setter.Value>
|
||||
<ItemsPanelTemplate>
|
||||
<ItemsStackPanel Orientation="Vertical" />
|
||||
</ItemsPanelTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
<!--
|
||||
VerticalTabViewStyle:
|
||||
Retemplate the TabView control for a vertical sidebar layout.
|
||||
Instead of 4 columns in TabContainerGrid, we use 3 rows:
|
||||
Row 0 (Auto): Header (elevation shield)
|
||||
Row 1 (*): Tab list (fills vertical space)
|
||||
Row 2 (Auto): Footer (new tab button)
|
||||
The TabContentPresenter is removed — WT doesn't use it.
|
||||
-->
|
||||
<Style x:Key="VerticalTabViewStyle"
|
||||
TargetType="mux:TabView">
|
||||
<Setter Property="VerticalAlignment" Value="Stretch" />
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||||
<Setter Property="IsTabStop" Value="False" />
|
||||
<Setter Property="TabNavigation" Value="Once" />
|
||||
<Setter Property="IsAddTabButtonVisible" Value="False" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="mux:TabView">
|
||||
<Grid x:Name="TabContainerGrid">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<!-- Header (elevation shield, etc.) -->
|
||||
<ContentPresenter x:Name="LeftContentPresenter"
|
||||
Grid.Row="0"
|
||||
Content="{TemplateBinding TabStripHeader}"
|
||||
ContentTemplate="{TemplateBinding TabStripHeaderTemplate}" />
|
||||
|
||||
<!-- Tab list -->
|
||||
<primitives:TabViewListView x:Name="TabListView"
|
||||
Grid.Row="1"
|
||||
AllowDrop="{TemplateBinding AllowDropTabs}"
|
||||
CanDragItems="{TemplateBinding CanDragTabs}"
|
||||
CanReorderItems="{TemplateBinding CanReorderTabs}"
|
||||
ItemTemplate="{TemplateBinding TabItemTemplate}"
|
||||
ItemTemplateSelector="{TemplateBinding TabItemTemplateSelector}"
|
||||
ItemsSource="{TemplateBinding TabItemsSource}"
|
||||
Style="{StaticResource VerticalTabViewListViewStyle}" />
|
||||
|
||||
<!-- Footer (new tab button) -->
|
||||
<ContentPresenter x:Name="RightContentPresenter"
|
||||
Grid.Row="2"
|
||||
Content="{TemplateBinding TabStripFooter}"
|
||||
ContentTemplate="{TemplateBinding TabStripFooterTemplate}" />
|
||||
</Grid>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
<!--
|
||||
VerticalTabViewItemStyle:
|
||||
Simplified TabViewItem template for vertical tabs.
|
||||
Removes curved corner arcs, replaces with rounded Border and a
|
||||
left-edge accent bar for the selected tab. Tabs fill strip width.
|
||||
-->
|
||||
<Style x:Key="VerticalTabViewItemStyle"
|
||||
TargetType="mux:TabViewItem">
|
||||
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
|
||||
<Setter Property="UseSystemFocusVisuals" Value="{StaticResource UseSystemFocusVisuals}" />
|
||||
<Setter Property="Padding" Value="8,6,8,6" />
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="mux:TabViewItem">
|
||||
<Grid x:Name="LayoutRoot"
|
||||
Margin="2,1,2,1">
|
||||
|
||||
<VisualStateManager.VisualStateGroups>
|
||||
<VisualStateGroup x:Name="CommonStates">
|
||||
<VisualState x:Name="Normal">
|
||||
<VisualState.Setters>
|
||||
<Setter Target="TabContainer.Background" Value="Transparent" />
|
||||
<Setter Target="SelectedIndicator.Opacity" Value="0" />
|
||||
</VisualState.Setters>
|
||||
</VisualState>
|
||||
|
||||
<VisualState x:Name="PointerOver">
|
||||
<VisualState.Setters>
|
||||
<Setter Target="TabContainer.Background" Value="{ThemeResource TabViewItemHeaderBackgroundPointerOver}" />
|
||||
<Setter Target="SelectedIndicator.Opacity" Value="0" />
|
||||
</VisualState.Setters>
|
||||
</VisualState>
|
||||
|
||||
<VisualState x:Name="Pressed">
|
||||
<VisualState.Setters>
|
||||
<Setter Target="TabContainer.Background" Value="{ThemeResource TabViewItemHeaderBackgroundPressed}" />
|
||||
<Setter Target="SelectedIndicator.Opacity" Value="0" />
|
||||
</VisualState.Setters>
|
||||
</VisualState>
|
||||
|
||||
<VisualState x:Name="Selected">
|
||||
<VisualState.Setters>
|
||||
<Setter Target="TabContainer.Background" Value="{ThemeResource TabViewItemHeaderBackgroundSelected}" />
|
||||
<Setter Target="SelectedIndicator.Opacity" Value="1" />
|
||||
</VisualState.Setters>
|
||||
</VisualState>
|
||||
|
||||
<VisualState x:Name="PointerOverSelected">
|
||||
<VisualState.Setters>
|
||||
<Setter Target="TabContainer.Background" Value="{ThemeResource TabViewItemHeaderBackgroundSelected}" />
|
||||
<Setter Target="SelectedIndicator.Opacity" Value="1" />
|
||||
</VisualState.Setters>
|
||||
</VisualState>
|
||||
|
||||
<VisualState x:Name="PressedSelected">
|
||||
<VisualState.Setters>
|
||||
<Setter Target="TabContainer.Background" Value="{ThemeResource TabViewItemHeaderBackgroundPressed}" />
|
||||
<Setter Target="SelectedIndicator.Opacity" Value="1" />
|
||||
</VisualState.Setters>
|
||||
</VisualState>
|
||||
</VisualStateGroup>
|
||||
|
||||
<VisualStateGroup x:Name="CloseButtonOverlayModeStates">
|
||||
<VisualState x:Name="CloseButtonVisible" />
|
||||
<VisualState x:Name="CloseButtonCollapsed">
|
||||
<VisualState.Setters>
|
||||
<Setter Target="CloseButton.Visibility" Value="Collapsed" />
|
||||
</VisualState.Setters>
|
||||
</VisualState>
|
||||
</VisualStateGroup>
|
||||
|
||||
<VisualStateGroup x:Name="TabViewWidthModeStates">
|
||||
<!-- In vertical mode, tabs always stretch to full width -->
|
||||
<VisualState x:Name="StandardWidth" />
|
||||
<VisualState x:Name="Compact" />
|
||||
</VisualStateGroup>
|
||||
|
||||
<VisualStateGroup x:Name="IconStates">
|
||||
<VisualState x:Name="Icon" />
|
||||
<VisualState x:Name="NoIcon">
|
||||
<VisualState.Setters>
|
||||
<Setter Target="IconBox.Visibility" Value="Collapsed" />
|
||||
</VisualState.Setters>
|
||||
</VisualState>
|
||||
</VisualStateGroup>
|
||||
|
||||
<VisualStateGroup x:Name="DisabledStates">
|
||||
<VisualState x:Name="Enabled" />
|
||||
<VisualState x:Name="Disabled">
|
||||
<VisualState.Setters>
|
||||
<Setter Target="LayoutRoot.Opacity" Value="{ThemeResource ListViewItemDisabledThemeOpacity}" />
|
||||
</VisualState.Setters>
|
||||
</VisualState>
|
||||
</VisualStateGroup>
|
||||
</VisualStateManager.VisualStateGroups>
|
||||
|
||||
<!-- Selected tab background -->
|
||||
<Border x:Name="TabContainer"
|
||||
Background="Transparent"
|
||||
CornerRadius="{ThemeResource ControlCornerRadius}"
|
||||
Padding="{TemplateBinding Padding}">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition x:Name="IconColumn"
|
||||
Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<!-- Tab icon -->
|
||||
<Viewbox x:Name="IconBox"
|
||||
Grid.Column="0"
|
||||
MaxWidth="16"
|
||||
MaxHeight="16"
|
||||
Margin="0,0,8,0">
|
||||
<ContentControl x:Name="IconControl"
|
||||
Content="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TabViewTemplateSettings.IconElement}"
|
||||
IsTabStop="False" />
|
||||
</Viewbox>
|
||||
|
||||
<!-- Tab title -->
|
||||
<ContentPresenter x:Name="ContentPresenter"
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
Content="{TemplateBinding Header}"
|
||||
ContentTemplate="{TemplateBinding HeaderTemplate}"
|
||||
ContentTransitions="{TemplateBinding ContentTransitions}"
|
||||
FontWeight="{TemplateBinding FontWeight}"
|
||||
TextWrapping="NoWrap" />
|
||||
|
||||
<!-- Close button -->
|
||||
<Button x:Name="CloseButton"
|
||||
Grid.Column="2"
|
||||
Width="20"
|
||||
Height="20"
|
||||
Margin="4,0,0,0"
|
||||
Padding="0"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
Background="Transparent"
|
||||
BorderThickness="0"
|
||||
Content=""
|
||||
FontFamily="{ThemeResource SymbolThemeFontFamily}"
|
||||
FontSize="10"
|
||||
IsTextScaleFactorEnabled="False" />
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
<!-- Left-edge accent bar for selected tab -->
|
||||
<Border x:Name="SelectedIndicator"
|
||||
Width="3"
|
||||
Height="16"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
Background="{ThemeResource AccentFillColorDefaultBrush}"
|
||||
CornerRadius="2"
|
||||
Opacity="0" />
|
||||
</Grid>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
</ResourceDictionary>
|
||||
@@ -289,11 +289,6 @@ namespace winrt::Microsoft::Terminal::TerminalConnection::implementation
|
||||
}
|
||||
}
|
||||
|
||||
if (unbox_prop_or<bool>(settings, L"ambiguousIsWide", false))
|
||||
{
|
||||
_flags |= PSEUDOCONSOLE_AMBIGUOUS_IS_WIDE;
|
||||
}
|
||||
|
||||
const auto& initialEnvironment{ unbox_prop_or<winrt::hstring>(settings, L"initialEnvironment", L"") };
|
||||
const bool reloadEnvironmentVariables = unbox_prop_or<bool>(settings, L"reloadEnvironmentVariables", false);
|
||||
|
||||
|
||||
@@ -85,12 +85,6 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
||||
break;
|
||||
}
|
||||
CodepointWidthDetector::Singleton().Reset(mode);
|
||||
|
||||
if (settings.AmbiguousWidth() == AmbiguousWidth::Wide)
|
||||
{
|
||||
CodepointWidthDetector::Singleton().SetAmbiguousWidth(2);
|
||||
}
|
||||
|
||||
return true;
|
||||
}();
|
||||
|
||||
@@ -355,12 +349,6 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
||||
}
|
||||
}
|
||||
|
||||
void ControlCore::HardResetWithoutErase()
|
||||
{
|
||||
const auto lock = _terminal->LockForWriting();
|
||||
_terminal->HardResetWithoutErase();
|
||||
}
|
||||
|
||||
bool ControlCore::Initialize(const float actualWidth,
|
||||
const float actualHeight,
|
||||
const float compositionScale)
|
||||
@@ -2081,10 +2069,7 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
||||
// the selection (we need to reset selection on double-click or
|
||||
// triple-click, so it captures the word or the line, rather than
|
||||
// extending the selection)
|
||||
// - GH#9608: VT mouse mode is enabled. In this mode, Shift is used
|
||||
// to override mouse input, so Shift+Click should start a fresh
|
||||
// selection rather than extending the previous one.
|
||||
if (_terminal->IsSelectionActive() && (!shiftEnabled || isOnOriginalPosition || _terminal->IsTrackingMouseInput()))
|
||||
if (_terminal->IsSelectionActive() && (!shiftEnabled || isOnOriginalPosition))
|
||||
{
|
||||
// Reset the selection
|
||||
_terminal->ClearSelection();
|
||||
|
||||
@@ -257,7 +257,6 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
||||
|
||||
TerminalConnection::ITerminalConnection Connection();
|
||||
void Connection(const TerminalConnection::ITerminalConnection& connection);
|
||||
void HardResetWithoutErase();
|
||||
|
||||
void AnchorContextMenu(til::point viewportRelativeCharacterPosition);
|
||||
|
||||
|
||||
@@ -98,7 +98,6 @@ namespace Microsoft.Terminal.Control
|
||||
void ApplyAppearance(Boolean focused);
|
||||
|
||||
Microsoft.Terminal.TerminalConnection.ITerminalConnection Connection;
|
||||
void HardResetWithoutErase();
|
||||
|
||||
IControlSettings Settings { get; };
|
||||
IControlAppearance FocusedAppearance { get; };
|
||||
|
||||
@@ -54,20 +54,6 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
||||
self->Attached.raise(*self, nullptr);
|
||||
}
|
||||
});
|
||||
|
||||
// GH#14464: Mark mode and quick-edit (shift+arrow) selections update
|
||||
// the selection through ControlCore, bypassing SetEndSelectionPoint.
|
||||
// Listen for selection changes so _selectionNeedsToBeCopied is set
|
||||
// for ALL selection types, not just mouse drag.
|
||||
_core->UpdateSelectionMarkers([weakThis = get_weak()](auto&&, auto&&) {
|
||||
if (auto self{ weakThis.get() })
|
||||
{
|
||||
if (self->_core->HasSelection())
|
||||
{
|
||||
self->_selectionNeedsToBeCopied = true;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
uint64_t ControlInteractivity::Id()
|
||||
@@ -299,12 +285,8 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
||||
}
|
||||
const auto isOnOriginalPosition = _lastMouseClickPosNoSelection == pixelPosition;
|
||||
|
||||
// Rounded coordinates for text selection.
|
||||
// Don't round in VT mouse mode; cell-level precision matters more.
|
||||
// Only round for single-click: for double/triple-click, rounding
|
||||
// can push the position to the next cell, selecting the wrong word.
|
||||
const auto round = multiClickMapper == 1 && !_core->IsVtMouseModeEnabled();
|
||||
_core->LeftClickOnTerminal(_getTerminalPosition(til::point{ pixelPosition }, round),
|
||||
// Rounded coordinates for text selection
|
||||
_core->LeftClickOnTerminal(_getTerminalPosition(til::point{ pixelPosition }, true),
|
||||
multiClickMapper,
|
||||
altEnabled,
|
||||
shiftEnabled,
|
||||
@@ -314,15 +296,8 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
||||
if (_core->HasSelection())
|
||||
{
|
||||
// GH#9787: if selection is active we don't want to track the touchdown position
|
||||
// so that dragging the mouse will extend the selection rather than starting the new one.
|
||||
// In VT mouse mode, keep tracking the touchdown point so that PointerMoved
|
||||
// can re-anchor the selection based on drag direction (the dx < 0 adjustment).
|
||||
// Without this, dragging left wouldn't include the initially clicked cell
|
||||
// because floored coordinates place the anchor on the cell's left edge.
|
||||
if (!_core->IsVtMouseModeEnabled())
|
||||
{
|
||||
_singleClickTouchdownPos = std::nullopt;
|
||||
}
|
||||
// so that dragging the mouse will extend the selection rather than starting the new one
|
||||
_singleClickTouchdownPos = std::nullopt;
|
||||
}
|
||||
}
|
||||
else if (WI_IsFlagSet(buttonState, MouseButtonState::IsRightButtonDown))
|
||||
@@ -339,18 +314,13 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
||||
}
|
||||
else
|
||||
{
|
||||
// GH#19942, GH#14464: Don't re-copy a selection that was
|
||||
// already copied via copyOnSelect on mouse-up. But DO copy
|
||||
// if the selection was made via mark mode or modified with
|
||||
// quick-edit keys (shift+arrow), since those paths never
|
||||
// triggered an automatic copy.
|
||||
const auto copied = (_selectionNeedsToBeCopied || !_core->CopyOnSelect()) &&
|
||||
CopySelectionToClipboard(shiftEnabled, false, _core->Settings().CopyFormatting());
|
||||
// Try to copy the text and clear the selection
|
||||
const auto successfulCopy = CopySelectionToClipboard(shiftEnabled, false, _core->Settings().CopyFormatting());
|
||||
_core->ClearSelection();
|
||||
if (_core->CopyOnSelect() || !copied)
|
||||
if (_core->CopyOnSelect() || !successfulCopy)
|
||||
{
|
||||
// CopyOnSelect: right-click always pastes.
|
||||
// Otherwise: no selection → paste.
|
||||
// CopyOnSelect: right click always pastes!
|
||||
// Otherwise: no selection --> paste
|
||||
RequestPasteTextFromClipboard();
|
||||
}
|
||||
}
|
||||
@@ -712,9 +682,7 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
||||
// - cursorPosition: in pixels, relative to the origin of the control
|
||||
void ControlInteractivity::SetEndSelectionPoint(const Core::Point pixelPosition)
|
||||
{
|
||||
// Don't round in VT mouse mode; cell-level precision matters more
|
||||
const auto round = !_core->IsVtMouseModeEnabled();
|
||||
_core->SetEndSelectionPoint(_getTerminalPosition(til::point{ pixelPosition }, round));
|
||||
_core->SetEndSelectionPoint(_getTerminalPosition(til::point{ pixelPosition }, true));
|
||||
_selectionNeedsToBeCopied = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -26,12 +26,6 @@ namespace Microsoft.Terminal.Control
|
||||
Console,
|
||||
};
|
||||
|
||||
enum AmbiguousWidth
|
||||
{
|
||||
Narrow,
|
||||
Wide,
|
||||
};
|
||||
|
||||
enum DefaultInputScope
|
||||
{
|
||||
Default,
|
||||
|
||||
@@ -68,7 +68,6 @@ namespace Microsoft.Terminal.Control
|
||||
Boolean DisablePartialInvalidation { get; };
|
||||
Boolean SoftwareRendering { get; };
|
||||
Microsoft.Terminal.Control.TextMeasurement TextMeasurement { get; };
|
||||
Microsoft.Terminal.Control.AmbiguousWidth AmbiguousWidth { get; };
|
||||
Microsoft.Terminal.Control.DefaultInputScope DefaultInputScope { get; };
|
||||
Boolean ShowMarks { get; };
|
||||
Boolean UseBackgroundImageForWindow { get; };
|
||||
|
||||
@@ -49,10 +49,7 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
||||
|
||||
void InteractivityAutomationPeer::ParentProvider(AutomationPeer parentProvider)
|
||||
{
|
||||
// LOAD-BEARING: use _parentProvider->ProviderFromPeer(_parentProvider) instead of this->ProviderFromPeer(*this).
|
||||
// Since we split the automation peer into TermControlAutomationPeer and InteractivityAutomationPeer,
|
||||
// using "this" returns null. This can cause issues with some UIA Client scenarios like any navigation in Narrator.
|
||||
_parentProvider = parentProvider ? parentProvider.as<IAutomationPeerProtected>().ProviderFromPeer(parentProvider) : nullptr;
|
||||
_parentProvider = parentProvider;
|
||||
}
|
||||
|
||||
// Method Description:
|
||||
@@ -184,11 +181,15 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
||||
|
||||
XamlAutomation::ITextRangeProvider InteractivityAutomationPeer::_CreateXamlUiaTextRange(UIA::ITextRangeProvider* returnVal) const
|
||||
{
|
||||
if (!_parentProvider)
|
||||
// LOAD-BEARING: use _parentProvider->ProviderFromPeer(_parentProvider) instead of this->ProviderFromPeer(*this).
|
||||
// Since we split the automation peer into TermControlAutomationPeer and InteractivityAutomationPeer,
|
||||
// using "this" returns null. This can cause issues with some UIA Client scenarios like any navigation in Narrator.
|
||||
const auto parent{ _parentProvider.get() };
|
||||
if (!parent)
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
const auto xutr = winrt::make_self<XamlUiaTextRange>(returnVal, _parentProvider);
|
||||
const auto xutr = winrt::make_self<XamlUiaTextRange>(returnVal, parent.as<IAutomationPeerProtected>().ProviderFromPeer(parent));
|
||||
return xutr.as<XamlAutomation::ITextRangeProvider>();
|
||||
};
|
||||
|
||||
@@ -200,24 +201,22 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
||||
// - com_array of Xaml Wrapped UiaTextRange (ITextRangeProviders)
|
||||
com_array<XamlAutomation::ITextRangeProvider> InteractivityAutomationPeer::WrapArrayOfTextRangeProviders(SAFEARRAY* textRanges)
|
||||
{
|
||||
if (!_parentProvider)
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
// transfer ownership of UiaTextRanges to this new vector
|
||||
auto providers = SafeArrayToOwningVector<::Microsoft::Terminal::TermControlUiaTextRange>(textRanges);
|
||||
const auto len = gsl::narrow<uint32_t>(providers.size());
|
||||
com_array<XamlAutomation::ITextRangeProvider> result{ len };
|
||||
auto count = gsl::narrow<int>(providers.size());
|
||||
|
||||
for (uint32_t i = 0; i < len; ++i)
|
||||
std::vector<XamlAutomation::ITextRangeProvider> vec;
|
||||
vec.reserve(count);
|
||||
for (auto i = 0; i < count; i++)
|
||||
{
|
||||
if (auto xutr = _CreateXamlUiaTextRange(providers[i].detach()))
|
||||
{
|
||||
result[i] = std::move(xutr);
|
||||
vec.emplace_back(std::move(xutr));
|
||||
}
|
||||
}
|
||||
|
||||
com_array<XamlAutomation::ITextRangeProvider> result{ vec };
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
||||
|
||||
::Microsoft::WRL::ComPtr<::Microsoft::Terminal::TermControlUiaProvider> _uiaProvider;
|
||||
winrt::Microsoft::Terminal::Control::implementation::ControlInteractivity* _interactivity;
|
||||
winrt::Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple _parentProvider{ nullptr };
|
||||
weak_ref<Windows::UI::Xaml::Automation::Peers::AutomationPeer> _parentProvider;
|
||||
|
||||
til::rect _controlBounds{};
|
||||
til::rect _controlPadding{};
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
namespace Microsoft.Terminal.Control
|
||||
{
|
||||
[default_interface] runtimeclass InteractivityAutomationPeer :
|
||||
Windows.UI.Xaml.Automation.Peers.FrameworkElementAutomationPeer,
|
||||
Windows.UI.Xaml.Automation.Peers.AutomationPeer,
|
||||
Windows.UI.Xaml.Automation.Provider.ITextProvider
|
||||
{
|
||||
|
||||
|
||||
@@ -532,11 +532,6 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
||||
_core.Connection(newConnection);
|
||||
}
|
||||
|
||||
void TermControl::HardResetWithoutErase()
|
||||
{
|
||||
_core.HardResetWithoutErase();
|
||||
}
|
||||
|
||||
void TermControl::_throttledUpdateScrollbar(const ScrollBarUpdate& update)
|
||||
{
|
||||
if (!_initializedTerminal)
|
||||
@@ -1795,16 +1790,6 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
||||
return true;
|
||||
}
|
||||
|
||||
// While TSF has an active composition, key events must not be forwarded
|
||||
// to the PTY directly. The IME re-injects navigation/confirmation keys
|
||||
// after composition ends, at which point HasActiveComposition() == false
|
||||
// and they are forwarded normally. This mirrors conhost v1 behavior in
|
||||
// src/interactivity/win32/windowio.cpp.
|
||||
if (GetTSFHandle().HasActiveComposition())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (_TrySendKeyEvent(vkey, scanCode, modifiers, keyDown))
|
||||
{
|
||||
return true;
|
||||
@@ -1935,6 +1920,8 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
||||
// - args: event data
|
||||
void TermControl::_TappedHandler(const IInspectable& /*sender*/, const TappedRoutedEventArgs& e)
|
||||
{
|
||||
Focus(FocusState::Pointer);
|
||||
|
||||
if (e.PointerDeviceType() == Windows::Devices::Input::PointerDeviceType::Touch)
|
||||
{
|
||||
// Normally TSF would be responsible for showing the touch keyboard, but it's buggy for us:
|
||||
@@ -1968,13 +1955,7 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
||||
const auto point = args.GetCurrentPoint(*this);
|
||||
const auto type = ptr.PointerDeviceType();
|
||||
|
||||
// GH#19908: _focused can be true even when the search box has
|
||||
// keyboard focus, because GotFocus bubbles from the search box
|
||||
// child and _GotFocusHandler sets _focused=true. If the user
|
||||
// click-drags in the terminal while the search box is focused,
|
||||
// we need to explicitly call Focus() to move keyboard focus back
|
||||
// to the terminal so that Ctrl+C copies the selection.
|
||||
if (!_focused || (_searchBox && _searchBox->ContainsFocus()))
|
||||
if (!_focused)
|
||||
{
|
||||
Focus(FocusState::Pointer);
|
||||
}
|
||||
@@ -2520,9 +2501,9 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
||||
|
||||
_updateScrollBar->Run(update);
|
||||
|
||||
// If we have a selection with markers (exposed via selection mode),
|
||||
// update the position of the markers
|
||||
if (_core.HasSelection() && _core.SelectionMode() >= SelectionInteractionMode::Keyboard)
|
||||
// if a selection marker is already visible,
|
||||
// update the position of those markers
|
||||
if (SelectionStartMarker().Visibility() == Visibility::Visible || SelectionEndMarker().Visibility() == Visibility::Visible)
|
||||
{
|
||||
_updateSelectionMarkers(nullptr, winrt::make<UpdateSelectionMarkersEventArgs>(false));
|
||||
}
|
||||
@@ -3086,11 +3067,6 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
||||
co_return;
|
||||
}
|
||||
|
||||
if (const auto hwnd = reinterpret_cast<HWND>(OwningHwnd()))
|
||||
{
|
||||
SetForegroundWindow(hwnd);
|
||||
}
|
||||
|
||||
const auto weak = get_weak();
|
||||
|
||||
if (e.DataView().Contains(StandardDataFormats::ApplicationLink()))
|
||||
|
||||
@@ -192,7 +192,6 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
||||
|
||||
TerminalConnection::ITerminalConnection Connection();
|
||||
void Connection(const TerminalConnection::ITerminalConnection& connection);
|
||||
void HardResetWithoutErase();
|
||||
|
||||
Control::CursorDisplayState CursorVisibility() const noexcept;
|
||||
void CursorVisibility(Control::CursorDisplayState cursorVisibility);
|
||||
|
||||
@@ -53,7 +53,6 @@ namespace Microsoft.Terminal.Control
|
||||
void SetOverrideColorScheme(Microsoft.Terminal.Core.ICoreScheme scheme);
|
||||
|
||||
Microsoft.Terminal.TerminalConnection.ITerminalConnection Connection;
|
||||
void HardResetWithoutErase();
|
||||
|
||||
UInt64 ContentId{ get; };
|
||||
|
||||
|
||||
@@ -121,9 +121,6 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
||||
// GH#13978: If the TermControl has already been removed from the UI tree, XAML might run into weird bugs.
|
||||
// This will prevent the `dispatcher.RunAsync` calls below from raising UIA events on the main thread.
|
||||
_termControl = {};
|
||||
|
||||
// Solve the circular reference between us and the content automation peer.
|
||||
_contentAutomationPeer.ParentProvider(nullptr);
|
||||
}
|
||||
|
||||
// Method Description:
|
||||
|
||||
@@ -55,18 +55,6 @@ void Terminal::Create(til::size viewportSize, til::CoordType scrollbackLines, Re
|
||||
_stateMachine = std::make_unique<StateMachine>(std::move(engine));
|
||||
}
|
||||
|
||||
// Method Description:
|
||||
// - Resets all VT state to defaults without clearing the buffer content.
|
||||
// Called when a connection is restarted so that any dirty modes left
|
||||
// behind by a crashed application don't affect the new connection.
|
||||
void Terminal::HardResetWithoutErase()
|
||||
{
|
||||
_assertLocked();
|
||||
_stateMachine->ResetState();
|
||||
auto& engine = reinterpret_cast<OutputStateMachineEngine&>(_stateMachine->Engine());
|
||||
engine.Dispatch().HardReset(false);
|
||||
}
|
||||
|
||||
// Method Description:
|
||||
// - Initializes the Terminal from the given set of settings.
|
||||
// Arguments:
|
||||
@@ -98,6 +86,7 @@ void Terminal::UpdateSettings(ICoreSettings settings)
|
||||
_answerbackMessage = settings.AnswerbackMessage();
|
||||
_wordDelimiters = settings.WordDelimiters();
|
||||
_suppressApplicationTitle = settings.SuppressApplicationTitle();
|
||||
_startingTitle = settings.StartingTitle();
|
||||
_trimBlockSelection = settings.TrimBlockSelection();
|
||||
_autoMarkPrompts = settings.AutoMarkPrompts();
|
||||
_rainbowSuggestions = settings.RainbowSuggestions();
|
||||
@@ -123,11 +112,6 @@ void Terminal::UpdateSettings(ICoreSettings settings)
|
||||
// Save the changes made above and in UpdateAppearance as the new default render settings.
|
||||
GetRenderSettings().SaveDefaultSettings();
|
||||
|
||||
if (!_startingTitle)
|
||||
{
|
||||
_startingTitle = settings.StartingTitle();
|
||||
}
|
||||
|
||||
if (!_startingTabColor && settings.StartingTabColor())
|
||||
{
|
||||
_startingTabColor = settings.StartingTabColor().Value();
|
||||
@@ -529,27 +513,52 @@ std::wstring Terminal::GetHyperlinkAtViewportPosition(const til::point viewportP
|
||||
|
||||
std::wstring Terminal::GetHyperlinkAtBufferPosition(const til::point bufferPos)
|
||||
{
|
||||
const auto& buffer = _activeBuffer();
|
||||
|
||||
// Case 1: buffer position has a hyperlink stored in the buffer
|
||||
const auto attr = buffer.GetCellDataAt(bufferPos)->TextAttr();
|
||||
const auto attr = _activeBuffer().GetCellDataAt(bufferPos)->TextAttr();
|
||||
if (attr.IsHyperlink())
|
||||
{
|
||||
return buffer.GetHyperlinkUriFromId(attr.GetHyperlinkId());
|
||||
return _activeBuffer().GetHyperlinkUriFromId(attr.GetHyperlinkId());
|
||||
}
|
||||
|
||||
// Case 2: buffer position may point to an auto-detected hyperlink
|
||||
// Check cached interval tree (covers visible viewport +/- viewport height)
|
||||
if (const auto results = _patternIntervalTree.findOverlapping({ bufferPos.x + 1, bufferPos.y }, bufferPos); !results.empty())
|
||||
// Case 2 - Step 1: get the auto-detected hyperlink
|
||||
std::optional<interval_tree::Interval<til::point, size_t>> result;
|
||||
const auto visibleViewport = _GetVisibleViewport();
|
||||
if (visibleViewport.IsInBounds(bufferPos))
|
||||
{
|
||||
for (const auto& result : results)
|
||||
// Hyperlink is in the current view, so let's just get it
|
||||
auto viewportPos = bufferPos;
|
||||
visibleViewport.ConvertToOrigin(&viewportPos);
|
||||
result = GetHyperlinkIntervalFromViewportPosition(viewportPos);
|
||||
if (result.has_value())
|
||||
{
|
||||
if (result.value == _hyperlinkPatternId)
|
||||
{
|
||||
return buffer.GetPlainText(result.start, result.stop);
|
||||
}
|
||||
result->start = _ConvertToBufferCell(result->start, false);
|
||||
result->stop = _ConvertToBufferCell(result->stop, true);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Hyperlink is outside of the current view.
|
||||
// We need to find if there's a pattern at that location.
|
||||
const auto patterns = _getPatterns(bufferPos.y, bufferPos.y);
|
||||
|
||||
// NOTE: patterns is stored with top y-position being 0,
|
||||
// so we need to cleverly set the y-pos to 0.
|
||||
const til::point viewportPos{ bufferPos.x, 0 };
|
||||
const auto results = patterns.findOverlapping(viewportPos, viewportPos);
|
||||
if (!results.empty())
|
||||
{
|
||||
result = results.front();
|
||||
result->start.y += bufferPos.y;
|
||||
result->stop.y += bufferPos.y;
|
||||
}
|
||||
}
|
||||
|
||||
// Case 2 - Step 2: get the auto-detected hyperlink
|
||||
if (result.has_value() && result->value == _hyperlinkPatternId)
|
||||
{
|
||||
return _activeBuffer().GetPlainText(result->start, result->stop);
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
@@ -569,25 +578,17 @@ uint16_t Terminal::GetHyperlinkIdAtViewportPosition(const til::point viewportPos
|
||||
// Arguments:
|
||||
// - The position relative to the viewport
|
||||
// Return value:
|
||||
// - The interval representing the start and end coordinates (viewport-relative)
|
||||
// - The interval representing the start and end coordinates
|
||||
std::optional<PointTree::interval> Terminal::GetHyperlinkIntervalFromViewportPosition(const til::point viewportPos)
|
||||
{
|
||||
// GH#18177: The tree stores buffer-absolute coordinates
|
||||
// Convert viewport-relative (y=0 at visible start) to buffer-absolute
|
||||
const auto visStart = _VisibleStartIndex();
|
||||
const til::point bufferPos{ viewportPos.x, viewportPos.y + visStart };
|
||||
const auto results = _patternIntervalTree.findOverlapping({ bufferPos.x + 1, bufferPos.y }, bufferPos);
|
||||
const auto results = _patternIntervalTree.findOverlapping({ viewportPos.x + 1, viewportPos.y }, viewportPos);
|
||||
if (results.size() > 0)
|
||||
{
|
||||
for (const auto& result : results)
|
||||
{
|
||||
if (result.value == _hyperlinkPatternId)
|
||||
{
|
||||
// Convert back to viewport-relative coordinates
|
||||
auto interval = result;
|
||||
interval.start.y -= visStart;
|
||||
interval.stop.y -= visStart;
|
||||
return interval;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -806,8 +807,11 @@ TerminalInput::OutputType Terminal::FocusChanged(const bool focused)
|
||||
// - The interval tree containing regions that need to be invalidated
|
||||
void Terminal::_InvalidatePatternTree()
|
||||
{
|
||||
const auto vis = _VisibleStartIndex();
|
||||
_patternIntervalTree.visit_all([&](const PointTree::interval& interval) {
|
||||
_InvalidateFromCoords(interval.start, interval.stop);
|
||||
const til::point startCoord{ interval.start.x, interval.start.y + vis };
|
||||
const til::point endCoord{ interval.stop.x, interval.stop.y + vis };
|
||||
_InvalidateFromCoords(startCoord, endCoord);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1205,16 +1209,7 @@ void Terminal::SetPlayMidiNoteCallback(std::function<void(const int, const int,
|
||||
void Terminal::UpdatePatternsUnderLock()
|
||||
{
|
||||
_InvalidatePatternTree();
|
||||
const auto visStart = _VisibleStartIndex();
|
||||
const auto visEnd = _VisibleEndIndex();
|
||||
const auto viewportHeight = visEnd - visStart;
|
||||
|
||||
// GH#18177: Scan extra rows beyond the viewport so that URLs
|
||||
// wrapping across the viewport boundary are matched in full
|
||||
const auto bufferSize = _activeBuffer().GetSize();
|
||||
const auto beg = std::max<til::CoordType>(0, visStart - viewportHeight);
|
||||
const auto end = std::min(bufferSize.BottomInclusive(), visEnd + viewportHeight);
|
||||
_patternIntervalTree = _getPatterns(beg, end);
|
||||
_patternIntervalTree = _getPatterns(_VisibleStartIndex(), _VisibleEndIndex());
|
||||
_InvalidatePatternTree();
|
||||
}
|
||||
|
||||
@@ -1429,8 +1424,10 @@ PointTree Terminal::_getPatterns(til::CoordType beg, til::CoordType end) const
|
||||
{
|
||||
do
|
||||
{
|
||||
// PointTree uses half-open ranges and buffer-absolute coordinates.
|
||||
const auto range = ICU::BufferRangeFromMatch(&text, re.get());
|
||||
auto range = ICU::BufferRangeFromMatch(&text, re.get());
|
||||
// PointTree uses half-open ranges and viewport-relative coordinates.
|
||||
range.start.y -= beg;
|
||||
range.end.y -= beg;
|
||||
intervals.push_back(PointTree::interval(range.start, range.end, 0));
|
||||
} while (uregex_findNext(re.get(), &status));
|
||||
}
|
||||
@@ -1538,10 +1535,6 @@ void Terminal::SerializeMainBuffer(HANDLE handle) const
|
||||
_mainBuffer->SerializeTo(handle);
|
||||
}
|
||||
|
||||
void Terminal::UnknownSequence() noexcept
|
||||
{
|
||||
}
|
||||
|
||||
void Terminal::ColorSelection(const TextAttribute& attr, winrt::Microsoft::Terminal::Core::MatchMode matchMode)
|
||||
{
|
||||
const auto colorSelection = [this](const til::point coordStartInclusive, const til::point coordEndExclusive, const TextAttribute& attr) {
|
||||
|
||||
@@ -85,7 +85,6 @@ public:
|
||||
void Create(til::size viewportSize,
|
||||
til::CoordType scrollbackLines,
|
||||
Microsoft::Console::Render::Renderer& renderer);
|
||||
void HardResetWithoutErase();
|
||||
|
||||
void CreateFromSettings(winrt::Microsoft::Terminal::Core::ICoreSettings settings,
|
||||
Microsoft::Console::Render::Renderer& renderer);
|
||||
@@ -132,9 +131,7 @@ public:
|
||||
|
||||
#pragma region ITerminalApi
|
||||
// These methods are defined in TerminalApi.cpp
|
||||
void UnknownSequence() noexcept override;
|
||||
void ReturnResponse(const std::wstring_view response) override;
|
||||
bool IsConPTY() const noexcept override;
|
||||
Microsoft::Console::VirtualTerminal::StateMachine& GetStateMachine() noexcept override;
|
||||
BufferState GetBufferAndViewport() noexcept override;
|
||||
void SetViewportPosition(const til::point position) noexcept override;
|
||||
@@ -207,7 +204,7 @@ public:
|
||||
bool IsGridLineDrawingAllowed() noexcept override;
|
||||
std::wstring GetHyperlinkUri(uint16_t id) const override;
|
||||
std::wstring GetHyperlinkCustomId(uint16_t id) const override;
|
||||
std::vector<size_t> GetPatternId(const til::point viewportPos) const override;
|
||||
std::vector<size_t> GetPatternId(const til::point location) const override;
|
||||
|
||||
std::pair<COLORREF, COLORREF> GetAttributeColors(const TextAttribute& attr) const noexcept override;
|
||||
std::span<const til::point_span> GetSelectionSpans() const noexcept override;
|
||||
@@ -349,7 +346,7 @@ private:
|
||||
::Microsoft::Console::VirtualTerminal::TerminalInput _terminalInput;
|
||||
|
||||
std::optional<std::wstring> _title;
|
||||
std::optional<std::wstring> _startingTitle;
|
||||
std::wstring _startingTitle;
|
||||
std::optional<til::color> _startingTabColor;
|
||||
|
||||
std::vector<til::point_span> _searchHighlights;
|
||||
@@ -400,6 +397,7 @@ private:
|
||||
std::wstring _wordDelimiters;
|
||||
SelectionExpansion _multiClickSelectionMode = SelectionExpansion::Char;
|
||||
SelectionInteractionMode _selectionMode = SelectionInteractionMode::None;
|
||||
bool _selectionIsTargetingUrl = false;
|
||||
SelectionEndpoint _selectionEndpoint = SelectionEndpoint::None;
|
||||
bool _anchorInactiveSelectionEndpoint = false;
|
||||
#pragma endregion
|
||||
|
||||
@@ -28,11 +28,6 @@ void Terminal::ReturnResponse(const std::wstring_view response)
|
||||
}
|
||||
}
|
||||
|
||||
bool Terminal::IsConPTY() const noexcept
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
Microsoft::Console::VirtualTerminal::StateMachine& Terminal::GetStateMachine() noexcept
|
||||
{
|
||||
return *_stateMachine;
|
||||
@@ -91,12 +86,8 @@ void Terminal::SetWindowTitle(const std::wstring_view title)
|
||||
_assertLocked();
|
||||
if (!_suppressApplicationTitle)
|
||||
{
|
||||
_title.reset();
|
||||
if (!title.empty())
|
||||
{
|
||||
_title.emplace(title);
|
||||
}
|
||||
_pfnTitleChanged(GetConsoleTitle());
|
||||
_title.emplace(title.empty() ? _startingTitle : title);
|
||||
_pfnTitleChanged(_title.value());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,13 +107,6 @@ bool Terminal::ResizeWindow(const til::CoordType width, const til::CoordType hei
|
||||
return false;
|
||||
}
|
||||
|
||||
const auto currentDimensions = _GetMutableViewport().Dimensions();
|
||||
|
||||
if (width == currentDimensions.width && height == currentDimensions.height)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (_pfnWindowSizeChanged)
|
||||
{
|
||||
_pfnWindowSizeChanged(width, height);
|
||||
@@ -156,7 +140,7 @@ unsigned int Terminal::GetInputCodePage() const noexcept
|
||||
|
||||
void Terminal::CopyToClipboard(wil::zwstring_view content)
|
||||
{
|
||||
if (_clipboardOperationsAllowed && _focused)
|
||||
if (_clipboardOperationsAllowed)
|
||||
{
|
||||
_pfnCopyToClipboard(content);
|
||||
}
|
||||
|
||||
@@ -254,6 +254,7 @@ void Terminal::_SetSelectionEnd(SelectionInfo* selection, const til::point viewp
|
||||
std::tie(selection->start, selection->end) = expandedAnchors;
|
||||
}
|
||||
_selectionMode = SelectionInteractionMode::Mouse;
|
||||
_selectionIsTargetingUrl = false;
|
||||
}
|
||||
|
||||
// Method Description:
|
||||
@@ -398,6 +399,7 @@ void Terminal::ToggleMarkMode()
|
||||
}
|
||||
_ScrollToPoint(_selection->start);
|
||||
_selectionMode = SelectionInteractionMode::Mark;
|
||||
_selectionIsTargetingUrl = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -458,6 +460,7 @@ void Terminal::SelectHyperlink(const SearchDirection dir)
|
||||
if (_selectionMode != SelectionInteractionMode::Mark)
|
||||
{
|
||||
// This feature only works in mark mode
|
||||
_selectionIsTargetingUrl = false;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -466,10 +469,19 @@ void Terminal::SelectHyperlink(const SearchDirection dir)
|
||||
const auto bufferSize = buffer.GetSize();
|
||||
const auto viewportHeight = _GetMutableViewport().Height();
|
||||
|
||||
// The patterns are stored relative to the "search area". Initially, this search area will be the viewport,
|
||||
// but as we progressively search through more of the buffer, this will change.
|
||||
// Keep track of the search area here, and use the lambda below to convert points to the search area coordinate space.
|
||||
auto searchArea = _GetVisibleViewport();
|
||||
auto convertToSearchArea = [&searchArea](const til::point pt) noexcept {
|
||||
auto copy = pt;
|
||||
searchArea.ConvertToOrigin(©);
|
||||
return copy;
|
||||
};
|
||||
|
||||
// extracts the next/previous hyperlink from the list of hyperlink ranges provided
|
||||
auto extractResultFromList = [&](std::vector<interval_tree::Interval<til::point, size_t>>& list) noexcept {
|
||||
const auto selectionStart = _selection->start;
|
||||
const auto selectionEnd = _selection->end;
|
||||
const auto selectionStartInSearchArea = convertToSearchArea(_selection->start);
|
||||
|
||||
std::optional<std::pair<til::point, til::point>> resultFromList;
|
||||
if (!list.empty())
|
||||
@@ -479,11 +491,12 @@ void Terminal::SelectHyperlink(const SearchDirection dir)
|
||||
// pattern tree includes the currently selected range when going forward,
|
||||
// so we need to check if we're pointing to that one before returning it.
|
||||
auto range = list.front();
|
||||
if (range.start == selectionStart && range.stop == selectionEnd)
|
||||
if (_selectionIsTargetingUrl && range.start == selectionStartInSearchArea)
|
||||
{
|
||||
if (list.size() > 1)
|
||||
{
|
||||
// Selection matches the current URL, pick the next one
|
||||
// if we're pointing to the currently selected URL,
|
||||
// pick the next one.
|
||||
range = til::at(list, 1);
|
||||
resultFromList = { range.start, range.stop };
|
||||
}
|
||||
@@ -508,6 +521,14 @@ void Terminal::SelectHyperlink(const SearchDirection dir)
|
||||
resultFromList = { range.start, range.stop };
|
||||
}
|
||||
}
|
||||
|
||||
// pattern tree stores everything as viewport coords,
|
||||
// so we need to convert them on the way out
|
||||
if (resultFromList)
|
||||
{
|
||||
searchArea.ConvertFromOrigin(&resultFromList->first);
|
||||
searchArea.ConvertFromOrigin(&resultFromList->second);
|
||||
}
|
||||
return resultFromList;
|
||||
};
|
||||
|
||||
@@ -525,8 +546,8 @@ void Terminal::SelectHyperlink(const SearchDirection dir)
|
||||
searchEnd = _selection->start;
|
||||
}
|
||||
|
||||
// 1.A) Try searching the cached pattern tree (no scanning required)
|
||||
auto resultList = _patternIntervalTree.findContained(searchStart, searchEnd);
|
||||
// 1.A) Try searching the current viewport (no scrolling required)
|
||||
auto resultList = _patternIntervalTree.findContained(convertToSearchArea(searchStart), convertToSearchArea(searchEnd));
|
||||
std::optional<std::pair<til::point, til::point>> result = extractResultFromList(resultList);
|
||||
if (!result)
|
||||
{
|
||||
@@ -541,12 +562,14 @@ void Terminal::SelectHyperlink(const SearchDirection dir)
|
||||
searchEnd = { bufferSize.RightInclusive(), searchStart.y - 1 };
|
||||
searchStart = { bufferSize.Left(), std::max(searchStart.y - viewportHeight, bufferSize.Top()) };
|
||||
}
|
||||
searchArea = Viewport::FromDimensions(searchStart, { searchEnd.x + 1, searchEnd.y + 1 });
|
||||
|
||||
const til::point bufferStart{ bufferSize.Origin() };
|
||||
const til::point bufferEnd{ bufferSize.RightInclusive(), ViewEndIndex() };
|
||||
while (!result && bufferSize.IsInBounds(searchStart) && bufferSize.IsInBounds(searchEnd) && searchStart <= searchEnd && bufferStart <= searchStart && searchEnd <= bufferEnd)
|
||||
{
|
||||
auto patterns = _getPatterns(searchStart.y, searchEnd.y);
|
||||
resultList = patterns.findContained(searchStart, searchEnd);
|
||||
resultList = patterns.findContained(convertToSearchArea(searchStart), convertToSearchArea(searchEnd));
|
||||
result = extractResultFromList(resultList);
|
||||
if (!result)
|
||||
{
|
||||
@@ -560,6 +583,7 @@ void Terminal::SelectHyperlink(const SearchDirection dir)
|
||||
searchEnd.y -= 1;
|
||||
searchStart.y = std::max(searchEnd.y - viewportHeight, bufferSize.Top());
|
||||
}
|
||||
searchArea = Viewport::FromDimensions(searchStart, { searchEnd.x + 1, searchEnd.y + 1 });
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -632,10 +656,11 @@ void Terminal::SelectHyperlink(const SearchDirection dir)
|
||||
selection->start = result->first;
|
||||
selection->pivot = result->first;
|
||||
selection->end = result->second;
|
||||
_selectionIsTargetingUrl = true;
|
||||
_selectionEndpoint = SelectionEndpoint::End;
|
||||
|
||||
// 4. Scroll to the selected area (if necessary)
|
||||
_ScrollToPoint(dir == SearchDirection::Forward ? selection->end : selection->start);
|
||||
_ScrollToPoint(selection->end);
|
||||
}
|
||||
|
||||
Terminal::UpdateSelectionParams Terminal::ConvertKeyEventToUpdateSelectionParams(const ControlKeyStates mods, const WORD vkey) const noexcept
|
||||
@@ -743,6 +768,7 @@ void Terminal::UpdateSelection(SelectionDirection direction, SelectionExpansion
|
||||
}
|
||||
|
||||
// 3. Actually modify the selection state
|
||||
_selectionIsTargetingUrl = false;
|
||||
_selectionMode = std::max(_selectionMode, SelectionInteractionMode::Keyboard);
|
||||
|
||||
auto selection{ _selection.write() };
|
||||
@@ -785,6 +811,7 @@ void Terminal::SelectAll()
|
||||
};
|
||||
|
||||
_selectionMode = SelectionInteractionMode::Keyboard;
|
||||
_selectionIsTargetingUrl = false;
|
||||
_ScrollToPoint(_selection->start);
|
||||
}
|
||||
|
||||
@@ -916,6 +943,7 @@ void Terminal::ClearSelection()
|
||||
_assertLocked();
|
||||
_selection.write()->active = false;
|
||||
_selectionMode = SelectionInteractionMode::None;
|
||||
_selectionIsTargetingUrl = false;
|
||||
_selectionEndpoint = static_cast<SelectionEndpoint>(0);
|
||||
_anchorInactiveSelectionEndpoint = false;
|
||||
}
|
||||
@@ -1017,9 +1045,5 @@ void Terminal::_ScrollToPoint(const til::point pos)
|
||||
}
|
||||
_NotifyScrollEvent();
|
||||
_activeBuffer().TriggerScroll();
|
||||
|
||||
// Rebuild the pattern tree for the new viewport position
|
||||
// so that callers always find a fresh cache after scrolling
|
||||
_updateUrlDetection();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,16 +74,15 @@ std::wstring Microsoft::Terminal::Core::Terminal::GetHyperlinkCustomId(uint16_t
|
||||
// Method Description:
|
||||
// - Gets the regex pattern ids of a location
|
||||
// Arguments:
|
||||
// - The viewport-relative location
|
||||
// - The location
|
||||
// Return value:
|
||||
// - The pattern IDs of the location
|
||||
std::vector<size_t> Terminal::GetPatternId(const til::point viewportPos) const
|
||||
std::vector<size_t> Terminal::GetPatternId(const til::point location) const
|
||||
{
|
||||
_assertLocked();
|
||||
|
||||
// Convert viewport-relative (y=0 at visible start) to buffer-absolute
|
||||
const til::point bufferPos{ viewportPos.x, viewportPos.y + _VisibleStartIndex() };
|
||||
const auto intervals = _patternIntervalTree.findOverlapping({ bufferPos.x + 1, bufferPos.y }, bufferPos);
|
||||
// Look through our interval tree for this location
|
||||
const auto intervals = _patternIntervalTree.findOverlapping({ location.x + 1, location.y }, location);
|
||||
if (intervals.size() == 0)
|
||||
{
|
||||
return {};
|
||||
@@ -184,18 +183,11 @@ void Terminal::SelectNewRegion(const til::point coordStart, const til::point coo
|
||||
std::wstring_view Terminal::GetConsoleTitle() const noexcept
|
||||
{
|
||||
_assertLocked();
|
||||
|
||||
if (_title)
|
||||
if (_title.has_value())
|
||||
{
|
||||
return *_title;
|
||||
}
|
||||
|
||||
if (_startingTitle)
|
||||
{
|
||||
return *_startingTitle;
|
||||
}
|
||||
|
||||
return {};
|
||||
return _startingTitle;
|
||||
}
|
||||
|
||||
// Method Description:
|
||||
|
||||
@@ -376,7 +376,6 @@ namespace winrt::Microsoft::Terminal::Settings
|
||||
_DisablePartialInvalidation = globalSettings.DisablePartialInvalidation();
|
||||
_SoftwareRendering = globalSettings.SoftwareRendering();
|
||||
_TextMeasurement = globalSettings.TextMeasurement();
|
||||
_AmbiguousWidth = globalSettings.AmbiguousWidth();
|
||||
_DefaultInputScope = globalSettings.DefaultInputScope();
|
||||
_UseBackgroundImageForWindow = globalSettings.UseBackgroundImageForWindow();
|
||||
_TrimBlockSelection = globalSettings.TrimBlockSelection();
|
||||
|
||||
@@ -23,7 +23,6 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
{
|
||||
const auto args = e.Parameter().as<Editor::NavigateToPageArgs>();
|
||||
_ViewModel = args.ViewModel().as<Editor::ActionsViewModel>();
|
||||
_ViewModel.ReSortCommandList();
|
||||
auto vmImpl = get_self<ActionsViewModel>(_ViewModel);
|
||||
vmImpl->MarkAsVisited();
|
||||
_layoutUpdatedRevoker = LayoutUpdated(winrt::auto_revoke, [this](auto /*s*/, auto /*e*/) {
|
||||
|
||||
@@ -126,12 +126,13 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
|
||||
void CommandViewModel::Name(const winrt::hstring& newName)
|
||||
{
|
||||
if (_command.Name() != newName)
|
||||
_command.Name(newName);
|
||||
if (newName.empty())
|
||||
{
|
||||
_command.Name(newName);
|
||||
// if the name was cleared, refresh the DisplayName
|
||||
_NotifyChanges(L"DisplayName", L"DisplayNameAndKeyChordAutomationPropName");
|
||||
_cachedDisplayName.clear();
|
||||
}
|
||||
_cachedDisplayName.clear();
|
||||
}
|
||||
|
||||
winrt::hstring CommandViewModel::DisplayNameAndKeyChordAutomationPropName()
|
||||
@@ -321,10 +322,7 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
{
|
||||
weak->_ReplaceCommandWithUserCopy(false);
|
||||
}
|
||||
if (!weak->_command.HasName())
|
||||
{
|
||||
weak->_NotifyChanges(L"DisplayName");
|
||||
}
|
||||
weak->_NotifyChanges(L"DisplayName");
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -361,10 +359,7 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
_RegisterActionArgsVMEvents(*actionArgsVM);
|
||||
actionArgsVM->Initialize();
|
||||
ActionArgsVM(*actionArgsVM);
|
||||
if (!_command.HasName())
|
||||
{
|
||||
_NotifyChanges(L"DisplayName");
|
||||
}
|
||||
_NotifyChanges(L"DisplayName");
|
||||
}
|
||||
|
||||
ArgWrapper::ArgWrapper(const Model::ArgDescriptor& descriptor, const Windows::Foundation::IInspectable& value) :
|
||||
@@ -1246,25 +1241,6 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
CurrentPage(ActionsSubPage::Edit);
|
||||
}
|
||||
|
||||
void ActionsViewModel::ReSortCommandList()
|
||||
{
|
||||
if (_CommandListDirty)
|
||||
{
|
||||
std::vector<Editor::CommandViewModel> commandList;
|
||||
commandList.reserve(_CommandList.Size());
|
||||
for (const auto& cmd : _CommandList)
|
||||
{
|
||||
commandList.push_back(cmd);
|
||||
}
|
||||
std::sort(commandList.begin(), commandList.end(), [](const Editor::CommandViewModel& lhs, const Editor::CommandViewModel& rhs) {
|
||||
return lhs.DisplayName() < rhs.DisplayName();
|
||||
});
|
||||
_CommandList = single_threaded_observable_vector(std::move(commandList));
|
||||
_NotifyChanges(L"CommandList");
|
||||
_CommandListDirty = false;
|
||||
}
|
||||
}
|
||||
|
||||
void ActionsViewModel::CurrentCommand(const Editor::CommandViewModel& newCommand)
|
||||
{
|
||||
_CurrentCommand = newCommand;
|
||||
@@ -1435,17 +1411,5 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
cmdVM->DeleteRequested({ this, &ActionsViewModel::_CmdVMDeleteRequestedHandler });
|
||||
cmdVM->PropagateColorSchemeRequested({ this, &ActionsViewModel::_CmdVMPropagateColorSchemeRequestedHandler });
|
||||
cmdVM->PropagateColorSchemeNamesRequested({ this, &ActionsViewModel::_CmdVMPropagateColorSchemeNamesRequestedHandler });
|
||||
cmdVM->PropertyChanged([weakThis{ get_weak() }](const IInspectable& sender, const Windows::UI::Xaml::Data::PropertyChangedEventArgs& args) {
|
||||
if (const auto self{ weakThis.get() })
|
||||
{
|
||||
const auto senderVM{ sender.as<Editor::CommandViewModel>() };
|
||||
const auto propertyName{ args.PropertyName() };
|
||||
if (propertyName == L"DisplayName")
|
||||
{
|
||||
// when a command's name changes, note that we need to re-sort the command list when we navigate back to the actions page
|
||||
self->_CommandListDirty = true;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -258,7 +258,6 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
bool DisplayBadge() const noexcept;
|
||||
|
||||
void AddNewCommand();
|
||||
void ReSortCommandList();
|
||||
|
||||
void CurrentCommand(const Editor::CommandViewModel& newCommand);
|
||||
Editor::CommandViewModel CurrentCommand();
|
||||
@@ -280,7 +279,6 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
Model::CascadiaSettings _Settings;
|
||||
Windows::Foundation::Collections::IMap<Model::ShortcutAction, winrt::hstring> _AvailableActionsAndNamesMap;
|
||||
Windows::Foundation::Collections::IMap<winrt::hstring, Model::ShortcutAction> _NameToActionMap;
|
||||
bool _CommandListDirty{ false };
|
||||
|
||||
void _MakeCommandVMsHelper();
|
||||
void _RegisterCmdVMEvents(com_ptr<implementation::CommandViewModel>& cmdVM);
|
||||
|
||||
@@ -166,7 +166,6 @@ namespace Microsoft.Terminal.Settings.Editor
|
||||
void UpdateSettings(Microsoft.Terminal.Settings.Model.CascadiaSettings settings);
|
||||
|
||||
void AddNewCommand();
|
||||
void ReSortCommandList();
|
||||
|
||||
ActionsSubPage CurrentPage;
|
||||
Boolean DisplayBadge { get; };
|
||||
|
||||
@@ -55,6 +55,13 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
}
|
||||
}
|
||||
|
||||
hstring ColorSchemesPageViewModel::TakeElementToFocus()
|
||||
{
|
||||
const auto elementToFocus = _elementToFocus;
|
||||
_elementToFocus.clear();
|
||||
return elementToFocus;
|
||||
}
|
||||
|
||||
void ColorSchemesPageViewModel::CurrentScheme(const Editor::ColorSchemeViewModel& newSelectedScheme)
|
||||
{
|
||||
if (_CurrentScheme != newSelectedScheme)
|
||||
|
||||
@@ -17,6 +17,9 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
ColorSchemesPageViewModel(const Model::CascadiaSettings& settings);
|
||||
void UpdateSettings(const Model::CascadiaSettings& settings);
|
||||
|
||||
hstring TakeElementToFocus();
|
||||
void PutElementToFocus(const hstring& elementName) { _elementToFocus = elementName; }
|
||||
|
||||
void CurrentScheme(const Editor::ColorSchemeViewModel& newSelectedScheme);
|
||||
Editor::ColorSchemeViewModel CurrentScheme();
|
||||
bool HasCurrentScheme() const noexcept;
|
||||
@@ -41,6 +44,7 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
private:
|
||||
Editor::ColorSchemeViewModel _CurrentScheme{ nullptr };
|
||||
Model::CascadiaSettings _settings;
|
||||
hstring _elementToFocus;
|
||||
Windows::Foundation::Collections::IMap<Editor::ColorSchemeViewModel, Model::ColorScheme> _viewModelToSchemeMap;
|
||||
|
||||
void _MakeColorSchemeVMsHelper();
|
||||
|
||||
@@ -16,7 +16,6 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
_settings{ settings }
|
||||
{
|
||||
INITIALIZE_BINDABLE_ENUM_SETTING(TextMeasurement, TextMeasurement, winrt::Microsoft::Terminal::Control::TextMeasurement, L"Globals_TextMeasurement_", L"Text");
|
||||
INITIALIZE_BINDABLE_ENUM_SETTING(AmbiguousWidth, AmbiguousWidth, winrt::Microsoft::Terminal::Control::AmbiguousWidth, L"Globals_AmbiguousWidth_", L"Text");
|
||||
}
|
||||
|
||||
bool CompatibilityViewModel::DebugFeaturesAvailable() const noexcept
|
||||
|
||||
@@ -26,7 +26,6 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(_settings.GlobalSettings(), AllowHeadless);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(_settings.GlobalSettings(), DebugFeaturesEnabled);
|
||||
GETSET_BINDABLE_ENUM_SETTING(TextMeasurement, winrt::Microsoft::Terminal::Control::TextMeasurement, _settings.GlobalSettings().TextMeasurement);
|
||||
GETSET_BINDABLE_ENUM_SETTING(AmbiguousWidth, winrt::Microsoft::Terminal::Control::AmbiguousWidth, _settings.GlobalSettings().AmbiguousWidth);
|
||||
|
||||
private:
|
||||
Model::CascadiaSettings _settings;
|
||||
|
||||
@@ -20,9 +20,6 @@ namespace Microsoft.Terminal.Settings.Editor
|
||||
|
||||
IInspectable CurrentTextMeasurement;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> TextMeasurementList { get; };
|
||||
|
||||
IInspectable CurrentAmbiguousWidth;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> AmbiguousWidthList { get; };
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass Compatibility : Windows.UI.Xaml.Controls.Page
|
||||
|
||||
@@ -42,16 +42,6 @@
|
||||
Style="{StaticResource ComboBoxSettingStyle}" />
|
||||
</local:SettingContainer>
|
||||
|
||||
<!-- Ambiguous Width -->
|
||||
<local:SettingContainer x:Name="AmbiguousWidth"
|
||||
x:Uid="Globals_AmbiguousWidth">
|
||||
<ComboBox AutomationProperties.AccessibilityView="Content"
|
||||
ItemTemplate="{StaticResource EnumComboBoxTemplate}"
|
||||
ItemsSource="{x:Bind ViewModel.AmbiguousWidthList}"
|
||||
SelectedItem="{x:Bind ViewModel.CurrentAmbiguousWidth, Mode=TwoWay}"
|
||||
Style="{StaticResource ComboBoxSettingStyle}" />
|
||||
</local:SettingContainer>
|
||||
|
||||
<!-- Debug Features -->
|
||||
<local:SettingContainer x:Name="DebugFeaturesEnabled"
|
||||
x:Uid="Globals_DebugFeaturesEnabled"
|
||||
|
||||
@@ -105,6 +105,14 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
}
|
||||
}
|
||||
|
||||
void EditAction::ShortcutActionBox_SuggestionChosen(const AutoSuggestBox& sender, const AutoSuggestBoxSuggestionChosenEventArgs& args)
|
||||
{
|
||||
if (const auto selectedAction = args.SelectedItem().try_as<winrt::hstring>())
|
||||
{
|
||||
sender.Text(*selectedAction);
|
||||
}
|
||||
}
|
||||
|
||||
void EditAction::ShortcutActionBox_QuerySubmitted(const AutoSuggestBox& sender, const AutoSuggestBoxQuerySubmittedEventArgs& args)
|
||||
{
|
||||
const auto submittedText = args.QueryText();
|
||||
|
||||
@@ -22,6 +22,7 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
|
||||
void ShortcutActionBox_GotFocus(const winrt::Windows::Foundation::IInspectable& sender, const winrt::Windows::UI::Xaml::RoutedEventArgs& args);
|
||||
void ShortcutActionBox_TextChanged(const winrt::Windows::UI::Xaml::Controls::AutoSuggestBox& sender, const winrt::Windows::UI::Xaml::Controls::AutoSuggestBoxTextChangedEventArgs& args);
|
||||
void ShortcutActionBox_SuggestionChosen(const winrt::Windows::UI::Xaml::Controls::AutoSuggestBox& sender, const winrt::Windows::UI::Xaml::Controls::AutoSuggestBoxSuggestionChosenEventArgs& args);
|
||||
void ShortcutActionBox_QuerySubmitted(const winrt::Windows::UI::Xaml::Controls::AutoSuggestBox& sender, const winrt::Windows::UI::Xaml::Controls::AutoSuggestBoxQuerySubmittedEventArgs& args);
|
||||
void ShortcutActionBox_LostFocus(const winrt::Windows::Foundation::IInspectable& sender, const winrt::Windows::UI::Xaml::RoutedEventArgs& args);
|
||||
|
||||
|
||||
@@ -707,6 +707,7 @@
|
||||
GotFocus="ShortcutActionBox_GotFocus"
|
||||
LostFocus="ShortcutActionBox_LostFocus"
|
||||
QuerySubmitted="ShortcutActionBox_QuerySubmitted"
|
||||
SuggestionChosen="ShortcutActionBox_SuggestionChosen"
|
||||
TextChanged="ShortcutActionBox_TextChanged" />
|
||||
<TextBlock x:Uid="Actions_Keybindings"
|
||||
Grid.Row="3"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -90,12 +90,14 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
void _AddProfileHandler(const winrt::guid profileGuid);
|
||||
|
||||
void _SetupProfileEventHandling(const winrt::Microsoft::Terminal::Settings::Editor::ProfileViewModel profile);
|
||||
void _SetupColorSchemesEventHandling();
|
||||
void _SetupActionsEventHandling();
|
||||
void _NavigateToProfileSubPage(const Editor::ProfileViewModel& profile, ProfileSubPage page, const IInspectable& breadcrumbTag, const hstring& elementToFocus);
|
||||
|
||||
void _PreNavigateHelper();
|
||||
void _Navigate(const IInspectable& vm, BreadcrumbSubPage subPage, hstring elementToFocus = {});
|
||||
void _Navigate(hstring clickedItemTag, BreadcrumbSubPage subPage, hstring elementToFocus = {});
|
||||
void _Navigate(const Editor::ProfileViewModel& profile, BreadcrumbSubPage subPage, hstring elementToFocus = {});
|
||||
void _Navigate(const Editor::ColorSchemeViewModel& colorSchemeVM, BreadcrumbSubPage subPage, hstring elementToFocus = {});
|
||||
void _Navigate(const Editor::NewTabMenuEntryViewModel& ntmEntryVM, BreadcrumbSubPage subPage, hstring elementToFocus = {});
|
||||
void _Navigate(const Editor::ExtensionPackageViewModel& extPkgVM, BreadcrumbSubPage subPage, hstring elementToFocus = {});
|
||||
void _Navigate(const Editor::CommandViewModel& commandVM, BreadcrumbSubPage subPage, hstring elementToFocus = {});
|
||||
void _NavigateToProfileHandler(const IInspectable& sender, winrt::guid profileGuid);
|
||||
void _NavigateToColorSchemeHandler(const IInspectable& sender, const IInspectable& args);
|
||||
Microsoft::UI::Xaml::Controls::NavigationViewItem _FindProfileNavItem(winrt::guid profileGuid) const;
|
||||
|
||||
@@ -329,8 +329,7 @@
|
||||
</local:SettingContainer>
|
||||
|
||||
<!-- Icon -->
|
||||
<local:SettingContainer x:Name="CurrentFolderIcon"
|
||||
x:Uid="NewTabMenu_CurrentFolderIcon"
|
||||
<local:SettingContainer x:Uid="NewTabMenu_CurrentFolderIcon"
|
||||
CurrentValueAccessibleName="{x:Bind ViewModel.CurrentFolderLocalizedIcon, Mode=OneWay}"
|
||||
Style="{StaticResource ExpanderSettingContainerStyleWithComplexPreview}">
|
||||
<local:SettingContainer.CurrentValue>
|
||||
@@ -498,8 +497,7 @@
|
||||
</local:SettingContainer>
|
||||
|
||||
<!-- Add Remaining Profiles -->
|
||||
<local:SettingContainer x:Name="AddRemainingProfiles"
|
||||
x:Uid="NewTabMenu_AddRemainingProfiles"
|
||||
<local:SettingContainer x:Uid="NewTabMenu_AddRemainingProfiles"
|
||||
FontIconGlyph=""
|
||||
Style="{StaticResource SettingContainerWithIcon}">
|
||||
<Button x:Name="AddRemainingProfilesButton"
|
||||
|
||||
@@ -784,6 +784,13 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
DeleteProfileRequested.raise(*this, *deleteProfileArgs);
|
||||
}
|
||||
|
||||
hstring ProfileViewModel::TakeElementToFocus()
|
||||
{
|
||||
const auto elementToFocus = _elementToFocus;
|
||||
_elementToFocus.clear();
|
||||
return elementToFocus;
|
||||
}
|
||||
|
||||
void ProfileViewModel::SetupAppearances(Windows::Foundation::Collections::IObservableVector<Editor::ColorSchemeViewModel> schemesList)
|
||||
{
|
||||
DefaultAppearance().SchemesList(schemesList);
|
||||
|
||||
@@ -38,7 +38,16 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
Control::IControlSettings TermSettings() const;
|
||||
void DeleteProfile();
|
||||
|
||||
hstring TakeElementToFocus();
|
||||
void PutElementToFocus(const hstring& elementName) { _elementToFocus = elementName; }
|
||||
|
||||
void SetupAppearances(Windows::Foundation::Collections::IObservableVector<Editor::ColorSchemeViewModel> schemesList);
|
||||
void ForceRefreshCurrentPage()
|
||||
{
|
||||
// Used to trigger the PropertyChanged handler in MainPage.cpp
|
||||
// This forces the page to refresh
|
||||
_NotifyChanges(L"CurrentPage");
|
||||
}
|
||||
|
||||
// bell style bits
|
||||
hstring BellStylePreview() const;
|
||||
@@ -158,6 +167,7 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
winrt::guid _originalProfileGuid{};
|
||||
winrt::hstring _lastBgImagePath;
|
||||
winrt::hstring _lastStartingDirectoryPath;
|
||||
winrt::hstring _elementToFocus;
|
||||
Editor::AppearanceViewModel _defaultAppearanceViewModel;
|
||||
Windows::UI::Core::CoreDispatcher _dispatcher;
|
||||
|
||||
|
||||
@@ -371,21 +371,6 @@
|
||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||
<value>Windows-Konsole</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.Header" xml:space="preserve">
|
||||
<value>Breite von mehrdeutigen Zeichen</value>
|
||||
<comment>A label for a drop down selector, referring to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.HelpText" xml:space="preserve">
|
||||
<value>Legt die Breite fest, die für ostasiatische mehrdeutige Zeichen verwendet wird. „Eng“ (Standard) priorisiert die Kompatibilität, während „Weit“ die Lesbarkeit mit vielen CJK-Schriftarten priorisiert. Im Modus „Breit“ funktionieren einige Anwendungen möglicherweise nicht ordnungsgemäß und verursachen eine erratische Cursorbewegung. Das Ändern dieser Einstellung erfordert einen Neustart von Windows-Terminal und gilt nur für Anwendungen, die von dort aus gestartet werden.</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Narrow.Text" xml:space="preserve">
|
||||
<value>Schmal</value>
|
||||
<comment>As in "narrow width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Wide.Text" xml:space="preserve">
|
||||
<value>Breit</value>
|
||||
<comment>As in "wide width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||
<value>Spalten</value>
|
||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||
@@ -507,7 +492,7 @@
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||
<value>Titelleiste ausblenden (Neustart erforderlich)</value>
|
||||
<comment>Header for a control to toggle whether or not the title bar should be shown. Changing this setting requires the user to relaunch the app.</comment>
|
||||
<comment>Header for a control to toggle whether the title bar should be shown or not. Changing this setting requires the user to relaunch the app.</comment>
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||
<value>Wenn diese Option deaktiviert ist, wird die Titelleiste über den Registerkarten angezeigt.</value>
|
||||
@@ -1195,15 +1180,15 @@
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Startverzeichnis</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||
<value>Startverzeichnis</value>
|
||||
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Header for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Startverzeichnis</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||
<value>Das Verzeichnis, in dem das Profil gestartet wird, wenn es geladen wird.</value>
|
||||
@@ -1742,7 +1727,7 @@
|
||||
<comment>A supplementary setting to the "font face" setting. Toggling this control updates the font face control to show all of the fonts installed.</comment>
|
||||
</data>
|
||||
<data name="Profile_FontFaceShowAllFonts.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip" xml:space="preserve">
|
||||
<value>Wenn diese Option aktiviert ist, werden alle installierten Schriftarten in der Liste oben angezeigt. Andernfalls wird nur die Liste der Schriftarten mit fester Breite angezeigt.</value>
|
||||
<value>Wenn diese Option aktiviert ist, werden alle installierten Schriftarten in der Liste oben angezeigt. Andernfalls wird nur die Liste der Festbreitenschriftarten angezeigt.</value>
|
||||
<comment>A description for what the supplementary "show all fonts" setting does. Presented near "Profile_FontFaceShowAllFonts".</comment>
|
||||
</data>
|
||||
<data name="Profile_CreateUnfocusedAppearanceButton.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
@@ -2147,7 +2132,7 @@
|
||||
</data>
|
||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Verknüpfung</value>
|
||||
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
||||
</data>
|
||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||
<value>Textformatierung</value>
|
||||
@@ -2606,19 +2591,19 @@
|
||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
||||
<value>WSL (C:\ 🡒 /mnt/c)</value>
|
||||
<value>WSL (C:\ -> /mnt/c)</value>
|
||||
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
||||
<value>Cygwin (C:\ 🡒 /cygdrive/c)</value>
|
||||
<value>Cygwin (C:\ -> /cygdrive/c)</value>
|
||||
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
||||
<value>MSYS2 (C:\ 🡒 /c)</value>
|
||||
<value>MSYS2 (C:\ -> /c)</value>
|
||||
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
||||
<value>MinGW (C:\ 🡒 C:/)</value>
|
||||
<value>MinGW (C:\ -> C:/)</value>
|
||||
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||
|
||||
@@ -371,21 +371,6 @@
|
||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||
<value>Windows Console</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.Header" xml:space="preserve">
|
||||
<value>Width of ambiguous characters</value>
|
||||
<comment>A label for a drop down selector, referring to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.HelpText" xml:space="preserve">
|
||||
<value>Sets the width used for East Asian Ambiguous characters. "Narrow" (default) prioritizes compatibility, while "Wide" prioritizes readability with many CJK fonts. In "Wide" mode, some applications may not work correctly and cause erratic cursor movement. Changing this setting requires a restart of Windows Terminal and it only applies to applications launched from within it.</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Narrow.Text" xml:space="preserve">
|
||||
<value>Narrow</value>
|
||||
<comment>As in "narrow width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Wide.Text" xml:space="preserve">
|
||||
<value>Wide</value>
|
||||
<comment>As in "wide width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||
<value>Columns</value>
|
||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||
@@ -2610,19 +2595,19 @@
|
||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
||||
<value>WSL (C:\ 🡒 /mnt/c)</value>
|
||||
<value>WSL (C:\ -> /mnt/c)</value>
|
||||
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
||||
<value>Cygwin (C:\ 🡒 /cygdrive/c)</value>
|
||||
<value>Cygwin (C:\ -> /cygdrive/c)</value>
|
||||
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
||||
<value>MSYS2 (C:\ 🡒 /c)</value>
|
||||
<value>MSYS2 (C:\ -> /c)</value>
|
||||
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
||||
<value>MinGW (C:\ 🡒 C:/)</value>
|
||||
<value>MinGW (C:\ -> C:/)</value>
|
||||
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||
|
||||
@@ -371,21 +371,6 @@
|
||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||
<value>Consola de Windows</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.Header" xml:space="preserve">
|
||||
<value>Ancho de caracteres ambiguos</value>
|
||||
<comment>A label for a drop down selector, referring to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.HelpText" xml:space="preserve">
|
||||
<value>Establece el ancho usado para los caracteres ambiguos de Asia Oriental. "Estrecho" (valor predeterminado) da prioridad a la compatibilidad, mientras que "Ancho" da prioridad a la legibilidad con muchas fuentes CJK. En el modo "Ancho", es posible que algunas aplicaciones no funcionen correctamente y provoquen un movimiento errático del cursor. Cambiar esta configuración requiere un reinicio de Terminal Windows y solo se aplica a las aplicaciones que se inician desde dentro de ella.</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Narrow.Text" xml:space="preserve">
|
||||
<value>Estrecho</value>
|
||||
<comment>As in "narrow width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Wide.Text" xml:space="preserve">
|
||||
<value>Anchura</value>
|
||||
<comment>As in "wide width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||
<value>Columnas</value>
|
||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||
@@ -507,7 +492,7 @@
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||
<value>Ocultar la barra de título (requiere reiniciar)</value>
|
||||
<comment>Header for a control to toggle whether or not the title bar should be shown. Changing this setting requires the user to relaunch the app.</comment>
|
||||
<comment>Header for a control to toggle whether the title bar should be shown or not. Changing this setting requires the user to relaunch the app.</comment>
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||
<value>Cuando está deshabilitada, la barra de título aparecerá encima de las pestañas.</value>
|
||||
@@ -983,11 +968,11 @@
|
||||
<comment>{Locked="‗"} An option to choose from for the "cursor shape" setting. When selected, the cursor will look like a stacked set of two underscores. The character in the parentheses is used to show what it looks like.</comment>
|
||||
</data>
|
||||
<data name="Profile_FontFace.Header" xml:space="preserve">
|
||||
<value>Estilo tipográfico</value>
|
||||
<value>Tipo de fuente</value>
|
||||
<comment>Header for a control to select the font for text in the app.</comment>
|
||||
</data>
|
||||
<data name="Profile_FontFaceBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Estilo tipográfico</value>
|
||||
<value>Tipo de fuente</value>
|
||||
<comment>Name for a control to select the font for text in the app.</comment>
|
||||
</data>
|
||||
<data name="Profile_FontFace.HelpText" xml:space="preserve">
|
||||
@@ -1195,15 +1180,15 @@
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Directorio de inicio</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||
<value>Directorio de inicio</value>
|
||||
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Header for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Directorio de inicio</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||
<value>El directorio en el que se inicia el perfil cuando se carga.</value>
|
||||
@@ -2147,7 +2132,7 @@
|
||||
</data>
|
||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Acceso directo</value>
|
||||
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
||||
</data>
|
||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||
<value>Formato de texto</value>
|
||||
@@ -2606,19 +2591,19 @@
|
||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
||||
<value>WSL (C:\ 🡒 /mnt/c)</value>
|
||||
<value>WSL (C:\ -> /mnt/c)</value>
|
||||
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
||||
<value>Cygwin (C:\ 🡒 /cygdrive/c)</value>
|
||||
<value>Cygwin (C:\ -> /cygdrive/c)</value>
|
||||
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
||||
<value>MSYS2 (C:\ 🡒 /c)</value>
|
||||
<value>MSYS2 (C:\ -> /c)</value>
|
||||
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
||||
<value>MinGW (C:\ 🡒 C:/)</value>
|
||||
<value>MinGW (C:\ -> C:/)</value>
|
||||
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||
|
||||
@@ -371,21 +371,6 @@
|
||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||
<value>Console Windows</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.Header" xml:space="preserve">
|
||||
<value>Largeur des caractères ambigus d’Asie de l’Est</value>
|
||||
<comment>A label for a drop down selector, referring to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.HelpText" xml:space="preserve">
|
||||
<value>Définit la largeur utilisée pour les caractères ambigus d’Asie de l’Est. « Narrow » (par défaut) privilégie la compatibilité, tandis que « Wide » favorise la lisibilité avec de nombreuses polices CJK. En mode « Wide », certaines applications peuvent ne pas fonctionner correctement et provoquer un déplacement erratique du curseur. La modification de ce paramètre nécessite le redémarrage du Terminal Windows et ne s’applique qu’aux applications lancées à partir de celui-ci.</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Narrow.Text" xml:space="preserve">
|
||||
<value>Étroites</value>
|
||||
<comment>As in "narrow width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Wide.Text" xml:space="preserve">
|
||||
<value>Larges</value>
|
||||
<comment>As in "wide width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||
<value>Colonnes</value>
|
||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||
@@ -507,7 +492,7 @@
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||
<value>Masquer la barre de titre (redémarrage nécessaire)</value>
|
||||
<comment>Header for a control to toggle whether or not the title bar should be shown. Changing this setting requires the user to relaunch the app.</comment>
|
||||
<comment>Header for a control to toggle whether the title bar should be shown or not. Changing this setting requires the user to relaunch the app.</comment>
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||
<value>Une fois désactivée, la barre de titre s’affiche au-dessus des onglets.</value>
|
||||
@@ -983,11 +968,11 @@
|
||||
<comment>{Locked="‗"} An option to choose from for the "cursor shape" setting. When selected, the cursor will look like a stacked set of two underscores. The character in the parentheses is used to show what it looks like.</comment>
|
||||
</data>
|
||||
<data name="Profile_FontFace.Header" xml:space="preserve">
|
||||
<value>Style de police</value>
|
||||
<value>Type de police</value>
|
||||
<comment>Header for a control to select the font for text in the app.</comment>
|
||||
</data>
|
||||
<data name="Profile_FontFaceBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Style de police</value>
|
||||
<value>Type de police</value>
|
||||
<comment>Name for a control to select the font for text in the app.</comment>
|
||||
</data>
|
||||
<data name="Profile_FontFace.HelpText" xml:space="preserve">
|
||||
@@ -1195,15 +1180,15 @@
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Répertoire de démarrage</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||
<value>Répertoire de démarrage</value>
|
||||
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Header for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Répertoire de démarrage</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||
<value>Répertoire dans lequel le shell démarre lorsqu’il est chargé.</value>
|
||||
@@ -2147,7 +2132,7 @@
|
||||
</data>
|
||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Raccourci</value>
|
||||
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
||||
</data>
|
||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||
<value>Mise en forme du texte</value>
|
||||
@@ -2606,19 +2591,19 @@
|
||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
||||
<value>WSL (C:\ 🡒 /mnt/c)</value>
|
||||
<value>WSL (C :\ -> /mnt/c)</value>
|
||||
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
||||
<value>Cygwin (C:\ 🡒 /cygdrive/c)</value>
|
||||
<value>Cygwin (C :\ -> /cygdrive/c)</value>
|
||||
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
||||
<value>MSYS2 (C:\ 🡒 /c)</value>
|
||||
<value>MSYS2 (C:\ -> /c)</value>
|
||||
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
||||
<value>MinGW (C:\ 🡒 C:/)</value>
|
||||
<value>MinGW (C:\ -> C:/)</value>
|
||||
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||
|
||||
@@ -371,21 +371,6 @@
|
||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||
<value>Windows Console</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.Header" xml:space="preserve">
|
||||
<value>Larghezza dei caratteri ambigui</value>
|
||||
<comment>A label for a drop down selector, referring to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.HelpText" xml:space="preserve">
|
||||
<value>Imposta la larghezza usata per i caratteri ambigui dell'Asia orientale. "Narrow" (impostazione predefinita) privilegia la compatibilità, mentre "Wide" privilegia la leggibilità con molti tipi di carattere CJK. In modalità "Wide", alcune applicazioni potrebbero non funzionare correttamente e causare movimenti irregolari del cursore. Per applicare questa modifica è necessario riavviare Terminale Windows e si applica solo alle applicazioni avviate all'interno.</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Narrow.Text" xml:space="preserve">
|
||||
<value>Stretti</value>
|
||||
<comment>As in "narrow width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Wide.Text" xml:space="preserve">
|
||||
<value>Ampiezza</value>
|
||||
<comment>As in "wide width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||
<value>Colonne</value>
|
||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||
@@ -507,7 +492,7 @@
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||
<value>Nascondi la barra del titolo (sarà necessario riavviare)</value>
|
||||
<comment>Header for a control to toggle whether or not the title bar should be shown. Changing this setting requires the user to relaunch the app.</comment>
|
||||
<comment>Header for a control to toggle whether the title bar should be shown or not. Changing this setting requires the user to relaunch the app.</comment>
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||
<value>Se disabilitata, la barra del titolo verrà visualizzata sopra le schede.</value>
|
||||
@@ -1195,15 +1180,15 @@
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Directory iniziale</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||
<value>Directory iniziale</value>
|
||||
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Header for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Directory iniziale</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||
<value>La directory che inizia il profilo durante il caricamento.</value>
|
||||
@@ -2147,7 +2132,7 @@
|
||||
</data>
|
||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Collegamento</value>
|
||||
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
||||
</data>
|
||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||
<value>Formattazione testo</value>
|
||||
@@ -2606,19 +2591,19 @@
|
||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
||||
<value>WSL (C:\ 🡒 /mnt/c)</value>
|
||||
<value>WSL (C:\ -> /mnt/c)</value>
|
||||
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
||||
<value>Cygwin (C:\ 🡒 /cygdrive/c)</value>
|
||||
<value>Cygwin (C:\ -> /cygdrive/c)</value>
|
||||
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
||||
<value>MSYS2 (C:\ 🡒 /c)</value>
|
||||
<value>MSYS2 (C:\ -> /c)</value>
|
||||
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
||||
<value>MinGW (C:\ 🡒 C:/)</value>
|
||||
<value>MinGW (C:\ -> C:/)</value>
|
||||
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||
|
||||
@@ -371,21 +371,6 @@
|
||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||
<value>Windows コンソール</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.Header" xml:space="preserve">
|
||||
<value>あいまいな文字の幅</value>
|
||||
<comment>A label for a drop down selector, referring to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.HelpText" xml:space="preserve">
|
||||
<value>東アジアのあいまいな文字に使用する幅を設定します。[幅を狭くする] (既定) は互換性を優先し、[幅を広くする] は多くの CJK フォントでの読みやすさを優先します。[幅を広くする] モードでは、一部のアプリケーションが正しく動作せず、カーソルの動きが不安定になることがあります。この設定を変更するには、Windows ターミナルの再起動が必要で、Windows ターミナル内から起動したアプリケーションにのみ適用されます。</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Narrow.Text" xml:space="preserve">
|
||||
<value>狭い</value>
|
||||
<comment>As in "narrow width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Wide.Text" xml:space="preserve">
|
||||
<value>広い</value>
|
||||
<comment>As in "wide width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||
<value>列</value>
|
||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||
@@ -507,7 +492,7 @@
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||
<value>タイトル バーを非表示にする (再起動が必要)</value>
|
||||
<comment>Header for a control to toggle whether or not the title bar should be shown. Changing this setting requires the user to relaunch the app.</comment>
|
||||
<comment>Header for a control to toggle whether the title bar should be shown or not. Changing this setting requires the user to relaunch the app.</comment>
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||
<value>無効にすると、タイトル バーがタブの上に表示されます。</value>
|
||||
@@ -983,11 +968,11 @@
|
||||
<comment>{Locked="‗"} An option to choose from for the "cursor shape" setting. When selected, the cursor will look like a stacked set of two underscores. The character in the parentheses is used to show what it looks like.</comment>
|
||||
</data>
|
||||
<data name="Profile_FontFace.Header" xml:space="preserve">
|
||||
<value>フォント スタイル</value>
|
||||
<value>フォント フェイス</value>
|
||||
<comment>Header for a control to select the font for text in the app.</comment>
|
||||
</data>
|
||||
<data name="Profile_FontFaceBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>フォント スタイル</value>
|
||||
<value>フォント フェイス</value>
|
||||
<comment>Name for a control to select the font for text in the app.</comment>
|
||||
</data>
|
||||
<data name="Profile_FontFace.HelpText" xml:space="preserve">
|
||||
@@ -1195,15 +1180,15 @@
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>開始ディレクトリ</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||
<value>開始ディレクトリ</value>
|
||||
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Header for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>開始ディレクトリ</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||
<value>プロファイルが読み込まれたときに開始されるディレクトリです。</value>
|
||||
@@ -2147,7 +2132,7 @@
|
||||
</data>
|
||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>ショートカット</value>
|
||||
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
||||
</data>
|
||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||
<value>テキストの書式設定</value>
|
||||
@@ -2606,19 +2591,19 @@
|
||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
||||
<value>WSL (C:\ 🡒 /mnt/c)</value>
|
||||
<value>WSL (C:\ -> /mnt/c)</value>
|
||||
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
||||
<value>Cygwin (C:\ 🡒 /cygdrive/c)</value>
|
||||
<value>Cygwin (C:\ -> /cygdrive/c)</value>
|
||||
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
||||
<value>MSYS2 (C:\ 🡒 /c)</value>
|
||||
<value>MSYS2 (C:\ -> /c)</value>
|
||||
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
||||
<value>MinGW (C:\ 🡒 C:/)</value>
|
||||
<value>MinGW (C:\ -> C:/)</value>
|
||||
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||
|
||||
@@ -293,7 +293,7 @@
|
||||
<comment>Header for a control to set the query URL when using the "search web" action.</comment>
|
||||
</data>
|
||||
<data name="Globals_SearchWebDefaultQueryUrl.HelpText" xml:space="preserve">
|
||||
<value>자리 표시자 "%s"가 검색 쿼리로 바뀝니다.</value>
|
||||
<value>자리 표시자 "%s" 검색 쿼리로 대체됩니다.</value>
|
||||
<comment>{Locked="%s"} Additional text presented near "Globals_SearchWebDefaultQueryUrl.Header".</comment>
|
||||
</data>
|
||||
<data name="Globals_TrimBlockSelection.Header" xml:space="preserve">
|
||||
@@ -371,21 +371,6 @@
|
||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||
<value>Windows 콘솔</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.Header" xml:space="preserve">
|
||||
<value>모호한 문자 너비</value>
|
||||
<comment>A label for a drop down selector, referring to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.HelpText" xml:space="preserve">
|
||||
<value>동아시아의 모호한 문자에 사용되는 너비를 설정하세요. "좁게"(기본값)는 호환성을 우선시하고, "넓게"는 많은 CJK 글꼴에서 가독성을 우선시합니다. "넓게" 모드에서는 일부 애플리케이션이 제대로 작동하지 않아 커서가 이상하게 움직일 수 있습니다. 이 설정을 변경하려면 Windows 터미널을 다시 시작해야 하며, 이 설정은 Windows 터미널 내에서 실행된 애플리케이션에만 적용됩니다.</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Narrow.Text" xml:space="preserve">
|
||||
<value>좁게</value>
|
||||
<comment>As in "narrow width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Wide.Text" xml:space="preserve">
|
||||
<value>넓게</value>
|
||||
<comment>As in "wide width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||
<value>열</value>
|
||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||
@@ -507,7 +492,7 @@
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||
<value>제목 표시줄 숨기기(다시 시작해야 함)</value>
|
||||
<comment>Header for a control to toggle whether or not the title bar should be shown. Changing this setting requires the user to relaunch the app.</comment>
|
||||
<comment>Header for a control to toggle whether the title bar should be shown or not. Changing this setting requires the user to relaunch the app.</comment>
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||
<value>사용하지 않도록 설정하면 제목 표시줄이 탭 위에 표시됩니다.</value>
|
||||
@@ -983,11 +968,11 @@
|
||||
<comment>{Locked="‗"} An option to choose from for the "cursor shape" setting. When selected, the cursor will look like a stacked set of two underscores. The character in the parentheses is used to show what it looks like.</comment>
|
||||
</data>
|
||||
<data name="Profile_FontFace.Header" xml:space="preserve">
|
||||
<value>글꼴 스타일</value>
|
||||
<value>글꼴</value>
|
||||
<comment>Header for a control to select the font for text in the app.</comment>
|
||||
</data>
|
||||
<data name="Profile_FontFaceBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>글꼴 스타일</value>
|
||||
<value>글꼴</value>
|
||||
<comment>Name for a control to select the font for text in the app.</comment>
|
||||
</data>
|
||||
<data name="Profile_FontFace.HelpText" xml:space="preserve">
|
||||
@@ -1195,15 +1180,15 @@
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>시작 디렉터리</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||
<value>시작 디렉터리</value>
|
||||
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Header for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>시작 디렉터리</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||
<value>프로필이 로드될 때 시작됩니다.</value>
|
||||
@@ -2147,7 +2132,7 @@
|
||||
</data>
|
||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>바로 가기</value>
|
||||
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
||||
</data>
|
||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||
<value>텍스트 서식 지정</value>
|
||||
@@ -2606,19 +2591,19 @@
|
||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
||||
<value>WSL(C:\ 🡒 /mnt/c)</value>
|
||||
<value>WSL(C:\ -> /mnt/c)</value>
|
||||
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
||||
<value>Cygwin(C:\ 🡒 /cygdrive/c)</value>
|
||||
<value>Cygwin(C:\ -> /cygdrive/c)</value>
|
||||
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
||||
<value>MSYS2(C:\ 🡒 /c)</value>
|
||||
<value>MSYS2(C:\ -> /c)</value>
|
||||
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
||||
<value>MinGW(C:\ 🡒 C:/)</value>
|
||||
<value>MinGW(C:\ -> C:/)</value>
|
||||
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||
|
||||
@@ -371,21 +371,6 @@
|
||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||
<value>Console do Windows</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.Header" xml:space="preserve">
|
||||
<value>Largura de caracteres ambíguos</value>
|
||||
<comment>A label for a drop down selector, referring to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.HelpText" xml:space="preserve">
|
||||
<value>Define a largura usada para caracteres ambíguos do Leste Asiático. "Estreito" (padrão) prioriza a compatibilidade, enquanto "Amplo" prioriza a legibilidade com muitas fontes CJK. No modo "Amplo", alguns aplicativos podem não funcionar corretamente e provocar movimento irregular do cursor. Alterar essa configuração exige reiniciar o Terminal do Windows e vale só para aplicativos iniciados dentro dele.</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Narrow.Text" xml:space="preserve">
|
||||
<value>Estreita</value>
|
||||
<comment>As in "narrow width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Wide.Text" xml:space="preserve">
|
||||
<value>Largo</value>
|
||||
<comment>As in "wide width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||
<value>Colunas</value>
|
||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||
@@ -507,7 +492,7 @@
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||
<value>Oculta a barra do título (requer reinicialização)</value>
|
||||
<comment>Header for a control to toggle whether or not the title bar should be shown. Changing this setting requires the user to relaunch the app.</comment>
|
||||
<comment>Header for a control to toggle whether the title bar should be shown or not. Changing this setting requires the user to relaunch the app.</comment>
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||
<value>Quando desabilitada, a barra de título aparecerá acima das guias.</value>
|
||||
@@ -983,15 +968,15 @@
|
||||
<comment>{Locked="‗"} An option to choose from for the "cursor shape" setting. When selected, the cursor will look like a stacked set of two underscores. The character in the parentheses is used to show what it looks like.</comment>
|
||||
</data>
|
||||
<data name="Profile_FontFace.Header" xml:space="preserve">
|
||||
<value>Variação</value>
|
||||
<value>Tipo de fonte</value>
|
||||
<comment>Header for a control to select the font for text in the app.</comment>
|
||||
</data>
|
||||
<data name="Profile_FontFaceBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Variação</value>
|
||||
<value>Tipo de fonte</value>
|
||||
<comment>Name for a control to select the font for text in the app.</comment>
|
||||
</data>
|
||||
<data name="Profile_FontFace.HelpText" xml:space="preserve">
|
||||
<value>Você pode usar várias fontes, separando-as com uma vírgula ASCII.</value>
|
||||
<value>Pode utilizar vários tipos de letra separando-os com uma vírgula ASCII.</value>
|
||||
</data>
|
||||
<data name="Profile_FontSize.Header" xml:space="preserve">
|
||||
<value>Tamanho da fonte</value>
|
||||
@@ -1195,15 +1180,15 @@
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Diretório inicial</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||
<value>Diretório inicial</value>
|
||||
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Header for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Diretório inicial</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||
<value>A pasta em que o perfil começa quando é carregado.</value>
|
||||
@@ -1742,7 +1727,7 @@
|
||||
<comment>A supplementary setting to the "font face" setting. Toggling this control updates the font face control to show all of the fonts installed.</comment>
|
||||
</data>
|
||||
<data name="Profile_FontFaceShowAllFonts.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip" xml:space="preserve">
|
||||
<value>Se ativado, mostra todas as fontes instaladas na lista acima. Caso contrário, mostra apenas as fontes monoespaçadas.</value>
|
||||
<value>Se habilitado, mostrar todas as fontes instaladas na lista acima. Caso contrário, mostrar apenas a lista de fontes com espaçamento mono.</value>
|
||||
<comment>A description for what the supplementary "show all fonts" setting does. Presented near "Profile_FontFaceShowAllFonts".</comment>
|
||||
</data>
|
||||
<data name="Profile_CreateUnfocusedAppearanceButton.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
@@ -2147,7 +2132,7 @@
|
||||
</data>
|
||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Atalho</value>
|
||||
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
||||
</data>
|
||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||
<value>Formatação de Texto</value>
|
||||
@@ -2606,19 +2591,19 @@
|
||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
||||
<value>WSL (C:\ 🡒 /mnt/c)</value>
|
||||
<value>WSL (C:\ -> /mnt/c)</value>
|
||||
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
||||
<value>Cygwin (C:\ 🡒 /cygdrive/c)</value>
|
||||
<value>Cygwin (C:\ -> /cygdrive/c)</value>
|
||||
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
||||
<value>MSYS2 (C:\ 🡒 /c)</value>
|
||||
<value>MSYS2 (C:\ -> /c)</value>
|
||||
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
||||
<value>MinGW (C:\ 🡒 C:/)</value>
|
||||
<value>MinGW (C:\ -> C:/)</value>
|
||||
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||
|
||||
@@ -293,7 +293,7 @@
|
||||
<comment>Header for a control to set the query URL when using the "search web" action.</comment>
|
||||
</data>
|
||||
<data name="Globals_SearchWebDefaultQueryUrl.HelpText" xml:space="preserve">
|
||||
<value>Ţђě рłд¢èнøĺđĕг "%s" щіłĺ ьē ŕěρļąč℮ď ẁїτђ τђέ śеªřсħ qцегỳ. !!! !!! !!! !!! !!! !!!</value>
|
||||
<value>Ţђě рłд¢èнøĺđĕг "%s" щіłĺ ѓēφŀāćεđ ẃĩτђ τђе šέªґ¢ħ qύėгў. !!! !!! !!! !!! !!! !!</value>
|
||||
<comment>{Locked="%s"} Additional text presented near "Globals_SearchWebDefaultQueryUrl.Header".</comment>
|
||||
</data>
|
||||
<data name="Globals_TrimBlockSelection.Header" xml:space="preserve">
|
||||
@@ -371,21 +371,6 @@
|
||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||
<value>Щіŋďŏшś Ĉǿʼnşöℓę !!! !</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.Header" xml:space="preserve">
|
||||
<value>Ẅίďτħ οƒ àmъïġũõŭś ¢ћäřаčτëŕś !!! !!! !!!</value>
|
||||
<comment>A label for a drop down selector, referring to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.HelpText" xml:space="preserve">
|
||||
<value>Šеŧѕ тĥé ẃίďтн цšеď ƒθŕ Ёāѕť Дѕїāπ Δmъìĝůόųş ¢ĥǻŕǻćτєŗş. "Νǻяѓòш" (đéƒåųĺţ) ρґΐõѓіŧīźéѕ ċǿmραťĭвĭľΐτŷ, ẃђίļė "Ẁîδ℮" рŕīόŕïтϊźĕş гèáðàвіℓīτў ẁìτн мâйý ČЈК ƒблťś. Ĩл "Шϊďε" mőδє, şõmе áρφļĭĉªτιόņś мąу ⁿõт ẃóѓк çθřŕзçτłў αŋδ čäűѕє ℮ŗѓāŧíć ςŭѓşοґ mòνėmĕŋť. Ċђªŋĝϊйġ тнϊş śэттĩņģ ŕêqůįŗëš å ř℮ŝţâгŧ ōƒ Ẁίήďôωş Ţёŕмĭиàĺ ąηδ îт öʼnłý ãφрŀįέѕ τő ąρрļĭсатįŏлŝ ℓаϋⁿćћ℮ð ƒřом шìтħїή îť. !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Narrow.Text" xml:space="preserve">
|
||||
<value>Ŋǻŕґŏш !</value>
|
||||
<comment>As in "narrow width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Wide.Text" xml:space="preserve">
|
||||
<value>Шĭðе !</value>
|
||||
<comment>As in "wide width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||
<value>Ċσŀùмñѕ !!</value>
|
||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||
@@ -507,7 +492,7 @@
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||
<value>Ĥìđε тħê τīţĺё ъªř (ŗėqūΐŗêś яеľаϋʼnčћ) !!! !!! !!! !!</value>
|
||||
<comment>Header for a control to toggle whether or not the title bar should be shown. Changing this setting requires the user to relaunch the app.</comment>
|
||||
<comment>Header for a control to toggle whether the title bar should be shown or not. Changing this setting requires the user to relaunch the app.</comment>
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||
<value>Ẃћèп ðϊŝαъłėð, тнė ťĭτłê вąѓ ẁιĺł ąφφёǻŕ äвöνė ŧħė ťãьś. !!! !!! !!! !!! !!! !</value>
|
||||
@@ -1195,15 +1180,15 @@
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Ŝταяτìлĝ ðĩѓ℮ćτоŗỳ !!! !!</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||
<value>Ѕťåřťіπġ đíгëĉţöґγ !!! !!</value>
|
||||
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Header for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Šтдřтíⁿģ đϊŕёςŧôŗў !!! !!</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||
<value>Ţћé đĭŗéçťòŕу τħе рѓøƒĩŀе śťªřťş ïή ẅћĕл îţ ίѕ ŀбдδėď. !!! !!! !!! !!! !!! !</value>
|
||||
@@ -2147,7 +2132,7 @@
|
||||
</data>
|
||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Şħōяŧ¢цτ !!</value>
|
||||
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
||||
</data>
|
||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||
<value>Ťĕхτ ₣ôямåτţίʼnğ !!! !</value>
|
||||
@@ -2610,19 +2595,19 @@
|
||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
||||
<value>WSL (C:\ 🡒 /mnt/c) !!! !!!</value>
|
||||
<value>WSL (C:\ -> /mnt/c) !!! !!!</value>
|
||||
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
||||
<value>Cygwin (C:\ 🡒 /cygdrive/c) !!! !!! !!</value>
|
||||
<value>Cygwin (C:\ -> /cygdrive/c) !!! !!! !!</value>
|
||||
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
||||
<value>MSYS2 (C:\ 🡒 /c) !!! !!</value>
|
||||
<value>MSYS2 (C:\ -> /c) !!! !!</value>
|
||||
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
||||
<value>MinGW (C:\ 🡒 C:/) !!! !!</value>
|
||||
<value>MinGW (C:\ -> C:/) !!! !!</value>
|
||||
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||
|
||||
@@ -293,7 +293,7 @@
|
||||
<comment>Header for a control to set the query URL when using the "search web" action.</comment>
|
||||
</data>
|
||||
<data name="Globals_SearchWebDefaultQueryUrl.HelpText" xml:space="preserve">
|
||||
<value>Ţђě рłд¢èнøĺđĕг "%s" щіłĺ ьē ŕěρļąč℮ď ẁїτђ τђέ śеªřсħ qцегỳ. !!! !!! !!! !!! !!! !!!</value>
|
||||
<value>Ţђě рłд¢èнøĺđĕг "%s" щіłĺ ѓēφŀāćεđ ẃĩτђ τђе šέªґ¢ħ qύėгў. !!! !!! !!! !!! !!! !!</value>
|
||||
<comment>{Locked="%s"} Additional text presented near "Globals_SearchWebDefaultQueryUrl.Header".</comment>
|
||||
</data>
|
||||
<data name="Globals_TrimBlockSelection.Header" xml:space="preserve">
|
||||
@@ -371,21 +371,6 @@
|
||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||
<value>Щіŋďŏшś Ĉǿʼnşöℓę !!! !</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.Header" xml:space="preserve">
|
||||
<value>Ẅίďτħ οƒ àmъïġũõŭś ¢ћäřаčτëŕś !!! !!! !!!</value>
|
||||
<comment>A label for a drop down selector, referring to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.HelpText" xml:space="preserve">
|
||||
<value>Šеŧѕ тĥé ẃίďтн цšеď ƒθŕ Ёāѕť Дѕїāπ Δmъìĝůόųş ¢ĥǻŕǻćτєŗş. "Νǻяѓòш" (đéƒåųĺţ) ρґΐõѓіŧīźéѕ ċǿmραťĭвĭľΐτŷ, ẃђίļė "Ẁîδ℮" рŕīόŕïтϊźĕş гèáðàвіℓīτў ẁìτн мâйý ČЈК ƒблťś. Ĩл "Шϊďε" mőδє, şõmе áρφļĭĉªτιόņś мąу ⁿõт ẃóѓк çθřŕзçτłў αŋδ čäűѕє ℮ŗѓāŧíć ςŭѓşοґ mòνėmĕŋť. Ċђªŋĝϊйġ тнϊş śэттĩņģ ŕêqůįŗëš å ř℮ŝţâгŧ ōƒ Ẁίήďôωş Ţёŕмĭиàĺ ąηδ îт öʼnłý ãφрŀįέѕ τő ąρрļĭсатįŏлŝ ℓаϋⁿćћ℮ð ƒřом шìтħїή îť. !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Narrow.Text" xml:space="preserve">
|
||||
<value>Ŋǻŕґŏш !</value>
|
||||
<comment>As in "narrow width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Wide.Text" xml:space="preserve">
|
||||
<value>Шĭðе !</value>
|
||||
<comment>As in "wide width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||
<value>Ċσŀùмñѕ !!</value>
|
||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||
@@ -507,7 +492,7 @@
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||
<value>Ĥìđε тħê τīţĺё ъªř (ŗėqūΐŗêś яеľаϋʼnčћ) !!! !!! !!! !!</value>
|
||||
<comment>Header for a control to toggle whether or not the title bar should be shown. Changing this setting requires the user to relaunch the app.</comment>
|
||||
<comment>Header for a control to toggle whether the title bar should be shown or not. Changing this setting requires the user to relaunch the app.</comment>
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||
<value>Ẃћèп ðϊŝαъłėð, тнė ťĭτłê вąѓ ẁιĺł ąφφёǻŕ äвöνė ŧħė ťãьś. !!! !!! !!! !!! !!! !</value>
|
||||
@@ -1195,15 +1180,15 @@
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Ŝταяτìлĝ ðĩѓ℮ćτоŗỳ !!! !!</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||
<value>Ѕťåřťіπġ đíгëĉţöґγ !!! !!</value>
|
||||
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Header for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Šтдřтíⁿģ đϊŕёςŧôŗў !!! !!</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||
<value>Ţћé đĭŗéçťòŕу τħе рѓøƒĩŀе śťªřťş ïή ẅћĕл îţ ίѕ ŀбдδėď. !!! !!! !!! !!! !!! !</value>
|
||||
@@ -2147,7 +2132,7 @@
|
||||
</data>
|
||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Şħōяŧ¢цτ !!</value>
|
||||
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
||||
</data>
|
||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||
<value>Ťĕхτ ₣ôямåτţίʼnğ !!! !</value>
|
||||
@@ -2610,19 +2595,19 @@
|
||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
||||
<value>WSL (C:\ 🡒 /mnt/c) !!! !!!</value>
|
||||
<value>WSL (C:\ -> /mnt/c) !!! !!!</value>
|
||||
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
||||
<value>Cygwin (C:\ 🡒 /cygdrive/c) !!! !!! !!</value>
|
||||
<value>Cygwin (C:\ -> /cygdrive/c) !!! !!! !!</value>
|
||||
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
||||
<value>MSYS2 (C:\ 🡒 /c) !!! !!</value>
|
||||
<value>MSYS2 (C:\ -> /c) !!! !!</value>
|
||||
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
||||
<value>MinGW (C:\ 🡒 C:/) !!! !!</value>
|
||||
<value>MinGW (C:\ -> C:/) !!! !!</value>
|
||||
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||
|
||||
@@ -293,7 +293,7 @@
|
||||
<comment>Header for a control to set the query URL when using the "search web" action.</comment>
|
||||
</data>
|
||||
<data name="Globals_SearchWebDefaultQueryUrl.HelpText" xml:space="preserve">
|
||||
<value>Ţђě рłд¢èнøĺđĕг "%s" щіłĺ ьē ŕěρļąč℮ď ẁїτђ τђέ śеªřсħ qцегỳ. !!! !!! !!! !!! !!! !!!</value>
|
||||
<value>Ţђě рłд¢èнøĺđĕг "%s" щіłĺ ѓēφŀāćεđ ẃĩτђ τђе šέªґ¢ħ qύėгў. !!! !!! !!! !!! !!! !!</value>
|
||||
<comment>{Locked="%s"} Additional text presented near "Globals_SearchWebDefaultQueryUrl.Header".</comment>
|
||||
</data>
|
||||
<data name="Globals_TrimBlockSelection.Header" xml:space="preserve">
|
||||
@@ -371,21 +371,6 @@
|
||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||
<value>Щіŋďŏшś Ĉǿʼnşöℓę !!! !</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.Header" xml:space="preserve">
|
||||
<value>Ẅίďτħ οƒ àmъïġũõŭś ¢ћäřаčτëŕś !!! !!! !!!</value>
|
||||
<comment>A label for a drop down selector, referring to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.HelpText" xml:space="preserve">
|
||||
<value>Šеŧѕ тĥé ẃίďтн цšеď ƒθŕ Ёāѕť Дѕїāπ Δmъìĝůόųş ¢ĥǻŕǻćτєŗş. "Νǻяѓòш" (đéƒåųĺţ) ρґΐõѓіŧīźéѕ ċǿmραťĭвĭľΐτŷ, ẃђίļė "Ẁîδ℮" рŕīόŕïтϊźĕş гèáðàвіℓīτў ẁìτн мâйý ČЈК ƒблťś. Ĩл "Шϊďε" mőδє, şõmе áρφļĭĉªτιόņś мąу ⁿõт ẃóѓк çθřŕзçτłў αŋδ čäűѕє ℮ŗѓāŧíć ςŭѓşοґ mòνėmĕŋť. Ċђªŋĝϊйġ тнϊş śэттĩņģ ŕêqůįŗëš å ř℮ŝţâгŧ ōƒ Ẁίήďôωş Ţёŕмĭиàĺ ąηδ îт öʼnłý ãφрŀįέѕ τő ąρрļĭсатįŏлŝ ℓаϋⁿćћ℮ð ƒřом шìтħїή îť. !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Narrow.Text" xml:space="preserve">
|
||||
<value>Ŋǻŕґŏш !</value>
|
||||
<comment>As in "narrow width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Wide.Text" xml:space="preserve">
|
||||
<value>Шĭðе !</value>
|
||||
<comment>As in "wide width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||
<value>Ċσŀùмñѕ !!</value>
|
||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||
@@ -507,7 +492,7 @@
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||
<value>Ĥìđε тħê τīţĺё ъªř (ŗėqūΐŗêś яеľаϋʼnčћ) !!! !!! !!! !!</value>
|
||||
<comment>Header for a control to toggle whether or not the title bar should be shown. Changing this setting requires the user to relaunch the app.</comment>
|
||||
<comment>Header for a control to toggle whether the title bar should be shown or not. Changing this setting requires the user to relaunch the app.</comment>
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||
<value>Ẃћèп ðϊŝαъłėð, тнė ťĭτłê вąѓ ẁιĺł ąφφёǻŕ äвöνė ŧħė ťãьś. !!! !!! !!! !!! !!! !</value>
|
||||
@@ -1195,15 +1180,15 @@
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Ŝταяτìлĝ ðĩѓ℮ćτоŗỳ !!! !!</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||
<value>Ѕťåřťіπġ đíгëĉţöґγ !!! !!</value>
|
||||
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Header for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Šтдřтíⁿģ đϊŕёςŧôŗў !!! !!</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||
<value>Ţћé đĭŗéçťòŕу τħе рѓøƒĩŀе śťªřťş ïή ẅћĕл îţ ίѕ ŀбдδėď. !!! !!! !!! !!! !!! !</value>
|
||||
@@ -2147,7 +2132,7 @@
|
||||
</data>
|
||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Şħōяŧ¢цτ !!</value>
|
||||
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
||||
</data>
|
||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||
<value>Ťĕхτ ₣ôямåτţίʼnğ !!! !</value>
|
||||
@@ -2610,19 +2595,19 @@
|
||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
||||
<value>WSL (C:\ 🡒 /mnt/c) !!! !!!</value>
|
||||
<value>WSL (C:\ -> /mnt/c) !!! !!!</value>
|
||||
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
||||
<value>Cygwin (C:\ 🡒 /cygdrive/c) !!! !!! !!</value>
|
||||
<value>Cygwin (C:\ -> /cygdrive/c) !!! !!! !!</value>
|
||||
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
||||
<value>MSYS2 (C:\ 🡒 /c) !!! !!</value>
|
||||
<value>MSYS2 (C:\ -> /c) !!! !!</value>
|
||||
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
||||
<value>MinGW (C:\ 🡒 C:/) !!! !!</value>
|
||||
<value>MinGW (C:\ -> C:/) !!! !!</value>
|
||||
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||
|
||||
@@ -371,21 +371,6 @@
|
||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||
<value>Консоль Windows</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.Header" xml:space="preserve">
|
||||
<value>Ширина символов в пропорциональных шрифтах</value>
|
||||
<comment>A label for a drop down selector, referring to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.HelpText" xml:space="preserve">
|
||||
<value>Задает ширину для символов восточноазиатских шрифтов. Значение "Узкая" (по умолчанию) обеспечивает совместимость, а "Широкая" улучшает читаемость большинства шрифтов CJK. В режиме "Широкая" некоторые приложения могут работать неправильно, что приводит к беспорядочному движению курсора. Изменение этого параметра требует перезапуска Терминала Windows и применяется только к приложениям, запущенным из него.</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Narrow.Text" xml:space="preserve">
|
||||
<value>Узкие</value>
|
||||
<comment>As in "narrow width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Wide.Text" xml:space="preserve">
|
||||
<value>Широкие</value>
|
||||
<comment>As in "wide width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||
<value>Столбцы</value>
|
||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||
@@ -507,7 +492,7 @@
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||
<value>Скрыть заголовок окна (требуется перезапуск)</value>
|
||||
<comment>Header for a control to toggle whether or not the title bar should be shown. Changing this setting requires the user to relaunch the app.</comment>
|
||||
<comment>Header for a control to toggle whether the title bar should be shown or not. Changing this setting requires the user to relaunch the app.</comment>
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||
<value>Если этот параметр отключен, строка заголовка будет отображаться над вкладками.</value>
|
||||
@@ -1195,15 +1180,15 @@
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Начальный каталог</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||
<value>Запуск каталога</value>
|
||||
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Header for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Начальный каталог</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||
<value>Каталог, запускаемый профилем при загрузке.</value>
|
||||
@@ -2147,7 +2132,7 @@
|
||||
</data>
|
||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>Сочетание клавиш</value>
|
||||
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
||||
</data>
|
||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||
<value>Форматирование текста</value>
|
||||
@@ -2606,19 +2591,19 @@
|
||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
||||
<value>WSL (C:\ 🡒 /mnt/c)</value>
|
||||
<value>WSL (C:\ -> /mnt/c)</value>
|
||||
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
||||
<value>Cygwin (C:\ 🡒 /cygdrive/c)</value>
|
||||
<value>Cygwin (C:\ -> /cygdrive/c)</value>
|
||||
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
||||
<value>MSYS2 (C:\ 🡒 /c)</value>
|
||||
<value>MSYS2 (C:\ -> /c)</value>
|
||||
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
||||
<value>MinGW (C:\ 🡒 C:/)</value>
|
||||
<value>MinGW (C:\ -> C:/)</value>
|
||||
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||
|
||||
@@ -371,21 +371,6 @@
|
||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||
<value>Windows 控制台</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.Header" xml:space="preserve">
|
||||
<value>模糊字符的宽度</value>
|
||||
<comment>A label for a drop down selector, referring to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.HelpText" xml:space="preserve">
|
||||
<value>设置东亚模糊字符的宽度。"窄"模式(默认)优先考虑兼容性,而"宽"模式优先考虑很多中日韩字体的可读性。在"宽"模式下,某些应用程序可能无法正常工作,并导致光标不规则移动。更改此设置需要重启 Windows 终端,而且仅适用于从终端中启动的应用程序。</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Narrow.Text" xml:space="preserve">
|
||||
<value>窄</value>
|
||||
<comment>As in "narrow width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Wide.Text" xml:space="preserve">
|
||||
<value>宽</value>
|
||||
<comment>As in "wide width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||
<value>列</value>
|
||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||
@@ -507,7 +492,7 @@
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||
<value>隐藏标题栏(需要重新启动)</value>
|
||||
<comment>Header for a control to toggle whether or not the title bar should be shown. Changing this setting requires the user to relaunch the app.</comment>
|
||||
<comment>Header for a control to toggle whether the title bar should be shown or not. Changing this setting requires the user to relaunch the app.</comment>
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||
<value>禁用后,标题栏将显示在选项卡上方。</value>
|
||||
@@ -1195,15 +1180,15 @@
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>启动目录</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||
<value>启动目录</value>
|
||||
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Header for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>正在启动目录</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||
<value>加载配置文件时启动的目录。</value>
|
||||
@@ -2147,7 +2132,7 @@
|
||||
</data>
|
||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>快捷方式</value>
|
||||
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
||||
</data>
|
||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||
<value>文本格式</value>
|
||||
@@ -2606,19 +2591,19 @@
|
||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
||||
<value>WSL (C:\ 🡒 /mnt/c)</value>
|
||||
<value>WSL (C:\ -> /mnt/c)</value>
|
||||
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
||||
<value>Cygwin (C:\ 🡒 /cygdrive/c)</value>
|
||||
<value>Cygwin (C:\ -> /cygdrive/c)</value>
|
||||
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
||||
<value>MSYS2 (C:\ 🡒 /c)</value>
|
||||
<value>MSYS2 (C:\ -> /c)</value>
|
||||
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
||||
<value>MinGW (C:\ 🡒 C:/)</value>
|
||||
<value>MinGW (C:\ -> C:/)</value>
|
||||
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||
|
||||
@@ -293,7 +293,7 @@
|
||||
<comment>Header for a control to set the query URL when using the "search web" action.</comment>
|
||||
</data>
|
||||
<data name="Globals_SearchWebDefaultQueryUrl.HelpText" xml:space="preserve">
|
||||
<value>預留位置 "%s" 將以搜尋查詢取代。</value>
|
||||
<value>佔位元 "%s" 將取代為搜尋查詢。</value>
|
||||
<comment>{Locked="%s"} Additional text presented near "Globals_SearchWebDefaultQueryUrl.Header".</comment>
|
||||
</data>
|
||||
<data name="Globals_TrimBlockSelection.Header" xml:space="preserve">
|
||||
@@ -371,21 +371,6 @@
|
||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||
<value>Windows 主控台</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.Header" xml:space="preserve">
|
||||
<value>模糊字元寬度</value>
|
||||
<comment>A label for a drop down selector, referring to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth.HelpText" xml:space="preserve">
|
||||
<value>設定東亞模糊字元的寬度。「窄」(預設) 以相容性為優先,而「寬」則以多數中日韓字型的可讀性為優先。在「寬」模式下,部分應用程式可能無法正常運作,導致游標移動異常。變更此設定後,需重新啟動 Windows 終端機,且僅適用於從 Windows 終端機內啟動的應用程式。</value>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Narrow.Text" xml:space="preserve">
|
||||
<value>窄</value>
|
||||
<comment>As in "narrow width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_AmbiguousWidth_Wide.Text" xml:space="preserve">
|
||||
<value>寬</value>
|
||||
<comment>As in "wide width". Refers to the East Asian Ambiguous Width Unicode specification.</comment>
|
||||
</data>
|
||||
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||
<value>欄</value>
|
||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||
@@ -507,7 +492,7 @@
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||
<value>隱藏標題列 (需要重新啟動)</value>
|
||||
<comment>Header for a control to toggle whether or not the title bar should be shown. Changing this setting requires the user to relaunch the app.</comment>
|
||||
<comment>Header for a control to toggle whether the title bar should be shown or not. Changing this setting requires the user to relaunch the app.</comment>
|
||||
</data>
|
||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||
<value>停用時,標題列會出現在索引標籤上方。</value>
|
||||
@@ -1195,15 +1180,15 @@
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>起始目錄</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||
<value>啟動時載入的目錄</value>
|
||||
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Header for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>起始目錄</value>
|
||||
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||
<comment>Name for a control to determine the directory the session opens it at launch. This is on a text box that accepts folder paths.</comment>
|
||||
</data>
|
||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||
<value>載入時,設定檔起始的目錄。</value>
|
||||
@@ -2147,7 +2132,7 @@
|
||||
</data>
|
||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||
<value>捷徑</value>
|
||||
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
||||
</data>
|
||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||
<value>文字格式設定</value>
|
||||
@@ -2606,19 +2591,19 @@
|
||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
||||
<value>WSL (C:\ 🡒 /mnt/c)</value>
|
||||
<value>WSL (C:\ -> /mnt/c)</value>
|
||||
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
||||
<value>Cygwin (C:\ 🡒 /cygdrive/c)</value>
|
||||
<value>Cygwin (C:\ -> /cygdrive/c)</value>
|
||||
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
||||
<value>MSYS2 (C:\ 🡒 /c)</value>
|
||||
<value>MSYS2 (C:\ -> /c)</value>
|
||||
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
||||
<value>MinGW (C:\ 🡒 C:/)</value>
|
||||
<value>MinGW (C:\ -> C:/)</value>
|
||||
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||
</data>
|
||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||
|
||||
@@ -41,8 +41,8 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
std::array<std::pair<std::optional<winrt::hstring>, int>, 2> LocalizedIndexEntry::GetSearchableFields() const
|
||||
{
|
||||
// Profile Defaults entries (DisplayTextUid starts with "Profile_") get a higher weight
|
||||
const auto weight = til::starts_with(std::wstring_view{ Entry->ResourceName }, L"Profile_") ? WeightProfileDefaults : WeightDisplayTextLocalized;
|
||||
return { { { std::optional<winrt::hstring>{ DisplayTextLocalized }, weight },
|
||||
const auto weight = til::starts_with(std::wstring_view{ Entry->DisplayTextUid }, L"Profile_") ? WeightProfileDefaults : WeightDisplayTextLocalized;
|
||||
return { { { std::optional<winrt::hstring>{ Entry->DisplayTextLocalized }, weight },
|
||||
{ DisplayTextNeutral, WeightDisplayTextNeutral } } };
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
runtimeObjContext = RS_(L"Nav_Actions/Content");
|
||||
}
|
||||
|
||||
if (const auto& displayText = searchIndexEntry->DisplayTextLocalized; !displayText.empty())
|
||||
if (const auto& displayText = searchIndexEntry->Entry->DisplayTextLocalized; !displayText.empty())
|
||||
{
|
||||
// Full index entry (for settings within runtime objects)
|
||||
// - primaryText: <displayText>
|
||||
@@ -121,7 +121,7 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
{
|
||||
return *_overrideLabel;
|
||||
}
|
||||
return _SearchIndexEntry->DisplayTextLocalized;
|
||||
return _SearchIndexEntry->Entry->DisplayTextLocalized;
|
||||
}
|
||||
|
||||
bool FilteredSearchResult::IsNoResultsPlaceholder() const
|
||||
@@ -135,9 +135,9 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
{
|
||||
return _NavigationArgOverride;
|
||||
}
|
||||
else if (_SearchIndexEntry && !_SearchIndexEntry->Entry->NavigationArgTag.empty())
|
||||
else if (_SearchIndexEntry)
|
||||
{
|
||||
return box_value(hstring{ _SearchIndexEntry->Entry->NavigationArgTag });
|
||||
return _SearchIndexEntry->Entry->NavigationArg;
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
@@ -253,10 +253,9 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
{
|
||||
LocalizedIndexEntry localizedEntry;
|
||||
localizedEntry.Entry = &entry;
|
||||
localizedEntry.DisplayTextLocalized = GetLibraryResourceString(entry.ResourceName);
|
||||
if (shouldIncludeLanguageNeutralResources)
|
||||
{
|
||||
localizedEntry.DisplayTextNeutral = EnglishOnlyResourceLoader().GetLocalizedString(entry.ResourceName);
|
||||
localizedEntry.DisplayTextNeutral = EnglishOnlyResourceLoader().GetLocalizedString(entry.DisplayTextUid);
|
||||
}
|
||||
localizedIndex.emplace_back(std::move(localizedEntry));
|
||||
}
|
||||
|
||||
@@ -15,10 +15,9 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||
const ScopedResourceLoader& EnglishOnlyResourceLoader() noexcept;
|
||||
|
||||
// Wrapper for IndexEntry objects.
|
||||
// Holds localized display text from entry's ResourceName
|
||||
// Adds neutral locale, if necessary.
|
||||
struct LocalizedIndexEntry
|
||||
{
|
||||
winrt::hstring DisplayTextLocalized;
|
||||
std::optional<winrt::hstring> DisplayTextNeutral = std::nullopt;
|
||||
const IndexEntry* Entry = nullptr;
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user