mirror of
https://github.com/microsoft/terminal.git
synced 2026-05-21 06:18:34 +00:00
Compare commits
37 Commits
dev/duhowe
...
v1.25.1241
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
168dc99a6a | ||
|
|
e9f8ec877b | ||
|
|
021a571dfb | ||
|
|
ed6cb17ecb | ||
|
|
b2d88cbe42 | ||
|
|
fcc614e9f5 | ||
|
|
5af583ef5a | ||
|
|
82dfa63202 | ||
|
|
418401e1c2 | ||
|
|
88a236c913 | ||
|
|
0252c78997 | ||
|
|
82d5e0cad3 | ||
|
|
d960f4a05a | ||
|
|
2c9277cbb4 | ||
|
|
e382d328b2 | ||
|
|
2bd369939c | ||
|
|
7f5185eb06 | ||
|
|
0291d97503 | ||
|
|
f7a5515cf7 | ||
|
|
2219739391 | ||
|
|
7cff119b34 | ||
|
|
58414c542f | ||
|
|
bf77086b60 | ||
|
|
2644ca0a8a | ||
|
|
1ad9a2e932 | ||
|
|
74f3bb42e1 | ||
|
|
c0ca78c3ee | ||
|
|
37dc437e65 | ||
|
|
4a782b062c | ||
|
|
4701843082 | ||
|
|
efe9f27c00 | ||
|
|
008e293205 | ||
|
|
7adb2157a5 | ||
|
|
9ae724aa5b | ||
|
|
d6da2555f5 | ||
|
|
f740350283 | ||
|
|
62512eb116 |
2
.github/actions/spelling/expect/expect.txt
vendored
2
.github/actions/spelling/expect/expect.txt
vendored
@@ -572,6 +572,7 @@ FGHIJ
|
|||||||
fgidx
|
fgidx
|
||||||
FGs
|
FGs
|
||||||
FILEDESCRIPTION
|
FILEDESCRIPTION
|
||||||
|
filehops
|
||||||
FILESUBTYPE
|
FILESUBTYPE
|
||||||
FILESYSPATH
|
FILESYSPATH
|
||||||
FILEW
|
FILEW
|
||||||
@@ -1772,6 +1773,7 @@ uldash
|
|||||||
uldb
|
uldb
|
||||||
ULONGLONG
|
ULONGLONG
|
||||||
ulwave
|
ulwave
|
||||||
|
Unaccess
|
||||||
Unadvise
|
Unadvise
|
||||||
unattend
|
unattend
|
||||||
UNCPRIORITY
|
UNCPRIORITY
|
||||||
|
|||||||
@@ -56,11 +56,12 @@
|
|||||||
<ReleaseNotes>
|
<ReleaseNotes>
|
||||||
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
|
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
|
||||||
|
|
||||||
- Ą ωћόĺé ņέш ∑×τзńşĩōиŝ ρâģε τђат šнòωş ωħąт нǻś ъеēñ įηšтǻľĺéδ ĭʼnтο ўбμŗ Ţзřmĭňāŀ !!! !!! !!! !!! !!! !!! !!! !!!
|
- ₣ïňάĺĺў, ŧне âъΐŀίťŷ ţø şēаґсђ ƒбг ăиÿ şēťτіήġ! !!! !!! !!! !!! !!!
|
||||||
- €όммаήδ Рдĺēтţĕ пŏẅ şĥŏшś üρ ϊñ ỳоũѓ йαťïνє ļäŋģµаġέ άś ŵєŀľ åś Σиĝℓĭŝђ !!! !!! !!! !!! !!! !!! !!!
|
- Á ŋеώ ñăŧїνе ěðíτōг ƒοѓ ќэÿ вїñďĭňğş, дčтιθήѕ дñð çθmmãήδ ρàľěţťę ёñтгĩέś. !!! !!! !!! !!! !!! !!! !!! !
|
||||||
- ∏еẅ VΤ ƒэåŧύґέŝ şűçн ăŝ ѕỳňсĥŗǿйìźėð гēŋďзříⁿğ, ηĕш ćôĺõг şĉћěмєѕ, çóńƒіĝџŗáτїöπ ƒοг qũī¢ķ möűšë ąćŧϊόņŝ ľîķє žøōmίйğ, ǻⁿđ мόřε !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
- Пėώ čоmmμñìтў ŀό¢àłįżåţίòйš ŧō Šэґъιäñ åηδ Ůκŗăįлīăπ !!! !!! !!! !!! !!! !
|
||||||
|
- Ѕυррòŗт ƒòŗ ťĥё "Kitty" ĸ℮ŷъøàŗď ρřŏťô¢õℓ ƒŏґ нįģћ-ƒíđёℓïтÿ îńрüť êńсøďíлğ !!! !!! !!! !!! !!! !!! !!! !
|
||||||
|
|
||||||
Ρĺęąŝэ ѕєě õμя ĞĭтΗύв řєĺэдšέŝ рάġě ƒοґ àďđϊтїõлаℓ ðêţǻїłş. !!! !!! !!! !!! !!! !!!
|
Ρŀ℮âѕē şєё όûя ĜîтΗūь ŕεĺĕǻŝёš раġĕ ƒŏґ ãδđϊŧïбπåľ δеτáΐłś. !!! !!! !!! !!! !!! !!!
|
||||||
</ReleaseNotes>
|
</ReleaseNotes>
|
||||||
<ScreenshotCaptions>
|
<ScreenshotCaptions>
|
||||||
<!-- Valid length: 200 character limit, up to 9 elements per platform -->
|
<!-- Valid length: 200 character limit, up to 9 elements per platform -->
|
||||||
|
|||||||
@@ -56,11 +56,12 @@
|
|||||||
<ReleaseNotes>
|
<ReleaseNotes>
|
||||||
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
|
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
|
||||||
|
|
||||||
- Ą ωћόĺé ņέш ∑×τзńşĩōиŝ ρâģε τђат šнòωş ωħąт нǻś ъеēñ įηšтǻľĺéδ ĭʼnтο ўбμŗ Ţзřmĭňāŀ !!! !!! !!! !!! !!! !!! !!! !!!
|
- ₣ïňάĺĺў, ŧне âъΐŀίťŷ ţø şēаґсђ ƒбг ăиÿ şēťτіήġ! !!! !!! !!! !!! !!!
|
||||||
- €όммаήδ Рдĺēтţĕ пŏẅ şĥŏшś üρ ϊñ ỳоũѓ йαťïνє ļäŋģµаġέ άś ŵєŀľ åś Σиĝℓĭŝђ !!! !!! !!! !!! !!! !!! !!!
|
- Á ŋеώ ñăŧїνе ěðíτōг ƒοѓ ќэÿ вїñďĭňğş, дčтιθήѕ дñð çθmmãήδ ρàľěţťę ёñтгĩέś. !!! !!! !!! !!! !!! !!! !!! !
|
||||||
- ∏еẅ VΤ ƒэåŧύґέŝ şűçн ăŝ ѕỳňсĥŗǿйìźėð гēŋďзříⁿğ, ηĕш ćôĺõг şĉћěмєѕ, çóńƒіĝџŗáτїöπ ƒοг qũī¢ķ möűšë ąćŧϊόņŝ ľîķє žøōmίйğ, ǻⁿđ мόřε !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
- Пėώ čоmmμñìтў ŀό¢àłįżåţίòйš ŧō Šэґъιäñ åηδ Ůκŗăįлīăπ !!! !!! !!! !!! !!! !
|
||||||
|
- Ѕυррòŗт ƒòŗ ťĥё "Kitty" ĸ℮ŷъøàŗď ρřŏťô¢õℓ ƒŏґ нįģћ-ƒíđёℓïтÿ îńрüť êńсøďíлğ !!! !!! !!! !!! !!! !!! !!! !
|
||||||
|
|
||||||
Ρĺęąŝэ ѕєě õμя ĞĭтΗύв řєĺэдšέŝ рάġě ƒοґ àďđϊтїõлаℓ ðêţǻїłş. !!! !!! !!! !!! !!! !!!
|
Ρŀ℮âѕē şєё όûя ĜîтΗūь ŕεĺĕǻŝёš раġĕ ƒŏґ ãδđϊŧïбπåľ δеτáΐłś. !!! !!! !!! !!! !!! !!!
|
||||||
</ReleaseNotes>
|
</ReleaseNotes>
|
||||||
<ScreenshotCaptions>
|
<ScreenshotCaptions>
|
||||||
<!-- Valid length: 200 character limit, up to 9 elements per platform -->
|
<!-- Valid length: 200 character limit, up to 9 elements per platform -->
|
||||||
|
|||||||
@@ -56,11 +56,12 @@
|
|||||||
<ReleaseNotes>
|
<ReleaseNotes>
|
||||||
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
|
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
|
||||||
|
|
||||||
- Ą ωћόĺé ņέш ∑×τзńşĩōиŝ ρâģε τђат šнòωş ωħąт нǻś ъеēñ įηšтǻľĺéδ ĭʼnтο ўбμŗ Ţзřmĭňāŀ !!! !!! !!! !!! !!! !!! !!! !!!
|
- ₣ïňάĺĺў, ŧне âъΐŀίťŷ ţø şēаґсђ ƒбг ăиÿ şēťτіήġ! !!! !!! !!! !!! !!!
|
||||||
- €όммаήδ Рдĺēтţĕ пŏẅ şĥŏшś üρ ϊñ ỳоũѓ йαťïνє ļäŋģµаġέ άś ŵєŀľ åś Σиĝℓĭŝђ !!! !!! !!! !!! !!! !!! !!!
|
- Á ŋеώ ñăŧїνе ěðíτōг ƒοѓ ќэÿ вїñďĭňğş, дčтιθήѕ дñð çθmmãήδ ρàľěţťę ёñтгĩέś. !!! !!! !!! !!! !!! !!! !!! !
|
||||||
- ∏еẅ VΤ ƒэåŧύґέŝ şűçн ăŝ ѕỳňсĥŗǿйìźėð гēŋďзříⁿğ, ηĕш ćôĺõг şĉћěмєѕ, çóńƒіĝџŗáτїöπ ƒοг qũī¢ķ möűšë ąćŧϊόņŝ ľîķє žøōmίйğ, ǻⁿđ мόřε !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
- Пėώ čоmmμñìтў ŀό¢àłįżåţίòйš ŧō Šэґъιäñ åηδ Ůκŗăįлīăπ !!! !!! !!! !!! !!! !
|
||||||
|
- Ѕυррòŗт ƒòŗ ťĥё "Kitty" ĸ℮ŷъøàŗď ρřŏťô¢õℓ ƒŏґ нįģћ-ƒíđёℓïтÿ îńрüť êńсøďíлğ !!! !!! !!! !!! !!! !!! !!! !
|
||||||
|
|
||||||
Ρĺęąŝэ ѕєě õμя ĞĭтΗύв řєĺэдšέŝ рάġě ƒοґ àďđϊтїõлаℓ ðêţǻїłş. !!! !!! !!! !!! !!! !!!
|
Ρŀ℮âѕē şєё όûя ĜîтΗūь ŕεĺĕǻŝёš раġĕ ƒŏґ ãδđϊŧïбπåľ δеτáΐłś. !!! !!! !!! !!! !!! !!!
|
||||||
</ReleaseNotes>
|
</ReleaseNotes>
|
||||||
<ScreenshotCaptions>
|
<ScreenshotCaptions>
|
||||||
<!-- Valid length: 200 character limit, up to 9 elements per platform -->
|
<!-- Valid length: 200 character limit, up to 9 elements per platform -->
|
||||||
|
|||||||
@@ -56,11 +56,11 @@
|
|||||||
<ReleaseNotes>
|
<ReleaseNotes>
|
||||||
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
|
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
|
||||||
|
|
||||||
- Ẁē'νё àðđέď đöžзńş öƒ śėŧťїńģš тб тнè ÛĮ ťħąт ŏņ¢з όⁿℓγ έжіѕŧéð іή тђε ЈŠΩŃ ƒїℓė, ĭňĉŀџđіņģ å ňэẅ φâģé ƒøя ςŭśŧŏmïżϊñģ тħέ ĺαŷöυτ öƒ убµř Йέẁ Ţàъ мęήµ! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
- Ą ωћόĺé ņέш ∑×τзńşĩōиŝ ρâģε τђат šнòωş ωħąт нǻś ъеēñ įηšтǻľĺéδ ĭʼnтο ўбμŗ Ţзřmĭňāŀ !!! !!! !!! !!! !!! !!! !!! !!!
|
||||||
- Ẁè ĥаνė řэąřčħΐŧέсτέð щįлďοш мǻňαĝēмêиť ťô ϊmрябνé ŗĕŀĩāвîĺïтγ; ρŀěăѕе ƒíŀё αⁿу вûġš ÿøú εʼnćōùлťēѓ ẃïτħ ŧћё wt.exe ǻļĭâś !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
- €όммаήδ Рдĺēтţĕ пŏẅ şĥŏшś üρ ϊñ ỳоũѓ йαťïνє ļäŋģµаġέ άś ŵєŀľ åś Σиĝℓĭŝђ !!! !!! !!! !!! !!! !!! !!!
|
||||||
- Рґøƒíŀêŝ ňöẁ šћθẁ ãй ĭčöñ ίƒ ŧħэŷ'νę ъеєл ђіðδэñ őř řєƒěґ ŧσ φяοġгаmŝ ẅђíçĥ ẁ℮гέ џňϊйşťàľĺèð. !!! !!! !!! !!! !!! !!! !!! !!! !!! !
|
- ∏еẅ VΤ ƒэåŧύґέŝ şűçн ăŝ ѕỳňсĥŗǿйìźėð гēŋďзříⁿğ, ηĕш ćôĺõг şĉћěмєѕ, çóńƒіĝџŗáτїöπ ƒοг qũī¢ķ möűšë ąćŧϊόņŝ ľîķє žøōmίйğ, ǻⁿđ мόřε !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
||||||
|
|
||||||
Рļèāŝє ŝèĕ θџŗ ĢίťĤцъ řέĺэªşэš ρąĝę ƒόř áďđїτϊōπαľ đэŧдįļŝ. !!! !!! !!! !!! !!! !!!
|
Ρĺęąŝэ ѕєě õμя ĞĭтΗύв řєĺэдšέŝ рάġě ƒοґ àďđϊтїõлаℓ ðêţǻїłş. !!! !!! !!! !!! !!! !!!
|
||||||
</ReleaseNotes>
|
</ReleaseNotes>
|
||||||
<ScreenshotCaptions>
|
<ScreenshotCaptions>
|
||||||
<!-- Valid length: 200 character limit, up to 9 elements per platform -->
|
<!-- Valid length: 200 character limit, up to 9 elements per platform -->
|
||||||
|
|||||||
@@ -56,11 +56,11 @@
|
|||||||
<ReleaseNotes>
|
<ReleaseNotes>
|
||||||
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
|
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
|
||||||
|
|
||||||
- Ẁē'νё àðđέď đöžзńş öƒ śėŧťїńģš тб тнè ÛĮ ťħąт ŏņ¢з όⁿℓγ έжіѕŧéð іή тђε ЈŠΩŃ ƒїℓė, ĭňĉŀџđіņģ å ňэẅ φâģé ƒøя ςŭśŧŏmïżϊñģ тħέ ĺαŷöυτ öƒ убµř Йέẁ Ţàъ мęήµ! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
- Ą ωћόĺé ņέш ∑×τзńşĩōиŝ ρâģε τђат šнòωş ωħąт нǻś ъеēñ įηšтǻľĺéδ ĭʼnтο ўбμŗ Ţзřmĭňāŀ !!! !!! !!! !!! !!! !!! !!! !!!
|
||||||
- Ẁè ĥаνė řэąřčħΐŧέсτέð щįлďοш мǻňαĝēмêиť ťô ϊmрябνé ŗĕŀĩāвîĺïтγ; ρŀěăѕе ƒíŀё αⁿу вûġš ÿøú εʼnćōùлťēѓ ẃïτħ ŧћё wt.exe ǻļĭâś !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
- €όммаήδ Рдĺēтţĕ пŏẅ şĥŏшś üρ ϊñ ỳоũѓ йαťïνє ļäŋģµаġέ άś ŵєŀľ åś Σиĝℓĭŝђ !!! !!! !!! !!! !!! !!! !!!
|
||||||
- Рґøƒíŀêŝ ňöẁ šћθẁ ãй ĭčöñ ίƒ ŧħэŷ'νę ъеєл ђіðδэñ őř řєƒěґ ŧσ φяοġгаmŝ ẅђíçĥ ẁ℮гέ џňϊйşťàľĺèð. !!! !!! !!! !!! !!! !!! !!! !!! !!! !
|
- ∏еẅ VΤ ƒэåŧύґέŝ şűçн ăŝ ѕỳňсĥŗǿйìźėð гēŋďзříⁿğ, ηĕш ćôĺõг şĉћěмєѕ, çóńƒіĝџŗáτїöπ ƒοг qũī¢ķ möűšë ąćŧϊόņŝ ľîķє žøōmίйğ, ǻⁿđ мόřε !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
||||||
|
|
||||||
Рļèāŝє ŝèĕ θџŗ ĢίťĤцъ řέĺэªşэš ρąĝę ƒόř áďđїτϊōπαľ đэŧдįļŝ. !!! !!! !!! !!! !!! !!!
|
Ρĺęąŝэ ѕєě õμя ĞĭтΗύв řєĺэдšέŝ рάġě ƒοґ àďđϊтїõлаℓ ðêţǻїłş. !!! !!! !!! !!! !!! !!!
|
||||||
</ReleaseNotes>
|
</ReleaseNotes>
|
||||||
<ScreenshotCaptions>
|
<ScreenshotCaptions>
|
||||||
<!-- Valid length: 200 character limit, up to 9 elements per platform -->
|
<!-- Valid length: 200 character limit, up to 9 elements per platform -->
|
||||||
|
|||||||
@@ -56,11 +56,11 @@
|
|||||||
<ReleaseNotes>
|
<ReleaseNotes>
|
||||||
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
|
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
|
||||||
|
|
||||||
- Ẁē'νё àðđέď đöžзńş öƒ śėŧťїńģš тб тнè ÛĮ ťħąт ŏņ¢з όⁿℓγ έжіѕŧéð іή тђε ЈŠΩŃ ƒїℓė, ĭňĉŀџđіņģ å ňэẅ φâģé ƒøя ςŭśŧŏmïżϊñģ тħέ ĺαŷöυτ öƒ убµř Йέẁ Ţàъ мęήµ! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
- Ą ωћόĺé ņέш ∑×τзńşĩōиŝ ρâģε τђат šнòωş ωħąт нǻś ъеēñ įηšтǻľĺéδ ĭʼnтο ўбμŗ Ţзřmĭňāŀ !!! !!! !!! !!! !!! !!! !!! !!!
|
||||||
- Ẁè ĥаνė řэąřčħΐŧέсτέð щįлďοш мǻňαĝēмêиť ťô ϊmрябνé ŗĕŀĩāвîĺïтγ; ρŀěăѕе ƒíŀё αⁿу вûġš ÿøú εʼnćōùлťēѓ ẃïτħ ŧћё wt.exe ǻļĭâś !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
- €όммаήδ Рдĺēтţĕ пŏẅ şĥŏшś üρ ϊñ ỳоũѓ йαťïνє ļäŋģµаġέ άś ŵєŀľ åś Σиĝℓĭŝђ !!! !!! !!! !!! !!! !!! !!!
|
||||||
- Рґøƒíŀêŝ ňöẁ šћθẁ ãй ĭčöñ ίƒ ŧħэŷ'νę ъеєл ђіðδэñ őř řєƒěґ ŧσ φяοġгаmŝ ẅђíçĥ ẁ℮гέ џňϊйşťàľĺèð. !!! !!! !!! !!! !!! !!! !!! !!! !!! !
|
- ∏еẅ VΤ ƒэåŧύґέŝ şűçн ăŝ ѕỳňсĥŗǿйìźėð гēŋďзříⁿğ, ηĕш ćôĺõг şĉћěмєѕ, çóńƒіĝџŗáτїöπ ƒοг qũī¢ķ möűšë ąćŧϊόņŝ ľîķє žøōmίйğ, ǻⁿđ мόřε !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
|
||||||
|
|
||||||
Рļèāŝє ŝèĕ θџŗ ĢίťĤцъ řέĺэªşэš ρąĝę ƒόř áďđїτϊōπαľ đэŧдįļŝ. !!! !!! !!! !!! !!! !!!
|
Ρĺęąŝэ ѕєě õμя ĞĭтΗύв řєĺэдšέŝ рάġě ƒοґ àďđϊтїõлаℓ ðêţǻїłş. !!! !!! !!! !!! !!! !!!
|
||||||
</ReleaseNotes>
|
</ReleaseNotes>
|
||||||
<ScreenshotCaptions>
|
<ScreenshotCaptions>
|
||||||
<!-- Valid length: 200 character limit, up to 9 elements per platform -->
|
<!-- Valid length: 200 character limit, up to 9 elements per platform -->
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- Optional, defaults to main. Name of the branch which will be used for calculating branch point. -->
|
<!-- Optional, defaults to main. Name of the branch which will be used for calculating branch point. -->
|
||||||
<PGOBranch>main</PGOBranch>
|
<PGOBranch>release-1.25</PGOBranch>
|
||||||
|
|
||||||
<!-- Mandatory. Name of the NuGet package which will contain PGO databases for consumption by build system. -->
|
<!-- Mandatory. Name of the NuGet package which will contain PGO databases for consumption by build system. -->
|
||||||
<PGOPackageName>Microsoft.Internal.Windows.Terminal.PGODatabase</PGOPackageName>
|
<PGOPackageName>Microsoft.Internal.Windows.Terminal.PGODatabase</PGOPackageName>
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ jobs:
|
|||||||
BuildConfiguration: ${{ config }}
|
BuildConfiguration: ${{ config }}
|
||||||
dependsOn: ${{ parameters.dependsOn }}
|
dependsOn: ${{ parameters.dependsOn }}
|
||||||
variables:
|
variables:
|
||||||
|
BuildPlatform: Any CPU
|
||||||
OutputBuildPlatform: AnyCPU
|
OutputBuildPlatform: AnyCPU
|
||||||
Terminal.BinDir: $(Build.SourcesDirectory)/bin/$(OutputBuildPlatform)/$(BuildConfiguration)
|
Terminal.BinDir: $(Build.SourcesDirectory)/bin/$(OutputBuildPlatform)/$(BuildConfiguration)
|
||||||
JobOutputDirectory: $(Build.ArtifactStagingDirectory)\nupkg
|
JobOutputDirectory: $(Build.ArtifactStagingDirectory)\nupkg
|
||||||
|
|||||||
@@ -211,7 +211,7 @@ extends:
|
|||||||
ob_createvpack_verbose: true
|
ob_createvpack_verbose: true
|
||||||
ob_createvpack_vpackdirectory: '$(JobOutputDirectory)\vpack'
|
ob_createvpack_vpackdirectory: '$(JobOutputDirectory)\vpack'
|
||||||
ob_createvpack_versionAs: string
|
ob_createvpack_versionAs: string
|
||||||
ob_createvpack_version: '$(XES_APPXMANIFESTVERSION)'
|
ob_createvpack_version: '$(XES_PACKAGEVERSIONNUMBER)'
|
||||||
ob_updateOSManifest_gitcheckinConfigPath: '$(Build.SourcesDirectory)\build\config\GitCheckin.json'
|
ob_updateOSManifest_gitcheckinConfigPath: '$(Build.SourcesDirectory)\build\config\GitCheckin.json'
|
||||||
# We're skipping the 'fetch' part of the OneBranch rules, but that doesn't mean
|
# 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'
|
# 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. -->
|
<!-- This file is read by XES, which we use in our Release builds. -->
|
||||||
<PropertyGroup Label="Version">
|
<PropertyGroup Label="Version">
|
||||||
<XesUseOneStoreVersioning>true</XesUseOneStoreVersioning>
|
<XesUseOneStoreVersioning>true</XesUseOneStoreVersioning>
|
||||||
<XesBaseYearForStoreVersion>2025</XesBaseYearForStoreVersion>
|
<XesBaseYearForStoreVersion>2026</XesBaseYearForStoreVersion>
|
||||||
<VersionMajor>1</VersionMajor>
|
<VersionMajor>1</VersionMajor>
|
||||||
<VersionMinor>25</VersionMinor>
|
<VersionMinor>25</VersionMinor>
|
||||||
<VersionInfoProductName>Windows Terminal</VersionInfoProductName>
|
<VersionInfoProductName>Windows Terminal</VersionInfoProductName>
|
||||||
|
|||||||
@@ -1143,6 +1143,13 @@ til::CoordType ROW::GetTrailingColumnAtCharOffset(const ptrdiff_t offset) const
|
|||||||
return _createCharToColumnMapper(offset).GetTrailingColumnAt(offset);
|
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
|
DelimiterClass ROW::DelimiterClassAt(til::CoordType column, const std::wstring_view& wordDelimiters) const noexcept
|
||||||
{
|
{
|
||||||
const auto col = _clampedColumn(column);
|
const auto col = _clampedColumn(column);
|
||||||
|
|||||||
@@ -172,6 +172,7 @@ public:
|
|||||||
std::wstring_view GetText(til::CoordType columnBegin, til::CoordType columnEnd) const noexcept;
|
std::wstring_view GetText(til::CoordType columnBegin, til::CoordType columnEnd) const noexcept;
|
||||||
til::CoordType GetLeadingColumnAtCharOffset(ptrdiff_t offset) const noexcept;
|
til::CoordType GetLeadingColumnAtCharOffset(ptrdiff_t offset) const noexcept;
|
||||||
til::CoordType GetTrailingColumnAtCharOffset(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;
|
DelimiterClass DelimiterClassAt(til::CoordType column, const std::wstring_view& wordDelimiters) const noexcept;
|
||||||
|
|
||||||
auto AttrBegin() const noexcept { return _attr.begin(); }
|
auto AttrBegin() const noexcept { return _attr.begin(); }
|
||||||
|
|||||||
@@ -237,6 +237,7 @@
|
|||||||
<Capability Name="internetClient" />
|
<Capability Name="internetClient" />
|
||||||
<rescap:Capability Name="runFullTrust" />
|
<rescap:Capability Name="runFullTrust" />
|
||||||
<rescap:Capability Name="unvirtualizedResources" />
|
<rescap:Capability Name="unvirtualizedResources" />
|
||||||
|
<rescap:Capability Name="appLicensing" />
|
||||||
</Capabilities>
|
</Capabilities>
|
||||||
|
|
||||||
<Extensions>
|
<Extensions>
|
||||||
|
|||||||
@@ -237,6 +237,7 @@
|
|||||||
<Capability Name="internetClient" />
|
<Capability Name="internetClient" />
|
||||||
<rescap:Capability Name="runFullTrust" />
|
<rescap:Capability Name="runFullTrust" />
|
||||||
<rescap:Capability Name="unvirtualizedResources" />
|
<rescap:Capability Name="unvirtualizedResources" />
|
||||||
|
<rescap:Capability Name="appLicensing" />
|
||||||
</Capabilities>
|
</Capabilities>
|
||||||
|
|
||||||
<Extensions>
|
<Extensions>
|
||||||
|
|||||||
@@ -672,9 +672,15 @@
|
|||||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||||
<value>Dieser Linktyp wird derzeit nicht unterstützt:</value>
|
<value>Dieser Linktyp wird derzeit nicht unterstützt:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||||
<value>Abbrechen</value>
|
<value>Abbrechen</value>
|
||||||
</data>
|
</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">
|
<data name="SettingsTab" xml:space="preserve">
|
||||||
<value>Einstellungen</value>
|
<value>Einstellungen</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -848,11 +854,11 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||||
<value>Der aktive Bereich wurde auf die Registerkarte „{0}“ verschoben</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||||
<value>Registerkarte „{0}“ wurde in das Fenster „{1}“ verschoben</value>
|
<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 the tab was moved to.</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 to which the tab was moved.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>Registerkarte „{0}“ in neues Fenster verschoben</value>
|
<value>Registerkarte „{0}“ in neues Fenster verschoben</value>
|
||||||
@@ -864,7 +870,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||||
<value>Der aktive Bereich wurde in das Fenster "{0}" verschoben</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>Aktiver Bereich in neues Fenster verschoben</value>
|
<value>Aktiver Bereich in neues Fenster verschoben</value>
|
||||||
|
|||||||
@@ -669,9 +669,15 @@
|
|||||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||||
<value>This link type is currently not supported:</value>
|
<value>This link type is currently not supported:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||||
<value>Cancel</value>
|
<value>Cancel</value>
|
||||||
</data>
|
</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">
|
<data name="SettingsTab" xml:space="preserve">
|
||||||
<value>Settings</value>
|
<value>Settings</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -669,9 +669,15 @@
|
|||||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||||
<value>Este tipo de vínculo no se admite actualmente:</value>
|
<value>Este tipo de vínculo no se admite actualmente:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||||
<value>Cancelar</value>
|
<value>Cancelar</value>
|
||||||
</data>
|
</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">
|
<data name="SettingsTab" xml:space="preserve">
|
||||||
<value>Configuración</value>
|
<value>Configuración</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -845,11 +851,11 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||||
<value>Panel activo movido a la pestaña "{0}"</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||||
<value>La pestaña "{0}" se ha movido a la ventana "{1}"</value>
|
<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 the tab was moved to.</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 to which the tab was moved.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>La pestaña "{0}" se ha movido a la nueva ventana</value>
|
<value>La pestaña "{0}" se ha movido a la nueva ventana</value>
|
||||||
@@ -861,7 +867,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||||
<value>Panel activo movido a la ventana "{0}"</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>Panel activo movido a nueva ventana</value>
|
<value>Panel activo movido a nueva ventana</value>
|
||||||
|
|||||||
@@ -669,9 +669,15 @@
|
|||||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||||
<value>Ce type de lien n’est actuellement pas pris en charge :</value>
|
<value>Ce type de lien n’est actuellement pas pris en charge :</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||||
<value>Annuler</value>
|
<value>Annuler</value>
|
||||||
</data>
|
</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">
|
<data name="SettingsTab" xml:space="preserve">
|
||||||
<value>Paramètres</value>
|
<value>Paramètres</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -845,11 +851,11 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||||
<value>Volet actif déplacé vers l’onglet « {0} »</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||||
<value>Onglet « {0} » déplacé vers la fenêtre « {1} »</value>
|
<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 the tab was moved to.</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 to which the tab was moved.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>Onglet « {0} » déplacé vers une nouvelle fenêtre</value>
|
<value>Onglet « {0} » déplacé vers une nouvelle fenêtre</value>
|
||||||
@@ -861,7 +867,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||||
<value>Volet actif déplacé vers l’onglet « {0} »</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>Volet actif déplacé vers une nouvelle fenêtre</value>
|
<value>Volet actif déplacé vers une nouvelle fenêtre</value>
|
||||||
|
|||||||
@@ -669,9 +669,15 @@
|
|||||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||||
<value>Questo tipo di collegamento non è al momento supportato:</value>
|
<value>Questo tipo di collegamento non è al momento supportato:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||||
<value>Annulla</value>
|
<value>Annulla</value>
|
||||||
</data>
|
</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">
|
<data name="SettingsTab" xml:space="preserve">
|
||||||
<value>Impostazioni</value>
|
<value>Impostazioni</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -845,11 +851,11 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||||
<value>Riquadro attivo spostato nella scheda "{0}"</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||||
<value>Scheda "{0}" spostata nella finestra "{1}"</value>
|
<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 the tab was moved to.</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 to which the tab was moved.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>Scheda "{0}" spostata in una nuova finestra</value>
|
<value>Scheda "{0}" spostata in una nuova finestra</value>
|
||||||
@@ -861,7 +867,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||||
<value>Riquadro attivo spostato nella finestra "{0}"</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>Riquadro attivo spostato in una nuova finestra</value>
|
<value>Riquadro attivo spostato in una nuova finestra</value>
|
||||||
|
|||||||
@@ -670,9 +670,15 @@
|
|||||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||||
<value>このリンクの種類は現在サポートされていません:</value>
|
<value>このリンクの種類は現在サポートされていません:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||||
<value>キャンセル</value>
|
<value>キャンセル</value>
|
||||||
</data>
|
</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">
|
<data name="SettingsTab" xml:space="preserve">
|
||||||
<value>設定</value>
|
<value>設定</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -846,11 +852,11 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||||
<value>アクティブなペインを [{0}] タブに移動しました</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||||
<value>[{0}] タブを "{1}" ウィンドウに移動しました</value>
|
<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 the tab was moved to.</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 to which the tab was moved.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>[{0}] タブを新しいウィンドウに移動しました</value>
|
<value>[{0}] タブを新しいウィンドウに移動しました</value>
|
||||||
@@ -862,7 +868,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||||
<value>アクティブなペインを "{0}" ウィンドウに移動しました</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>アクティブなペインを新しいウィンドウに移動しました</value>
|
<value>アクティブなペインを新しいウィンドウに移動しました</value>
|
||||||
|
|||||||
@@ -669,9 +669,15 @@
|
|||||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||||
<value>이 링크 형식은 현재 지원되지 않습니다.</value>
|
<value>이 링크 형식은 현재 지원되지 않습니다.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||||
<value>취소</value>
|
<value>취소</value>
|
||||||
</data>
|
</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">
|
<data name="SettingsTab" xml:space="preserve">
|
||||||
<value>설정</value>
|
<value>설정</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -845,11 +851,11 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||||
<value>활성 창이 "{0}" 탭으로 이동됨</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||||
<value>"{0}" 탭이 "{1}" 창으로 이동됨</value>
|
<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 the tab was moved to.</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 to which the tab was moved.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>"{0}" 탭이 새 창으로 이동됨</value>
|
<value>"{0}" 탭이 새 창으로 이동됨</value>
|
||||||
@@ -861,7 +867,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||||
<value>활성 창이 "{0}" 창으로 이동됨</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>활성 창이 새 창으로 이동됨</value>
|
<value>활성 창이 새 창으로 이동됨</value>
|
||||||
|
|||||||
@@ -669,9 +669,15 @@
|
|||||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||||
<value>Não há suporte para este tipo de link no momento:</value>
|
<value>Não há suporte para este tipo de link no momento:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||||
<value>Cancelar</value>
|
<value>Cancelar</value>
|
||||||
</data>
|
</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">
|
<data name="SettingsTab" xml:space="preserve">
|
||||||
<value>Configurações</value>
|
<value>Configurações</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -845,11 +851,11 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||||
<value>Painel ativo movido para a guia "{0}"</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||||
<value>Guia "{0}" movida para janela "{1}"</value>
|
<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 the tab was moved to.</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 to which the tab was moved.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>Guia "{0}" movida para nova janela</value>
|
<value>Guia "{0}" movida para nova janela</value>
|
||||||
@@ -861,7 +867,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||||
<value>Painel ativo movido para a janela "{0}"</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>Painel ativo movido para nova janela</value>
|
<value>Painel ativo movido para nova janela</value>
|
||||||
|
|||||||
@@ -669,8 +669,14 @@
|
|||||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||||
<value>Ťђïś łϊηќ ŧурē ιş çũґѓзⁿτľÿ ñστ şΰρρоŕŧĕđ: !!! !!! !!! !!! </value>
|
<value>Ťђïś łϊηќ ŧурē ιş çũґѓзⁿτľÿ ñστ şΰρρоŕŧĕđ: !!! !!! !!! !!! </value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||||
<value>Сąñс℮ł !</value>
|
<value>Çдπсёľ !</value>
|
||||||
|
</data>
|
||||||
|
<data name="UnsafeUrlConfirmText" xml:space="preserve">
|
||||||
|
<value>Ŧђīś ℓîŋќ мαў ľêãδ τб áń úʼnšàƒé ℓоćάŧίоñ. Ĥўрзŗℓĭŋķѕ çâⁿ ъέ ђąřмƒúļ τό ўôця ċómφύŧèґ аňδ ðáťǻ. Ţб ρгøťėçŧ ўòύг ςömφùţĕŕ, ŏŋľỳ čℓΐςķ łίŋκѕ ƒřöм ťŗμѕŧєđ śόυяčêś. !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!</value>
|
||||||
|
</data>
|
||||||
|
<data name="UnsafeUrlConfirmAllowAction" xml:space="preserve">
|
||||||
|
<value>Őρέй ǻпŷŵãγ !!!</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="SettingsTab" xml:space="preserve">
|
<data name="SettingsTab" xml:space="preserve">
|
||||||
<value>Śëţťĩпğś !!</value>
|
<value>Śëţťĩпğś !!</value>
|
||||||
@@ -845,11 +851,11 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||||
<value>∆çťíνĕ рåⁿэ мôνеð ťб "{0}" ţав !!! !!! !!!</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||||
<value>"{0}" ťāъ мōνęđ τŏ "{1}" шΐπδŏẅ !!! !!! !!!</value>
|
<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 the tab was moved to.</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 to which the tab was moved.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>"{0}" тąь mǿνєđ ŧσ ήèώ ẅĩŋďøẃ !!! !!! !!!</value>
|
<value>"{0}" тąь mǿνєđ ŧσ ήèώ ẅĩŋďøẃ !!! !!! !!!</value>
|
||||||
@@ -861,7 +867,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||||
<value>Λςťìνє рáиė mόνéð ťб "{0}" ŵîńđθω !!! !!! !!! </value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>Αĉťįνέ ρªņз mσνёđ τǿ ήёẃ ẃîпďǿω !!! !!! !!!</value>
|
<value>Αĉťįνέ ρªņз mσνёđ τǿ ήёẃ ẃîпďǿω !!! !!! !!!</value>
|
||||||
|
|||||||
@@ -669,8 +669,14 @@
|
|||||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||||
<value>Ťђïś łϊηќ ŧурē ιş çũґѓзⁿτľÿ ñστ şΰρρоŕŧĕđ: !!! !!! !!! !!! </value>
|
<value>Ťђïś łϊηќ ŧурē ιş çũґѓзⁿτľÿ ñστ şΰρρоŕŧĕđ: !!! !!! !!! !!! </value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||||
<value>Сąñс℮ł !</value>
|
<value>Çдπсёľ !</value>
|
||||||
|
</data>
|
||||||
|
<data name="UnsafeUrlConfirmText" xml:space="preserve">
|
||||||
|
<value>Ŧђīś ℓîŋќ мαў ľêãδ τб áń úʼnšàƒé ℓоćάŧίоñ. Ĥўрзŗℓĭŋķѕ çâⁿ ъέ ђąřмƒúļ τό ўôця ċómφύŧèґ аňδ ðáťǻ. Ţб ρгøťėçŧ ўòύг ςömφùţĕŕ, ŏŋľỳ čℓΐςķ łίŋκѕ ƒřöм ťŗμѕŧєđ śόυяčêś. !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!</value>
|
||||||
|
</data>
|
||||||
|
<data name="UnsafeUrlConfirmAllowAction" xml:space="preserve">
|
||||||
|
<value>Őρέй ǻпŷŵãγ !!!</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="SettingsTab" xml:space="preserve">
|
<data name="SettingsTab" xml:space="preserve">
|
||||||
<value>Śëţťĩпğś !!</value>
|
<value>Śëţťĩпğś !!</value>
|
||||||
@@ -845,11 +851,11 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||||
<value>∆çťíνĕ рåⁿэ мôνеð ťб "{0}" ţав !!! !!! !!!</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||||
<value>"{0}" ťāъ мōνęđ τŏ "{1}" шΐπδŏẅ !!! !!! !!!</value>
|
<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 the tab was moved to.</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 to which the tab was moved.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>"{0}" тąь mǿνєđ ŧσ ήèώ ẅĩŋďøẃ !!! !!! !!!</value>
|
<value>"{0}" тąь mǿνєđ ŧσ ήèώ ẅĩŋďøẃ !!! !!! !!!</value>
|
||||||
@@ -861,7 +867,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||||
<value>Λςťìνє рáиė mόνéð ťб "{0}" ŵîńđθω !!! !!! !!! </value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>Αĉťįνέ ρªņз mσνёđ τǿ ήёẃ ẃîпďǿω !!! !!! !!!</value>
|
<value>Αĉťįνέ ρªņз mσνёđ τǿ ήёẃ ẃîпďǿω !!! !!! !!!</value>
|
||||||
|
|||||||
@@ -669,8 +669,14 @@
|
|||||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||||
<value>Ťђïś łϊηќ ŧурē ιş çũґѓзⁿτľÿ ñστ şΰρρоŕŧĕđ: !!! !!! !!! !!! </value>
|
<value>Ťђïś łϊηќ ŧурē ιş çũґѓзⁿτľÿ ñστ şΰρρоŕŧĕđ: !!! !!! !!! !!! </value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||||
<value>Сąñс℮ł !</value>
|
<value>Çдπсёľ !</value>
|
||||||
|
</data>
|
||||||
|
<data name="UnsafeUrlConfirmText" xml:space="preserve">
|
||||||
|
<value>Ŧђīś ℓîŋќ мαў ľêãδ τб áń úʼnšàƒé ℓоćάŧίоñ. Ĥўрзŗℓĭŋķѕ çâⁿ ъέ ђąřмƒúļ τό ўôця ċómφύŧèґ аňδ ðáťǻ. Ţб ρгøťėçŧ ўòύг ςömφùţĕŕ, ŏŋľỳ čℓΐςķ łίŋκѕ ƒřöм ťŗμѕŧєđ śόυяčêś. !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!</value>
|
||||||
|
</data>
|
||||||
|
<data name="UnsafeUrlConfirmAllowAction" xml:space="preserve">
|
||||||
|
<value>Őρέй ǻпŷŵãγ !!!</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="SettingsTab" xml:space="preserve">
|
<data name="SettingsTab" xml:space="preserve">
|
||||||
<value>Śëţťĩпğś !!</value>
|
<value>Śëţťĩпğś !!</value>
|
||||||
@@ -845,11 +851,11 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||||
<value>∆çťíνĕ рåⁿэ мôνеð ťб "{0}" ţав !!! !!! !!!</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||||
<value>"{0}" ťāъ мōνęđ τŏ "{1}" шΐπδŏẅ !!! !!! !!!</value>
|
<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 the tab was moved to.</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 to which the tab was moved.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>"{0}" тąь mǿνєđ ŧσ ήèώ ẅĩŋďøẃ !!! !!! !!!</value>
|
<value>"{0}" тąь mǿνєđ ŧσ ήèώ ẅĩŋďøẃ !!! !!! !!!</value>
|
||||||
@@ -861,7 +867,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||||
<value>Λςťìνє рáиė mόνéð ťб "{0}" ŵîńđθω !!! !!! !!! </value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>Αĉťįνέ ρªņз mσνёđ τǿ ήёẃ ẃîпďǿω !!! !!! !!!</value>
|
<value>Αĉťįνέ ρªņз mσνёđ τǿ ήёẃ ẃîпďǿω !!! !!! !!!</value>
|
||||||
|
|||||||
@@ -669,9 +669,15 @@
|
|||||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||||
<value>Этот тип связи в настоящее время не поддерживается:</value>
|
<value>Этот тип связи в настоящее время не поддерживается:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||||
<value>Отмена</value>
|
<value>Отмена</value>
|
||||||
</data>
|
</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">
|
<data name="SettingsTab" xml:space="preserve">
|
||||||
<value>Параметры</value>
|
<value>Параметры</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -845,11 +851,11 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||||
<value>Активная область перемещена на вкладку "{0}"</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||||
<value>Вкладка "{0}" перемещена в окно "{1}"</value>
|
<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 the tab was moved to.</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 to which the tab was moved.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>Вкладка "{0}" перемещена в новое окно</value>
|
<value>Вкладка "{0}" перемещена в новое окно</value>
|
||||||
@@ -861,7 +867,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||||
<value>Активная область перемещена в окно "{0}"</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>Активная область перемещена в новое окно</value>
|
<value>Активная область перемещена в новое окно</value>
|
||||||
|
|||||||
@@ -669,9 +669,15 @@
|
|||||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||||
<value>当前不支持此链接类型:</value>
|
<value>当前不支持此链接类型:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||||
<value>取消</value>
|
<value>取消</value>
|
||||||
</data>
|
</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">
|
<data name="SettingsTab" xml:space="preserve">
|
||||||
<value>设置</value>
|
<value>设置</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -845,11 +851,11 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||||
<value>活动窗格已移动到“{0}”选项卡</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||||
<value>“{0}”选项卡已移动到“{1}”窗口</value>
|
<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 the tab was moved to.</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 to which the tab was moved.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>“{0}”选项卡已移动到新窗口</value>
|
<value>“{0}”选项卡已移动到新窗口</value>
|
||||||
@@ -861,7 +867,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||||
<value>活动窗格已移动到“{0}”选项卡</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>活动窗格已移动到新窗口</value>
|
<value>活动窗格已移动到新窗口</value>
|
||||||
|
|||||||
@@ -669,9 +669,15 @@
|
|||||||
<data name="UnsupportedSchemeText" xml:space="preserve">
|
<data name="UnsupportedSchemeText" xml:space="preserve">
|
||||||
<value>目前不支援此連結類型:</value>
|
<value>目前不支援此連結類型:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CouldNotOpenUriDialog.PrimaryButtonText" xml:space="preserve">
|
<data name="UriErrorDialog.CloseButtonText" xml:space="preserve">
|
||||||
<value>取消</value>
|
<value>取消</value>
|
||||||
</data>
|
</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">
|
<data name="SettingsTab" xml:space="preserve">
|
||||||
<value>設定</value>
|
<value>設定</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -845,11 +851,11 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingTab" xml:space="preserve">
|
||||||
<value>活動窗格已移動至「{0}」索引標籤</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_Default" xml:space="preserve">
|
||||||
<value>「{0}」索引標籤已移至「{1}」視窗</value>
|
<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 the tab was moved to.</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 to which the tab was moved.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_TabMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>「{0}」索引標籤已移至新視窗</value>
|
<value>「{0}」索引標籤已移至新視窗</value>
|
||||||
@@ -861,7 +867,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_ExistingWindow2" xml:space="preserve">
|
||||||
<value>活動窗格已移動至「{0}」視窗</value>
|
<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 the pane was moved to.</comment>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
<data name="TerminalPage_PaneMovedAnnouncement_NewWindow" xml:space="preserve">
|
||||||
<value>活動窗格已移至新視窗</value>
|
<value>活動窗格已移至新視窗</value>
|
||||||
|
|||||||
@@ -2973,7 +2973,11 @@ namespace winrt::TerminalApp::implementation
|
|||||||
text = winrt::hstring{ Utils::TrimPaste(text) };
|
text = winrt::hstring{ Utils::TrimPaste(text) };
|
||||||
}
|
}
|
||||||
|
|
||||||
if (text.empty())
|
// 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())
|
||||||
{
|
{
|
||||||
co_return;
|
co_return;
|
||||||
}
|
}
|
||||||
@@ -3082,18 +3086,42 @@ namespace winrt::TerminalApp::implementation
|
|||||||
}
|
}
|
||||||
CATCH_LOG();
|
CATCH_LOG();
|
||||||
|
|
||||||
void TerminalPage::_OpenHyperlinkHandler(const IInspectable /*sender*/, const Microsoft::Terminal::Control::OpenHyperlinkEventArgs eventArgs)
|
safe_void_coroutine TerminalPage::_OpenHyperlinkHandler(const IInspectable /*sender*/, const Microsoft::Terminal::Control::OpenHyperlinkEventArgs eventArgs)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
auto parsed = winrt::Windows::Foundation::Uri(eventArgs.Uri());
|
auto uriString{ eventArgs.Uri() };
|
||||||
|
auto parsed = winrt::Windows::Foundation::Uri(uriString);
|
||||||
if (_IsUriSupported(parsed))
|
if (_IsUriSupported(parsed))
|
||||||
{
|
{
|
||||||
ShellExecute(nullptr, L"open", eventArgs.Uri().c_str(), nullptr, nullptr, SW_SHOWNORMAL);
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_ShowCouldNotOpenDialog(RS_(L"UnsupportedSchemeText"), eventArgs.Uri());
|
_ShowCouldNotOpenDialog(RS_(L"UnsupportedSchemeText"), uriString);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
@@ -3113,9 +3141,10 @@ namespace winrt::TerminalApp::implementation
|
|||||||
if (auto presenter{ _dialogPresenter.get() })
|
if (auto presenter{ _dialogPresenter.get() })
|
||||||
{
|
{
|
||||||
// FindName needs to be called first to actually load the xaml object
|
// FindName needs to be called first to actually load the xaml object
|
||||||
auto unopenedUriDialog = FindName(L"CouldNotOpenUriDialog").try_as<WUX::Controls::ContentDialog>();
|
auto unopenedUriDialog = FindName(L"UriErrorDialog").try_as<WUX::Controls::ContentDialog>();
|
||||||
|
|
||||||
// Insert the reason and the URI
|
// Insert the reason and the URI
|
||||||
|
unopenedUriDialog.SecondaryButtonText({});
|
||||||
CouldNotOpenUriReason().Text(reason);
|
CouldNotOpenUriReason().Text(reason);
|
||||||
UnopenedUri().Text(uri);
|
UnopenedUri().Text(uri);
|
||||||
|
|
||||||
@@ -3168,6 +3197,30 @@ namespace winrt::TerminalApp::implementation
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TerminalPage::_IsUriConsideredSomewhatSafe(const winrt::Windows::Foundation::Uri& parsedUri)
|
||||||
|
{
|
||||||
|
if (parsedUri.SchemeName() == L"http" || parsedUri.SchemeName() == L"https")
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (parsedUri.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;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Important! Don't take this eventArgs by reference, we need to extend the
|
// Important! Don't take this eventArgs by reference, we need to extend the
|
||||||
// lifetime of it to the other side of the co_await!
|
// lifetime of it to the other side of the co_await!
|
||||||
safe_void_coroutine TerminalPage::_ControlNoticeRaisedHandler(const IInspectable /*sender*/,
|
safe_void_coroutine TerminalPage::_ControlNoticeRaisedHandler(const IInspectable /*sender*/,
|
||||||
@@ -3742,7 +3795,13 @@ namespace winrt::TerminalApp::implementation
|
|||||||
// for nulls
|
// for nulls
|
||||||
if (const auto& connection{ _duplicateConnectionForRestart(paneContent) })
|
if (const auto& connection{ _duplicateConnectionForRestart(paneContent) })
|
||||||
{
|
{
|
||||||
paneContent.GetTermControl().Connection(connection);
|
// 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);
|
||||||
connection.Start();
|
connection.Start();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -422,8 +422,9 @@ namespace winrt::TerminalApp::implementation
|
|||||||
safe_void_coroutine _PasteFromClipboardHandler(const IInspectable sender,
|
safe_void_coroutine _PasteFromClipboardHandler(const IInspectable sender,
|
||||||
const Microsoft::Terminal::Control::PasteFromClipboardEventArgs eventArgs);
|
const Microsoft::Terminal::Control::PasteFromClipboardEventArgs eventArgs);
|
||||||
|
|
||||||
void _OpenHyperlinkHandler(const IInspectable sender, const Microsoft::Terminal::Control::OpenHyperlinkEventArgs eventArgs);
|
safe_void_coroutine _OpenHyperlinkHandler(const IInspectable sender, const Microsoft::Terminal::Control::OpenHyperlinkEventArgs eventArgs);
|
||||||
bool _IsUriSupported(const winrt::Windows::Foundation::Uri& parsedUri);
|
static bool _IsUriSupported(const winrt::Windows::Foundation::Uri& parsedUri);
|
||||||
|
static bool _IsUriConsideredSomewhatSafe(const winrt::Windows::Foundation::Uri& parsedUri);
|
||||||
|
|
||||||
void _ShowCouldNotOpenDialog(winrt::hstring reason, winrt::hstring uri);
|
void _ShowCouldNotOpenDialog(winrt::hstring reason, winrt::hstring uri);
|
||||||
bool _CopyText(bool dismissSelection, bool singleLine, bool withControlSequences, Microsoft::Terminal::Control::CopyFormat formats);
|
bool _CopyText(bool dismissSelection, bool singleLine, bool withControlSequences, Microsoft::Terminal::Control::CopyFormat formats);
|
||||||
|
|||||||
@@ -144,17 +144,17 @@
|
|||||||
</TextBlock>
|
</TextBlock>
|
||||||
</ContentDialog>
|
</ContentDialog>
|
||||||
|
|
||||||
<ContentDialog x:Name="CouldNotOpenUriDialog"
|
<ContentDialog x:Name="UriErrorDialog"
|
||||||
x:Uid="CouldNotOpenUriDialog"
|
x:Uid="UriErrorDialog"
|
||||||
Grid.Row="2"
|
Grid.Row="2"
|
||||||
x:Load="False"
|
x:Load="False"
|
||||||
DefaultButton="Primary">
|
DefaultButton="Close">
|
||||||
<TextBlock IsTextSelectionEnabled="True"
|
<TextBlock IsTextSelectionEnabled="True"
|
||||||
TextWrapping="WrapWholeWords">
|
TextWrapping="WrapWholeWords">
|
||||||
<TextBlock.ContextFlyout>
|
<TextBlock.ContextFlyout>
|
||||||
<mtu:TextMenuFlyout />
|
<mtu:TextMenuFlyout />
|
||||||
</TextBlock.ContextFlyout>
|
</TextBlock.ContextFlyout>
|
||||||
<Run x:Name="CouldNotOpenUriReason" /> <LineBreak />
|
<Run x:Name="CouldNotOpenUriReason" /> <LineBreak /> <LineBreak />
|
||||||
<Run x:Name="UnopenedUri"
|
<Run x:Name="UnopenedUri"
|
||||||
FontFamily="Cascadia Mono" />
|
FontFamily="Cascadia Mono" />
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
|
|||||||
@@ -355,6 +355,12 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ControlCore::HardResetWithoutErase()
|
||||||
|
{
|
||||||
|
const auto lock = _terminal->LockForWriting();
|
||||||
|
_terminal->HardResetWithoutErase();
|
||||||
|
}
|
||||||
|
|
||||||
bool ControlCore::Initialize(const float actualWidth,
|
bool ControlCore::Initialize(const float actualWidth,
|
||||||
const float actualHeight,
|
const float actualHeight,
|
||||||
const float compositionScale)
|
const float compositionScale)
|
||||||
@@ -2075,7 +2081,10 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
|||||||
// the selection (we need to reset selection on double-click or
|
// the selection (we need to reset selection on double-click or
|
||||||
// triple-click, so it captures the word or the line, rather than
|
// triple-click, so it captures the word or the line, rather than
|
||||||
// extending the selection)
|
// extending the selection)
|
||||||
if (_terminal->IsSelectionActive() && (!shiftEnabled || isOnOriginalPosition))
|
// - 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()))
|
||||||
{
|
{
|
||||||
// Reset the selection
|
// Reset the selection
|
||||||
_terminal->ClearSelection();
|
_terminal->ClearSelection();
|
||||||
|
|||||||
@@ -257,6 +257,7 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
|||||||
|
|
||||||
TerminalConnection::ITerminalConnection Connection();
|
TerminalConnection::ITerminalConnection Connection();
|
||||||
void Connection(const TerminalConnection::ITerminalConnection& connection);
|
void Connection(const TerminalConnection::ITerminalConnection& connection);
|
||||||
|
void HardResetWithoutErase();
|
||||||
|
|
||||||
void AnchorContextMenu(til::point viewportRelativeCharacterPosition);
|
void AnchorContextMenu(til::point viewportRelativeCharacterPosition);
|
||||||
|
|
||||||
|
|||||||
@@ -98,6 +98,7 @@ namespace Microsoft.Terminal.Control
|
|||||||
void ApplyAppearance(Boolean focused);
|
void ApplyAppearance(Boolean focused);
|
||||||
|
|
||||||
Microsoft.Terminal.TerminalConnection.ITerminalConnection Connection;
|
Microsoft.Terminal.TerminalConnection.ITerminalConnection Connection;
|
||||||
|
void HardResetWithoutErase();
|
||||||
|
|
||||||
IControlSettings Settings { get; };
|
IControlSettings Settings { get; };
|
||||||
IControlAppearance FocusedAppearance { get; };
|
IControlAppearance FocusedAppearance { get; };
|
||||||
|
|||||||
@@ -54,6 +54,20 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
|||||||
self->Attached.raise(*self, nullptr);
|
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()
|
uint64_t ControlInteractivity::Id()
|
||||||
@@ -285,8 +299,12 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
|||||||
}
|
}
|
||||||
const auto isOnOriginalPosition = _lastMouseClickPosNoSelection == pixelPosition;
|
const auto isOnOriginalPosition = _lastMouseClickPosNoSelection == pixelPosition;
|
||||||
|
|
||||||
// Rounded coordinates for text selection
|
// Rounded coordinates for text selection.
|
||||||
_core->LeftClickOnTerminal(_getTerminalPosition(til::point{ pixelPosition }, true),
|
// 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),
|
||||||
multiClickMapper,
|
multiClickMapper,
|
||||||
altEnabled,
|
altEnabled,
|
||||||
shiftEnabled,
|
shiftEnabled,
|
||||||
@@ -296,8 +314,15 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
|||||||
if (_core->HasSelection())
|
if (_core->HasSelection())
|
||||||
{
|
{
|
||||||
// GH#9787: if selection is active we don't want to track the touchdown position
|
// 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
|
// so that dragging the mouse will extend the selection rather than starting the new one.
|
||||||
_singleClickTouchdownPos = std::nullopt;
|
// 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (WI_IsFlagSet(buttonState, MouseButtonState::IsRightButtonDown))
|
else if (WI_IsFlagSet(buttonState, MouseButtonState::IsRightButtonDown))
|
||||||
@@ -314,13 +339,18 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Try to copy the text and clear the selection
|
// GH#19942, GH#14464: Don't re-copy a selection that was
|
||||||
const auto successfulCopy = CopySelectionToClipboard(shiftEnabled, false, _core->Settings().CopyFormatting());
|
// 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());
|
||||||
_core->ClearSelection();
|
_core->ClearSelection();
|
||||||
if (_core->CopyOnSelect() || !successfulCopy)
|
if (_core->CopyOnSelect() || !copied)
|
||||||
{
|
{
|
||||||
// CopyOnSelect: right click always pastes!
|
// CopyOnSelect: right-click always pastes.
|
||||||
// Otherwise: no selection --> paste
|
// Otherwise: no selection → paste.
|
||||||
RequestPasteTextFromClipboard();
|
RequestPasteTextFromClipboard();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -682,7 +712,9 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
|||||||
// - cursorPosition: in pixels, relative to the origin of the control
|
// - cursorPosition: in pixels, relative to the origin of the control
|
||||||
void ControlInteractivity::SetEndSelectionPoint(const Core::Point pixelPosition)
|
void ControlInteractivity::SetEndSelectionPoint(const Core::Point pixelPosition)
|
||||||
{
|
{
|
||||||
_core->SetEndSelectionPoint(_getTerminalPosition(til::point{ pixelPosition }, true));
|
// Don't round in VT mouse mode; cell-level precision matters more
|
||||||
|
const auto round = !_core->IsVtMouseModeEnabled();
|
||||||
|
_core->SetEndSelectionPoint(_getTerminalPosition(til::point{ pixelPosition }, round));
|
||||||
_selectionNeedsToBeCopied = true;
|
_selectionNeedsToBeCopied = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -49,7 +49,10 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
|||||||
|
|
||||||
void InteractivityAutomationPeer::ParentProvider(AutomationPeer parentProvider)
|
void InteractivityAutomationPeer::ParentProvider(AutomationPeer parentProvider)
|
||||||
{
|
{
|
||||||
_parentProvider = 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;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Method Description:
|
// Method Description:
|
||||||
@@ -181,15 +184,11 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
|||||||
|
|
||||||
XamlAutomation::ITextRangeProvider InteractivityAutomationPeer::_CreateXamlUiaTextRange(UIA::ITextRangeProvider* returnVal) const
|
XamlAutomation::ITextRangeProvider InteractivityAutomationPeer::_CreateXamlUiaTextRange(UIA::ITextRangeProvider* returnVal) const
|
||||||
{
|
{
|
||||||
// LOAD-BEARING: use _parentProvider->ProviderFromPeer(_parentProvider) instead of this->ProviderFromPeer(*this).
|
if (!_parentProvider)
|
||||||
// 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;
|
return nullptr;
|
||||||
}
|
}
|
||||||
const auto xutr = winrt::make_self<XamlUiaTextRange>(returnVal, parent.as<IAutomationPeerProtected>().ProviderFromPeer(parent));
|
const auto xutr = winrt::make_self<XamlUiaTextRange>(returnVal, _parentProvider);
|
||||||
return xutr.as<XamlAutomation::ITextRangeProvider>();
|
return xutr.as<XamlAutomation::ITextRangeProvider>();
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -201,22 +200,24 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
|||||||
// - com_array of Xaml Wrapped UiaTextRange (ITextRangeProviders)
|
// - com_array of Xaml Wrapped UiaTextRange (ITextRangeProviders)
|
||||||
com_array<XamlAutomation::ITextRangeProvider> InteractivityAutomationPeer::WrapArrayOfTextRangeProviders(SAFEARRAY* textRanges)
|
com_array<XamlAutomation::ITextRangeProvider> InteractivityAutomationPeer::WrapArrayOfTextRangeProviders(SAFEARRAY* textRanges)
|
||||||
{
|
{
|
||||||
|
if (!_parentProvider)
|
||||||
|
{
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
// transfer ownership of UiaTextRanges to this new vector
|
// transfer ownership of UiaTextRanges to this new vector
|
||||||
auto providers = SafeArrayToOwningVector<::Microsoft::Terminal::TermControlUiaTextRange>(textRanges);
|
auto providers = SafeArrayToOwningVector<::Microsoft::Terminal::TermControlUiaTextRange>(textRanges);
|
||||||
auto count = gsl::narrow<int>(providers.size());
|
const auto len = gsl::narrow<uint32_t>(providers.size());
|
||||||
|
com_array<XamlAutomation::ITextRangeProvider> result{ len };
|
||||||
|
|
||||||
std::vector<XamlAutomation::ITextRangeProvider> vec;
|
for (uint32_t i = 0; i < len; ++i)
|
||||||
vec.reserve(count);
|
|
||||||
for (auto i = 0; i < count; i++)
|
|
||||||
{
|
{
|
||||||
if (auto xutr = _CreateXamlUiaTextRange(providers[i].detach()))
|
if (auto xutr = _CreateXamlUiaTextRange(providers[i].detach()))
|
||||||
{
|
{
|
||||||
vec.emplace_back(std::move(xutr));
|
result[i] = std::move(xutr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
com_array<XamlAutomation::ITextRangeProvider> result{ vec };
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
|||||||
|
|
||||||
::Microsoft::WRL::ComPtr<::Microsoft::Terminal::TermControlUiaProvider> _uiaProvider;
|
::Microsoft::WRL::ComPtr<::Microsoft::Terminal::TermControlUiaProvider> _uiaProvider;
|
||||||
winrt::Microsoft::Terminal::Control::implementation::ControlInteractivity* _interactivity;
|
winrt::Microsoft::Terminal::Control::implementation::ControlInteractivity* _interactivity;
|
||||||
weak_ref<Windows::UI::Xaml::Automation::Peers::AutomationPeer> _parentProvider;
|
winrt::Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple _parentProvider{ nullptr };
|
||||||
|
|
||||||
til::rect _controlBounds{};
|
til::rect _controlBounds{};
|
||||||
til::rect _controlPadding{};
|
til::rect _controlPadding{};
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
namespace Microsoft.Terminal.Control
|
namespace Microsoft.Terminal.Control
|
||||||
{
|
{
|
||||||
[default_interface] runtimeclass InteractivityAutomationPeer :
|
[default_interface] runtimeclass InteractivityAutomationPeer :
|
||||||
Windows.UI.Xaml.Automation.Peers.AutomationPeer,
|
Windows.UI.Xaml.Automation.Peers.FrameworkElementAutomationPeer,
|
||||||
Windows.UI.Xaml.Automation.Provider.ITextProvider
|
Windows.UI.Xaml.Automation.Provider.ITextProvider
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|||||||
@@ -532,6 +532,11 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
|||||||
_core.Connection(newConnection);
|
_core.Connection(newConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TermControl::HardResetWithoutErase()
|
||||||
|
{
|
||||||
|
_core.HardResetWithoutErase();
|
||||||
|
}
|
||||||
|
|
||||||
void TermControl::_throttledUpdateScrollbar(const ScrollBarUpdate& update)
|
void TermControl::_throttledUpdateScrollbar(const ScrollBarUpdate& update)
|
||||||
{
|
{
|
||||||
if (!_initializedTerminal)
|
if (!_initializedTerminal)
|
||||||
@@ -1790,6 +1795,16 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
|||||||
return true;
|
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))
|
if (_TrySendKeyEvent(vkey, scanCode, modifiers, keyDown))
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
@@ -1920,8 +1935,6 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
|||||||
// - args: event data
|
// - args: event data
|
||||||
void TermControl::_TappedHandler(const IInspectable& /*sender*/, const TappedRoutedEventArgs& e)
|
void TermControl::_TappedHandler(const IInspectable& /*sender*/, const TappedRoutedEventArgs& e)
|
||||||
{
|
{
|
||||||
Focus(FocusState::Pointer);
|
|
||||||
|
|
||||||
if (e.PointerDeviceType() == Windows::Devices::Input::PointerDeviceType::Touch)
|
if (e.PointerDeviceType() == Windows::Devices::Input::PointerDeviceType::Touch)
|
||||||
{
|
{
|
||||||
// Normally TSF would be responsible for showing the touch keyboard, but it's buggy for us:
|
// Normally TSF would be responsible for showing the touch keyboard, but it's buggy for us:
|
||||||
@@ -1955,7 +1968,13 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
|||||||
const auto point = args.GetCurrentPoint(*this);
|
const auto point = args.GetCurrentPoint(*this);
|
||||||
const auto type = ptr.PointerDeviceType();
|
const auto type = ptr.PointerDeviceType();
|
||||||
|
|
||||||
if (!_focused)
|
// 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()))
|
||||||
{
|
{
|
||||||
Focus(FocusState::Pointer);
|
Focus(FocusState::Pointer);
|
||||||
}
|
}
|
||||||
@@ -2501,9 +2520,9 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
|||||||
|
|
||||||
_updateScrollBar->Run(update);
|
_updateScrollBar->Run(update);
|
||||||
|
|
||||||
// if a selection marker is already visible,
|
// If we have a selection with markers (exposed via selection mode),
|
||||||
// update the position of those markers
|
// update the position of the markers
|
||||||
if (SelectionStartMarker().Visibility() == Visibility::Visible || SelectionEndMarker().Visibility() == Visibility::Visible)
|
if (_core.HasSelection() && _core.SelectionMode() >= SelectionInteractionMode::Keyboard)
|
||||||
{
|
{
|
||||||
_updateSelectionMarkers(nullptr, winrt::make<UpdateSelectionMarkersEventArgs>(false));
|
_updateSelectionMarkers(nullptr, winrt::make<UpdateSelectionMarkersEventArgs>(false));
|
||||||
}
|
}
|
||||||
@@ -3067,6 +3086,11 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
|||||||
co_return;
|
co_return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (const auto hwnd = reinterpret_cast<HWND>(OwningHwnd()))
|
||||||
|
{
|
||||||
|
SetForegroundWindow(hwnd);
|
||||||
|
}
|
||||||
|
|
||||||
const auto weak = get_weak();
|
const auto weak = get_weak();
|
||||||
|
|
||||||
if (e.DataView().Contains(StandardDataFormats::ApplicationLink()))
|
if (e.DataView().Contains(StandardDataFormats::ApplicationLink()))
|
||||||
|
|||||||
@@ -192,6 +192,7 @@ namespace winrt::Microsoft::Terminal::Control::implementation
|
|||||||
|
|
||||||
TerminalConnection::ITerminalConnection Connection();
|
TerminalConnection::ITerminalConnection Connection();
|
||||||
void Connection(const TerminalConnection::ITerminalConnection& connection);
|
void Connection(const TerminalConnection::ITerminalConnection& connection);
|
||||||
|
void HardResetWithoutErase();
|
||||||
|
|
||||||
Control::CursorDisplayState CursorVisibility() const noexcept;
|
Control::CursorDisplayState CursorVisibility() const noexcept;
|
||||||
void CursorVisibility(Control::CursorDisplayState cursorVisibility);
|
void CursorVisibility(Control::CursorDisplayState cursorVisibility);
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ namespace Microsoft.Terminal.Control
|
|||||||
void SetOverrideColorScheme(Microsoft.Terminal.Core.ICoreScheme scheme);
|
void SetOverrideColorScheme(Microsoft.Terminal.Core.ICoreScheme scheme);
|
||||||
|
|
||||||
Microsoft.Terminal.TerminalConnection.ITerminalConnection Connection;
|
Microsoft.Terminal.TerminalConnection.ITerminalConnection Connection;
|
||||||
|
void HardResetWithoutErase();
|
||||||
|
|
||||||
UInt64 ContentId{ get; };
|
UInt64 ContentId{ get; };
|
||||||
|
|
||||||
|
|||||||
@@ -121,6 +121,9 @@ 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.
|
// 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.
|
// This will prevent the `dispatcher.RunAsync` calls below from raising UIA events on the main thread.
|
||||||
_termControl = {};
|
_termControl = {};
|
||||||
|
|
||||||
|
// Solve the circular reference between us and the content automation peer.
|
||||||
|
_contentAutomationPeer.ParentProvider(nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Method Description:
|
// Method Description:
|
||||||
|
|||||||
@@ -55,6 +55,18 @@ void Terminal::Create(til::size viewportSize, til::CoordType scrollbackLines, Re
|
|||||||
_stateMachine = std::make_unique<StateMachine>(std::move(engine));
|
_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:
|
// Method Description:
|
||||||
// - Initializes the Terminal from the given set of settings.
|
// - Initializes the Terminal from the given set of settings.
|
||||||
// Arguments:
|
// Arguments:
|
||||||
@@ -1522,6 +1534,10 @@ void Terminal::SerializeMainBuffer(HANDLE handle) const
|
|||||||
_mainBuffer->SerializeTo(handle);
|
_mainBuffer->SerializeTo(handle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Terminal::UnknownSequence() noexcept
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
void Terminal::ColorSelection(const TextAttribute& attr, winrt::Microsoft::Terminal::Core::MatchMode matchMode)
|
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) {
|
const auto colorSelection = [this](const til::point coordStartInclusive, const til::point coordEndExclusive, const TextAttribute& attr) {
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ public:
|
|||||||
void Create(til::size viewportSize,
|
void Create(til::size viewportSize,
|
||||||
til::CoordType scrollbackLines,
|
til::CoordType scrollbackLines,
|
||||||
Microsoft::Console::Render::Renderer& renderer);
|
Microsoft::Console::Render::Renderer& renderer);
|
||||||
|
void HardResetWithoutErase();
|
||||||
|
|
||||||
void CreateFromSettings(winrt::Microsoft::Terminal::Core::ICoreSettings settings,
|
void CreateFromSettings(winrt::Microsoft::Terminal::Core::ICoreSettings settings,
|
||||||
Microsoft::Console::Render::Renderer& renderer);
|
Microsoft::Console::Render::Renderer& renderer);
|
||||||
@@ -131,7 +132,9 @@ public:
|
|||||||
|
|
||||||
#pragma region ITerminalApi
|
#pragma region ITerminalApi
|
||||||
// These methods are defined in TerminalApi.cpp
|
// These methods are defined in TerminalApi.cpp
|
||||||
|
void UnknownSequence() noexcept override;
|
||||||
void ReturnResponse(const std::wstring_view response) override;
|
void ReturnResponse(const std::wstring_view response) override;
|
||||||
|
bool IsConPTY() const noexcept override;
|
||||||
Microsoft::Console::VirtualTerminal::StateMachine& GetStateMachine() noexcept override;
|
Microsoft::Console::VirtualTerminal::StateMachine& GetStateMachine() noexcept override;
|
||||||
BufferState GetBufferAndViewport() noexcept override;
|
BufferState GetBufferAndViewport() noexcept override;
|
||||||
void SetViewportPosition(const til::point position) noexcept override;
|
void SetViewportPosition(const til::point position) noexcept override;
|
||||||
|
|||||||
@@ -28,6 +28,11 @@ void Terminal::ReturnResponse(const std::wstring_view response)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Terminal::IsConPTY() const noexcept
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
Microsoft::Console::VirtualTerminal::StateMachine& Terminal::GetStateMachine() noexcept
|
Microsoft::Console::VirtualTerminal::StateMachine& Terminal::GetStateMachine() noexcept
|
||||||
{
|
{
|
||||||
return *_stateMachine;
|
return *_stateMachine;
|
||||||
|
|||||||
@@ -43,7 +43,8 @@
|
|||||||
</local:SettingContainer>
|
</local:SettingContainer>
|
||||||
|
|
||||||
<!-- Ambiguous Width -->
|
<!-- Ambiguous Width -->
|
||||||
<local:SettingContainer x:Uid="Globals_AmbiguousWidth">
|
<local:SettingContainer x:Name="AmbiguousWidth"
|
||||||
|
x:Uid="Globals_AmbiguousWidth">
|
||||||
<ComboBox AutomationProperties.AccessibilityView="Content"
|
<ComboBox AutomationProperties.AccessibilityView="Content"
|
||||||
ItemTemplate="{StaticResource EnumComboBoxTemplate}"
|
ItemTemplate="{StaticResource EnumComboBoxTemplate}"
|
||||||
ItemsSource="{x:Bind ViewModel.AmbiguousWidthList}"
|
ItemsSource="{x:Bind ViewModel.AmbiguousWidthList}"
|
||||||
|
|||||||
@@ -44,6 +44,28 @@ using namespace winrt::Windows::Foundation::Collections;
|
|||||||
|
|
||||||
namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
||||||
{
|
{
|
||||||
|
// GH#19927 - Walk the visual tree of the given element to find any
|
||||||
|
// Popups and set the theme on their Child element. In XAML Islands,
|
||||||
|
// popup children render in the PopupRoot (separate from the content
|
||||||
|
// tree), so they don't inherit our page's RequestedTheme
|
||||||
|
static void _setThemeOnPopups(const winrt::Windows::UI::Xaml::DependencyObject& element,
|
||||||
|
const winrt::Windows::UI::Xaml::ElementTheme theme)
|
||||||
|
{
|
||||||
|
const auto childCount = winrt::Windows::UI::Xaml::Media::VisualTreeHelper::GetChildrenCount(element);
|
||||||
|
for (int32_t i = 0; i < childCount; i++)
|
||||||
|
{
|
||||||
|
const auto child = winrt::Windows::UI::Xaml::Media::VisualTreeHelper::GetChild(element, i);
|
||||||
|
if (const auto popup = child.try_as<winrt::Windows::UI::Xaml::Controls::Primitives::Popup>())
|
||||||
|
{
|
||||||
|
if (const auto popupChild = popup.Child().try_as<winrt::Windows::UI::Xaml::FrameworkElement>())
|
||||||
|
{
|
||||||
|
popupChild.RequestedTheme(theme);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
_setThemeOnPopups(child, theme);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static WUX::Controls::FontIcon _fontIconForNavTag(const std::wstring_view navTag)
|
static WUX::Controls::FontIcon _fontIconForNavTag(const std::wstring_view navTag)
|
||||||
{
|
{
|
||||||
WUX::Controls::FontIcon icon{};
|
WUX::Controls::FontIcon icon{};
|
||||||
@@ -350,6 +372,13 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
|||||||
_Navigate(tag, BreadcrumbSubPage::None);
|
_Navigate(tag, BreadcrumbSubPage::None);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GH#19927 - Theme the search box's internal popup now that the
|
||||||
|
// visual tree is ready and control templates are applied
|
||||||
|
const auto theme = _settingsSource.GlobalSettings().CurrentTheme();
|
||||||
|
const auto hasThemeForSettings{ theme.Settings() != nullptr };
|
||||||
|
const auto requestedTheme = hasThemeForSettings ? theme.Settings().RequestedTheme() : theme.RequestedTheme();
|
||||||
|
_setThemeOnPopups(SettingsSearchBox(), requestedTheme);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Function Description:
|
// Function Description:
|
||||||
@@ -1098,13 +1127,17 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto& theme = _settingsSource.GlobalSettings().CurrentTheme();
|
const auto theme = _settingsSource.GlobalSettings().CurrentTheme();
|
||||||
const bool hasThemeForSettings{ theme.Settings() != nullptr };
|
const auto hasThemeForSettings{ theme.Settings() != nullptr };
|
||||||
const auto& appTheme = theme.RequestedTheme();
|
const auto appTheme = theme.RequestedTheme();
|
||||||
const auto& requestedTheme = (hasThemeForSettings) ? theme.Settings().RequestedTheme() : appTheme;
|
const auto requestedTheme = (hasThemeForSettings) ? theme.Settings().RequestedTheme() : appTheme;
|
||||||
|
|
||||||
RequestedTheme(requestedTheme);
|
RequestedTheme(requestedTheme);
|
||||||
|
|
||||||
|
// GH#19927 - Theme the search box's internal popup so its
|
||||||
|
// dropdown matches the app theme instead of the system theme
|
||||||
|
_setThemeOnPopups(SettingsSearchBox(), requestedTheme);
|
||||||
|
|
||||||
// Mica gets it's appearance from the app's theme, not necessarily the
|
// Mica gets it's appearance from the app's theme, not necessarily the
|
||||||
// Page's theme. In the case of dark app, light settings, mica will be a
|
// Page's theme. In the case of dark app, light settings, mica will be a
|
||||||
// dark color, and the text will also be dark, making the UI _very_ hard
|
// dark color, and the text will also be dark, making the UI _very_ hard
|
||||||
|
|||||||
@@ -329,7 +329,8 @@
|
|||||||
</local:SettingContainer>
|
</local:SettingContainer>
|
||||||
|
|
||||||
<!-- Icon -->
|
<!-- Icon -->
|
||||||
<local:SettingContainer x:Uid="NewTabMenu_CurrentFolderIcon"
|
<local:SettingContainer x:Name="CurrentFolderIcon"
|
||||||
|
x:Uid="NewTabMenu_CurrentFolderIcon"
|
||||||
CurrentValueAccessibleName="{x:Bind ViewModel.CurrentFolderLocalizedIcon, Mode=OneWay}"
|
CurrentValueAccessibleName="{x:Bind ViewModel.CurrentFolderLocalizedIcon, Mode=OneWay}"
|
||||||
Style="{StaticResource ExpanderSettingContainerStyleWithComplexPreview}">
|
Style="{StaticResource ExpanderSettingContainerStyleWithComplexPreview}">
|
||||||
<local:SettingContainer.CurrentValue>
|
<local:SettingContainer.CurrentValue>
|
||||||
@@ -497,7 +498,8 @@
|
|||||||
</local:SettingContainer>
|
</local:SettingContainer>
|
||||||
|
|
||||||
<!-- Add Remaining Profiles -->
|
<!-- Add Remaining Profiles -->
|
||||||
<local:SettingContainer x:Uid="NewTabMenu_AddRemainingProfiles"
|
<local:SettingContainer x:Name="AddRemainingProfiles"
|
||||||
|
x:Uid="NewTabMenu_AddRemainingProfiles"
|
||||||
FontIconGlyph=""
|
FontIconGlyph=""
|
||||||
Style="{StaticResource SettingContainerWithIcon}">
|
Style="{StaticResource SettingContainerWithIcon}">
|
||||||
<Button x:Name="AddRemainingProfilesButton"
|
<Button x:Name="AddRemainingProfilesButton"
|
||||||
|
|||||||
@@ -371,6 +371,21 @@
|
|||||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||||
<value>Windows-Konsole</value>
|
<value>Windows-Konsole</value>
|
||||||
</data>
|
</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">
|
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||||
<value>Spalten</value>
|
<value>Spalten</value>
|
||||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||||
@@ -492,7 +507,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||||
<value>Titelleiste ausblenden (Neustart erforderlich)</value>
|
<value>Titelleiste ausblenden (Neustart erforderlich)</value>
|
||||||
<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>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||||
<value>Wenn diese Option deaktiviert ist, wird die Titelleiste über den Registerkarten angezeigt.</value>
|
<value>Wenn diese Option deaktiviert ist, wird die Titelleiste über den Registerkarten angezeigt.</value>
|
||||||
@@ -1180,15 +1195,15 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Startverzeichnis</value>
|
<value>Startverzeichnis</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||||
<value>Startverzeichnis</value>
|
<value>Startverzeichnis</value>
|
||||||
<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>
|
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Startverzeichnis</value>
|
<value>Startverzeichnis</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||||
<value>Das Verzeichnis, in dem das Profil gestartet wird, wenn es geladen wird.</value>
|
<value>Das Verzeichnis, in dem das Profil gestartet wird, wenn es geladen wird.</value>
|
||||||
@@ -1727,7 +1742,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>
|
<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>
|
||||||
<data name="Profile_FontFaceShowAllFonts.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip" xml:space="preserve">
|
<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 Festbreitenschriftarten angezeigt.</value>
|
<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>
|
||||||
<comment>A description for what the supplementary "show all fonts" setting does. Presented near "Profile_FontFaceShowAllFonts".</comment>
|
<comment>A description for what the supplementary "show all fonts" setting does. Presented near "Profile_FontFaceShowAllFonts".</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_CreateUnfocusedAppearanceButton.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_CreateUnfocusedAppearanceButton.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
@@ -2132,7 +2147,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Verknüpfung</value>
|
<value>Verknüpfung</value>
|
||||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||||
<value>Textformatierung</value>
|
<value>Textformatierung</value>
|
||||||
@@ -2591,19 +2606,19 @@
|
|||||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||||
|
|||||||
@@ -2610,19 +2610,19 @@
|
|||||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||||
|
|||||||
@@ -371,6 +371,21 @@
|
|||||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||||
<value>Consola de Windows</value>
|
<value>Consola de Windows</value>
|
||||||
</data>
|
</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">
|
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||||
<value>Columnas</value>
|
<value>Columnas</value>
|
||||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||||
@@ -492,7 +507,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||||
<value>Ocultar la barra de título (requiere reiniciar)</value>
|
<value>Ocultar la barra de título (requiere reiniciar)</value>
|
||||||
<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>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||||
<value>Cuando está deshabilitada, la barra de título aparecerá encima de las pestañas.</value>
|
<value>Cuando está deshabilitada, la barra de título aparecerá encima de las pestañas.</value>
|
||||||
@@ -968,11 +983,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>
|
<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>
|
||||||
<data name="Profile_FontFace.Header" xml:space="preserve">
|
<data name="Profile_FontFace.Header" xml:space="preserve">
|
||||||
<value>Tipo de fuente</value>
|
<value>Estilo tipográfico</value>
|
||||||
<comment>Header for a control to select the font for text in the app.</comment>
|
<comment>Header for a control to select the font for text in the app.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_FontFaceBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_FontFaceBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Tipo de fuente</value>
|
<value>Estilo tipográfico</value>
|
||||||
<comment>Name for a control to select the font for text in the app.</comment>
|
<comment>Name for a control to select the font for text in the app.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_FontFace.HelpText" xml:space="preserve">
|
<data name="Profile_FontFace.HelpText" xml:space="preserve">
|
||||||
@@ -1180,15 +1195,15 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Directorio de inicio</value>
|
<value>Directorio de inicio</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||||
<value>Directorio de inicio</value>
|
<value>Directorio de inicio</value>
|
||||||
<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>
|
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Directorio de inicio</value>
|
<value>Directorio de inicio</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||||
<value>El directorio en el que se inicia el perfil cuando se carga.</value>
|
<value>El directorio en el que se inicia el perfil cuando se carga.</value>
|
||||||
@@ -2132,7 +2147,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Acceso directo</value>
|
<value>Acceso directo</value>
|
||||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||||
<value>Formato de texto</value>
|
<value>Formato de texto</value>
|
||||||
@@ -2591,19 +2606,19 @@
|
|||||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||||
|
|||||||
@@ -371,6 +371,21 @@
|
|||||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||||
<value>Console Windows</value>
|
<value>Console Windows</value>
|
||||||
</data>
|
</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">
|
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||||
<value>Colonnes</value>
|
<value>Colonnes</value>
|
||||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||||
@@ -492,7 +507,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||||
<value>Masquer la barre de titre (redémarrage nécessaire)</value>
|
<value>Masquer la barre de titre (redémarrage nécessaire)</value>
|
||||||
<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>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
<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>
|
<value>Une fois désactivée, la barre de titre s’affiche au-dessus des onglets.</value>
|
||||||
@@ -968,11 +983,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>
|
<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>
|
||||||
<data name="Profile_FontFace.Header" xml:space="preserve">
|
<data name="Profile_FontFace.Header" xml:space="preserve">
|
||||||
<value>Type de police</value>
|
<value>Style de police</value>
|
||||||
<comment>Header for a control to select the font for text in the app.</comment>
|
<comment>Header for a control to select the font for text in the app.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_FontFaceBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_FontFaceBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Type de police</value>
|
<value>Style de police</value>
|
||||||
<comment>Name for a control to select the font for text in the app.</comment>
|
<comment>Name for a control to select the font for text in the app.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_FontFace.HelpText" xml:space="preserve">
|
<data name="Profile_FontFace.HelpText" xml:space="preserve">
|
||||||
@@ -1180,15 +1195,15 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Répertoire de démarrage</value>
|
<value>Répertoire de démarrage</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||||
<value>Répertoire de démarrage</value>
|
<value>Répertoire de démarrage</value>
|
||||||
<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>
|
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Répertoire de démarrage</value>
|
<value>Répertoire de démarrage</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||||
<value>Répertoire dans lequel le shell démarre lorsqu’il est chargé.</value>
|
<value>Répertoire dans lequel le shell démarre lorsqu’il est chargé.</value>
|
||||||
@@ -2132,7 +2147,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Raccourci</value>
|
<value>Raccourci</value>
|
||||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||||
<value>Mise en forme du texte</value>
|
<value>Mise en forme du texte</value>
|
||||||
@@ -2591,19 +2606,19 @@
|
|||||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||||
|
|||||||
@@ -371,6 +371,21 @@
|
|||||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||||
<value>Windows Console</value>
|
<value>Windows Console</value>
|
||||||
</data>
|
</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">
|
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||||
<value>Colonne</value>
|
<value>Colonne</value>
|
||||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||||
@@ -492,7 +507,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||||
<value>Nascondi la barra del titolo (sarà necessario riavviare)</value>
|
<value>Nascondi la barra del titolo (sarà necessario riavviare)</value>
|
||||||
<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>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||||
<value>Se disabilitata, la barra del titolo verrà visualizzata sopra le schede.</value>
|
<value>Se disabilitata, la barra del titolo verrà visualizzata sopra le schede.</value>
|
||||||
@@ -1180,15 +1195,15 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Directory iniziale</value>
|
<value>Directory iniziale</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||||
<value>Directory iniziale</value>
|
<value>Directory iniziale</value>
|
||||||
<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>
|
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Directory iniziale</value>
|
<value>Directory iniziale</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||||
<value>La directory che inizia il profilo durante il caricamento.</value>
|
<value>La directory che inizia il profilo durante il caricamento.</value>
|
||||||
@@ -2132,7 +2147,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Collegamento</value>
|
<value>Collegamento</value>
|
||||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||||
<value>Formattazione testo</value>
|
<value>Formattazione testo</value>
|
||||||
@@ -2591,19 +2606,19 @@
|
|||||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||||
|
|||||||
@@ -371,6 +371,21 @@
|
|||||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||||
<value>Windows コンソール</value>
|
<value>Windows コンソール</value>
|
||||||
</data>
|
</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">
|
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||||
<value>列</value>
|
<value>列</value>
|
||||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||||
@@ -492,7 +507,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||||
<value>タイトル バーを非表示にする (再起動が必要)</value>
|
<value>タイトル バーを非表示にする (再起動が必要)</value>
|
||||||
<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>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||||
<value>無効にすると、タイトル バーがタブの上に表示されます。</value>
|
<value>無効にすると、タイトル バーがタブの上に表示されます。</value>
|
||||||
@@ -968,11 +983,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>
|
<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>
|
||||||
<data name="Profile_FontFace.Header" xml:space="preserve">
|
<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>
|
<comment>Header for a control to select the font for text in the app.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_FontFaceBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<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>
|
<comment>Name for a control to select the font for text in the app.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_FontFace.HelpText" xml:space="preserve">
|
<data name="Profile_FontFace.HelpText" xml:space="preserve">
|
||||||
@@ -1180,15 +1195,15 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>開始ディレクトリ</value>
|
<value>開始ディレクトリ</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||||
<value>開始ディレクトリ</value>
|
<value>開始ディレクトリ</value>
|
||||||
<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>
|
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>開始ディレクトリ</value>
|
<value>開始ディレクトリ</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||||
<value>プロファイルが読み込まれたときに開始されるディレクトリです。</value>
|
<value>プロファイルが読み込まれたときに開始されるディレクトリです。</value>
|
||||||
@@ -2132,7 +2147,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>ショートカット</value>
|
<value>ショートカット</value>
|
||||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||||
<value>テキストの書式設定</value>
|
<value>テキストの書式設定</value>
|
||||||
@@ -2591,19 +2606,19 @@
|
|||||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
<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>
|
<comment>Header for a control to set the query URL when using the "search web" action.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_SearchWebDefaultQueryUrl.HelpText" xml:space="preserve">
|
<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>
|
<comment>{Locked="%s"} Additional text presented near "Globals_SearchWebDefaultQueryUrl.Header".</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_TrimBlockSelection.Header" xml:space="preserve">
|
<data name="Globals_TrimBlockSelection.Header" xml:space="preserve">
|
||||||
@@ -371,6 +371,21 @@
|
|||||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||||
<value>Windows 콘솔</value>
|
<value>Windows 콘솔</value>
|
||||||
</data>
|
</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">
|
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||||
<value>열</value>
|
<value>열</value>
|
||||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||||
@@ -492,7 +507,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||||
<value>제목 표시줄 숨기기(다시 시작해야 함)</value>
|
<value>제목 표시줄 숨기기(다시 시작해야 함)</value>
|
||||||
<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>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||||
<value>사용하지 않도록 설정하면 제목 표시줄이 탭 위에 표시됩니다.</value>
|
<value>사용하지 않도록 설정하면 제목 표시줄이 탭 위에 표시됩니다.</value>
|
||||||
@@ -968,11 +983,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>
|
<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>
|
||||||
<data name="Profile_FontFace.Header" xml:space="preserve">
|
<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>
|
<comment>Header for a control to select the font for text in the app.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_FontFaceBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<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>
|
<comment>Name for a control to select the font for text in the app.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_FontFace.HelpText" xml:space="preserve">
|
<data name="Profile_FontFace.HelpText" xml:space="preserve">
|
||||||
@@ -1180,15 +1195,15 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>시작 디렉터리</value>
|
<value>시작 디렉터리</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||||
<value>시작 디렉터리</value>
|
<value>시작 디렉터리</value>
|
||||||
<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>
|
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>시작 디렉터리</value>
|
<value>시작 디렉터리</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||||
<value>프로필이 로드될 때 시작됩니다.</value>
|
<value>프로필이 로드될 때 시작됩니다.</value>
|
||||||
@@ -2132,7 +2147,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>바로 가기</value>
|
<value>바로 가기</value>
|
||||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||||
<value>텍스트 서식 지정</value>
|
<value>텍스트 서식 지정</value>
|
||||||
@@ -2591,19 +2606,19 @@
|
|||||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||||
|
|||||||
@@ -371,6 +371,21 @@
|
|||||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||||
<value>Console do Windows</value>
|
<value>Console do Windows</value>
|
||||||
</data>
|
</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">
|
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||||
<value>Colunas</value>
|
<value>Colunas</value>
|
||||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||||
@@ -492,7 +507,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||||
<value>Oculta a barra do título (requer reinicialização)</value>
|
<value>Oculta a barra do título (requer reinicialização)</value>
|
||||||
<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>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||||
<value>Quando desabilitada, a barra de título aparecerá acima das guias.</value>
|
<value>Quando desabilitada, a barra de título aparecerá acima das guias.</value>
|
||||||
@@ -968,15 +983,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>
|
<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>
|
||||||
<data name="Profile_FontFace.Header" xml:space="preserve">
|
<data name="Profile_FontFace.Header" xml:space="preserve">
|
||||||
<value>Tipo de fonte</value>
|
<value>Variação</value>
|
||||||
<comment>Header for a control to select the font for text in the app.</comment>
|
<comment>Header for a control to select the font for text in the app.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_FontFaceBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_FontFaceBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Tipo de fonte</value>
|
<value>Variação</value>
|
||||||
<comment>Name for a control to select the font for text in the app.</comment>
|
<comment>Name for a control to select the font for text in the app.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_FontFace.HelpText" xml:space="preserve">
|
<data name="Profile_FontFace.HelpText" xml:space="preserve">
|
||||||
<value>Pode utilizar vários tipos de letra separando-os com uma vírgula ASCII.</value>
|
<value>Você pode usar várias fontes, separando-as com uma vírgula ASCII.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_FontSize.Header" xml:space="preserve">
|
<data name="Profile_FontSize.Header" xml:space="preserve">
|
||||||
<value>Tamanho da fonte</value>
|
<value>Tamanho da fonte</value>
|
||||||
@@ -1180,15 +1195,15 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Diretório inicial</value>
|
<value>Diretório inicial</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||||
<value>Diretório inicial</value>
|
<value>Diretório inicial</value>
|
||||||
<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>
|
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Diretório inicial</value>
|
<value>Diretório inicial</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||||
<value>A pasta em que o perfil começa quando é carregado.</value>
|
<value>A pasta em que o perfil começa quando é carregado.</value>
|
||||||
@@ -1727,7 +1742,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>
|
<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>
|
||||||
<data name="Profile_FontFaceShowAllFonts.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip" xml:space="preserve">
|
<data name="Profile_FontFaceShowAllFonts.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip" xml:space="preserve">
|
||||||
<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>
|
<value>Se ativado, mostra todas as fontes instaladas na lista acima. Caso contrário, mostra apenas as fontes monoespaçadas.</value>
|
||||||
<comment>A description for what the supplementary "show all fonts" setting does. Presented near "Profile_FontFaceShowAllFonts".</comment>
|
<comment>A description for what the supplementary "show all fonts" setting does. Presented near "Profile_FontFaceShowAllFonts".</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_CreateUnfocusedAppearanceButton.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_CreateUnfocusedAppearanceButton.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
@@ -2132,7 +2147,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Atalho</value>
|
<value>Atalho</value>
|
||||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||||
<value>Formatação de Texto</value>
|
<value>Formatação de Texto</value>
|
||||||
@@ -2591,19 +2606,19 @@
|
|||||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
<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>
|
<comment>Header for a control to set the query URL when using the "search web" action.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_SearchWebDefaultQueryUrl.HelpText" xml:space="preserve">
|
<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>
|
<comment>{Locked="%s"} Additional text presented near "Globals_SearchWebDefaultQueryUrl.Header".</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_TrimBlockSelection.Header" xml:space="preserve">
|
<data name="Globals_TrimBlockSelection.Header" xml:space="preserve">
|
||||||
@@ -371,6 +371,21 @@
|
|||||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||||
<value>Щіŋďŏшś Ĉǿʼnşöℓę !!! !</value>
|
<value>Щіŋďŏшś Ĉǿʼnşöℓę !!! !</value>
|
||||||
</data>
|
</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">
|
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||||
<value>Ċσŀùмñѕ !!</value>
|
<value>Ċσŀùмñѕ !!</value>
|
||||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||||
@@ -492,7 +507,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||||
<value>Ĥìđε тħê τīţĺё ъªř (ŗėqūΐŗêś яеľаϋʼnčћ) !!! !!! !!! !!</value>
|
<value>Ĥìđε тħê τīţĺё ъªř (ŗėqūΐŗêś яеľаϋʼnčћ) !!! !!! !!! !!</value>
|
||||||
<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>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||||
<value>Ẃћèп ðϊŝαъłėð, тнė ťĭτłê вąѓ ẁιĺł ąφφёǻŕ äвöνė ŧħė ťãьś. !!! !!! !!! !!! !!! !</value>
|
<value>Ẃћèп ðϊŝαъłėð, тнė ťĭτłê вąѓ ẁιĺł ąφφёǻŕ äвöνė ŧħė ťãьś. !!! !!! !!! !!! !!! !</value>
|
||||||
@@ -1180,15 +1195,15 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Ŝταяτìлĝ ðĩѓ℮ćτоŗỳ !!! !!</value>
|
<value>Ŝταяτìлĝ ðĩѓ℮ćτоŗỳ !!! !!</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||||
<value>Ѕťåřťіπġ đíгëĉţöґγ !!! !!</value>
|
<value>Ѕťåřťіπġ đíгëĉţöґγ !!! !!</value>
|
||||||
<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>
|
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Šтдřтíⁿģ đϊŕёςŧôŗў !!! !!</value>
|
<value>Šтдřтíⁿģ đϊŕёςŧôŗў !!! !!</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||||
<value>Ţћé đĭŗéçťòŕу τħе рѓøƒĩŀе śťªřťş ïή ẅћĕл îţ ίѕ ŀбдδėď. !!! !!! !!! !!! !!! !</value>
|
<value>Ţћé đĭŗéçťòŕу τħе рѓøƒĩŀе śťªřťş ïή ẅћĕл îţ ίѕ ŀбдδėď. !!! !!! !!! !!! !!! !</value>
|
||||||
@@ -2132,7 +2147,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Şħōяŧ¢цτ !!</value>
|
<value>Şħōяŧ¢цτ !!</value>
|
||||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||||
<value>Ťĕхτ ₣ôямåτţίʼnğ !!! !</value>
|
<value>Ťĕхτ ₣ôямåτţίʼnğ !!! !</value>
|
||||||
@@ -2595,19 +2610,19 @@
|
|||||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
<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>
|
<comment>Header for a control to set the query URL when using the "search web" action.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_SearchWebDefaultQueryUrl.HelpText" xml:space="preserve">
|
<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>
|
<comment>{Locked="%s"} Additional text presented near "Globals_SearchWebDefaultQueryUrl.Header".</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_TrimBlockSelection.Header" xml:space="preserve">
|
<data name="Globals_TrimBlockSelection.Header" xml:space="preserve">
|
||||||
@@ -371,6 +371,21 @@
|
|||||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||||
<value>Щіŋďŏшś Ĉǿʼnşöℓę !!! !</value>
|
<value>Щіŋďŏшś Ĉǿʼnşöℓę !!! !</value>
|
||||||
</data>
|
</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">
|
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||||
<value>Ċσŀùмñѕ !!</value>
|
<value>Ċσŀùмñѕ !!</value>
|
||||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||||
@@ -492,7 +507,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||||
<value>Ĥìđε тħê τīţĺё ъªř (ŗėqūΐŗêś яеľаϋʼnčћ) !!! !!! !!! !!</value>
|
<value>Ĥìđε тħê τīţĺё ъªř (ŗėqūΐŗêś яеľаϋʼnčћ) !!! !!! !!! !!</value>
|
||||||
<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>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||||
<value>Ẃћèп ðϊŝαъłėð, тнė ťĭτłê вąѓ ẁιĺł ąφφёǻŕ äвöνė ŧħė ťãьś. !!! !!! !!! !!! !!! !</value>
|
<value>Ẃћèп ðϊŝαъłėð, тнė ťĭτłê вąѓ ẁιĺł ąφφёǻŕ äвöνė ŧħė ťãьś. !!! !!! !!! !!! !!! !</value>
|
||||||
@@ -1180,15 +1195,15 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Ŝταяτìлĝ ðĩѓ℮ćτоŗỳ !!! !!</value>
|
<value>Ŝταяτìлĝ ðĩѓ℮ćτоŗỳ !!! !!</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||||
<value>Ѕťåřťіπġ đíгëĉţöґγ !!! !!</value>
|
<value>Ѕťåřťіπġ đíгëĉţöґγ !!! !!</value>
|
||||||
<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>
|
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Šтдřтíⁿģ đϊŕёςŧôŗў !!! !!</value>
|
<value>Šтдřтíⁿģ đϊŕёςŧôŗў !!! !!</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||||
<value>Ţћé đĭŗéçťòŕу τħе рѓøƒĩŀе śťªřťş ïή ẅћĕл îţ ίѕ ŀбдδėď. !!! !!! !!! !!! !!! !</value>
|
<value>Ţћé đĭŗéçťòŕу τħе рѓøƒĩŀе śťªřťş ïή ẅћĕл îţ ίѕ ŀбдδėď. !!! !!! !!! !!! !!! !</value>
|
||||||
@@ -2132,7 +2147,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Şħōяŧ¢цτ !!</value>
|
<value>Şħōяŧ¢цτ !!</value>
|
||||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||||
<value>Ťĕхτ ₣ôямåτţίʼnğ !!! !</value>
|
<value>Ťĕхτ ₣ôямåτţίʼnğ !!! !</value>
|
||||||
@@ -2595,19 +2610,19 @@
|
|||||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
<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>
|
<comment>Header for a control to set the query URL when using the "search web" action.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_SearchWebDefaultQueryUrl.HelpText" xml:space="preserve">
|
<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>
|
<comment>{Locked="%s"} Additional text presented near "Globals_SearchWebDefaultQueryUrl.Header".</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_TrimBlockSelection.Header" xml:space="preserve">
|
<data name="Globals_TrimBlockSelection.Header" xml:space="preserve">
|
||||||
@@ -371,6 +371,21 @@
|
|||||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||||
<value>Щіŋďŏшś Ĉǿʼnşöℓę !!! !</value>
|
<value>Щіŋďŏшś Ĉǿʼnşöℓę !!! !</value>
|
||||||
</data>
|
</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">
|
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||||
<value>Ċσŀùмñѕ !!</value>
|
<value>Ċσŀùмñѕ !!</value>
|
||||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||||
@@ -492,7 +507,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||||
<value>Ĥìđε тħê τīţĺё ъªř (ŗėqūΐŗêś яеľаϋʼnčћ) !!! !!! !!! !!</value>
|
<value>Ĥìđε тħê τīţĺё ъªř (ŗėqūΐŗêś яеľаϋʼnčћ) !!! !!! !!! !!</value>
|
||||||
<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>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||||
<value>Ẃћèп ðϊŝαъłėð, тнė ťĭτłê вąѓ ẁιĺł ąφφёǻŕ äвöνė ŧħė ťãьś. !!! !!! !!! !!! !!! !</value>
|
<value>Ẃћèп ðϊŝαъłėð, тнė ťĭτłê вąѓ ẁιĺł ąφφёǻŕ äвöνė ŧħė ťãьś. !!! !!! !!! !!! !!! !</value>
|
||||||
@@ -1180,15 +1195,15 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Ŝταяτìлĝ ðĩѓ℮ćτоŗỳ !!! !!</value>
|
<value>Ŝταяτìлĝ ðĩѓ℮ćτоŗỳ !!! !!</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||||
<value>Ѕťåřťіπġ đíгëĉţöґγ !!! !!</value>
|
<value>Ѕťåřťіπġ đíгëĉţöґγ !!! !!</value>
|
||||||
<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>
|
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Šтдřтíⁿģ đϊŕёςŧôŗў !!! !!</value>
|
<value>Šтдřтíⁿģ đϊŕёςŧôŗў !!! !!</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||||
<value>Ţћé đĭŗéçťòŕу τħе рѓøƒĩŀе śťªřťş ïή ẅћĕл îţ ίѕ ŀбдδėď. !!! !!! !!! !!! !!! !</value>
|
<value>Ţћé đĭŗéçťòŕу τħе рѓøƒĩŀе śťªřťş ïή ẅћĕл îţ ίѕ ŀбдδėď. !!! !!! !!! !!! !!! !</value>
|
||||||
@@ -2132,7 +2147,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Şħōяŧ¢цτ !!</value>
|
<value>Şħōяŧ¢цτ !!</value>
|
||||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||||
<value>Ťĕхτ ₣ôямåτţίʼnğ !!! !</value>
|
<value>Ťĕхτ ₣ôямåτţίʼnğ !!! !</value>
|
||||||
@@ -2595,19 +2610,19 @@
|
|||||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||||
|
|||||||
@@ -371,6 +371,21 @@
|
|||||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||||
<value>Консоль Windows</value>
|
<value>Консоль Windows</value>
|
||||||
</data>
|
</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">
|
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||||
<value>Столбцы</value>
|
<value>Столбцы</value>
|
||||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||||
@@ -492,7 +507,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||||
<value>Скрыть заголовок окна (требуется перезапуск)</value>
|
<value>Скрыть заголовок окна (требуется перезапуск)</value>
|
||||||
<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>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||||
<value>Если этот параметр отключен, строка заголовка будет отображаться над вкладками.</value>
|
<value>Если этот параметр отключен, строка заголовка будет отображаться над вкладками.</value>
|
||||||
@@ -1180,15 +1195,15 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Начальный каталог</value>
|
<value>Начальный каталог</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||||
<value>Запуск каталога</value>
|
<value>Запуск каталога</value>
|
||||||
<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>
|
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Начальный каталог</value>
|
<value>Начальный каталог</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||||
<value>Каталог, запускаемый профилем при загрузке.</value>
|
<value>Каталог, запускаемый профилем при загрузке.</value>
|
||||||
@@ -2132,7 +2147,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>Сочетание клавиш</value>
|
<value>Сочетание клавиш</value>
|
||||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||||
<value>Форматирование текста</value>
|
<value>Форматирование текста</value>
|
||||||
@@ -2591,19 +2606,19 @@
|
|||||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||||
|
|||||||
@@ -371,6 +371,21 @@
|
|||||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||||
<value>Windows 控制台</value>
|
<value>Windows 控制台</value>
|
||||||
</data>
|
</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">
|
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||||
<value>列</value>
|
<value>列</value>
|
||||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||||
@@ -492,7 +507,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||||
<value>隐藏标题栏(需要重新启动)</value>
|
<value>隐藏标题栏(需要重新启动)</value>
|
||||||
<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>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||||
<value>禁用后,标题栏将显示在选项卡上方。</value>
|
<value>禁用后,标题栏将显示在选项卡上方。</value>
|
||||||
@@ -1180,15 +1195,15 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>启动目录</value>
|
<value>启动目录</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||||
<value>启动目录</value>
|
<value>启动目录</value>
|
||||||
<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>
|
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>正在启动目录</value>
|
<value>正在启动目录</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||||
<value>加载配置文件时启动的目录。</value>
|
<value>加载配置文件时启动的目录。</value>
|
||||||
@@ -2132,7 +2147,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>快捷方式</value>
|
<value>快捷方式</value>
|
||||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||||
<value>文本格式</value>
|
<value>文本格式</value>
|
||||||
@@ -2591,19 +2606,19 @@
|
|||||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
<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>
|
<comment>Header for a control to set the query URL when using the "search web" action.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_SearchWebDefaultQueryUrl.HelpText" xml:space="preserve">
|
<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>
|
<comment>{Locked="%s"} Additional text presented near "Globals_SearchWebDefaultQueryUrl.Header".</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_TrimBlockSelection.Header" xml:space="preserve">
|
<data name="Globals_TrimBlockSelection.Header" xml:space="preserve">
|
||||||
@@ -371,6 +371,21 @@
|
|||||||
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
<data name="Globals_TextMeasurement_Console.Text" xml:space="preserve">
|
||||||
<value>Windows 主控台</value>
|
<value>Windows 主控台</value>
|
||||||
</data>
|
</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">
|
<data name="Globals_InitialCols.Text" xml:space="preserve">
|
||||||
<value>欄</value>
|
<value>欄</value>
|
||||||
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
<comment>Header for a control to choose the number of columns in the terminal's text grid.</comment>
|
||||||
@@ -492,7 +507,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.Header" xml:space="preserve">
|
||||||
<value>隱藏標題列 (需要重新啟動)</value>
|
<value>隱藏標題列 (需要重新啟動)</value>
|
||||||
<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>
|
<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>
|
||||||
</data>
|
</data>
|
||||||
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
<data name="Globals_ShowTitlebar.HelpText" xml:space="preserve">
|
||||||
<value>停用時,標題列會出現在索引標籤上方。</value>
|
<value>停用時,標題列會出現在索引標籤上方。</value>
|
||||||
@@ -1180,15 +1195,15 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectory.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>起始目錄</value>
|
<value>起始目錄</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
<data name="Profile_StartingDirectory.Header" xml:space="preserve">
|
||||||
<value>啟動時載入的目錄</value>
|
<value>啟動時載入的目錄</value>
|
||||||
<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>
|
<comment>Header for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="Profile_StartingDirectoryBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>起始目錄</value>
|
<value>起始目錄</value>
|
||||||
<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>
|
<comment>Name for a control to determine the session's initial directory. This is on a text box that accepts folder paths.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
<data name="Profile_StartingDirectory.HelpText" xml:space="preserve">
|
||||||
<value>載入時,設定檔起始的目錄。</value>
|
<value>載入時,設定檔起始的目錄。</value>
|
||||||
@@ -2132,7 +2147,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
<data name="KeyChordListener.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
|
||||||
<value>捷徑</value>
|
<value>捷徑</value>
|
||||||
<comment>The label for a "key chord listener" control that sets the keys a key binding is bound to.</comment>
|
<comment>The label for a "key chord listener" control that sets the keys to which a key binding is bound.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
<data name="Appearance_TextFormattingHeader.Text" xml:space="preserve">
|
||||||
<value>文字格式設定</value>
|
<value>文字格式設定</value>
|
||||||
@@ -2591,19 +2606,19 @@
|
|||||||
<comment>An option to choose from for the "path translation" setting.</comment>
|
<comment>An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleWsl.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="WSL","C:\","/mnt/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleCygwin.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="Cygwin","C:\","/cygdrive/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMsys2.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MSYS2","C:\","/c"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_PathTranslationStyleMinGW.Content" xml:space="preserve">
|
<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>
|
<comment>{Locked="MinGW","C:\","C:/"} An option to choose from for the "path translation" setting.</comment>
|
||||||
</data>
|
</data>
|
||||||
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
<data name="Profile_Delete_Orphaned.Header" xml:space="preserve">
|
||||||
|
|||||||
@@ -647,9 +647,12 @@ void CascadiaSettings::_validateMediaResources()
|
|||||||
|
|
||||||
_globals->ResolveMediaResources(mediaResourceResolver);
|
_globals->ResolveMediaResources(mediaResourceResolver);
|
||||||
|
|
||||||
if (_foundInvalidUserResources)
|
if (Feature_WarnOnInvalidSettingsMediaResources::IsEnabled())
|
||||||
{
|
{
|
||||||
_warnings.Append(SettingsLoadWarnings::InvalidMediaResource);
|
if (_foundInvalidUserResources)
|
||||||
|
{
|
||||||
|
_warnings.Append(SettingsLoadWarnings::InvalidMediaResource);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,16 @@
|
|||||||
|
|
||||||
using namespace winrt::Microsoft::Terminal::Settings::Model;
|
using namespace winrt::Microsoft::Terminal::Settings::Model;
|
||||||
|
|
||||||
|
static bool _IsPwshAvailable()
|
||||||
|
{
|
||||||
|
// Try to detect if `pwsh.exe` is available in the PATH, if so we want to use that
|
||||||
|
// Allow some extra space in case user put it somewhere odd
|
||||||
|
// We do need to allocate space for the full path even if we don't want to paste the whole thing in
|
||||||
|
wchar_t pwshPath[MAX_PATH] = { 0 };
|
||||||
|
const auto pwshExeName = L"pwsh.exe";
|
||||||
|
return SearchPathW(nullptr, pwshExeName, nullptr, MAX_PATH, pwshPath, nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
void VsDevShellGenerator::GenerateProfiles(const VsSetupConfiguration::VsSetupInstance& instance, bool hidden, std::vector<winrt::com_ptr<implementation::Profile>>& profiles) const
|
void VsDevShellGenerator::GenerateProfiles(const VsSetupConfiguration::VsSetupInstance& instance, bool hidden, std::vector<winrt::com_ptr<implementation::Profile>>& profiles) const
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@@ -21,9 +31,10 @@ void VsDevShellGenerator::GenerateProfiles(const VsSetupConfiguration::VsSetupIn
|
|||||||
const winrt::guid profileGuid{ ::Microsoft::Console::Utils::CreateV5Uuid(TERMINAL_PROFILE_NAMESPACE_GUID, std::as_bytes(std::span{ seed })) };
|
const winrt::guid profileGuid{ ::Microsoft::Console::Utils::CreateV5Uuid(TERMINAL_PROFILE_NAMESPACE_GUID, std::as_bytes(std::span{ seed })) };
|
||||||
auto profile = winrt::make_self<implementation::Profile>(profileGuid);
|
auto profile = winrt::make_self<implementation::Profile>(profileGuid);
|
||||||
profile->Name(winrt::hstring{ GetProfileName(instance) });
|
profile->Name(winrt::hstring{ GetProfileName(instance) });
|
||||||
profile->Commandline(winrt::hstring{ GetProfileCommandLine(instance) });
|
auto isPwsh = _IsPwshAvailable();
|
||||||
|
profile->Commandline(winrt::hstring{ GetProfileCommandLine(instance, isPwsh) });
|
||||||
profile->StartingDirectory(winrt::hstring{ instance.GetInstallationPath() });
|
profile->StartingDirectory(winrt::hstring{ instance.GetInstallationPath() });
|
||||||
profile->Icon(winrt::hstring{ GetProfileIconPath() });
|
profile->Icon(winrt::hstring{ GetProfileIconPath(isPwsh) });
|
||||||
profile->Hidden(hidden);
|
profile->Hidden(hidden);
|
||||||
profiles.emplace_back(std::move(profile));
|
profiles.emplace_back(std::move(profile));
|
||||||
}
|
}
|
||||||
@@ -37,20 +48,15 @@ std::wstring VsDevShellGenerator::GetProfileName(const VsSetupConfiguration::VsS
|
|||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::wstring VsDevShellGenerator::GetProfileCommandLine(const VsSetupConfiguration::VsSetupInstance& instance) const
|
std::wstring VsDevShellGenerator::GetProfileCommandLine(const VsSetupConfiguration::VsSetupInstance& instance, bool isPwsh) const
|
||||||
{
|
{
|
||||||
// Build this in stages, so reserve space now
|
// Build this in stages, so reserve space now
|
||||||
std::wstring commandLine;
|
std::wstring commandLine;
|
||||||
commandLine.reserve(256);
|
commandLine.reserve(256);
|
||||||
|
|
||||||
// Try to detect if `pwsh.exe` is available in the PATH, if so we want to use that
|
if (isPwsh)
|
||||||
// Allow some extra space in case user put it somewhere odd
|
|
||||||
// We do need to allocate space for the full path even if we don't want to paste the whole thing in
|
|
||||||
wchar_t pwshPath[MAX_PATH] = { 0 };
|
|
||||||
const auto pwshExeName = L"pwsh.exe";
|
|
||||||
if (SearchPathW(nullptr, pwshExeName, nullptr, MAX_PATH, pwshPath, nullptr))
|
|
||||||
{
|
{
|
||||||
commandLine.append(pwshExeName);
|
commandLine.append(L"pwsh.exe");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -37,13 +37,14 @@ namespace winrt::Microsoft::Terminal::Settings::Model
|
|||||||
return L"VsDevShell" + instance.GetInstanceId();
|
return L"VsDevShell" + instance.GetInstanceId();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::wstring GetProfileIconPath() const
|
std::wstring GetProfileIconPath(bool isPwsh) const
|
||||||
{
|
{
|
||||||
return L"ms-appx:///ProfileIcons/vs-powershell.png";
|
return isPwsh ? L"ms-appx:///ProfileIcons/vs-pwsh.png" :
|
||||||
|
L"ms-appx:///ProfileIcons/vs-powershell.png";
|
||||||
}
|
}
|
||||||
|
|
||||||
std::wstring GetProfileName(const VsSetupConfiguration::VsSetupInstance& instance) const;
|
std::wstring GetProfileName(const VsSetupConfiguration::VsSetupInstance& instance) const;
|
||||||
std::wstring GetProfileCommandLine(const VsSetupConfiguration::VsSetupInstance& instance) const;
|
std::wstring GetProfileCommandLine(const VsSetupConfiguration::VsSetupInstance& instance, bool isPwsh) const;
|
||||||
std::wstring GetDevShellModulePath(const VsSetupConfiguration::VsSetupInstance& instance) const;
|
std::wstring GetDevShellModulePath(const VsSetupConfiguration::VsSetupInstance& instance) const;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -324,9 +324,11 @@ std::vector<wil::com_ptr<T>> SafeArrayToOwningVector(SAFEARRAY* safeArray)
|
|||||||
std::vector<wil::com_ptr<T>> result{ gsl::narrow<std::size_t>(count) };
|
std::vector<wil::com_ptr<T>> result{ gsl::narrow<std::size_t>(count) };
|
||||||
for (int i = 0; i < count; i++)
|
for (int i = 0; i < count; i++)
|
||||||
{
|
{
|
||||||
result[i].attach(pVals[i]);
|
result[i] = pVals[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
THROW_IF_FAILED(SafeArrayUnaccessData(safeArray));
|
||||||
|
THROW_IF_FAILED(SafeArrayDestroy(safeArray));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -187,4 +187,11 @@
|
|||||||
<alwaysDisabledReleaseTokens/>
|
<alwaysDisabledReleaseTokens/>
|
||||||
</feature>
|
</feature>
|
||||||
|
|
||||||
|
<feature>
|
||||||
|
<name>Feature_WarnOnInvalidSettingsMediaResources</name>
|
||||||
|
<description>Controls whether Terminal should display a warning dialog when icon, backgroundImage, shader, etc. could not be found.</description>
|
||||||
|
<stage>AlwaysEnabled</stage>
|
||||||
|
<alwaysDisabledReleaseTokens/>
|
||||||
|
</feature>
|
||||||
|
|
||||||
</featureStaging>
|
</featureStaging>
|
||||||
|
|||||||
@@ -670,7 +670,7 @@ void FileTests::TestReadFileBasicEmpty()
|
|||||||
const auto hIn = GetStdInputHandle();
|
const auto hIn = GetStdInputHandle();
|
||||||
VERIFY_IS_NOT_NULL(hIn, L"Verify we have the standard input handle.");
|
VERIFY_IS_NOT_NULL(hIn, L"Verify we have the standard input handle.");
|
||||||
|
|
||||||
DWORD dwMode = 0;
|
DWORD dwMode = ENABLE_PROCESSED_INPUT; // ^Z is only handled when processed input is enabled.
|
||||||
VERIFY_WIN32_BOOL_SUCCEEDED(SetConsoleMode(hIn, dwMode), L"Set input mode for test.");
|
VERIFY_WIN32_BOOL_SUCCEEDED(SetConsoleMode(hIn, dwMode), L"Set input mode for test.");
|
||||||
|
|
||||||
VERIFY_WIN32_BOOL_SUCCEEDED(FlushConsoleInputBuffer(hIn), L"Flush input buffer in preparation for test.");
|
VERIFY_WIN32_BOOL_SUCCEEDED(FlushConsoleInputBuffer(hIn), L"Flush input buffer in preparation for test.");
|
||||||
|
|||||||
@@ -24,6 +24,22 @@ ConhostInternalGetSet::ConhostInternalGetSet(_In_ IIoProvider& io) :
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ConhostInternalGetSet::UnknownSequence() noexcept
|
||||||
|
{
|
||||||
|
auto& gci = ServiceLocator::LocateGlobals().getConsoleInformation();
|
||||||
|
|
||||||
|
// VT sequences unknown to us may cause the cursor position to change in a way that
|
||||||
|
// we don't know about. In this case, we need to mark the cursor position as "dirty".
|
||||||
|
//
|
||||||
|
// The worst offender is likely PowerShell. It uses VT sequences but also calls
|
||||||
|
// GetConsoleScreenBufferInfoEx for *every single line of output* (!!!). This prevents
|
||||||
|
// us from using a more conservative solution (e.g. always fetching the cursor position).
|
||||||
|
if (gci.IsInVtIoMode())
|
||||||
|
{
|
||||||
|
gci.GetActiveOutputBuffer().GetActiveBuffer().SetConptyCursorPositionMayBeWrong();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// - Sends a string response to the input stream of the console.
|
// - Sends a string response to the input stream of the console.
|
||||||
// - Used by various commands where the program attached would like a reply to one of the commands issued.
|
// - Used by various commands where the program attached would like a reply to one of the commands issued.
|
||||||
// - This will generate two "key presses" (one down, one up) for every character in the string and place them into the head of the console's input stream.
|
// - This will generate two "key presses" (one down, one up) for every character in the string and place them into the head of the console's input stream.
|
||||||
@@ -48,6 +64,12 @@ void ConhostInternalGetSet::ReturnResponse(const std::wstring_view response)
|
|||||||
_io.GetActiveInputBuffer()->WriteString(response);
|
_io.GetActiveInputBuffer()->WriteString(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool ConhostInternalGetSet::IsConPTY() const noexcept
|
||||||
|
{
|
||||||
|
const auto& gci = ServiceLocator::LocateGlobals().getConsoleInformation();
|
||||||
|
return gci.IsInVtIoMode();
|
||||||
|
}
|
||||||
|
|
||||||
// Routine Description:
|
// Routine Description:
|
||||||
// - Retrieves the state machine for the active output buffer.
|
// - Retrieves the state machine for the active output buffer.
|
||||||
// Arguments:
|
// Arguments:
|
||||||
|
|||||||
@@ -29,8 +29,10 @@ class ConhostInternalGetSet final : public Microsoft::Console::VirtualTerminal::
|
|||||||
public:
|
public:
|
||||||
ConhostInternalGetSet(_In_ Microsoft::Console::IIoProvider& io);
|
ConhostInternalGetSet(_In_ Microsoft::Console::IIoProvider& io);
|
||||||
|
|
||||||
|
void UnknownSequence() noexcept override;
|
||||||
void ReturnResponse(const std::wstring_view response) override;
|
void ReturnResponse(const std::wstring_view response) override;
|
||||||
|
|
||||||
|
bool IsConPTY() const noexcept override;
|
||||||
Microsoft::Console::VirtualTerminal::StateMachine& GetStateMachine() override;
|
Microsoft::Console::VirtualTerminal::StateMachine& GetStateMachine() override;
|
||||||
BufferState GetBufferAndViewport() override;
|
BufferState GetBufferAndViewport() override;
|
||||||
void SetViewportPosition(const til::point position) override;
|
void SetViewportPosition(const til::point position) override;
|
||||||
|
|||||||
@@ -1313,6 +1313,15 @@ COOKED_READ_DATA::LayoutResult COOKED_READ_DATA::_layoutLine(std::wstring& outpu
|
|||||||
til::CoordType cols = 0;
|
til::CoordType cols = 0;
|
||||||
const auto len = textBuffer.FitTextIntoColumns(text, columnLimit - column, cols);
|
const auto len = textBuffer.FitTextIntoColumns(text, columnLimit - column, cols);
|
||||||
|
|
||||||
|
// GH#19922: We need to account for terminals that are just 1 column wide, as we may deadlock otherwise.
|
||||||
|
// `columnLimit - column == 1` will then prevent `FitTextIntoColumns` from fitting any wide glyphs.
|
||||||
|
// We can detect this by checking for `len == 0`, skip the offending glyph and break out of the deadlock.
|
||||||
|
if (len == 0) [[unlikely]]
|
||||||
|
{
|
||||||
|
it += textBuffer.GraphemeNext(text, 0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
output.append(text, 0, len);
|
output.append(text, 0, len);
|
||||||
column += cols;
|
column += cols;
|
||||||
it += len;
|
it += len;
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ CONPTY_EXPORT HRESULT WINAPI ConptyCreatePseudoConsoleAsUser(HANDLE hToken, COOR
|
|||||||
|
|
||||||
CONPTY_EXPORT HRESULT WINAPI ConptyResizePseudoConsole(HPCON hPC, COORD size);
|
CONPTY_EXPORT HRESULT WINAPI ConptyResizePseudoConsole(HPCON hPC, COORD size);
|
||||||
CONPTY_EXPORT HRESULT WINAPI ConptyClearPseudoConsole(HPCON hPC, BOOL keepCursorRow);
|
CONPTY_EXPORT HRESULT WINAPI ConptyClearPseudoConsole(HPCON hPC, BOOL keepCursorRow);
|
||||||
CONPTY_EXPORT HRESULT WINAPI ConptyShowHidePseudoConsole(HPCON hPC, bool show);
|
CONPTY_EXPORT HRESULT WINAPI ConptyShowHidePseudoConsole(HPCON hPC, BOOL show);
|
||||||
CONPTY_EXPORT HRESULT WINAPI ConptyReparentPseudoConsole(HPCON hPC, HWND newParent);
|
CONPTY_EXPORT HRESULT WINAPI ConptyReparentPseudoConsole(HPCON hPC, HWND newParent);
|
||||||
CONPTY_EXPORT HRESULT WINAPI ConptyReleasePseudoConsole(HPCON hPC);
|
CONPTY_EXPORT HRESULT WINAPI ConptyReleasePseudoConsole(HPCON hPC);
|
||||||
|
|
||||||
|
|||||||
@@ -241,7 +241,7 @@ namespace til // Terminal Implementation Library. Also: "Today I Learned"
|
|||||||
constexpr bool ends_with_insensitive_ascii(const std::basic_string_view<T, Traits>& str, const std::basic_string_view<T, Traits>& suffix) noexcept
|
constexpr bool ends_with_insensitive_ascii(const std::basic_string_view<T, Traits>& str, const std::basic_string_view<T, Traits>& suffix) noexcept
|
||||||
{
|
{
|
||||||
#pragma warning(suppress : 26481) // Don't use pointer arithmetic. Use span instead (bounds.1).
|
#pragma warning(suppress : 26481) // Don't use pointer arithmetic. Use span instead (bounds.1).
|
||||||
return str.size() >= suffix.size() && equals_insensitive_ascii<>({ str.data() - suffix.size(), suffix.size() }, suffix);
|
return str.size() >= suffix.size() && equals_insensitive_ascii<>({ str.data() + str.size() - suffix.size(), suffix.size() }, suffix);
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr bool ends_with_insensitive_ascii(const std::string_view& str, const std::string_view& prefix) noexcept
|
constexpr bool ends_with_insensitive_ascii(const std::string_view& str, const std::string_view& prefix) noexcept
|
||||||
@@ -251,7 +251,7 @@ namespace til // Terminal Implementation Library. Also: "Today I Learned"
|
|||||||
|
|
||||||
constexpr bool ends_with_insensitive_ascii(const std::wstring_view& str, const std::wstring_view& prefix) noexcept
|
constexpr bool ends_with_insensitive_ascii(const std::wstring_view& str, const std::wstring_view& prefix) noexcept
|
||||||
{
|
{
|
||||||
return ends_with<>(str, prefix);
|
return ends_with_insensitive_ascii<>(str, prefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename T, typename Traits>
|
template<typename T, typename Traits>
|
||||||
|
|||||||
@@ -951,6 +951,11 @@ LRESULT Window::_HandleGetDpiScaledSize(UINT dpiNew, _Inout_ SIZE* pSizeNew) con
|
|||||||
// - <none>
|
// - <none>
|
||||||
void Window::_HandleDrop(const WPARAM wParam) const
|
void Window::_HandleDrop(const WPARAM wParam) const
|
||||||
{
|
{
|
||||||
|
if (const auto hwnd = GetWindowHandle())
|
||||||
|
{
|
||||||
|
SetForegroundWindow(hwnd);
|
||||||
|
}
|
||||||
|
|
||||||
const auto drop = reinterpret_cast<HDROP>(wParam);
|
const auto drop = reinterpret_cast<HDROP>(wParam);
|
||||||
Clipboard::Instance().PasteDrop(drop);
|
Clipboard::Instance().PasteDrop(drop);
|
||||||
DragFinish(drop);
|
DragFinish(drop);
|
||||||
|
|||||||
@@ -1072,38 +1072,7 @@ void Renderer::_PaintBufferOutput(_In_ IRenderEngine* const pEngine)
|
|||||||
ROW* rowBackup = nullptr;
|
ROW* rowBackup = nullptr;
|
||||||
if (row == compositionRow)
|
if (row == compositionRow)
|
||||||
{
|
{
|
||||||
auto& scratch = buffer.GetScratchpadRow();
|
rowBackup = _PaintBufferOutputComposition(buffer, r, activeComposition);
|
||||||
scratch.CopyFrom(r);
|
|
||||||
rowBackup = &scratch;
|
|
||||||
|
|
||||||
std::wstring_view text{ activeComposition.text };
|
|
||||||
RowWriteState state{
|
|
||||||
.columnLimit = r.GetReadableColumnCount(),
|
|
||||||
.columnEnd = _compositionCache->absoluteOrigin.x,
|
|
||||||
};
|
|
||||||
|
|
||||||
size_t off = 0;
|
|
||||||
for (const auto& range : activeComposition.attributes)
|
|
||||||
{
|
|
||||||
const auto len = range.len;
|
|
||||||
auto attr = range.attr;
|
|
||||||
|
|
||||||
// Use the color at the cursor if TSF didn't specify any explicit color.
|
|
||||||
if (attr.GetBackground().IsDefault())
|
|
||||||
{
|
|
||||||
attr.SetBackground(_compositionCache->baseAttribute.GetBackground());
|
|
||||||
}
|
|
||||||
if (attr.GetForeground().IsDefault())
|
|
||||||
{
|
|
||||||
attr.SetForeground(_compositionCache->baseAttribute.GetForeground());
|
|
||||||
}
|
|
||||||
|
|
||||||
state.text = text.substr(off, len);
|
|
||||||
state.columnBegin = state.columnEnd;
|
|
||||||
const_cast<ROW&>(r).ReplaceText(state);
|
|
||||||
const_cast<ROW&>(r).ReplaceAttributes(state.columnBegin, state.columnEnd, attr);
|
|
||||||
off += len;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
const auto restore = wil::scope_exit([&] {
|
const auto restore = wil::scope_exit([&] {
|
||||||
if (rowBackup)
|
if (rowBackup)
|
||||||
@@ -1143,6 +1112,107 @@ void Renderer::_PaintBufferOutput(_In_ IRenderEngine* const pEngine)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ROW* Renderer::_PaintBufferOutputComposition(TextBuffer& buffer, const ROW& r, const Composition& activeComposition)
|
||||||
|
{
|
||||||
|
auto& scratch = buffer.GetScratchpadRow();
|
||||||
|
scratch.CopyFrom(r);
|
||||||
|
|
||||||
|
// *Overwrite* the original text with the active composition...
|
||||||
|
til::CoordType compositionEnd = 0;
|
||||||
|
{
|
||||||
|
std::wstring_view text{ activeComposition.text };
|
||||||
|
RowWriteState state{
|
||||||
|
.columnLimit = r.GetReadableColumnCount(),
|
||||||
|
.columnEnd = _compositionCache->absoluteOrigin.x,
|
||||||
|
};
|
||||||
|
|
||||||
|
size_t off = 0;
|
||||||
|
for (const auto& range : activeComposition.attributes)
|
||||||
|
{
|
||||||
|
const auto len = range.len;
|
||||||
|
auto attr = range.attr;
|
||||||
|
|
||||||
|
// Use the color at the cursor if TSF didn't specify any explicit color.
|
||||||
|
if (attr.GetBackground().IsDefault())
|
||||||
|
{
|
||||||
|
attr.SetBackground(_compositionCache->baseAttribute.GetBackground());
|
||||||
|
}
|
||||||
|
if (attr.GetForeground().IsDefault())
|
||||||
|
{
|
||||||
|
attr.SetForeground(_compositionCache->baseAttribute.GetForeground());
|
||||||
|
}
|
||||||
|
|
||||||
|
state.text = text.substr(off, len);
|
||||||
|
state.columnBegin = state.columnEnd;
|
||||||
|
const_cast<ROW&>(r).ReplaceText(state);
|
||||||
|
const_cast<ROW&>(r).ReplaceAttributes(state.columnBegin, state.columnEnd, attr);
|
||||||
|
off += len;
|
||||||
|
}
|
||||||
|
|
||||||
|
compositionEnd = state.columnEnd;
|
||||||
|
}
|
||||||
|
|
||||||
|
// The text we've overwritten may have been crucial to the user,
|
||||||
|
// so copy it back by absorbing available whitespace to the right
|
||||||
|
// and re-inserting the non-whitespace characters instead.
|
||||||
|
const auto compositionWidth = compositionEnd - _compositionCache->absoluteOrigin.x;
|
||||||
|
const auto colLimit = r.GetReadableColumnCount();
|
||||||
|
if (compositionWidth > 0 && compositionEnd < colLimit)
|
||||||
|
{
|
||||||
|
const auto text = scratch.GetText();
|
||||||
|
auto srcCol = _compositionCache->absoluteOrigin.x;
|
||||||
|
auto dstCol = compositionEnd;
|
||||||
|
auto remaining = compositionWidth;
|
||||||
|
size_t i = scratch.GetCharOffset(srcCol);
|
||||||
|
|
||||||
|
while (i < text.size() && dstCol < colLimit)
|
||||||
|
{
|
||||||
|
// Treat whitespace we encounter as a credit towards our composition width.
|
||||||
|
// This loop essentially absorbs the whitespace.
|
||||||
|
while (i < text.size() && til::at(text, i) == L' ' && remaining > 0)
|
||||||
|
{
|
||||||
|
remaining--;
|
||||||
|
srcCol++;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
if (remaining <= 0)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Find the end of the non-whitespace span: Our span of text to insert.
|
||||||
|
auto spanEnd = i;
|
||||||
|
while (spanEnd < text.size() && til::at(text, spanEnd) != L' ')
|
||||||
|
{
|
||||||
|
spanEnd++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Copy the non-whitespace segment from the original text (scratch) back in.
|
||||||
|
RowCopyTextFromState state{
|
||||||
|
.source = scratch,
|
||||||
|
.columnBegin = dstCol,
|
||||||
|
.columnLimit = colLimit,
|
||||||
|
.sourceColumnBegin = srcCol,
|
||||||
|
.sourceColumnLimit = scratch.GetLeadingColumnAtCharOffset(spanEnd),
|
||||||
|
};
|
||||||
|
const_cast<ROW&>(r).CopyTextFrom(state);
|
||||||
|
|
||||||
|
const auto srcBeg = gsl::narrow_cast<uint16_t>(srcCol);
|
||||||
|
const auto srcEnd = gsl::narrow_cast<uint16_t>(state.sourceColumnEnd);
|
||||||
|
const auto attr = scratch.Attributes().slice(srcBeg, srcEnd);
|
||||||
|
const auto dstBeg = gsl::narrow_cast<uint16_t>(dstCol);
|
||||||
|
const auto dstEnd = gsl::narrow_cast<uint16_t>(dstCol + attr.size());
|
||||||
|
const_cast<ROW&>(r).Attributes().replace(dstBeg, dstEnd, attr);
|
||||||
|
|
||||||
|
dstCol = state.columnEnd;
|
||||||
|
srcCol = state.sourceColumnEnd;
|
||||||
|
i = spanEnd;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return &scratch;
|
||||||
|
}
|
||||||
|
|
||||||
static bool _IsAllSpaces(const std::wstring_view v)
|
static bool _IsAllSpaces(const std::wstring_view v)
|
||||||
{
|
{
|
||||||
// first non-space char is not found (is npos)
|
// first non-space char is not found (is npos)
|
||||||
|
|||||||
@@ -121,6 +121,7 @@ namespace Microsoft::Console::Render
|
|||||||
void _scheduleRenditionBlink();
|
void _scheduleRenditionBlink();
|
||||||
[[nodiscard]] HRESULT _PaintBackground(_In_ IRenderEngine* const pEngine);
|
[[nodiscard]] HRESULT _PaintBackground(_In_ IRenderEngine* const pEngine);
|
||||||
void _PaintBufferOutput(_In_ IRenderEngine* const pEngine);
|
void _PaintBufferOutput(_In_ IRenderEngine* const pEngine);
|
||||||
|
ROW* _PaintBufferOutputComposition(TextBuffer& buffer, const ROW& r, const Composition& activeComposition);
|
||||||
void _PaintBufferOutputHelper(_In_ IRenderEngine* const pEngine, TextBufferCellIterator it, const til::point target);
|
void _PaintBufferOutputHelper(_In_ IRenderEngine* const pEngine, TextBufferCellIterator it, const til::point target);
|
||||||
void _PaintBufferOutputGridLineHelper(_In_ IRenderEngine* const pEngine, const TextAttribute textAttribute, const size_t cchLine, const til::point coordTarget);
|
void _PaintBufferOutputGridLineHelper(_In_ IRenderEngine* const pEngine, const TextAttribute textAttribute, const size_t cchLine, const til::point coordTarget);
|
||||||
bool _isHoveredHyperlink(const TextAttribute& textAttribute) const noexcept;
|
bool _isHoveredHyperlink(const TextAttribute& textAttribute) const noexcept;
|
||||||
|
|||||||
@@ -270,6 +270,16 @@ constexpr T saturate(auto val)
|
|||||||
}
|
}
|
||||||
CATCH_RETURN();
|
CATCH_RETURN();
|
||||||
|
|
||||||
|
if (a->ProcessControlZ)
|
||||||
|
{
|
||||||
|
// ProcessControlZ is only set for CONSOLE_IO_RAW_READ. To restore
|
||||||
|
// the behavior from Windows 7 (see filehops.c:123) we need to honor
|
||||||
|
// ^Z only if PROCESSED_INPUT is enabled.
|
||||||
|
ULONG InputMode{ 0 };
|
||||||
|
m->_pApiRoutines->GetConsoleInputModeImpl(*pInputBuffer, InputMode);
|
||||||
|
a->ProcessControlZ = (InputMode & ENABLE_PROCESSED_INPUT) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
TraceConsoleAPICallWithOrigin(
|
TraceConsoleAPICallWithOrigin(
|
||||||
"ReadConsole",
|
"ReadConsole",
|
||||||
TraceLoggingBoolean(a->Unicode, "Unicode"),
|
TraceLoggingBoolean(a->Unicode, "Unicode"),
|
||||||
@@ -585,9 +595,12 @@ constexpr T saturate(auto val)
|
|||||||
RETURN_IF_FAILED(pObjectHandle->GetScreenBuffer(GENERIC_READ, &pObj));
|
RETURN_IF_FAILED(pObjectHandle->GetScreenBuffer(GENERIC_READ, &pObj));
|
||||||
|
|
||||||
// See ConptyCursorPositionMayBeWrong() for details.
|
// See ConptyCursorPositionMayBeWrong() for details.
|
||||||
if (pObj->ConptyCursorPositionMayBeWrong())
|
auto& activeBuffer = pObj->GetActiveBuffer();
|
||||||
|
// GetConsoleScreenBufferInfoExImpl uses GetActiveBuffer internally, but
|
||||||
|
// under the console lock.
|
||||||
|
if (activeBuffer.ConptyCursorPositionMayBeWrong())
|
||||||
{
|
{
|
||||||
pObj->WaitForConptyCursorPositionToBeSynchronized();
|
activeBuffer.WaitForConptyCursorPositionToBeSynchronized();
|
||||||
}
|
}
|
||||||
|
|
||||||
m->_pApiRoutines->GetConsoleScreenBufferInfoExImpl(*pObj, ex);
|
m->_pApiRoutines->GetConsoleScreenBufferInfoExImpl(*pObj, ex);
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ public:
|
|||||||
#pragma warning(disable : 26432) // suppress rule of 5 violation on interface because tampering with this is fraught with peril
|
#pragma warning(disable : 26432) // suppress rule of 5 violation on interface because tampering with this is fraught with peril
|
||||||
virtual ~ITermDispatch() = 0;
|
virtual ~ITermDispatch() = 0;
|
||||||
|
|
||||||
|
virtual void UnknownSequence() noexcept = 0;
|
||||||
virtual void Print(const wchar_t wchPrintable) = 0;
|
virtual void Print(const wchar_t wchPrintable) = 0;
|
||||||
virtual void PrintString(const std::wstring_view string) = 0;
|
virtual void PrintString(const std::wstring_view string) = 0;
|
||||||
|
|
||||||
@@ -139,7 +140,7 @@ public:
|
|||||||
virtual void AnnounceCodeStructure(const VTInt ansiLevel) = 0; // ACS
|
virtual void AnnounceCodeStructure(const VTInt ansiLevel) = 0; // ACS
|
||||||
|
|
||||||
virtual void SoftReset() = 0; // DECSTR
|
virtual void SoftReset() = 0; // DECSTR
|
||||||
virtual void HardReset() = 0; // RIS
|
virtual void HardReset(bool erase) = 0; // RIS
|
||||||
virtual void ScreenAlignmentPattern() = 0; // DECALN
|
virtual void ScreenAlignmentPattern() = 0; // DECALN
|
||||||
|
|
||||||
virtual void SetCursorStyle(const DispatchTypes::CursorStyle cursorStyle) = 0; // DECSCUSR
|
virtual void SetCursorStyle(const DispatchTypes::CursorStyle cursorStyle) = 0; // DECSCUSR
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ namespace Microsoft::Console::VirtualTerminal
|
|||||||
ITerminalApi& operator=(const ITerminalApi&) = delete;
|
ITerminalApi& operator=(const ITerminalApi&) = delete;
|
||||||
ITerminalApi& operator=(ITerminalApi&&) = delete;
|
ITerminalApi& operator=(ITerminalApi&&) = delete;
|
||||||
|
|
||||||
|
virtual void UnknownSequence() noexcept = 0;
|
||||||
virtual void ReturnResponse(const std::wstring_view response) = 0;
|
virtual void ReturnResponse(const std::wstring_view response) = 0;
|
||||||
|
|
||||||
struct BufferState
|
struct BufferState
|
||||||
@@ -46,6 +47,7 @@ namespace Microsoft::Console::VirtualTerminal
|
|||||||
bool isMainBuffer;
|
bool isMainBuffer;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
virtual bool IsConPTY() const noexcept = 0;
|
||||||
virtual StateMachine& GetStateMachine() = 0;
|
virtual StateMachine& GetStateMachine() = 0;
|
||||||
virtual BufferState GetBufferAndViewport() = 0;
|
virtual BufferState GetBufferAndViewport() = 0;
|
||||||
virtual void SetViewportPosition(const til::point position) = 0;
|
virtual void SetViewportPosition(const til::point position) = 0;
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ void InteractDispatch::MoveCursor(const VTInt row, const VTInt col)
|
|||||||
|
|
||||||
// Unblock any callers inside SCREEN_INFORMATION::WaitForConptyCursorPositionToBeSynchronized().
|
// Unblock any callers inside SCREEN_INFORMATION::WaitForConptyCursorPositionToBeSynchronized().
|
||||||
// The cursor position has now been updated to the terminal's.
|
// The cursor position has now been updated to the terminal's.
|
||||||
info.ResetConptyCursorPositionMayBeWrong();
|
info.GetActiveBuffer().ResetConptyCursorPositionMayBeWrong();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Routine Description:
|
// Routine Description:
|
||||||
|
|||||||
@@ -48,6 +48,11 @@ AdaptDispatch::AdaptDispatch(ITerminalApi& api, Renderer* renderer, RenderSettin
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AdaptDispatch::UnknownSequence() noexcept
|
||||||
|
{
|
||||||
|
_api.UnknownSequence();
|
||||||
|
}
|
||||||
|
|
||||||
// Routine Description:
|
// Routine Description:
|
||||||
// - Translates and displays a single character
|
// - Translates and displays a single character
|
||||||
// Arguments:
|
// Arguments:
|
||||||
@@ -2073,6 +2078,13 @@ void AdaptDispatch::SetAnsiMode(const bool ansiMode)
|
|||||||
// CSI = flags ; mode u - Sets kitty keyboard protocol flags
|
// CSI = flags ; mode u - Sets kitty keyboard protocol flags
|
||||||
void AdaptDispatch::SetKittyKeyboardProtocol(const VTParameter flags, const VTParameter mode) noexcept
|
void AdaptDispatch::SetKittyKeyboardProtocol(const VTParameter flags, const VTParameter mode) noexcept
|
||||||
{
|
{
|
||||||
|
// Avoid setting KKP flags in `_terminalInput` when we're ConPTY. Otherwise, we'd be translating
|
||||||
|
// W32IM to KKP, even when KKP is not supported by the hosting terminal (possibly intentionally).
|
||||||
|
if (_api.IsConPTY())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const auto kittyFlags = gsl::narrow_cast<uint8_t>(flags.value_or(0));
|
const auto kittyFlags = gsl::narrow_cast<uint8_t>(flags.value_or(0));
|
||||||
const auto KittyKeyboardProtocol = static_cast<TerminalInput::KittyKeyboardProtocolMode>(mode.value_or(1));
|
const auto KittyKeyboardProtocol = static_cast<TerminalInput::KittyKeyboardProtocolMode>(mode.value_or(1));
|
||||||
_terminalInput.SetKittyKeyboardProtocol(kittyFlags, KittyKeyboardProtocol);
|
_terminalInput.SetKittyKeyboardProtocol(kittyFlags, KittyKeyboardProtocol);
|
||||||
@@ -2081,6 +2093,11 @@ void AdaptDispatch::SetKittyKeyboardProtocol(const VTParameter flags, const VTPa
|
|||||||
// CSI ? u - Queries current kitty keyboard protocol flags
|
// CSI ? u - Queries current kitty keyboard protocol flags
|
||||||
void AdaptDispatch::QueryKittyKeyboardProtocol()
|
void AdaptDispatch::QueryKittyKeyboardProtocol()
|
||||||
{
|
{
|
||||||
|
if (_api.IsConPTY())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const auto flags = static_cast<VTInt>(_terminalInput.GetKittyFlags());
|
const auto flags = static_cast<VTInt>(_terminalInput.GetKittyFlags());
|
||||||
_ReturnCsiResponse(fmt::format(FMT_COMPILE(L"?{}u"), flags));
|
_ReturnCsiResponse(fmt::format(FMT_COMPILE(L"?{}u"), flags));
|
||||||
}
|
}
|
||||||
@@ -2088,6 +2105,11 @@ void AdaptDispatch::QueryKittyKeyboardProtocol()
|
|||||||
// CSI > flags u - Pushes current kitty keyboard flags onto the stack and sets new flags
|
// CSI > flags u - Pushes current kitty keyboard flags onto the stack and sets new flags
|
||||||
void AdaptDispatch::PushKittyKeyboardProtocol(const VTParameter flags)
|
void AdaptDispatch::PushKittyKeyboardProtocol(const VTParameter flags)
|
||||||
{
|
{
|
||||||
|
if (_api.IsConPTY())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const auto kittyFlags = gsl::narrow_cast<uint8_t>(flags.value_or(0));
|
const auto kittyFlags = gsl::narrow_cast<uint8_t>(flags.value_or(0));
|
||||||
_terminalInput.PushKittyFlags(kittyFlags);
|
_terminalInput.PushKittyFlags(kittyFlags);
|
||||||
}
|
}
|
||||||
@@ -2095,6 +2117,11 @@ void AdaptDispatch::PushKittyKeyboardProtocol(const VTParameter flags)
|
|||||||
// CSI < count u - Pops one or more entries from the kitty keyboard stack
|
// CSI < count u - Pops one or more entries from the kitty keyboard stack
|
||||||
void AdaptDispatch::PopKittyKeyboardProtocol(const VTParameter count)
|
void AdaptDispatch::PopKittyKeyboardProtocol(const VTParameter count)
|
||||||
{
|
{
|
||||||
|
if (_api.IsConPTY())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const auto popCount = static_cast<size_t>(count.value_or(1));
|
const auto popCount = static_cast<size_t>(count.value_or(1));
|
||||||
_terminalInput.PopKittyFlags(popCount);
|
_terminalInput.PopKittyFlags(popCount);
|
||||||
}
|
}
|
||||||
@@ -2982,7 +3009,7 @@ void AdaptDispatch::SoftReset()
|
|||||||
// - Clears UDKs.
|
// - Clears UDKs.
|
||||||
// - Clears a down-line-loaded character set.
|
// - Clears a down-line-loaded character set.
|
||||||
// * The soft font is reset in the renderer and the font buffer is deleted.
|
// * The soft font is reset in the renderer and the font buffer is deleted.
|
||||||
// - Clears the screen.
|
// - Clears the screen. (if erase=true)
|
||||||
// * This is like Erase in Display (3), also clearing scrollback, as well as ED(2)
|
// * This is like Erase in Display (3), also clearing scrollback, as well as ED(2)
|
||||||
// - Returns the cursor to the upper-left corner of the screen.
|
// - Returns the cursor to the upper-left corner of the screen.
|
||||||
// * CUP(1;1)
|
// * CUP(1;1)
|
||||||
@@ -2992,8 +3019,8 @@ void AdaptDispatch::SoftReset()
|
|||||||
// - Sets all character sets to the default.
|
// - Sets all character sets to the default.
|
||||||
// * G0(USASCII)
|
// * G0(USASCII)
|
||||||
//Arguments:
|
//Arguments:
|
||||||
// <none>
|
// - erase: if true, erase the screen and scrollback
|
||||||
void AdaptDispatch::HardReset()
|
void AdaptDispatch::HardReset(bool erase)
|
||||||
{
|
{
|
||||||
// If in the alt buffer, switch back to main before doing anything else.
|
// If in the alt buffer, switch back to main before doing anything else.
|
||||||
if (_usingAltBuffer)
|
if (_usingAltBuffer)
|
||||||
@@ -3020,9 +3047,12 @@ void AdaptDispatch::HardReset()
|
|||||||
// to ensure that it clears with the default background color.
|
// to ensure that it clears with the default background color.
|
||||||
SoftReset();
|
SoftReset();
|
||||||
|
|
||||||
// Clears the screen - Needs to be done in two operations.
|
if (erase)
|
||||||
EraseInDisplay(DispatchTypes::EraseType::All);
|
{
|
||||||
EraseInDisplay(DispatchTypes::EraseType::Scrollback);
|
// Clears the screen - Needs to be done in two operations.
|
||||||
|
EraseInDisplay(DispatchTypes::EraseType::All);
|
||||||
|
EraseInDisplay(DispatchTypes::EraseType::Scrollback);
|
||||||
|
}
|
||||||
|
|
||||||
// Set the color table and render modes back to their initial startup values.
|
// Set the color table and render modes back to their initial startup values.
|
||||||
_renderSettings.RestoreDefaultSettings();
|
_renderSettings.RestoreDefaultSettings();
|
||||||
@@ -3033,8 +3063,14 @@ void AdaptDispatch::HardReset()
|
|||||||
_renderer->SynchronizedOutputChanged();
|
_renderer->SynchronizedOutputChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cursor to 1,1 - the Soft Reset guarantees this is absolute
|
if (erase)
|
||||||
CursorPosition(1, 1);
|
{
|
||||||
|
// Cursor to 1,1 - the Soft Reset guarantees this is absolute.
|
||||||
|
// Only done when clearing buffers, because when preserving content
|
||||||
|
// the cursor should stay where the previous shell left it so the
|
||||||
|
// new shell prompt appears in the right place.
|
||||||
|
CursorPosition(1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
// We only reset the system line feed mode if the input mode is set. If it
|
// We only reset the system line feed mode if the input mode is set. If it
|
||||||
// isn't set, that either means they're both reset, and there's nothing for
|
// isn't set, that either means they're both reset, and there's nothing for
|
||||||
@@ -3585,6 +3621,10 @@ void AdaptDispatch::DoConEmuAction(const std::wstring_view string)
|
|||||||
_pages.ActivePage().Buffer().StartCommand();
|
_pages.ActivePage().Buffer().StartCommand();
|
||||||
_api.NotifyShellIntegrationMark();
|
_api.NotifyShellIntegrationMark();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_api.UnknownSequence();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Method Description:
|
// Method Description:
|
||||||
@@ -3616,6 +3656,10 @@ void AdaptDispatch::DoITerm2Action(const std::wstring_view string)
|
|||||||
_pages.ActivePage().Buffer().StartPrompt();
|
_pages.ActivePage().Buffer().StartPrompt();
|
||||||
_api.NotifyShellIntegrationMark();
|
_api.NotifyShellIntegrationMark();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_api.UnknownSequence();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Method Description:
|
// Method Description:
|
||||||
@@ -3686,9 +3730,14 @@ void AdaptDispatch::DoFinalTermAction(const std::wstring_view string)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
_api.UnknownSequence();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_api.UnknownSequence();
|
||||||
|
}
|
||||||
|
|
||||||
// When we add the rest of the FTCS sequences (GH#11000), we should add a
|
// When we add the rest of the FTCS sequences (GH#11000), we should add a
|
||||||
// simple state machine here to track the most recently emitted mark from
|
// simple state machine here to track the most recently emitted mark from
|
||||||
@@ -3763,6 +3812,10 @@ void AdaptDispatch::DoVsCodeAction(const std::wstring_view string)
|
|||||||
|
|
||||||
// If it's poorly formatted, just eat it
|
// If it's poorly formatted, just eat it
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_api.UnknownSequence();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Method Description:
|
// Method Description:
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ namespace Microsoft::Console::VirtualTerminal
|
|||||||
public:
|
public:
|
||||||
AdaptDispatch(ITerminalApi& api, Renderer* renderer, RenderSettings& renderSettings, TerminalInput& terminalInput) noexcept;
|
AdaptDispatch(ITerminalApi& api, Renderer* renderer, RenderSettings& renderSettings, TerminalInput& terminalInput) noexcept;
|
||||||
|
|
||||||
|
void UnknownSequence() noexcept override;
|
||||||
void Print(const wchar_t wchPrintable) override;
|
void Print(const wchar_t wchPrintable) override;
|
||||||
void PrintString(const std::wstring_view string) override;
|
void PrintString(const std::wstring_view string) override;
|
||||||
|
|
||||||
@@ -128,7 +129,7 @@ namespace Microsoft::Console::VirtualTerminal
|
|||||||
void SendC1Controls(const bool enabled) override; // S8C1T, S7C1T
|
void SendC1Controls(const bool enabled) override; // S8C1T, S7C1T
|
||||||
void AnnounceCodeStructure(const VTInt ansiLevel) override; // ACS
|
void AnnounceCodeStructure(const VTInt ansiLevel) override; // ACS
|
||||||
void SoftReset() override; // DECSTR
|
void SoftReset() override; // DECSTR
|
||||||
void HardReset() override; // RIS
|
void HardReset(bool erase) override; // RIS
|
||||||
void ScreenAlignmentPattern() override; // DECALN
|
void ScreenAlignmentPattern() override; // DECALN
|
||||||
void SetCursorStyle(const DispatchTypes::CursorStyle cursorStyle) override; // DECSCUSR
|
void SetCursorStyle(const DispatchTypes::CursorStyle cursorStyle) override; // DECSCUSR
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ namespace Microsoft::Console::VirtualTerminal
|
|||||||
class Microsoft::Console::VirtualTerminal::TermDispatch : public Microsoft::Console::VirtualTerminal::ITermDispatch
|
class Microsoft::Console::VirtualTerminal::TermDispatch : public Microsoft::Console::VirtualTerminal::ITermDispatch
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
void UnknownSequence() noexcept override {}
|
||||||
void Print(const wchar_t wchPrintable) override = 0;
|
void Print(const wchar_t wchPrintable) override = 0;
|
||||||
void PrintString(const std::wstring_view string) override = 0;
|
void PrintString(const std::wstring_view string) override = 0;
|
||||||
|
|
||||||
@@ -126,7 +127,7 @@ public:
|
|||||||
void AnnounceCodeStructure(const VTInt /*ansiLevel*/) override {} // ACS
|
void AnnounceCodeStructure(const VTInt /*ansiLevel*/) override {} // ACS
|
||||||
|
|
||||||
void SoftReset() override {} // DECSTR
|
void SoftReset() override {} // DECSTR
|
||||||
void HardReset() override {} // RIS
|
void HardReset(bool /*erase*/) override {} // RIS
|
||||||
void ScreenAlignmentPattern() override {} // DECALN
|
void ScreenAlignmentPattern() override {} // DECALN
|
||||||
|
|
||||||
void SetCursorStyle(const DispatchTypes::CursorStyle /*cursorStyle*/) override {} // DECSCUSR
|
void SetCursorStyle(const DispatchTypes::CursorStyle /*cursorStyle*/) override {} // DECSCUSR
|
||||||
|
|||||||
@@ -60,6 +60,10 @@ using namespace Microsoft::Console::VirtualTerminal;
|
|||||||
class TestGetSet final : public ITerminalApi
|
class TestGetSet final : public ITerminalApi
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
void UnknownSequence() noexcept override
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
void ReturnResponse(const std::wstring_view response) override
|
void ReturnResponse(const std::wstring_view response) override
|
||||||
{
|
{
|
||||||
Log::Comment(L"ReturnResponse MOCK called...");
|
Log::Comment(L"ReturnResponse MOCK called...");
|
||||||
@@ -76,6 +80,11 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool IsConPTY() const noexcept override
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
StateMachine& GetStateMachine() override
|
StateMachine& GetStateMachine() override
|
||||||
{
|
{
|
||||||
return *_stateMachine;
|
return *_stateMachine;
|
||||||
@@ -1651,7 +1660,7 @@ public:
|
|||||||
|
|
||||||
Log::Comment(L"Test 3: Verify space reset");
|
Log::Comment(L"Test 3: Verify space reset");
|
||||||
_testGetSet->PrepData();
|
_testGetSet->PrepData();
|
||||||
_pDispatch->HardReset();
|
_pDispatch->HardReset(true);
|
||||||
_pDispatch->DeviceStatusReport(DispatchTypes::StatusType::MacroSpaceReport, {});
|
_pDispatch->DeviceStatusReport(DispatchTypes::StatusType::MacroSpaceReport, {});
|
||||||
|
|
||||||
swprintf_s(pwszBuffer, ARRAYSIZE(pwszBuffer), L"\x1b[%zu*{", availableSpace);
|
swprintf_s(pwszBuffer, ARRAYSIZE(pwszBuffer), L"\x1b[%zu*{", availableSpace);
|
||||||
@@ -1683,7 +1692,7 @@ public:
|
|||||||
|
|
||||||
Log::Comment(L"Test 3: Verify checksum resets to 0");
|
Log::Comment(L"Test 3: Verify checksum resets to 0");
|
||||||
_testGetSet->PrepData();
|
_testGetSet->PrepData();
|
||||||
_pDispatch->HardReset();
|
_pDispatch->HardReset(true);
|
||||||
_pDispatch->DeviceStatusReport(DispatchTypes::StatusType::MemoryChecksum, 56);
|
_pDispatch->DeviceStatusReport(DispatchTypes::StatusType::MemoryChecksum, 56);
|
||||||
|
|
||||||
_testGetSet->ValidateInputEvent(L"\033P56!~0000\033\\");
|
_testGetSet->ValidateInputEvent(L"\033P56!~0000\033\\");
|
||||||
|
|||||||
@@ -228,7 +228,8 @@ TerminalInput::OutputType TerminalInput::HandleKey(const INPUT_RECORD& event)
|
|||||||
// GH#4999 - If we're in win32-input mode, skip straight to doing that.
|
// GH#4999 - If we're in win32-input mode, skip straight to doing that.
|
||||||
// Since this mode handles all types of key events, do nothing else.
|
// Since this mode handles all types of key events, do nothing else.
|
||||||
//
|
//
|
||||||
// The kitty keyboard protocol takes precedence, because it's cross-platform.
|
// ConPTY assumes that W32IM always remains enabled. We have to prefer
|
||||||
|
// the kitty keyboard protocol, because otherwise it would never be used.
|
||||||
if (_inputMode.test(Mode::Win32) && !_forceDisableWin32InputMode && !_kittyFlags)
|
if (_inputMode.test(Mode::Win32) && !_forceDisableWin32InputMode && !_kittyFlags)
|
||||||
{
|
{
|
||||||
return _makeWin32Output(event.Event.KeyEvent);
|
return _makeWin32Output(event.Event.KeyEvent);
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ namespace Microsoft::Console::VirtualTerminal
|
|||||||
IStateMachineEngine& operator=(const IStateMachineEngine&) = default;
|
IStateMachineEngine& operator=(const IStateMachineEngine&) = default;
|
||||||
IStateMachineEngine& operator=(IStateMachineEngine&&) = default;
|
IStateMachineEngine& operator=(IStateMachineEngine&&) = default;
|
||||||
|
|
||||||
|
virtual void UnknownSequence() noexcept = 0;
|
||||||
virtual bool EncounteredWin32InputModeSequence() const noexcept = 0;
|
virtual bool EncounteredWin32InputModeSequence() const noexcept = 0;
|
||||||
|
|
||||||
virtual bool ActionExecute(const wchar_t wch) = 0;
|
virtual bool ActionExecute(const wchar_t wch) = 0;
|
||||||
|
|||||||
@@ -129,6 +129,10 @@ til::enumset<DeviceAttribute, uint64_t> InputStateMachineEngine::WaitUntilDA1(DW
|
|||||||
return til::enumset<DeviceAttribute, uint64_t>::from_bits(val);
|
return til::enumset<DeviceAttribute, uint64_t>::from_bits(val);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void InputStateMachineEngine::UnknownSequence() noexcept
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
bool InputStateMachineEngine::EncounteredWin32InputModeSequence() const noexcept
|
bool InputStateMachineEngine::EncounteredWin32InputModeSequence() const noexcept
|
||||||
{
|
{
|
||||||
return _encounteredWin32InputModeSequence;
|
return _encounteredWin32InputModeSequence;
|
||||||
|
|||||||
@@ -166,6 +166,7 @@ namespace Microsoft::Console::VirtualTerminal
|
|||||||
void CaptureNextCursorPositionReport() noexcept;
|
void CaptureNextCursorPositionReport() noexcept;
|
||||||
til::enumset<DeviceAttribute, uint64_t> WaitUntilDA1(DWORD timeout) noexcept;
|
til::enumset<DeviceAttribute, uint64_t> WaitUntilDA1(DWORD timeout) noexcept;
|
||||||
|
|
||||||
|
void UnknownSequence() noexcept override;
|
||||||
bool EncounteredWin32InputModeSequence() const noexcept override;
|
bool EncounteredWin32InputModeSequence() const noexcept override;
|
||||||
|
|
||||||
bool ActionExecute(const wchar_t wch) override;
|
bool ActionExecute(const wchar_t wch) override;
|
||||||
|
|||||||
@@ -24,6 +24,11 @@ OutputStateMachineEngine::OutputStateMachineEngine(std::unique_ptr<ITermDispatch
|
|||||||
THROW_HR_IF_NULL(E_INVALIDARG, _dispatch.get());
|
THROW_HR_IF_NULL(E_INVALIDARG, _dispatch.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OutputStateMachineEngine::UnknownSequence() noexcept
|
||||||
|
{
|
||||||
|
_dispatch->UnknownSequence();
|
||||||
|
}
|
||||||
|
|
||||||
bool OutputStateMachineEngine::EncounteredWin32InputModeSequence() const noexcept
|
bool OutputStateMachineEngine::EncounteredWin32InputModeSequence() const noexcept
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
@@ -230,7 +235,7 @@ bool OutputStateMachineEngine::ActionEscDispatch(const VTID id)
|
|||||||
_dispatch->DeviceAttributes();
|
_dispatch->DeviceAttributes();
|
||||||
break;
|
break;
|
||||||
case EscActionCodes::RIS_ResetToInitialState:
|
case EscActionCodes::RIS_ResetToInitialState:
|
||||||
_dispatch->HardReset();
|
_dispatch->HardReset(true);
|
||||||
break;
|
break;
|
||||||
case EscActionCodes::SS2_SingleShift:
|
case EscActionCodes::SS2_SingleShift:
|
||||||
_dispatch->SingleShift(2);
|
_dispatch->SingleShift(2);
|
||||||
@@ -683,6 +688,7 @@ bool OutputStateMachineEngine::ActionCsiDispatch(const VTID id, const VTParamete
|
|||||||
_dispatch->PopKittyKeyboardProtocol(parameters.at(0));
|
_dispatch->PopKittyKeyboardProtocol(parameters.at(0));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
_dispatch->UnknownSequence();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -737,7 +743,7 @@ IStateMachineEngine::StringHandler OutputStateMachineEngine::ActionDcsDispatch(c
|
|||||||
handler = _dispatch->RestorePresentationState(parameters.at(0));
|
handler = _dispatch->RestorePresentationState(parameters.at(0));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
handler = nullptr;
|
_dispatch->UnknownSequence();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -858,6 +864,10 @@ bool OutputStateMachineEngine::ActionOscDispatch(const size_t parameter, const s
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case OscActionCodes::CurrentWorkingDirectory:
|
||||||
|
// TODO: Add support for OSC 7 = CWD sequences?
|
||||||
|
// In GH#8214 it was decided that it's a bad idea due to WSL compat.
|
||||||
|
break;
|
||||||
case OscActionCodes::Hyperlink:
|
case OscActionCodes::Hyperlink:
|
||||||
{
|
{
|
||||||
std::wstring params;
|
std::wstring params;
|
||||||
@@ -901,6 +911,7 @@ bool OutputStateMachineEngine::ActionOscDispatch(const size_t parameter, const s
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
_dispatch->UnknownSequence();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -921,6 +932,7 @@ bool OutputStateMachineEngine::ActionOscDispatch(const size_t parameter, const s
|
|||||||
bool OutputStateMachineEngine::ActionSs3Dispatch(const wchar_t /*wch*/, const VTParameters /*parameters*/) noexcept
|
bool OutputStateMachineEngine::ActionSs3Dispatch(const wchar_t /*wch*/, const VTParameters /*parameters*/) noexcept
|
||||||
{
|
{
|
||||||
// The output engine doesn't handle any SS3 sequences.
|
// The output engine doesn't handle any SS3 sequences.
|
||||||
|
_dispatch->UnknownSequence();
|
||||||
_ClearLastChar();
|
_ClearLastChar();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ namespace Microsoft::Console::VirtualTerminal
|
|||||||
|
|
||||||
OutputStateMachineEngine(std::unique_ptr<ITermDispatch> pDispatch);
|
OutputStateMachineEngine(std::unique_ptr<ITermDispatch> pDispatch);
|
||||||
|
|
||||||
|
void UnknownSequence() noexcept override;
|
||||||
bool EncounteredWin32InputModeSequence() const noexcept override;
|
bool EncounteredWin32InputModeSequence() const noexcept override;
|
||||||
|
|
||||||
bool ActionExecute(const wchar_t wch) override;
|
bool ActionExecute(const wchar_t wch) override;
|
||||||
@@ -203,13 +204,14 @@ namespace Microsoft::Console::VirtualTerminal
|
|||||||
ExitVt52Mode = VTID("<")
|
ExitVt52Mode = VTID("<")
|
||||||
};
|
};
|
||||||
|
|
||||||
enum OscActionCodes : unsigned int
|
enum OscActionCodes : size_t
|
||||||
{
|
{
|
||||||
SetIconAndWindowTitle = 0,
|
SetIconAndWindowTitle = 0,
|
||||||
SetWindowIcon = 1,
|
SetWindowIcon = 1,
|
||||||
SetWindowTitle = 2,
|
SetWindowTitle = 2,
|
||||||
SetWindowProperty = 3, // Not implemented
|
SetWindowProperty = 3, // Not implemented
|
||||||
SetColor = 4,
|
SetColor = 4,
|
||||||
|
CurrentWorkingDirectory = 7,
|
||||||
Hyperlink = 8,
|
Hyperlink = 8,
|
||||||
ConEmuAction = 9,
|
ConEmuAction = 9,
|
||||||
SetForegroundColor = 10,
|
SetForegroundColor = 10,
|
||||||
|
|||||||
@@ -1044,6 +1044,7 @@ void StateMachine::_EnterSosPmApcString() noexcept
|
|||||||
{
|
{
|
||||||
_state = VTStates::SosPmApcString;
|
_state = VTStates::SosPmApcString;
|
||||||
_cachedSequence.reset();
|
_cachedSequence.reset();
|
||||||
|
_engine->UnknownSequence();
|
||||||
_trace.TraceStateChange(L"SosPmApcString");
|
_trace.TraceStateChange(L"SosPmApcString");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,10 @@ public:
|
|||||||
dcsDataString.clear();
|
dcsDataString.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UnknownSequence() noexcept override
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
bool EncounteredWin32InputModeSequence() const noexcept override
|
bool EncounteredWin32InputModeSequence() const noexcept override
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -12,9 +12,9 @@ Handle Handle::Create()
|
|||||||
{
|
{
|
||||||
Handle handle;
|
Handle handle;
|
||||||
handle._impl = new Implementation();
|
handle._impl = new Implementation();
|
||||||
if (!handle._impl->Initialize())
|
if (FAILED(handle._impl->Initialize()))
|
||||||
{
|
{
|
||||||
delete handle._impl;
|
handle._destroy();
|
||||||
handle._impl = nullptr;
|
handle._impl = nullptr;
|
||||||
}
|
}
|
||||||
return handle;
|
return handle;
|
||||||
@@ -32,11 +32,7 @@ void Handle::SetDefaultScopeAlphanumericHalfWidth(bool enable)
|
|||||||
|
|
||||||
Handle::~Handle()
|
Handle::~Handle()
|
||||||
{
|
{
|
||||||
if (_impl)
|
_destroy();
|
||||||
{
|
|
||||||
_impl->Uninitialize();
|
|
||||||
_impl->Release();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Handle::Handle(Handle&& other) noexcept :
|
Handle::Handle(Handle&& other) noexcept :
|
||||||
@@ -94,3 +90,12 @@ bool Handle::HasActiveComposition() const noexcept
|
|||||||
{
|
{
|
||||||
return _impl ? _impl->HasActiveComposition() : false;
|
return _impl ? _impl->HasActiveComposition() : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Handle::_destroy() noexcept
|
||||||
|
{
|
||||||
|
if (_impl)
|
||||||
|
{
|
||||||
|
_impl->Uninitialize();
|
||||||
|
_impl->Release();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -51,6 +51,8 @@ namespace Microsoft::Console::TSF
|
|||||||
bool HasActiveComposition() const noexcept;
|
bool HasActiveComposition() const noexcept;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void _destroy() noexcept;
|
||||||
|
|
||||||
Implementation* _impl = nullptr;
|
Implementation* _impl = nullptr;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,33 +71,27 @@ void Implementation::SetDefaultScopeAlphanumericHalfWidth(bool enable) noexcept
|
|||||||
s_wantsAnsiInputScope.store(enable, std::memory_order_relaxed);
|
s_wantsAnsiInputScope.store(enable, std::memory_order_relaxed);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Implementation::Initialize()
|
HRESULT Implementation::Initialize()
|
||||||
{
|
{
|
||||||
_categoryMgr = wil::CoCreateInstanceNoThrow<ITfCategoryMgr>(CLSID_TF_CategoryMgr);
|
RETURN_IF_FAILED_EXPECTED(CoCreateInstance(CLSID_TF_CategoryMgr, nullptr, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(_categoryMgr.addressof())));
|
||||||
if (!_categoryMgr)
|
RETURN_IF_FAILED_EXPECTED(CoCreateInstance(CLSID_TF_DisplayAttributeMgr, nullptr, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(_displayAttributeMgr.addressof())));
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
_displayAttributeMgr = wil::CoCreateInstance<ITfDisplayAttributeMgr>(CLSID_TF_DisplayAttributeMgr);
|
|
||||||
|
|
||||||
// There's no point in calling TF_GetThreadMgr. ITfThreadMgr is a per-thread singleton.
|
// There's no point in calling TF_GetThreadMgr. ITfThreadMgr is a per-thread singleton.
|
||||||
_threadMgrEx = wil::CoCreateInstance<ITfThreadMgrEx>(CLSID_TF_ThreadMgr, CLSCTX_INPROC_SERVER);
|
RETURN_IF_FAILED_EXPECTED(CoCreateInstance(CLSID_TF_ThreadMgr, nullptr, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(_threadMgrEx.addressof())));
|
||||||
|
|
||||||
THROW_IF_FAILED(_threadMgrEx->ActivateEx(&_clientId, s_activationFlags.load(std::memory_order_relaxed)));
|
RETURN_IF_FAILED(_threadMgrEx->ActivateEx(&_clientId, s_activationFlags.load(std::memory_order_relaxed)));
|
||||||
THROW_IF_FAILED(_threadMgrEx->CreateDocumentMgr(_documentMgr.addressof()));
|
RETURN_IF_FAILED(_threadMgrEx->CreateDocumentMgr(_documentMgr.addressof()));
|
||||||
|
|
||||||
TfEditCookie ecTextStore;
|
TfEditCookie ecTextStore;
|
||||||
THROW_IF_FAILED(_documentMgr->CreateContext(_clientId, 0, static_cast<ITfContextOwnerCompositionSink*>(this), _context.addressof(), &ecTextStore));
|
RETURN_IF_FAILED(_documentMgr->CreateContext(_clientId, 0, static_cast<ITfContextOwnerCompositionSink*>(this), _context.addressof(), &ecTextStore));
|
||||||
|
|
||||||
_ownerCompositionServices = _context.try_query<ITfContextOwnerCompositionServices>();
|
_ownerCompositionServices = _context.try_query<ITfContextOwnerCompositionServices>();
|
||||||
|
|
||||||
_contextSource = _context.query<ITfSource>();
|
_contextSource = _context.query<ITfSource>();
|
||||||
THROW_IF_FAILED(_contextSource->AdviseSink(IID_ITfContextOwner, static_cast<ITfContextOwner*>(this), &_cookieContextOwner));
|
RETURN_IF_FAILED(_contextSource->AdviseSink(IID_ITfContextOwner, static_cast<ITfContextOwner*>(this), &_cookieContextOwner));
|
||||||
THROW_IF_FAILED(_contextSource->AdviseSink(IID_ITfTextEditSink, static_cast<ITfTextEditSink*>(this), &_cookieTextEditSink));
|
RETURN_IF_FAILED(_contextSource->AdviseSink(IID_ITfTextEditSink, static_cast<ITfTextEditSink*>(this), &_cookieTextEditSink));
|
||||||
|
|
||||||
THROW_IF_FAILED(_documentMgr->Push(_context.get()));
|
RETURN_IF_FAILED(_documentMgr->Push(_context.get()));
|
||||||
return true;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Implementation::Uninitialize() noexcept
|
void Implementation::Uninitialize() noexcept
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ namespace Microsoft::Console::TSF
|
|||||||
|
|
||||||
virtual ~Implementation() = default;
|
virtual ~Implementation() = default;
|
||||||
|
|
||||||
bool Initialize();
|
HRESULT Initialize();
|
||||||
void Uninitialize() noexcept;
|
void Uninitialize() noexcept;
|
||||||
HWND FindWindowOfActiveTSF() noexcept;
|
HWND FindWindowOfActiveTSF() noexcept;
|
||||||
void AssociateFocus(IDataProvider* provider);
|
void AssociateFocus(IDataProvider* provider);
|
||||||
|
|||||||
@@ -234,7 +234,7 @@ IFACEMETHODIMP ScreenInfoUiaProviderBase::GetSelection(_Outptr_result_maybenull_
|
|||||||
UiaTracing::TextProvider::GetSelection(*this, *range.Get());
|
UiaTracing::TextProvider::GetSelection(*this, *range.Get());
|
||||||
|
|
||||||
LONG currentIndex = 0;
|
LONG currentIndex = 0;
|
||||||
hr = SafeArrayPutElement(*ppRetVal, ¤tIndex, range.Detach());
|
hr = SafeArrayPutElement(*ppRetVal, ¤tIndex, range.Get());
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
{
|
{
|
||||||
SafeArrayDestroy(*ppRetVal);
|
SafeArrayDestroy(*ppRetVal);
|
||||||
@@ -278,7 +278,7 @@ IFACEMETHODIMP ScreenInfoUiaProviderBase::GetVisibleRanges(_Outptr_result_mayben
|
|||||||
UiaTracing::TextProvider::GetVisibleRanges(*this, *range.Get());
|
UiaTracing::TextProvider::GetVisibleRanges(*this, *range.Get());
|
||||||
|
|
||||||
LONG currentIndex = 0;
|
LONG currentIndex = 0;
|
||||||
hr = SafeArrayPutElement(*ppRetVal, ¤tIndex, range.Detach());
|
hr = SafeArrayPutElement(*ppRetVal, ¤tIndex, range.Get());
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
{
|
{
|
||||||
SafeArrayDestroy(*ppRetVal);
|
SafeArrayDestroy(*ppRetVal);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<Import Project="$(MSBuildThisProjectDirectory)\..\Microsoft.Windows.Console.ConPTY.props" />
|
<Import Project="$(MSBuildThisFileDirectory)..\Microsoft.Windows.Console.ConPTY.props" />
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -332,7 +332,7 @@ static HRESULT _ClearPseudoConsole(_In_ const PseudoConsole* const pPty, BOOL ke
|
|||||||
// Return Value:
|
// Return Value:
|
||||||
// - S_OK if the call succeeded, else an appropriate HRESULT for failing to
|
// - S_OK if the call succeeded, else an appropriate HRESULT for failing to
|
||||||
// write the clear message to the pty.
|
// write the clear message to the pty.
|
||||||
HRESULT _ShowHidePseudoConsole(_In_ const PseudoConsole* const pPty, const bool show)
|
HRESULT _ShowHidePseudoConsole(_In_ const PseudoConsole* const pPty, const BOOL show) noexcept
|
||||||
{
|
{
|
||||||
if (pPty == nullptr)
|
if (pPty == nullptr)
|
||||||
{
|
{
|
||||||
@@ -340,7 +340,7 @@ HRESULT _ShowHidePseudoConsole(_In_ const PseudoConsole* const pPty, const bool
|
|||||||
}
|
}
|
||||||
unsigned short signalPacket[2];
|
unsigned short signalPacket[2];
|
||||||
signalPacket[0] = PTY_SIGNAL_SHOWHIDE_WINDOW;
|
signalPacket[0] = PTY_SIGNAL_SHOWHIDE_WINDOW;
|
||||||
signalPacket[1] = show;
|
signalPacket[1] = show ? 1 : 0;
|
||||||
|
|
||||||
const BOOL fSuccess = WriteFile(pPty->hSignal, signalPacket, sizeof(signalPacket), nullptr, nullptr);
|
const BOOL fSuccess = WriteFile(pPty->hSignal, signalPacket, sizeof(signalPacket), nullptr, nullptr);
|
||||||
return fSuccess ? S_OK : HRESULT_FROM_WIN32(GetLastError());
|
return fSuccess ? S_OK : HRESULT_FROM_WIN32(GetLastError());
|
||||||
@@ -539,7 +539,7 @@ extern "C" HRESULT WINAPI ConptyClearPseudoConsole(_In_ HPCON hPC, BOOL keepCurs
|
|||||||
// to keep ConPTY's internal HWND state in sync with the state of whatever the
|
// to keep ConPTY's internal HWND state in sync with the state of whatever the
|
||||||
// hosting window is.
|
// hosting window is.
|
||||||
// - For more information, refer to GH#12515.
|
// - For more information, refer to GH#12515.
|
||||||
extern "C" HRESULT WINAPI ConptyShowHidePseudoConsole(_In_ HPCON hPC, bool show)
|
extern "C" HRESULT WINAPI ConptyShowHidePseudoConsole(_In_ HPCON hPC, BOOL show)
|
||||||
{
|
{
|
||||||
// _ShowHidePseudoConsole will return E_INVALIDARG for us if the hPC is nullptr.
|
// _ShowHidePseudoConsole will return E_INVALIDARG for us if the hPC is nullptr.
|
||||||
return _ShowHidePseudoConsole((PseudoConsole*)hPC, show);
|
return _ShowHidePseudoConsole((PseudoConsole*)hPC, show);
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user