Compare commits
3 commits
main
...
dev/migrie
Author | SHA1 | Date | |
---|---|---|---|
491ec14291 | |||
90271426e9 | |||
f5939ebd61 |
97
conpty.txt
Normal file
97
conpty.txt
Normal file
|
@ -0,0 +1,97 @@
|
|||
[25l[2J[m[HMicrosoft Windows [Version 10.0.18936.1001]]0;C:\WINDOWS\system32\cmd.exe[?25h
|
||||
(c) 2019 Microsoft Corporation. All rights reserved.
|
||||
[30m[107m
|
||||
[11:54:25.95][97m[46m>c:\Users\migrie\dev\private\OpenConsole[36m[49m>[m [35m
|
||||
[1][m [43m[dev/migrie/f/passthrough-2019][m [94mmigrie[m@[32mMIGRIE-SURFBOOK[m>wsl.exe
|
||||
]0;C:\WINDOWS\system32\cmd.exe - wsl.exe[92mzadjii@migrie-surfbook[m:[94m/mnt/c/Users/migrie/dev/private/OpenConsole[m$ ]0;zadjii@migrie-surfbook: /mnt/c/Users/migrie/dev/private/OpenConsolevi README.md
|
||||
[25l[?2004h[22;0;0t[?2004h[H[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X[H[?25h[25l[38;2;128;128;128m[48;2;28;28;28m[30;1H"README.md" 177L, 11259C[96X[?25h[96C[25l[?2004l[?2004h[30;25H[?25h[25l[?2004l[?2004h[2;1H▽[?25h[25l[>c]10;?]11;?
|
||||
[H[?25h[38;2;0;95;0m[48;2;175;215;0m README.md [38;2;175;215;0m[48;2;18;18;18m [38;2;255;255;255m[97X[38;2;18;18;18m[97C◀[38;2;48;48;48m◀[38;2;158;158;158m[48;2;48;48;48m buffers [38;2;78;78;78m[48;2;38;38;38m
|
||||
1 [38;2;128;128;128m[48;2;28;28;28m#[1m[38;2;215;95;0m Welcome\! [22m[38;2;128;128;128m[104X[38;2;78;78;78m[48;2;38;38;38m
|
||||
2 [38;2;128;128;128m[48;2;28;28;28m####[1m[38;2;215;95;0m This repository contains the source code for:[22m[38;2;128;128;128m[66X[38;2;78;78;78m[48;2;38;38;38m
|
||||
3 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
4 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m Windows Terminal[96X[38;2;78;78;78m[48;2;38;38;38m
|
||||
5 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m The Windows console host ([38;2;0;175;175mconhost.exe[38;2;128;128;128m)[74X[38;2;78;78;78m[48;2;38;38;38m
|
||||
6 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m Components shared between the two projects[70X[38;2;78;78;78m[48;2;38;38;38m
|
||||
7 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [38;2;95;95;175mColorTool[38;2;128;128;128m[103X[38;2;78;78;78m[48;2;38;38;38m
|
||||
8 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [m[112X[112C[38;2;128;128;128m[48;2;28;28;28m[38;2;78;78;78m[48;2;38;38;38m
|
||||
8 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [38;2;95;95;175mSample projects[38;2;128;128;128m that show how to consume the Window[61X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28ms Console APIs[102X[38;2;78;78;78m[48;2;38;38;38m
|
||||
9 [38;2;28;28;28m[48;2;78;78;78m [38;2;128;128;128m[48;2;28;28;28m[114X[38;2;78;78;78m[48;2;38;38;38m
|
||||
10 [38;2;128;128;128m[48;2;28;28;28m####[1m[38;2;215;95;0m Other related repositories include:[22m[38;2;128;128;128m[76X[38;2;78;78;78m[48;2;38;38;38m
|
||||
11 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [38;2;95;95;175mConsole API Documentation[38;2;128;128;128m[87X[38;2;78;78;78m[48;2;38;38;38m
|
||||
12 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
13 [38;2;128;128;128m[48;2;28;28;28m###[1m[38;2;215;95;0m Build Status[22m[38;2;128;128;128m[100X[38;2;78;78;78m[48;2;38;38;38m
|
||||
14 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
15 [38;2;128;128;128m[48;2;28;28;28mProject|Build Status[96X[38;2;78;78;78m[48;2;38;38;38m
|
||||
16 [38;2;128;128;128m[48;2;28;28;28m---|---[109X[38;2;78;78;78m[48;2;38;38;38m
|
||||
17 [38;2;128;128;128m[48;2;28;28;28mTerminal|[38;2;95;95;175mBuild Status[38;2;128;128;128m[18X[m[18C[77X[77C[38;2;128;128;128m[48;2;28;28;28m[38;2;78;78;78m[48;2;38;38;38m
|
||||
17 [38;2;128;128;128m[48;2;28;28;28mTerminal|[38;2;95;95;175mBuild Status[38;2;128;128;128m[95X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
18 [38;2;128;128;128m[48;2;28;28;28mColorTool|[106X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
19 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
20 [38;2;128;128;128m[48;2;28;28;28m#[1m[38;2;215;95;0m Terminal & Console Overview[22m[38;2;128;128;128m[87X[38;2;78;78;78m[48;2;38;38;38m
|
||||
21 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
22 [38;2;128;128;128m[48;2;28;28;28mPlease take a few minutes to review the overview below before diving into the code:[33X[38;2;78;78;78m[48;2;38;38;38m
|
||||
23 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
24 [38;2;128;128;128m[48;2;28;28;28m##[1m[38;2;215;95;0m Windows Terminal[22m[38;2;128;128;128m[97X[97C[?2004l[?2004h[?2004l[?2004h[?2004l[?2004h[?2004l[?2004h[?2004l[?2004h[?2004l[?2004h[?2004h[38;2;215;0;0m[48;2;215;95;0m[38;2;0;95;0m[48;2;175;215;0m
|
||||
[1mNORMAL[22m [38;2;175;215;0m[48;2;48;48;48m▶[38;2;158;158;158m ⎇ dev/migrie/f/passthrough-2019 [38;2;48;48;48m[48;2;18;18;18m▶[38;2;255;255;255m [38;2;18;18;18m<[38;2;255;255;255m markdown [38;2;48;48;48m◀[38;2;158;158;158m[48;2;48;48;48m [unix] [38;2;175;215;0m◀[38;2;0;95;0m[48;2;175;215;0m 1,397 words « 3% [1m␊ 6/177 ㏑[22m : 46 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [9]trailing [38;2;215;0;0m◀]0;/mnt/c/Users/migrie/dev/private/OpenConsole/README.md[25l[38;2;255;255;255m[48;2;18;18;18m[38;2;158;158;158m[48;2;48;48;48m[29;11H+0 ~0 -0 ⎇ dev/migrie/f/passthrough-2019 [38;2;48;48;48m[48;2;18;18;18m▶[38;2;255;255;255m <[7;50H[?25h[25l[38;2;128;128;128m[48;2;28;28;28m[30;110H^[[7;50H[?25h[25l[30;110H [7;50H[?25h[25l[?2004h[30;1H:[109X[?25hq
|
||||
[?2004l]0;[?2004l[120X[120C[25l[23;0;0t[m[HMicrosoft Windows [Version 10.0.18936.1001][77X
|
||||
(c) 2019 Microsoft Corporation. All rights reserved.[68X
|
||||
[120X[30m[107m
|
||||
[11:54:25.95][97m[46m>c:\Users\migrie\dev\private\OpenConsole[36m[49m>[m[66X[35m
|
||||
[1][m [43m[dev/migrie/f/passthrough-2019][m [94mmigrie[m@[32mMIGRIE-SURFBOOK[m>wsl.exe[54X[92m
|
||||
zadjii@migrie-surfbook[m:[94m/mnt/c/Users/migrie/dev/private/OpenConsole[m$ vi README.md [39X[92m
|
||||
zadjii@migrie-surfbook[m:[94m/mnt/c/Users/migrie/dev/private/OpenConsole[m$ [52X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X[7;69H]0;zadjii@migrie-surfbook: /mnt/c/Users/migrie/dev/private/OpenConsole[?25h
|
273
conpty001.txt
Normal file
273
conpty001.txt
Normal file
|
@ -0,0 +1,273 @@
|
|||
[25l[2J[m[HMicrosoft Windows [Version 10.0.18936.1001]]0;C:\WINDOWS\system32\cmd.exe[?25h
|
||||
(c) 2019 Microsoft Corporation. All rights reserved.
|
||||
[59X[30m[107m
|
||||
[12:00:25.93][97m[46m>c:\Users\migrie\dev\private\OpenConsole[36m[49m>[m [35m
|
||||
[1][m [43m[dev/migrie/f/passthrough-2019][m [94mmigrie[m@[32mMIGRIE-SURFBOOK[m>wsl.exe
|
||||
]0;C:\WINDOWS\system32\cmd.exe - wsl.exe[92mzadjii@migrie-surfbook[m:[94m/mnt/c/Users/migrie/dev/private/OpenConsole[m$ ]0;zadjii@migrie-surfbook: /mnt/c/Users/migrie/dev/private/OpenConsolevi README.md
|
||||
[25l[?2004h[22;0;0t[?2004h[H[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X[H[?25h[25l[38;2;128;128;128m[48;2;28;28;28m[30;1H"README.md" 177L, 11259C[96X[?25h[96C[25l[?2004l[?2004h[30;25H[?25h[25l[?2004l[?2004h[2;1H▽[?25h[25l
[H[?25h[>c]10;?]11;?[38;2;0;95;0m[48;2;175;215;0m README.md [38;2;175;215;0m[48;2;18;18;18m [38;2;255;255;255m[97X[38;2;18;18;18m[97C◀[38;2;48;48;48m◀[38;2;158;158;158m[48;2;48;48;48m buffers [38;2;78;78;78m[48;2;38;38;38m
|
||||
1 [38;2;128;128;128m[48;2;28;28;28m#[1m[38;2;215;95;0m Welcome\! [22m[38;2;128;128;128m[104X[38;2;78;78;78m[48;2;38;38;38m
|
||||
2 [38;2;128;128;128m[48;2;28;28;28m####[1m[38;2;215;95;0m This repository contains the source code for:[22m[38;2;128;128;128m[66X[38;2;78;78;78m[48;2;38;38;38m
|
||||
3 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
4 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m Windows Terminal[96X[38;2;78;78;78m[48;2;38;38;38m
|
||||
5 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m The Windows console host ([38;2;0;175;175mconhost.exe[38;2;128;128;128m)[74X[38;2;78;78;78m[48;2;38;38;38m
|
||||
6 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m Components shared between the two projects[70X[38;2;78;78;78m[48;2;38;38;38m
|
||||
7 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [38;2;95;95;175mColorTool[38;2;128;128;128m[103X[38;2;78;78;78m[48;2;38;38;38m
|
||||
8 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [m[112X[112C[38;2;128;128;128m[48;2;28;28;28m[38;2;78;78;78m[48;2;38;38;38m
8 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [38;2;95;95;175mSample projects[38;2;128;128;128m that show how to consume the Window[61X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28ms Console APIs[102X[38;2;78;78;78m[48;2;38;38;38m
|
||||
9 [38;2;28;28;28m[48;2;78;78;78m [38;2;128;128;128m[48;2;28;28;28m[114X[38;2;78;78;78m[48;2;38;38;38m
|
||||
10 [38;2;128;128;128m[48;2;28;28;28m####[1m[38;2;215;95;0m Other related repositories include:[22m[38;2;128;128;128m[76X[38;2;78;78;78m[48;2;38;38;38m
|
||||
11 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [38;2;95;95;175mConsole API Documentation[38;2;128;128;128m[87X[38;2;78;78;78m[48;2;38;38;38m
|
||||
12 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
13 [38;2;128;128;128m[48;2;28;28;28m###[1m[38;2;215;95;0m Build Status[22m[38;2;128;128;128m[100X[38;2;78;78;78m[48;2;38;38;38m
|
||||
14 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
15 [38;2;128;128;128m[48;2;28;28;28mProject|Build Status[96X[38;2;78;78;78m[48;2;38;38;38m
|
||||
16 [38;2;128;128;128m[48;2;28;28;28m---|---[109X[38;2;78;78;78m[48;2;38;38;38m
|
||||
17 [38;2;128;128;128m[48;2;28;28;28mTerminal|[38;2;95;95;175mBuild Status[38;2;128;128;128m[18X[m[18C[77X[77C[38;2;128;128;128m[48;2;28;28;28m[38;2;78;78;78m[48;2;38;38;38m
17 [38;2;128;128;128m[48;2;28;28;28mTerminal|[38;2;95;95;175mBuild Status[38;2;128;128;128m[95X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
18 [38;2;128;128;128m[48;2;28;28;28mColorTool|[106X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
19 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
20 [38;2;128;128;128m[48;2;28;28;28m#[1m[38;2;215;95;0m Terminal & Console Overview[22m[38;2;128;128;128m[87X[38;2;78;78;78m[48;2;38;38;38m
|
||||
21 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
22 [38;2;128;128;128m[48;2;28;28;28mPlease take a few minutes to review the overview below before diving into the code:[33X[38;2;78;78;78m[48;2;38;38;38m
|
||||
23 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
24 [38;2;128;128;128m[48;2;28;28;28m##[1m[38;2;215;95;0m Windows Terminal[22m[38;2;128;128;128m[97X[97C[?2004l[?2004h[?2004l[?2004h[?2004l[?2004h[?2004l[?2004h[?2004l[?2004h[?2004l[?2004h[?2004l[?2004h[?2004l[?2004h[?2004l[?2004h[?2004h[38;2;215;0;0m[48;2;215;95;0m[38;2;0;95;0m[48;2;175;215;0m
|
||||
[1mNORMAL[22m [38;2;175;215;0m[48;2;48;48;48m▶[38;2;158;158;158m ⎇ dev/migrie/f/passthrough-2019 [38;2;48;48;48m[48;2;18;18;18m▶[38;2;255;255;255m [38;2;18;18;18m<[38;2;255;255;255m markdown [38;2;48;48;48m◀[38;2;158;158;158m[48;2;48;48;48m [unix] [38;2;175;215;0m◀[38;2;0;95;0m[48;2;175;215;0m 1,397 words « 3% [1m␊ 6/177 ㏑[22m : 46 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [9]trailing [38;2;215;0;0m◀]0;/mnt/c/Users/migrie/dev/private/OpenConsole/README.md[25l[38;2;255;255;255m[48;2;18;18;18m[38;2;158;158;158m[48;2;48;48;48m[29;11H+0 ~0 -0 ⎇ dev/migrie/f/passthrough-2019 [38;2;48;48;48m[48;2;18;18;18m▶[38;2;255;255;255m <[7;50H[?25h[25l[38;2;128;128;128m[48;2;28;28;28m[30;110H~@k[?25h[25l[38;2;175;0;0m[8;9H[[38;2;95;95;175mColorTool[38;2;175;0;0m]([38;2;0;175;175mhttps://github.com/Microsoft/Terminal/tree/master/src/tools/ColorTool[38;2;175;0;0m)[38;2;128;128;128m[22X[38;2;95;95;175m[9;9HSample projects[38;2;128;128;128m that show how to consume the Window[53X[10;9Hnsole APIs[94X[11;9H[104X[1m[38;2;215;95;0m
|
||||
Other related repositories include:[22m[38;2;128;128;128m[68X[38;2;95;95;175m[13;9HConsole API Documentation[38;2;128;128;128m[79X[14;9H[104X[1m[38;2;215;95;0m
|
||||
Build Status[22m[38;2;128;128;128m[92X[16;9H[104X
|
||||
ect|Build Status[88X[18;9H---[101X[19;9Hinal|[38;2;95;95;175mBuild Status[38;2;128;128;128m[87X[20;9H[104X
|
||||
rTool|[98X[22;9H[104X
|
||||
[104X[1m[38;2;215;95;0m
|
||||
rminal & Console Overview[22m[38;2;128;128;128m[79X[25;9H[104X
|
||||
se take a few minutes to review the overview below before diving into the code:[25X[27;9H[104X[1m[38;2;215;95;0m
|
||||
indows Terminal[22m[38;2;128;128;128m[89X[38;2;175;215;0m[48;2;48;48;48m[29;9H▶[38;2;158;158;158m +0 ~0 -0 ⎇ dev/migrie/f/passthrough-2019 [38;2;48;48;48m[48;2;18;18;18m▶[38;2;255;255;255m < [38;2;48;48;48m◀[38;2;158;158;158m[48;2;48;48;48m [unix] [38;2;175;215;0m◀[38;2;0;95;0m[48;2;175;215;0m 1,397 words « 3% [1m␊ 7/177 ㏑[22m : 46 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [9]tr[38;2;128;128;128m[48;2;28;28;28m[30;9Hmd" 177L, 11259C[88X[8;50H[?25h[25l[30;110H~@k[?25h[25l[38;2;78;78;78m[48;2;38;38;38m[8;1H 7 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [38;2;95;95;175mColorTool[38;2;128;128;128m[103X[38;2;78;78;78m[48;2;38;38;38m
|
||||
8 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [38;2;175;0;0m[[38;2;95;95;175mSample projects[38;2;175;0;0m]([38;2;0;175;175mhttps://github.com/Microsoft/Terminal/tree/master/samples[38;2;175;0;0m)[38;2;128;128;128m that show how to consume the Window[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28ms Console APIs[102X[38;2;78;78;78m[48;2;38;38;38m
|
||||
9 [38;2;28;28;28m[48;2;78;78;78m [38;2;128;128;128m[48;2;28;28;28m[114X[38;2;78;78;78m[48;2;38;38;38m
|
||||
10 [38;2;128;128;128m[48;2;28;28;28m####[1m[38;2;215;95;0m Other related repositories include:[22m[38;2;128;128;128m[76X[38;2;78;78;78m[48;2;38;38;38m
|
||||
11 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [38;2;95;95;175mConsole API Documentation[38;2;128;128;128m[87X[38;2;78;78;78m[48;2;38;38;38m
|
||||
12 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
13 [38;2;128;128;128m[48;2;28;28;28m###[1m[38;2;215;95;0m Build Status[22m[38;2;128;128;128m[100X[38;2;78;78;78m[48;2;38;38;38m
|
||||
14 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
15 [38;2;128;128;128m[48;2;28;28;28mProject|Build Status[96X[38;2;78;78;78m[48;2;38;38;38m
|
||||
16 [38;2;128;128;128m[48;2;28;28;28m---|---[109X[38;2;78;78;78m[48;2;38;38;38m
|
||||
17 [38;2;128;128;128m[48;2;28;28;28mTerminal|[38;2;95;95;175mBuild Status[38;2;128;128;128m[95X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
18 [38;2;128;128;128m[48;2;28;28;28mColorTool|[106X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
19 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
20 [38;2;128;128;128m[48;2;28;28;28m#[1m[38;2;215;95;0m Terminal & Console Overview[22m[38;2;128;128;128m[87X[38;2;78;78;78m[48;2;38;38;38m
|
||||
21 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
22 [38;2;128;128;128m[48;2;28;28;28mPlease take a few minutes to review the overview below before diving into the code:[33X[38;2;78;78;78m[48;2;38;38;38m
|
||||
23 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
24 [38;2;128;128;128m[48;2;28;28;28m##[1m[38;2;215;95;0m Windows Terminal[22m[38;2;128;128;128m[97X[38;2;0;95;0m[48;2;175;215;0m
|
||||
[1mNORMAL[22m [38;2;175;215;0m[48;2;48;48;48m▶[38;2;158;158;158m +0 ~0 -0 ⎇ dev/migrie/f/passthrough-2019 [38;2;48;48;48m[48;2;18;18;18m▶[38;2;255;255;255m < [38;2;48;48;48m◀[38;2;158;158;158m[48;2;48;48;48m [unix] [38;2;175;215;0m◀[38;2;0;95;0m[48;2;175;215;0m 1,397 words « 4% [1m␊ 8/177 ㏑[22m : 46 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [9]trailing [38;2;215;0;0m◀[38;2;128;128;128m[48;2;28;28;28m
|
||||
"README.md" 177L, 11259C[96X[9;50H[?25h[25l[30;110H~@k[?25h[25l[38;2;78;78;78m[48;2;38;38;38m[9;1H 8 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [38;2;95;95;175mSample projects[38;2;128;128;128m that show how to consume the Window[61X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28ms Console APIs[102X[38;2;78;78;78m[48;2;38;38;38m
|
||||
9 [38;2;28;28;28m[48;2;78;78;78m [38;2;128;128;128m[48;2;28;28;28m[114X[38;2;78;78;78m[48;2;38;38;38m
|
||||
10 [38;2;128;128;128m[48;2;28;28;28m####[1m[38;2;215;95;0m Other related repositories include:[22m[38;2;128;128;128m[76X[38;2;78;78;78m[48;2;38;38;38m
|
||||
11 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [38;2;95;95;175mConsole API Documentation[38;2;128;128;128m[87X[38;2;78;78;78m[48;2;38;38;38m
|
||||
12 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
13 [38;2;128;128;128m[48;2;28;28;28m###[1m[38;2;215;95;0m Build Status[22m[38;2;128;128;128m[100X[38;2;78;78;78m[48;2;38;38;38m
|
||||
14 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
15 [38;2;128;128;128m[48;2;28;28;28mProject|Build Status[96X[38;2;78;78;78m[48;2;38;38;38m
|
||||
16 [38;2;128;128;128m[48;2;28;28;28m---|---[109X[38;2;78;78;78m[48;2;38;38;38m
|
||||
17 [38;2;128;128;128m[48;2;28;28;28mTerminal|[38;2;95;95;175mBuild Status[38;2;128;128;128m[95X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
18 [38;2;128;128;128m[48;2;28;28;28mColorTool|[106X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
19 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
20 [38;2;128;128;128m[48;2;28;28;28m#[1m[38;2;215;95;0m Terminal & Console Overview[22m[38;2;128;128;128m[87X[38;2;78;78;78m[48;2;38;38;38m
|
||||
21 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
22 [38;2;128;128;128m[48;2;28;28;28mPlease take a few minutes to review the overview below before diving into the code:[33X[38;2;78;78;78m[48;2;38;38;38m
|
||||
23 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
24 [38;2;128;128;128m[48;2;28;28;28m##[1m[38;2;215;95;0m Windows Terminal[22m[38;2;128;128;128m[97X[38;2;0;95;0m[48;2;175;215;0m
|
||||
[1mNORMAL[22m [38;2;175;215;0m[48;2;48;48;48m▶[38;2;158;158;158m +0 ~0 -0 ⎇ dev/migrie/f/passthrough-2019 [38;2;48;48;48m[48;2;18;18;18m▶[38;2;255;255;255m < [38;2;48;48;48m◀[38;2;158;158;158m[48;2;48;48;48m [unix] [38;2;175;215;0m◀[38;2;0;95;0m[48;2;175;215;0m 1,397 words « 5% [1m␊ 9/177 ㏑[22m : 2 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [9]trailing [38;2;215;0;0m◀[38;2;128;128;128m[48;2;28;28;28m
|
||||
"README.md" 177L, 11259C[96X[11;6H[?25h[25l[30;110H~@k[?25h[25l[38;2;0;95;0m[48;2;175;215;0m[1m[29;89H10/177 ㏑[22m : 40 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [9]tr[38;2;128;128;128m[48;2;28;28;28m[30;89H[24X[12;44H[?25h[25l[30;110H~@k[?25h[25l[38;2;175;0;0m[13;9H[[38;2;95;95;175mConsole API Documentation[38;2;175;0;0m]([38;2;0;175;175mhttps://github.com/MicrosoftDocs/Console-Docs[38;2;175;0;0m)[38;2;128;128;128m[30X[14;9H[104X[1m[38;2;215;95;0m
|
||||
Build Status[22m[38;2;128;128;128m[92X[16;9H[104X
|
||||
ect|Build Status[88X[18;9H---[101X[19;9Hinal|[38;2;95;95;175mBuild Status[38;2;128;128;128m[87X[20;9H[104X
|
||||
rTool|[98X[22;9H[104X
|
||||
[104X[1m[38;2;215;95;0m
|
||||
rminal & Console Overview[22m[38;2;128;128;128m[79X[25;9H[104X
|
||||
se take a few minutes to review the overview below before diving into the code:[25X[27;9H[104X[1m[38;2;215;95;0m
|
||||
indows Terminal[22m[38;2;128;128;128m[89X[38;2;175;215;0m[48;2;48;48;48m[29;9H▶[38;2;158;158;158m +0 ~0 -0 ⎇ dev/migrie/f/passthrough-2019 [38;2;48;48;48m[48;2;18;18;18m▶[38;2;255;255;255m < [38;2;48;48;48m◀[38;2;158;158;158m[48;2;48;48;48m [unix] [38;2;175;215;0m◀[38;2;0;95;0m[48;2;175;215;0m 1,397 words « 6% [1m␊ 11/177 ㏑[22m : 46 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [9]tr[38;2;128;128;128m[48;2;28;28;28m[30;9Hmd" 177L, 11259C[88X[13;50H[?25h[25l[30;110H~@k[?25h[25l[38;2;95;95;175m[13;9HConsole API Documentation[38;2;128;128;128m[79X[14;9H[104X[1m[38;2;215;95;0m
|
||||
Build Status[22m[38;2;128;128;128m[92X[16;9H[104X
|
||||
ect|Build Status[88X[18;9H---[101X[19;9Hinal|[38;2;95;95;175mBuild Status[38;2;128;128;128m[87X[20;9H[104X
|
||||
rTool|[98X[22;9H[104X
|
||||
[104X[1m[38;2;215;95;0m
|
||||
rminal & Console Overview[22m[38;2;128;128;128m[79X[25;9H[104X
|
||||
se take a few minutes to review the overview below before diving into the code:[25X[27;9H[104X[1m[38;2;215;95;0m
|
||||
indows Terminal[22m[38;2;128;128;128m[89X[38;2;175;215;0m[48;2;48;48;48m[29;9H▶[38;2;158;158;158m +0 ~0 -0 ⎇ dev/migrie/f/passthrough-2019 [38;2;48;48;48m[48;2;18;18;18m▶[38;2;255;255;255m < [38;2;48;48;48m◀[38;2;158;158;158m[48;2;48;48;48m [unix] [38;2;175;215;0m◀[38;2;0;95;0m[48;2;175;215;0m 1,397 words « 6% [1m␊ 12/177 ㏑[22m : 1 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [9]tr[38;2;128;128;128m[48;2;28;28;28m[30;9Hmd" 177L, 11259C[88X[14;5H[?25h[25l[30;110H~@k[?25h[25l[38;2;0;95;0m[48;2;175;215;0m[29;83H7% [1m␊ 13/177 ㏑[22m : 16 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [9]tr[38;2;128;128;128m[48;2;28;28;28m[30;83H[30X[15;20H[?25h[25l[30;110H~@k[?25h[25l[38;2;0;95;0m[48;2;175;215;0m[1m[29;90H4/177 ㏑[22m : 1 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [9]tr[38;2;128;128;128m[48;2;28;28;28m[30;90H[23X[16;5H[?25h[25l[30;110H~@k[?25h[25l[38;2;0;95;0m[48;2;175;215;0m[29;83H8% [1m␊ 15/177 ㏑[22m : 20 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [9]tr[38;2;128;128;128m[48;2;28;28;28m[30;83H[30X[17;24H[?25h[25l[30;110H~@k[?25h[25l[38;2;0;95;0m[48;2;175;215;0m[29;83H9% [1m␊ 16/177 ㏑[22m : 7 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [9]tr[38;2;128;128;128m[48;2;28;28;28m[30;83H[30X[18;11H[?25h[25l[30;110H~@k[?25h[25l[38;2;175;0;0m[38;2;78;78;78m[48;2;38;38;38m[19;1H 17 [38;2;128;128;128m[48;2;28;28;28mTerminal|[38;2;175;0;0m[![[38;2;95;95;175mBuild Status[38;2;175;0;0m]([38;2;0;175;175mhttps://dev.azure.com/ms/Terminal/_apis/build/status/Terminal%20CI?branchName=master[38;2;175;0;0m)]([38;2;0;175;175mhtt[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;0;175;175m[48;2;28;28;28mps://dev.azure.com/ms/Terminal/_build?definitionId=136[38;2;175;0;0m)[38;2;128;128;128m[61X[38;2;78;78;78m[48;2;38;38;38m
|
||||
18 [38;2;128;128;128m[48;2;28;28;28mColorTool|[106X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
19 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
20 [38;2;128;128;128m[48;2;28;28;28m#[1m[38;2;215;95;0m Terminal & Console Overview[22m[38;2;128;128;128m[87X[38;2;78;78;78m[48;2;38;38;38m
|
||||
21 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
22 [38;2;128;128;128m[48;2;28;28;28mPlease take a few minutes to review the overview below before diving into the code:[33X[38;2;78;78;78m[48;2;38;38;38m
|
||||
23 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
24 [38;2;128;128;128m[48;2;28;28;28m##[1m[38;2;215;95;0m Windows Terminal[22m[38;2;128;128;128m[97X[38;2;0;95;0m[48;2;175;215;0m
|
||||
[1mNORMAL[22m [38;2;175;215;0m[48;2;48;48;48m▶[38;2;158;158;158m +0 ~0 -0 ⎇ dev/migrie/f/passthrough-2019 [38;2;48;48;48m[48;2;18;18;18m▶[38;2;255;255;255m < [38;2;48;48;48m◀[38;2;158;158;158m[48;2;48;48;48m [unix] [38;2;175;215;0m◀[38;2;0;95;0m[48;2;175;215;0m 1,397 words « 9% [1m␊ 17/177 ㏑[22m : 46 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [9]trailing [38;2;215;0;0m◀[38;2;128;128;128m[48;2;28;28;28m
|
||||
"README.md" 177L, 11259C[96X[19;50H[?25h[25l[30;110H~@k[?25h[25l[38;2;175;0;0m[38;2;78;78;78m[48;2;38;38;38m[19;1H 17 [38;2;128;128;128m[48;2;28;28;28mTerminal|[38;2;95;95;175mBuild Status[38;2;128;128;128m[95X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
18 [38;2;128;128;128m[48;2;28;28;28mColorTool|[38;2;175;0;0m![]([38;2;0;175;175mhttps://microsoft.visualstudio.com/_apis/public/build/definitions/c93e867a-8815-43c1-92c4-e7dd5404f1e1[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;0;175;175m[48;2;28;28;28m/17023/badge[38;2;175;0;0m)[38;2;128;128;128m[103X[38;2;78;78;78m[48;2;38;38;38m
|
||||
19 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
20 [38;2;128;128;128m[48;2;28;28;28m#[1m[38;2;215;95;0m Terminal & Console Overview[22m[38;2;128;128;128m[87X[38;2;78;78;78m[48;2;38;38;38m
|
||||
21 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
22 [38;2;128;128;128m[48;2;28;28;28mPlease take a few minutes to review the overview below before diving into the code:[33X[38;2;78;78;78m[48;2;38;38;38m
|
||||
23 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
24 [38;2;128;128;128m[48;2;28;28;28m##[1m[38;2;215;95;0m Windows Terminal[22m[38;2;128;128;128m[97X[38;2;0;95;0m[48;2;175;215;0m
|
||||
[1mNORMAL[22m [38;2;175;215;0m[48;2;48;48;48m▶[38;2;158;158;158m +0 ~0 -0 ⎇ dev/migrie/f/passthrough-2019 [38;2;48;48;48m[48;2;18;18;18m▶[38;2;255;255;255m < [38;2;48;48;48m◀[38;2;158;158;158m[48;2;48;48;48m [unix] [38;2;175;215;0m◀[38;2;0;95;0m[48;2;175;215;0m 1,397 words « 10% [1m␊ 18/177 ㏑[22m : 46 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [9]trailing [38;2;215;0;0m◀[38;2;128;128;128m[48;2;28;28;28m
|
||||
"README.md" 177L, 11259C[96X[21;50H[?25h[25l[30;110H~@k[?25h[25l[38;2;78;78;78m[48;2;38;38;38m[21;1H 18 [38;2;128;128;128m[48;2;28;28;28mColorTool|[106X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
19 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
20 [38;2;128;128;128m[48;2;28;28;28m#[1m[38;2;215;95;0m Terminal & Console Overview[22m[38;2;128;128;128m[87X[38;2;78;78;78m[48;2;38;38;38m
|
||||
21 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
22 [38;2;128;128;128m[48;2;28;28;28mPlease take a few minutes to review the overview below before diving into the code:[33X[38;2;78;78;78m[48;2;38;38;38m
|
||||
23 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
24 [38;2;128;128;128m[48;2;28;28;28m##[1m[38;2;215;95;0m Windows Terminal[22m[38;2;128;128;128m[97X[38;2;0;95;0m[48;2;175;215;0m
|
||||
[1mNORMAL[22m [38;2;175;215;0m[48;2;48;48;48m▶[38;2;158;158;158m +0 ~0 -0 ⎇ dev/migrie/f/passthrough-2019 [38;2;48;48;48m[48;2;18;18;18m▶[38;2;255;255;255m < [38;2;48;48;48m◀[38;2;158;158;158m[48;2;48;48;48m [unix] [38;2;175;215;0m◀[38;2;0;95;0m[48;2;175;215;0m 1,397 words « 10% [1m␊ 19/177 ㏑[22m : 1 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [9]trailing [38;2;215;0;0m◀[38;2;128;128;128m[48;2;28;28;28m
|
||||
"README.md" 177L, 11259C[96X[23;5H[?25h[25l[30;110H~@k[?25h[25l[38;2;0;95;0m[48;2;175;215;0m[29;83H1% [1m␊ 20/177 ㏑[22m : 29 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [9]tr[38;2;128;128;128m[48;2;28;28;28m[30;83H[30X[24;33H[?25h[25l[30;110H~@k[?25h[25l[38;2;0;95;0m[48;2;175;215;0m[1m[29;90H1/177 ㏑[22m : 1 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [9]tr[38;2;128;128;128m[48;2;28;28;28m[30;90H[23X[25;5H[?25h[25l[30;110H~@k[?25h[25l[38;2;0;95;0m[48;2;175;215;0m[38;2;78;78;78m[48;2;38;38;38m[2;1H 2 [38;2;128;128;128m[48;2;28;28;28m####[1m[38;2;215;95;0m This repository contains the source code for:[22m[38;2;128;128;128m[66X[38;2;78;78;78m[48;2;38;38;38m
|
||||
3 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
4 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m Windows Terminal[96X[38;2;78;78;78m[48;2;38;38;38m
|
||||
5 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m The Windows console host ([38;2;0;175;175mconhost.exe[38;2;128;128;128m)[74X[38;2;78;78;78m[48;2;38;38;38m
|
||||
6 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m Components shared between the two projects[70X[38;2;78;78;78m[48;2;38;38;38m
|
||||
7 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [38;2;95;95;175mColorTool[38;2;128;128;128m[103X[38;2;78;78;78m[48;2;38;38;38m
|
||||
8 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [38;2;95;95;175mSample projects[38;2;128;128;128m that show how to consume the Window[61X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28ms Console APIs[102X[38;2;78;78;78m[48;2;38;38;38m
|
||||
9 [38;2;28;28;28m[48;2;78;78;78m [38;2;128;128;128m[48;2;28;28;28m[114X[38;2;78;78;78m[48;2;38;38;38m
|
||||
10 [38;2;128;128;128m[48;2;28;28;28m####[1m[38;2;215;95;0m Other related repositories include:[22m[38;2;128;128;128m[76X[38;2;78;78;78m[48;2;38;38;38m
|
||||
11 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [38;2;95;95;175mConsole API Documentation[38;2;128;128;128m[87X[38;2;78;78;78m[48;2;38;38;38m
|
||||
12 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
13 [38;2;128;128;128m[48;2;28;28;28m###[1m[38;2;215;95;0m Build Status[22m[38;2;128;128;128m[100X[38;2;78;78;78m[48;2;38;38;38m
|
||||
14 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
15 [38;2;128;128;128m[48;2;28;28;28mProject|Build Status[96X[38;2;78;78;78m[48;2;38;38;38m
|
||||
16 [38;2;128;128;128m[48;2;28;28;28m---|---[109X[38;2;78;78;78m[48;2;38;38;38m
|
||||
17 [38;2;128;128;128m[48;2;28;28;28mTerminal|[38;2;95;95;175mBuild Status[38;2;128;128;128m[95X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
18 [38;2;128;128;128m[48;2;28;28;28mColorTool|[106X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
19 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
20 [38;2;128;128;128m[48;2;28;28;28m#[1m[38;2;215;95;0m Terminal & Console Overview[22m[38;2;128;128;128m[87X[38;2;78;78;78m[48;2;38;38;38m
|
||||
21 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
22 [38;2;128;128;128m[48;2;28;28;28mPlease take a few minutes to review the overview below before diving into the code:[33X[38;2;78;78;78m[48;2;38;38;38m
|
||||
23 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
24 [38;2;128;128;128m[48;2;28;28;28m##[1m[38;2;215;95;0m Windows Terminal[22m[38;2;128;128;128m[97X[38;2;78;78;78m[48;2;38;38;38m
|
||||
25 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;0;95;0m[48;2;175;215;0m
|
||||
[1mNORMAL[22m [38;2;175;215;0m[48;2;48;48;48m▶[38;2;158;158;158m +0 ~0 -0 ⎇ dev/migrie/f/passthrough-2019 [38;2;48;48;48m[48;2;18;18;18m▶[38;2;255;255;255m < [38;2;48;48;48m◀[38;2;158;158;158m[48;2;48;48;48m [unix] [38;2;175;215;0m◀[38;2;0;95;0m[48;2;175;215;0m 1,397 words « 12% [1m␊ 22/177 ㏑[22m : 46 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [9]trailing [38;2;215;0;0m◀[38;2;128;128;128m[48;2;28;28;28m
|
||||
[120X[25;50H[?25h[25l[30;110H~@k[?25h[25l[38;2;0;95;0m[48;2;175;215;0m[38;2;78;78;78m[48;2;38;38;38m[2;1H 5 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m The Windows console host ([38;2;0;175;175mconhost.exe[38;2;128;128;128m)[74X[38;2;78;78;78m[48;2;38;38;38m
|
||||
6 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m Components shared between the two projects[70X[38;2;78;78;78m[48;2;38;38;38m
|
||||
7 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [38;2;95;95;175mColorTool[38;2;128;128;128m[103X[38;2;78;78;78m[48;2;38;38;38m
|
||||
8 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [38;2;95;95;175mSample projects[38;2;128;128;128m that show how to consume the Window[61X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28ms Console APIs[102X[38;2;78;78;78m[48;2;38;38;38m
|
||||
9 [38;2;28;28;28m[48;2;78;78;78m [38;2;128;128;128m[48;2;28;28;28m[114X[38;2;78;78;78m[48;2;38;38;38m
|
||||
10 [38;2;128;128;128m[48;2;28;28;28m####[1m[38;2;215;95;0m Other related repositories include:[22m[38;2;128;128;128m[76X[38;2;78;78;78m[48;2;38;38;38m
|
||||
11 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [38;2;95;95;175mConsole API Documentation[38;2;128;128;128m[87X[38;2;78;78;78m[48;2;38;38;38m
|
||||
12 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
13 [38;2;128;128;128m[48;2;28;28;28m###[1m[38;2;215;95;0m Build Status[22m[38;2;128;128;128m[100X[38;2;78;78;78m[48;2;38;38;38m
|
||||
14 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
15 [38;2;128;128;128m[48;2;28;28;28mProject|Build Status[96X[38;2;78;78;78m[48;2;38;38;38m
|
||||
16 [38;2;128;128;128m[48;2;28;28;28m---|---[109X[38;2;78;78;78m[48;2;38;38;38m
|
||||
17 [38;2;128;128;128m[48;2;28;28;28mTerminal|[38;2;95;95;175mBuild Status[38;2;128;128;128m[95X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
18 [38;2;128;128;128m[48;2;28;28;28mColorTool|[106X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
19 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
20 [38;2;128;128;128m[48;2;28;28;28m#[1m[38;2;215;95;0m Terminal & Console Overview[22m[38;2;128;128;128m[87X[38;2;78;78;78m[48;2;38;38;38m
|
||||
21 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
22 [38;2;128;128;128m[48;2;28;28;28mPlease take a few minutes to review the overview below before diving into the code:[33X[38;2;78;78;78m[48;2;38;38;38m
|
||||
23 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
24 [38;2;128;128;128m[48;2;28;28;28m##[1m[38;2;215;95;0m Windows Terminal[22m[38;2;128;128;128m[97X[38;2;78;78;78m[48;2;38;38;38m
|
||||
25 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
26 [38;2;128;128;128m[48;2;28;28;28mWindows Terminal is a new, modern, feature-rich, productive terminal application for command-line users. It includes[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28m many of the features most frequently requested by the Windows command-line community including support for tabs, ri[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28mch text, globalization, configurability, theming & styling, and more.[47X[38;2;0;95;0m[48;2;175;215;0m
|
||||
[1mNORMAL[22m [38;2;175;215;0m[48;2;48;48;48m▶[38;2;158;158;158m +0 ~0 -0 ⎇ dev/migrie/f/passthrough-2019 [38;2;48;48;48m[48;2;18;18;18m▶[38;2;255;255;255m < [38;2;48;48;48m◀[38;2;158;158;158m[48;2;48;48;48m [unix] [38;2;175;215;0m◀[38;2;0;95;0m[48;2;175;215;0m 1,397 words « 12% [1m␊ 23/177 ㏑[22m : 1 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [9]trailing [38;2;215;0;0m◀[38;2;128;128;128m[48;2;28;28;28m
|
||||
[120X[23;5H[?25h[25l[30;110H~@k[?25h[25l[38;2;0;95;0m[48;2;175;215;0m[29;83H3% [1m␊ 24/177 ㏑[22m : 19 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [9]tr[38;2;128;128;128m[48;2;28;28;28m[30;83H[30X[24;23H[?25h[25l[38;2;8;8;8m[48;2;215;95;0m[38;2;48;48;48m[48;2;18;18;18m[29;55H◀[38;2;158;158;158m[48;2;48;48;48m [unix] [38;2;175;215;0m◀[38;2;0;95;0m[48;2;175;215;0m 1,397 words « 13% [1m␊ 24/177 ㏑[22m : 19 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [64[24;23H[?25h[25l[38;2;128;128;128m[48;2;28;28;28m[30;110H~@k[?25h[25l[38;2;0;95;0m[48;2;175;215;0m[38;2;78;78;78m[48;2;38;38;38m[2;1H 1 [38;2;128;128;128m[48;2;28;28;28m#[1m[38;2;215;95;0m Welcome\! [22m[38;2;128;128;128m[104X[38;2;78;78;78m[48;2;38;38;38m
|
||||
2 [38;2;128;128;128m[48;2;28;28;28m####[1m[38;2;215;95;0m This repository contains the source code for:[22m[38;2;128;128;128m[66X[38;2;78;78;78m[48;2;38;38;38m
|
||||
3 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
4 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m Windows Terminal[96X[38;2;78;78;78m[48;2;38;38;38m
|
||||
5 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m The Windows console host ([38;2;0;175;175mconhost.exe[38;2;128;128;128m)[74X[38;2;78;78;78m[48;2;38;38;38m
|
||||
6 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m Components shared between the two projects[70X[38;2;78;78;78m[48;2;38;38;38m
|
||||
7 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [38;2;95;95;175mColorTool[38;2;128;128;128m[103X[38;2;78;78;78m[48;2;38;38;38m
|
||||
8 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [38;2;95;95;175mSample projects[38;2;128;128;128m that show how to consume the Window[61X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28ms Console APIs[102X[38;2;78;78;78m[48;2;38;38;38m
|
||||
9 [38;2;28;28;28m[48;2;78;78;78m [38;2;128;128;128m[48;2;28;28;28m[114X[38;2;78;78;78m[48;2;38;38;38m
|
||||
10 [38;2;128;128;128m[48;2;28;28;28m####[1m[38;2;215;95;0m Other related repositories include:[22m[38;2;128;128;128m[76X[38;2;78;78;78m[48;2;38;38;38m
|
||||
11 [38;2;0;135;255m[48;2;28;28;28m *[38;2;128;128;128m [38;2;95;95;175mConsole API Documentation[38;2;128;128;128m[87X[38;2;78;78;78m[48;2;38;38;38m
|
||||
12 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
13 [38;2;128;128;128m[48;2;28;28;28m###[1m[38;2;215;95;0m Build Status[22m[38;2;128;128;128m[100X[38;2;78;78;78m[48;2;38;38;38m
|
||||
14 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
15 [38;2;128;128;128m[48;2;28;28;28mProject|Build Status[96X[38;2;78;78;78m[48;2;38;38;38m
|
||||
16 [38;2;128;128;128m[48;2;28;28;28m---|---[109X[38;2;78;78;78m[48;2;38;38;38m
|
||||
17 [38;2;128;128;128m[48;2;28;28;28mTerminal|[38;2;95;95;175mBuild Status[38;2;128;128;128m[95X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
18 [38;2;128;128;128m[48;2;28;28;28mColorTool|[106X[38;2;78;78;78m[48;2;38;38;38m
|
||||
[38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
19 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
20 [38;2;128;128;128m[48;2;28;28;28m#[1m[38;2;215;95;0m Terminal & Console Overview[22m[38;2;128;128;128m[87X[38;2;78;78;78m[48;2;38;38;38m
|
||||
21 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
22 [38;2;128;128;128m[48;2;28;28;28mPlease take a few minutes to review the overview below before diving into the code:[33X[38;2;78;78;78m[48;2;38;38;38m
|
||||
23 [38;2;128;128;128m[48;2;28;28;28m[116X[38;2;78;78;78m[48;2;38;38;38m
|
||||
24 [38;2;128;128;128m[48;2;28;28;28m##[1m[38;2;215;95;0m Windows Terminal[22m[38;2;128;128;128m[97X[38;2;0;95;0m[48;2;175;215;0m
|
||||
[1mNORMAL[22m [38;2;175;215;0m[48;2;48;48;48m▶[38;2;158;158;158m +0 ~0 -0 ⎇ dev/migrie/f/passthrough-2019 [38;2;48;48;48m[48;2;18;18;18m▶[38;2;255;255;255m <[38;2;48;48;48m◀[38;2;158;158;158m[48;2;48;48;48m [unix] [38;2;175;215;0m◀[38;2;0;95;0m[48;2;175;215;0m 1,397 words « 3% [1m␊ 6/177 ㏑[22m : 3 [38;2;215;95;0m◀[38;2;8;8;8m[48;2;215;95;0m Ξ [64]trailing [38;2;215;0;0m◀[38;2;128;128;128m[48;2;28;28;28m
|
||||
[120X[7;7H[?25h[25l[30;110H^[[7;7H[?25h[25l[30;110H [7;7H[?25h[25l[?2004h[30;1H:[109X[?25hq
[?2004l]0;[?2004l[120X[120C[25l[23;0;0t[m[HMicrosoft Windows [Version 10.0.18936.1001][77X
|
||||
(c) 2019 Microsoft Corporation. All rights reserved.[68X
|
||||
[120X[30m[107m
|
||||
[12:00:25.93][97m[46m>c:\Users\migrie\dev\private\OpenConsole[36m[49m>[m[66X[35m
|
||||
[1][m [43m[dev/migrie/f/passthrough-2019][m [94mmigrie[m@[32mMIGRIE-SURFBOOK[m>wsl.exe[54X[92m
|
||||
zadjii@migrie-surfbook[m:[94m/mnt/c/Users/migrie/dev/private/OpenConsole[m$ vi README.md [39X[92m
|
||||
zadjii@migrie-surfbook[m:[94m/mnt/c/Users/migrie/dev/private/OpenConsole[m$ [52X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X
|
||||
[120X[7;69H]0;zadjii@migrie-surfbook: /mnt/c/Users/migrie/dev/private/OpenConsole[?25h
|
9
passthough.txt
Normal file
9
passthough.txt
Normal file
File diff suppressed because one or more lines are too long
38
passthrough001.txt
Normal file
38
passthrough001.txt
Normal file
File diff suppressed because one or more lines are too long
|
@ -77,7 +77,28 @@ VtInputThread::VtInputThread(_In_ wil::unique_hfile hPipe,
|
|||
{
|
||||
return S_FALSE;
|
||||
}
|
||||
_pInputStateMachine->ProcessString(pwsSequence.get(), cchSequence);
|
||||
|
||||
CONSOLE_INFORMATION& gci = ServiceLocator::LocateGlobals().getConsoleInformation();
|
||||
if (gci.GetVtIo()->IsInPassthroughMode())
|
||||
{
|
||||
try
|
||||
{
|
||||
std::deque<std::unique_ptr<IInputEvent>> inputEvents;
|
||||
for (size_t i = 0; i < cchSequence; i++)
|
||||
{
|
||||
inputEvents.push_back(std::make_unique<KeyEvent>(true, 1ui16, 0ui16, 0ui16, pwsSequence[i], 0));
|
||||
}
|
||||
gci.GetActiveInputBuffer()->Write(inputEvents);
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
LOG_HR(wil::ResultFromCaughtException());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_pInputStateMachine->ProcessString(pwsSequence.get(), cchSequence);
|
||||
}
|
||||
}
|
||||
CATCH_RETURN();
|
||||
|
||||
|
|
|
@ -397,3 +397,18 @@ void VtIo::_ShutdownIfNeeded()
|
|||
ServiceLocator::RundownAndExit(ERROR_BROKEN_PIPE);
|
||||
}
|
||||
}
|
||||
|
||||
void VtIo::SetPassthroughMode(const bool enable)
|
||||
{
|
||||
_pVtRenderEngine->SetPassthroughMode(enable);
|
||||
}
|
||||
bool VtIo::IsInPassthroughMode()
|
||||
{
|
||||
return _pVtRenderEngine->IsInPassthroughMode();
|
||||
}
|
||||
void VtIo::PassthroughString(std::wstring_view view)
|
||||
{
|
||||
std::wstring wstr{ view };
|
||||
// LOG_IF_FAILED(_pVtRenderEngine->WriteTerminalW(wstr));
|
||||
_pVtRenderEngine->PassthroughString(wstr);
|
||||
}
|
||||
|
|
|
@ -36,6 +36,10 @@ namespace Microsoft::Console::VirtualTerminal
|
|||
void CloseInput() override;
|
||||
void CloseOutput() override;
|
||||
|
||||
void SetPassthroughMode(const bool enable);
|
||||
void PassthroughString(std::wstring_view view);
|
||||
bool IsInPassthroughMode();
|
||||
|
||||
private:
|
||||
// After CreateIoHandlers is called, these will be invalid.
|
||||
wil::unique_hfile _hInput;
|
||||
|
|
|
@ -941,6 +941,17 @@ using Microsoft::Console::VirtualTerminal::StateMachine;
|
|||
const DWORD dwFlags,
|
||||
_Inout_opt_ PSHORT const psScrollY)
|
||||
{
|
||||
CONSOLE_INFORMATION& gci = ServiceLocator::LocateGlobals().getConsoleInformation();
|
||||
if (gci.IsInVtIoMode() && gci.GetVtIo()->IsInPassthroughMode())
|
||||
// if (WI_IsFlagSet(screenInfo.OutputMode, ENABLE_PASSTHROUGH_MODE))
|
||||
{
|
||||
const size_t BufferSize = *pcb;
|
||||
const size_t cch = BufferSize / sizeof(WCHAR);
|
||||
gci.GetVtIo()->PassthroughString({ pwchRealUnicode, cch });
|
||||
// *pcb += BufferSize;
|
||||
// return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
if (!WI_IsFlagSet(screenInfo.OutputMode, ENABLE_VIRTUAL_TERMINAL_PROCESSING) ||
|
||||
!WI_IsFlagSet(screenInfo.OutputMode, ENABLE_PROCESSED_OUTPUT))
|
||||
{
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#define VALID_TEXT_ATTRIBUTES (FG_ATTRS | BG_ATTRS | META_ATTRS)
|
||||
|
||||
#define INPUT_MODES (ENABLE_LINE_INPUT | ENABLE_PROCESSED_INPUT | ENABLE_ECHO_INPUT | ENABLE_WINDOW_INPUT | ENABLE_MOUSE_INPUT | ENABLE_VIRTUAL_TERMINAL_INPUT)
|
||||
#define OUTPUT_MODES (ENABLE_PROCESSED_OUTPUT | ENABLE_WRAP_AT_EOL_OUTPUT | ENABLE_VIRTUAL_TERMINAL_PROCESSING | DISABLE_NEWLINE_AUTO_RETURN | ENABLE_LVB_GRID_WORLDWIDE)
|
||||
#define OUTPUT_MODES (ENABLE_PROCESSED_OUTPUT | ENABLE_WRAP_AT_EOL_OUTPUT | ENABLE_VIRTUAL_TERMINAL_PROCESSING | DISABLE_NEWLINE_AUTO_RETURN | ENABLE_LVB_GRID_WORLDWIDE | ENABLE_PASSTHROUGH_MODE)
|
||||
#define PRIVATE_MODES (ENABLE_INSERT_MODE | ENABLE_QUICK_EDIT_MODE | ENABLE_AUTO_POSITION | ENABLE_EXTENDED_FLAGS)
|
||||
|
||||
using namespace Microsoft::Console::Types;
|
||||
|
@ -394,7 +394,14 @@ void ApiRoutines::GetNumberOfConsoleMouseButtonsImpl(ULONG& buttons) noexcept
|
|||
|
||||
SCREEN_INFORMATION& screenInfo = context.GetActiveBuffer();
|
||||
const DWORD dwOldMode = screenInfo.OutputMode;
|
||||
const DWORD dwNewMode = mode;
|
||||
DWORD preprocessNewMode = mode;
|
||||
|
||||
if (!gci.IsInVtIoMode() &&
|
||||
(WI_IsFlagSet(preprocessNewMode, ENABLE_PASSTHROUGH_MODE)))
|
||||
{
|
||||
WI_ClearFlag(preprocessNewMode, ENABLE_PASSTHROUGH_MODE);
|
||||
}
|
||||
const DWORD dwNewMode = preprocessNewMode;
|
||||
|
||||
screenInfo.OutputMode = dwNewMode;
|
||||
|
||||
|
@ -413,6 +420,31 @@ void ApiRoutines::GetNumberOfConsoleMouseButtonsImpl(ULONG& buttons) noexcept
|
|||
screenInfo.SetDefaultVtTabStops();
|
||||
}
|
||||
|
||||
if (gci.IsInVtIoMode())
|
||||
{
|
||||
// if we're moving from passthrough on->off
|
||||
if (WI_IsFlagClear(dwNewMode, ENABLE_PASSTHROUGH_MODE) &&
|
||||
WI_IsFlagSet(dwOldMode, ENABLE_PASSTHROUGH_MODE))
|
||||
{
|
||||
gci.GetVtIo()->SetPassthroughMode(false);
|
||||
// Trigger a redaw all, to sync us back up.
|
||||
ServiceLocator::LocateGlobals().pRender->TriggerRedrawAll();
|
||||
}
|
||||
// if we're moving from passthrough off->on
|
||||
else if (WI_IsFlagSet(dwNewMode, ENABLE_PASSTHROUGH_MODE) &&
|
||||
WI_IsFlagClear(dwOldMode, ENABLE_PASSTHROUGH_MODE))
|
||||
{
|
||||
// DebugBreak();
|
||||
// Trigger a frame NOW, to flush any state since the last frame
|
||||
RECT dummy{ 0 };
|
||||
// ServiceLocator::LocateGlobals().pRender->TriggerSystemRedraw(&dummy);
|
||||
// ServiceLocator::LocateGlobals().pRender->WaitForPaintCompletion(1000);
|
||||
LOG_IF_FAILED(ServiceLocator::LocateGlobals().pRender->PaintFrame());
|
||||
gci.GetVtIo()->SetPassthroughMode(true);
|
||||
ServiceLocator::LocateGlobals().pRender->WaitForPaintCompletion(1000);
|
||||
}
|
||||
}
|
||||
|
||||
gci.SetVirtTermLevel(WI_IsFlagSet(dwNewMode, ENABLE_VIRTUAL_TERMINAL_PROCESSING) ? 1 : 0);
|
||||
gci.SetAutomaticReturnOnNewline(WI_IsFlagSet(screenInfo.OutputMode, DISABLE_NEWLINE_AUTO_RETURN) ? false : true);
|
||||
gci.SetGridRenderingAllowedWorldwide(WI_IsFlagSet(screenInfo.OutputMode, ENABLE_LVB_GRID_WORLDWIDE));
|
||||
|
|
|
@ -71,6 +71,9 @@ Revision History:
|
|||
#define CONSOLE_SUSPENDED (CONSOLE_OUTPUT_SUSPENDED)
|
||||
// clang-format on
|
||||
|
||||
// ENABLE_LVB_GRID_WORLDWIDE is 0x0010
|
||||
#define ENABLE_PASSTHROUGH_MODE 0x0020
|
||||
|
||||
class COOKED_READ_DATA;
|
||||
class CommandHistory;
|
||||
|
||||
|
|
|
@ -507,6 +507,11 @@ void Renderer::WaitForPaintCompletionAndDisable(const DWORD dwTimeoutMs)
|
|||
_pThread->WaitForPaintCompletionAndDisable(dwTimeoutMs);
|
||||
}
|
||||
|
||||
void Renderer::WaitForPaintCompletion(const DWORD dwTimeoutMs)
|
||||
{
|
||||
_pThread->WaitForPaintCompletion(dwTimeoutMs);
|
||||
}
|
||||
|
||||
// Routine Description:
|
||||
// - Paint helper to fill in the background color of the invalid area within the frame.
|
||||
// Arguments:
|
||||
|
|
|
@ -73,6 +73,7 @@ namespace Microsoft::Console::Render
|
|||
|
||||
void EnablePainting() override;
|
||||
void WaitForPaintCompletionAndDisable(const DWORD dwTimeoutMs) override;
|
||||
void WaitForPaintCompletion(const DWORD dwTimeoutMs) override;
|
||||
|
||||
void AddRenderEngine(_In_ IRenderEngine* const pEngine) override;
|
||||
|
||||
|
|
|
@ -242,3 +242,8 @@ void RenderThread::WaitForPaintCompletionAndDisable(const DWORD dwTimeoutMs)
|
|||
ResetEvent(_hPaintEnabledEvent);
|
||||
WaitForSingleObject(_hPaintCompletedEvent, dwTimeoutMs);
|
||||
}
|
||||
|
||||
void RenderThread::WaitForPaintCompletion(const DWORD dwTimeoutMs)
|
||||
{
|
||||
WaitForSingleObject(_hPaintCompletedEvent, dwTimeoutMs);
|
||||
}
|
||||
|
|
|
@ -31,6 +31,7 @@ namespace Microsoft::Console::Render
|
|||
|
||||
void EnablePainting() override;
|
||||
void WaitForPaintCompletionAndDisable(const DWORD dwTimeoutMs) override;
|
||||
void WaitForPaintCompletion(const DWORD dwTimeoutMs) override;
|
||||
|
||||
private:
|
||||
static DWORD WINAPI s_ThreadProc(_In_ LPVOID lpParameter);
|
||||
|
|
|
@ -22,6 +22,7 @@ namespace Microsoft::Console::Render
|
|||
virtual void NotifyPaint() = 0;
|
||||
virtual void EnablePainting() = 0;
|
||||
virtual void WaitForPaintCompletionAndDisable(const DWORD dwTimeoutMs) = 0;
|
||||
virtual void WaitForPaintCompletion(const DWORD dwTimeoutMs) = 0;
|
||||
};
|
||||
|
||||
inline Microsoft::Console::Render::IRenderThread::~IRenderThread(){};
|
||||
|
|
|
@ -54,6 +54,7 @@ namespace Microsoft::Console::Render
|
|||
|
||||
virtual void EnablePainting() = 0;
|
||||
virtual void WaitForPaintCompletionAndDisable(const DWORD dwTimeoutMs) = 0;
|
||||
virtual void WaitForPaintCompletion(const DWORD dwTimeoutMs) = 0;
|
||||
|
||||
virtual void AddRenderEngine(_In_ IRenderEngine* const pEngine) = 0;
|
||||
};
|
||||
|
|
|
@ -40,7 +40,11 @@ XtermEngine::XtermEngine(_In_ wil::unique_hfile hPipe,
|
|||
// the pipe.
|
||||
[[nodiscard]] HRESULT XtermEngine::StartPaint() noexcept
|
||||
{
|
||||
RETURN_IF_FAILED(VtEngine::StartPaint());
|
||||
const auto hr = VtEngine::StartPaint();
|
||||
if (hr == S_FALSE)
|
||||
{
|
||||
return hr;
|
||||
}
|
||||
|
||||
_trace.TraceLastText(_lastText);
|
||||
|
||||
|
|
|
@ -24,6 +24,10 @@ using namespace Microsoft::Console::Types;
|
|||
{
|
||||
return S_FALSE;
|
||||
}
|
||||
if (_passthroughMode)
|
||||
{
|
||||
return S_FALSE;
|
||||
}
|
||||
|
||||
// If there's nothing to do, quick return
|
||||
bool somethingToDo = _fInvalidRectUsed ||
|
||||
|
|
|
@ -417,3 +417,19 @@ HRESULT VtEngine::RequestCursor() noexcept
|
|||
RETURN_IF_FAILED(_Flush());
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
void VtEngine::SetPassthroughMode(const bool enable)
|
||||
{
|
||||
_passthroughMode = enable;
|
||||
}
|
||||
|
||||
void VtEngine::PassthroughString(const std::wstring& wstr)
|
||||
{
|
||||
LOG_IF_FAILED(WriteTerminalW(wstr));
|
||||
LOG_IF_FAILED(_Flush());
|
||||
}
|
||||
|
||||
bool VtEngine::IsInPassthroughMode()
|
||||
{
|
||||
return _passthroughMode;
|
||||
}
|
||||
|
|
|
@ -95,6 +95,10 @@ namespace Microsoft::Console::Render
|
|||
|
||||
void SetTerminalOwner(Microsoft::Console::ITerminalOwner* const terminalOwner);
|
||||
|
||||
void SetPassthroughMode(const bool enable);
|
||||
void PassthroughString(const std::wstring& wstr);
|
||||
bool IsInPassthroughMode();
|
||||
|
||||
protected:
|
||||
wil::unique_hfile _hFile;
|
||||
std::string _buffer;
|
||||
|
@ -133,6 +137,8 @@ namespace Microsoft::Console::Render
|
|||
|
||||
Microsoft::Console::VirtualTerminal::RenderTracing _trace;
|
||||
|
||||
bool _passthroughMode{ false };
|
||||
|
||||
[[nodiscard]] HRESULT _Write(std::string_view const str) noexcept;
|
||||
[[nodiscard]] HRESULT _WriteFormattedString(const std::string* const pFormat, ...) noexcept;
|
||||
[[nodiscard]] HRESULT _Flush() noexcept;
|
||||
|
|
|
@ -2,9 +2,178 @@
|
|||
// Licensed under the MIT license.
|
||||
|
||||
#include <windows.h>
|
||||
#include <wil\Common.h>
|
||||
#include <wil\result.h>
|
||||
#include <wil\resource.h>
|
||||
#include <wil\wistd_functional.h>
|
||||
#include <wil\wistd_memory.h>
|
||||
#include <stdlib.h> /* srand, rand */
|
||||
#include <time.h> /* time */
|
||||
#include <conio.h>
|
||||
#include <deque>
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
#include <string>
|
||||
#include <sstream>
|
||||
#include <assert.h>
|
||||
|
||||
#define ENABLE_PASSTHROUGH_MODE 0x0020
|
||||
|
||||
std::string csi(std::string seq)
|
||||
{
|
||||
std::string fullSeq = "\x1b[";
|
||||
fullSeq += seq;
|
||||
return fullSeq;
|
||||
}
|
||||
|
||||
std::string osc(std::string seq)
|
||||
{
|
||||
std::string fullSeq = "\x1b]";
|
||||
fullSeq += seq;
|
||||
fullSeq += "\x7";
|
||||
return fullSeq;
|
||||
}
|
||||
|
||||
void testOutput()
|
||||
{
|
||||
wprintf(L"Attempting to start passthrough mode...\n");
|
||||
auto hOut = GetStdHandle(STD_OUTPUT_HANDLE);
|
||||
|
||||
DWORD dwMode = 0;
|
||||
THROW_LAST_ERROR_IF(!GetConsoleMode(hOut, &dwMode));
|
||||
|
||||
wprintf(L"Original Mode: 0x%x\n", dwMode);
|
||||
dwMode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING;
|
||||
dwMode |= DISABLE_NEWLINE_AUTO_RETURN;
|
||||
dwMode |= ENABLE_PASSTHROUGH_MODE;
|
||||
|
||||
wprintf(L"Requested Mode: 0x%x\n", dwMode);
|
||||
THROW_LAST_ERROR_IF(!SetConsoleMode(hOut, dwMode));
|
||||
|
||||
DWORD roundtripMode = 0;
|
||||
THROW_LAST_ERROR_IF(!GetConsoleMode(hOut, &roundtripMode));
|
||||
wprintf(L"Rountripped Mode: 0x%x\n", dwMode);
|
||||
|
||||
if (roundtripMode != dwMode)
|
||||
{
|
||||
wprintf(L"Mode did not rountrip\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
wprintf(L"Mode rountripped successfully\n");
|
||||
}
|
||||
|
||||
wprintf(L"Press a key to continue\n");
|
||||
_getch();
|
||||
|
||||
wprintf(L"We're going to write some VT straight to the terminal\n");
|
||||
|
||||
printf(csi("31m").c_str());
|
||||
printf(osc("0;Title:foo").c_str());
|
||||
wprintf(L"Press a key to continue\n");
|
||||
_getch();
|
||||
|
||||
printf(csi("0m").c_str());
|
||||
wprintf(L"Time for something more complicated...\n");
|
||||
Sleep(500);
|
||||
printf(csi("2;1H").c_str());
|
||||
printf(csi("44m").c_str());
|
||||
printf(csi("K").c_str());
|
||||
Sleep(500);
|
||||
|
||||
printf(csi("9;1H").c_str());
|
||||
printf(csi("46m").c_str());
|
||||
printf(csi("K").c_str());
|
||||
Sleep(500);
|
||||
|
||||
printf(csi("3;8r").c_str());
|
||||
printf(csi("3;1H").c_str());
|
||||
printf(csi("0m").c_str());
|
||||
Sleep(500);
|
||||
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
wprintf(L"Print in the margins %d\n", i);
|
||||
Sleep(500);
|
||||
}
|
||||
|
||||
printf(csi("r").c_str());
|
||||
wprintf(L"Press a key to continue\n");
|
||||
_getch();
|
||||
}
|
||||
|
||||
void launchChild(int argc, WCHAR* argv[])
|
||||
{
|
||||
auto hOut = GetStdHandle(STD_OUTPUT_HANDLE);
|
||||
auto hIn = GetStdHandle(STD_INPUT_HANDLE);
|
||||
|
||||
DWORD dwMode = 0;
|
||||
THROW_LAST_ERROR_IF(!GetConsoleMode(hOut, &dwMode));
|
||||
dwMode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING;
|
||||
dwMode |= DISABLE_NEWLINE_AUTO_RETURN;
|
||||
dwMode |= ENABLE_PASSTHROUGH_MODE;
|
||||
THROW_LAST_ERROR_IF(!SetConsoleMode(hOut, dwMode));
|
||||
|
||||
DWORD dwInMode = 0;
|
||||
GetConsoleMode(hIn, &dwInMode);
|
||||
dwInMode = ENABLE_VIRTUAL_TERMINAL_INPUT;
|
||||
SetConsoleMode(hIn, dwInMode);
|
||||
|
||||
std::wstring commandline = L"";
|
||||
for (int i = 0; i < argc; i++)
|
||||
{
|
||||
commandline += (argv[i]);
|
||||
commandline += (L" ");
|
||||
}
|
||||
|
||||
std::unique_ptr<wchar_t[]> mutableCommandline = std::make_unique<wchar_t[]>(commandline.length() + 1);
|
||||
THROW_IF_NULL_ALLOC(mutableCommandline);
|
||||
|
||||
HRESULT hr = StringCchCopy(mutableCommandline.get(), commandline.length() + 1, commandline.c_str());
|
||||
THROW_IF_FAILED(hr);
|
||||
|
||||
STARTUPINFO si = { 0 };
|
||||
si.cb = sizeof(STARTUPINFOW);
|
||||
PROCESS_INFORMATION _piClient;
|
||||
|
||||
bool fSuccess = !!CreateProcessW(
|
||||
nullptr,
|
||||
mutableCommandline.get(),
|
||||
nullptr, // lpProcessAttributes
|
||||
nullptr, // lpThreadAttributes
|
||||
true, // bInheritHandles
|
||||
false, // dwCreationFlags
|
||||
nullptr, // lpEnvironment
|
||||
nullptr, // lpCurrentDirectory
|
||||
&si, // lpStartupInfo
|
||||
&_piClient // lpProcessInformation
|
||||
);
|
||||
THROW_LAST_ERROR_IF(!fSuccess);
|
||||
|
||||
// Sleep(10000);
|
||||
WaitForSingleObject(_piClient.hProcess, INFINITE);
|
||||
}
|
||||
|
||||
// This wmain exists for help in writing scratch programs while debugging.
|
||||
int __cdecl wmain(int /*argc*/, WCHAR* /*argv[]*/)
|
||||
int __cdecl wmain(int argc, WCHAR* argv[])
|
||||
{
|
||||
for (int i = 0; i < argc; i++)
|
||||
{
|
||||
wprintf(argv[i]);
|
||||
wprintf(L" ");
|
||||
}
|
||||
|
||||
if (argc > 1)
|
||||
{
|
||||
std::wstring arg1 = argv[1];
|
||||
if (arg1 == L"--test")
|
||||
{
|
||||
testOutput();
|
||||
}
|
||||
else if (arg1 == L"--")
|
||||
{
|
||||
launchChild(argc - 2, &argv[2]);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
5
tools/bzcon.cmd
Normal file
5
tools/bzcon.cmd
Normal file
|
@ -0,0 +1,5 @@
|
|||
@echo off
|
||||
|
||||
"%msbuild%" Openconsole.sln /t:Conhost\Host_EXE /m /p:Configuration=Debug /p:Platform=%ARCH%
|
||||
|
||||
:eof
|
24
tools/scratch.cmd
Normal file
24
tools/scratch.cmd
Normal file
|
@ -0,0 +1,24 @@
|
|||
@echo off
|
||||
|
||||
rem openvt - launch the vtterm binary
|
||||
rem Runs the VtPipeTerm.exe binary generated by the build in the debug directory.
|
||||
rem Passes any args along.
|
||||
|
||||
setlocal
|
||||
set _last_build=%OPENCON%\bin\%ARCH%\%_LAST_BUILD_CONF%
|
||||
|
||||
if not exist %_last_build%\scratch.exe (
|
||||
echo Could not locate the scratch.exe in %_last_build%. Double check that it has been built and try again.
|
||||
goto :eof
|
||||
)
|
||||
|
||||
set _r=%random%
|
||||
set copy_dir=OpenConsole\%_r%
|
||||
rem Generate a unique name, so that we can debug multiple revisions of the binary at the same time if needed.
|
||||
|
||||
(xcopy /Y %_last_build%\OpenConsole.exe %TEMP%\%copy_dir%\conhost.exe*) > nul
|
||||
(xcopy /Y %_last_build%\console.dll %TEMP%\%copy_dir%\console.dll*) > nul
|
||||
(xcopy /Y %_last_build%\scratch.exe %TEMP%\%copy_dir%\scratch.exe*) > nul
|
||||
|
||||
echo Launching %TEMP%\%copy_dir%\scratch.exe...
|
||||
%TEMP%\%copy_dir%\scratch.exe %*
|
Loading…
Reference in a new issue