์๋ง๋ json ํ์ผ์ ํ์ํ๋ ๊ฒ์ ๊ฐ๊ณผํ์ ์ ์์ง๋ง ํฌ๋ช ๋๋ฅผ ๋ฌ์ฑํ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๋ณด์ง ๋ชปํ๊ณ ์ํฌ๋ฆด ํจ๊ณผ ํ๋ฆผ ์์ธ์ด๋ ์ฐฝ์ด ์ ํ๋์ง ์์ ๋ ๊บผ์ง๋ ์ฌ์ค์ ์ข์ํ์ง ์์ต๋๋ค. ๊ธฐ์กด ์ฝ์์ ๋๋ถ๋ถ์ nix ํ๊ฒฝ์์์ ๊ฐ์ด ์ ์ ๋ถํฌ๋ช ๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฌ๊ธฐ์์ ๊ตฌํ๋๊ธฐ๊น์ง ์๊ฐ ๋ฌธ์ ๊ฐ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ง๊ธ์ ์ง์๋์ง ์์ง๋ง, ๋์น๊ณ ์ถ์ง ์์ ๊ธฐ๋ฅ์ ๋๋ค. ๊ตฌ์ฑ ๋น์ฃผ์ผ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ ํ๋ ค๋ฉด ์ฝ๊ฐ์ ์์ ์ด ํ์ํ์ง๋ง "๊ณํ์" ์์ต๋๋ค.
์ถ๊ฐ ์ ๋ณด๊ฐ ์๋ #593๋ ์ฐธ์กฐํ์ธ์.
๋๋ ๊ณ ์ ์ ์ธ ํฌ๋ช ๋๋ฅผ ์ข์ํ์ง๋ง ์ ์๊ฒ ํ์ ๊ธฐ๋ฅ ์ค ํ๋ ์ธ ์ํฌ๋ฆด์ ์ฌ์ฉํ์ง ์์์ต๋๋ค. :)
์ด๊ฒ์ +1!
๋ถํ์ํ ์์์ ๋ฐ์์ํค๋ ๋ฌธ์ ๋ฅผ "+1"ํ์ง ๋ง์ญ์์ค. ์ฌ๊ธฐ์ ์๋ฒฝํ๊ฒ ์ข์ +1 ๋ฒํผ์ด ์์ต๋๋ค.
@zadjii-msft with microsoft "์๋ฒฝํ๊ฒ ์ข์ +1 ๋ฒํผ" ๊ฐ์ ๊ฒ์ ์์ต๋๋ค. ์์์ ๋ด๋๋ผ๋ ์๋ฌด๋ ๊ด์ฌ์ ๊ฐ์ง๊ฑฐ๋ ๋ฃ์ง ์์ต๋๋ค. Microsoft ์ ํ์ ์ฌ์ฉํด ๋ณธ ์ฌ๋์ด๋ผ๋ฉด ๋๊ตฌ๋ ์ด ์ฌ์ค์ ์ ๊ฒ์ ๋๋ค.
ํ์ง๋ง ์์ ์ ์๊ฒ ์ต๋๋ค. ์ฃ์กํฉ๋๋ค.
@TCB13 ์์๋ค์ํผ ์ฐ๋ฆฌ๋ ๋ชจ๋ ์ฌ๋ฌด์ค์ ์์ ๋ฐ์ ํธ์งํจ, ๋ถ๋ฅ ๋๊ธฐ์ด, github ๋ฌธ์ ๋ชฉ๋ก์ ๋ณด๊ณ ์๋ ์ค์ ์ฌ๋๋ค์ ๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฌํ ๋ฌธ์ ํ๋ํ๋๋ฅผ ์ฝ๊ณ ์์ผ๋ฉฐ, ๊ทธ ๋ฌธ์ ์ ๊ทธ ๋ฌธ์ ์์ ์ฌ๋๋ค์ด ๋งํ๋ ๊ฒ์ ๋ํด _๋๋ผ๊ณ ์์ต๋๋ค. ๋น๊ผฌ๋ ๋ง์ ์ผ๊ฐํด ์ฃผ์ธ์.
@DHowett-MSFT @zadjii-msft
๋ถํฌ๋ช ๋ ๋์ ์ํฌ๋ฆด์ด ํฌํจ๋์๋ค๋ ์ฌ์ค์ ์ค์ ๋ก ์๋ฌด๋์ด ํฐ๋ฏธ๋์ ์ ์ฉ์ฑ์ ์ค์ ๋ก ๊ณ ๋ คํ์ง ์์๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ผ๋ถ PM์ด "์ค ํฌ๋ช ํ ๊ฒ์ด ๋ฉ์ ธ ๋ณด์ ๋๋ค. ๋ ์์ํ๊ฒ ๋ง๋ค๊ณ ํ๋ฆผ ํจ๊ณผ๋ฅผ ๋ํ ์ ์์ต๋๋ค!"๋ผ๊ณ ๋งํ ๊ฒ ๊ฐ์ต๋๋ค. ํฐ๋ฏธ๋ ์ฑ/์ฐฝ์ ๋ณด๊ธฐ์ ๋ณด๊ธฐ์ ์ผ๋ฐ์ ์ผ๋ก ํฌ๋ช ํ์ง ์๊ณ ์ฐฝ ๋ค์ ์๋ ๋ค๋ฅธ ํญ๋ชฉ์ ๋ณผ ์ ์๊ธฐ ๋๋ฌธ์ ํฌ๋ช ํฉ๋๋ค. ๋๋ถ๋ถ์ ์ฌ์ฉ์๊ฐ ๋์ํ๋ ์ ์ฉํ ๊ธฐ๋ฅ์ ๋๋ค.
ํ์ฌ์ ๋ค๋ฅธ ์ค์ ์ฌ๋๋ค์๊ฒ ๋ด๊ฐ ๋ค๋ฅธ ์๊ฒฌ์์ ์ ๊ทธ๋ ๊ฒ ๊ณต๊ฒฉ์ ์ธ์ง ๋ฌผ์ด๋ด์ผ ํ ์๋ ์์ต๋๋ค. :)
@TCB13 Command ํฐ๋ฏธ๋์ Acrylic์ ์ถ๊ฐํด ๋ฌ๋ผ๋ ๋ชฉ์๋ฆฌ๊ฐ ์์๋๋ฐ ๋น์์๋ ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ ๋ฌธ์ ๋ก ๋ถ๊ฐ๋ฅํ์ง๋ง ์๋ก์ด ํฐ๋ฏธ๋์์๋ ๊ฐ๋ฅํฉ๋๋ค.
์ด ์ ๋ฒ์ ์ ๋ฌธ์ ๋ Opacity๊ฐ ์ด๊ฒ์ด ์ฌ์ฉ ์ค์ธ ์ Windowing API๋ก ์ฆ์ ๊ฐ๋ฅํ์ง ์๊ณ ํ์ด ์ธ์งํ๊ณ ์๊ณ ๊ฐ๋ฅํ๊ฒ ํ๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ด๋ผ๋ ์ ์ ๋๋ค.
๋น์ ์ด ๊ฐ์ธ์ ์ผ๋ก ์ํ๊ฑฐ๋ ํ์๋ก ํ๋ ๊ธฐ๋ฅ์ด ์๋๊ธฐ ๋๋ฌธ์ ๊ทธ๋ ๊ฒ ๋ฌด์ํ ํ์๋ ์์ต๋๋ค.
์ด๊ฒ์ ๋งค์ฐ ์ ์ฉํ ๊ฒ์ ๋๋ค.
์ด๋ฏธ ๋งํ ๊ฒ ์ธ์๋ ์ด์ ์ ๋ง์ถ ๋ ์ฐฝ์ ์ํฌ๋ฆด๋ก ๋ง๋ค๊ณ ์ด์ ์ด ์์ ๋ ํฌ๋ช ํ๊ฒ ํ๋ ๊ธฐ๋ฅ์ ์ ํ์ ๋ ๊ฑฐ์ฌ๋ฆฌ๊ฒ ๋ง๋ค๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ์ข์ ๊ฒ์ ๋๋ค.
๋์ํ๋ค. ์ฝ๊ฐ ํฌ๋ช ๋๊ฐ ์๋ ๋งค์ฐ ์ด๋์ด ๋ฐฐ๊ฒฝ์ ์ข์ํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ธ์ ์ผ๋ก ์ผ๋ฐ ๋ถํฌ๋ช ๋ ์ค์ ์ ์ํฉ๋๋ค. ์ํฌ๋ฆด ์ต์ ์ ์ฌ์ฉํ๋ ค๊ณ ํ์ ๋ ๋ฐฐ๊ฒฝ์ด ๋๋ฌด ๋ฐ์์ ๋ด ์ทจํฅ์ ๋ง์ง ์์์ต๋๋ค. ํกํ๊ท ๐คทโโ .
์ ์ด๋ ๊ณํ๋์ด ์๋ค๋ ์์์ ๋ฃ๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค. ์ด ๋๊ตฌ๋ฅผ ๋ง๋ค์ด ์ฃผ์ ์ ๊ฐ์ฌํ๋ฉฐ ์ด์ ๊ฐ์ ๊ธฐ๋ฅ์ด ๋ ๋ง์ด ํฌํจ๋ ํฅํ ๋ฆด๋ฆฌ์ค๋ฅผ ๊ธฐ๋ํฉ๋๋ค.
๋์ํ๋ค. ๊ฐ์ธ์ ์ผ๋ก ์ด์ ์ ์์ผ๋ฉด ์ฐฝ์ด ๊ฐ์๊ธฐ ๋จ์์ผ๋ก ๋ฐ๋๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ ํต์ ์ธ ํฌ๋ช
์ฑ์ด ๋ ๋์ ์ ํ์
๋๋ค.
์ ์ด๋ ๊ณํ๋์ด ์๋ค๋ ์์์ ๋ฃ๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค. ์ด ๋๊ตฌ๋ฅผ ๋ง๋ค์ด ์ฃผ์
์ ๊ฐ์ฌํ๋ฉฐ ์ด์ ๊ฐ์ ๊ธฐ๋ฅ์ด ๋ ๋ง์ด ํฌํจ๋ ํฅํ ๋ฆด๋ฆฌ์ค๋ฅผ ๊ธฐ๋ํฉ๋๋ค.
์ฌ์ค์ ๊ณ ์ ์ ์ธ ํฌ๋ช ๋๊ฐ ์์ ๋ ์ฝ์์ ์ฌ์ฉํ์ง ์์ ๊ฒ์ ๋๋ค. :) ์ ๋ฅผ ์ํ ๊ธฐ๋ฅ์ด ์์ด์ผ ํฉ๋๋ค. :)
์ด๊ฒ์ ์ด ๋ฌธ์ ๊ฐ ์๋๋ผ ์ผ๋ จ์ ๊ฒ์๋ฌผ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
ํด๋ฆญ ํด์ฃผ์ธ์
> ๊ฐ์ธ์ ์ผ๋ก ์ํ๊ฑฐ๋ ํ์๋ก ํ๋ ๊ธฐ๋ฅ์ด ์๋๋ผ๊ณ ํด์ ๋๋ฌด ๋ฌด์ํ ํ์๋ ์์ต๋๋ค. ์ฌ๋๋ค์ด ๋๋ค์ ์ฑ ์ฌ์ฉ์์ ์ผ๋ฐ์ ์ธ ๊ธฐ๋์ ๋๋จ์ด์ ธ ๋ณด์ผ ๋ ์ด์ ์ ์ธ ๋ฐ์์ ์ป์ต๋๋ค. ํฌ๋ช ์ฑ์ ์ค๋ซ๋์ ์ฌ์ฉ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ํ ์ฌ๋์ด ํ ์ฌ๋์ ๊ธฐ์๊ฒ ํ๋ผ๊ณ ๊ฐ๋ฐ์์๊ฒ ์๋ ฅ์ ๊ฐํ๋ ๊ฒ์ ์๋๋๋ค. ๋น์ ์ ๋ง์ง๋ง ์ง์ ์ด ์์ํ๋ฏ์ด, ์ด๋ค ์ด์ ๋ก; ์์ ๋กญ๊ฒ ํธ์งํ์ญ์์ค. TCB13์ด ๋ค๋ฅธ ์ค๋ ๋๋ ๊ฒฝ์ฐ์ ๋ฌด๋กํ๊ฑฐ๋ ๊ณต๊ฒฉ์ ์ด์์ต๋๊น? https://github.com/microsoft/terminal/issues/603#issuecomment-508031247 --- ๋ํ, silverqx, https://github.com/microsoft/terminal/issues/603#issuecomment ์ฐธ์กฐ -546613996 https://github.com/microsoft/terminal/issues/603#issuecomment-507248317 ๊ทธ๋ฆฌ๊ณ https://github.com/microsoft/terminal/tags?after=RS2-final ์ดํ ์ผ๋ง๋ ์ง๋ฌ๋์ง ์ฒซ ๊ณต๊ฐ ์ถ์. ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆด ๊ฒ ๊ฐ์ต๋๋ค. ๋ ๋ฒํ์ง ๋ง์ญ์์ค. https://github.com/microsoft/terminal/issues/603#issuecomment-507835880 --- https://github.com/microsoft/terminal/issues/603#issuecomment-529696036์ ์ฐธ์กฐํ์ญ์์ค. , iCode์ธ์ ๊ฐ, ์ํฌ๋ฆด์ ์ฌ์ฉํ์ง ๋ง์ญ์์ค. ํฌ๋ช ๋๋ฅผ ์ฌ์ฉํ๋ ค๋ ์ฌ๋๋ค์๊ฒ๋ ์ํฌ๋ฆด์ด ๋ณด์ด์ง ์๊ฒํ์ญ์์ค. cmd๊ฐ ๊ทธ๊ฒ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ํ๋ฅญํฉ๋๋ค.
cmd์ ๊ฒฝ์ฐ 80% ~ 95% ๋ถํฌ๋ช ๋, ์ฆ ํฌ๋ช ๋๋ฅผ ์ ํธํฉ๋๋ค. ๊ทธ๋ค์ ๊ฐ์ ๊ฒ์ ๋๋ค.
์ํฌ๋ฆด์ ๋ฐํฌ๋ช ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋ด๊ฐ ์ฌ์ฉํ๋ ๋ชจ๋ Windows ์ปดํจํฐ์์ ๋นํ์ฑํํ ๋ ํ ์คํธํด์ผ ํฉ๋๋ค.
์๋ถ ๋ผํํ ์ด
๊ทธ๋์ ๊ธฐ๋ก์ ์ํด, ๋๋ ์ด๊ฒ์ ๊ฐ์ง๊ณ ๋์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ธ ๊ตฌํ์ ๊ทธ๋ค์ง ๊น๋ค๋กญ์ง๋ ์์ง๋ง... ์ธ๋ จ๋์ง๋ ์์ต๋๋ค. XAML ์ปจํธ๋กค(ํญ ํ, ๋ํ ์์ ๋ฑ)์ ํฌํจํ์ฌ ์ ์ฒด ์ฐฝ์ด ๋๊ฐ์ด ํฌ๋ช ํด์ง๋๋ค. ์ํคํ ์ฒ ๊ด์ ์์ "ํฐ๋ฏธ๋" ์ฝํ ์ธ ๋ฅผ ํฌ๋ช ํ๊ฒ _๊ทธ๋ฅ__ ์ป์ผ๋ ค๊ณ ํ๋ ๊ฒ์ ์์ธ์ ์ผ๋ก ๊น๋ค๋ก์ธ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฐ ๊ฒฝ์ฐ์๋ ๊ตฌ๋ถ ๊ธฐํธ๋ฅผ ํฌํจํ์ฌ ๋ชจ๋ ์ฐฝ์ด ๋๋ฑํ๊ฒ ํฌ๋ช ํ ๊ฒ์ด๋ฉฐ ๋ํ ์์๋ ์ฌ์ ํ ํฌ๋ช ํ ๊ฒ์ ๋๋ค.
์ด์ํ๊ฒ๋ ์ ํญ ๋๋กญ๋ค์ด์ MenuFlyout์ด ํฌ๋ช
ํด์ง์ง _์์ผ๋ฏ๋ก_ ๋ ๋ง์ ์ง๋ฌธ์ด ์ ๊ธฐ๋ฉ๋๋ค.
์์งํ _my_ ์๊ฒฌ์ผ๋ก๋ ๊ฒฝํ์ด ์ฝ๊ฐ ๋ค๋ฌ์ด์ง์ง ์์ ๋๋์ ๋๋ค. ์ด๊ฒ์ด ์ฌ๋๋ค์ด ์ง์ ์ผ๋ก ์ํ๋ ๊ฒ์ด๋ผ๋ฉด ๊ฑฐ์ ํ์ง๋ ์๊ฒ ์ง๋ง ๊ณ ํ์ง์ ์ ํ์ ๋ฐฐ์กํ๊ณ ์๋์ง๋ ํ์ธํ๊ณ ์ถ์ต๋๋ค. ๋ฐ๋ผ์ _๋ ๋์_ ์๋ฃจ์ ์ ์ฐพ๊ธฐ ์ํด ๋ฐฑ๋ก๊ทธ์ ๋จ๊ฒจ๋๋ ์ด์ ์ ๋๋ค.
์ฌ์ค ์ ๋ ๋นํด๋ผ์ด์ธํธ ์์ญ์ด ํฌ๋ช ํ ๊ฒ์ ์ข์ํฉ๋๋ค. ์ด๊ฒ์ด cmd๊ฐ ์๋ํ๋ ๋ฐฉ์์ด๋ฉฐ ์ ์ ๋์(RS5?):
์์งํ _my_ ์๊ฒฌ์ผ๋ก๋ ๊ฒฝํ์ด ์ฝ๊ฐ ๋ค๋ฌ์ด์ง์ง ์์ ๋๋์ ๋๋ค. ์ด๊ฒ์ด ์ฌ๋๋ค์ด ์ง์ ์ผ๋ก ์ํ๋ ๊ฒ์ด๋ผ๋ฉด ๊ฑฐ์ ํ์ง๋ ์๊ฒ ์ง๋ง ๊ณ ํ์ง์ ์ ํ์ ๋ฐฐ์กํ๊ณ ์๋์ง๋ ํ์ธํ๊ณ ์ถ์ต๋๋ค. ๋ฐ๋ผ์ _๋ ๋์_ ์๋ฃจ์ ์ ์ฐพ๊ธฐ ์ํด ๋ฐฑ๋ก๊ทธ์ ๋จ๊ฒจ๋๋ ์ด์ ์ ๋๋ค.
๋๋ ์ด ํจ๊ณผ๋ฅผ ์์ฃผ ์ข์ํฉ๋๋ค. ๋ด๊ฐ ์ํ๋ ์ ์ผํ ๋จ์ ์ฐฝ์ ๋ํ ์์์ ๋๋กญ๋ค์ด์ ๋๋ค. ์ด์ ์์ค์์ ์ด๊ฒ์ ๋น๋ํด์ผ ํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.-/
์์ ์ ์ฐ๊ฒฐํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
์, ๋ํ ๋ชจ๋ ํฌ๋ช ํ ๊ฒ์ด ๋ฒ๊ทธ๊ฐ ์๋๋ผ ๊ธฐ๋ฅ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค ๐
cmd๊ฐ ์ํํ๋ ๋ฐฉ์์ ์๋์ ์๋ ๋ด์ฉ์ ์ฝ์ ์ ์๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ์ ์ฉํฉ๋๋ค(๋ฌผ๋ก ํฌ๋ช ๋ ์์ค์ ๋ฐ๋ผ "์ข์"์ผ๋ก ํ์๋จ).
๋๋ ๊ฐ๋ฐ์๋ค์ด gnome-terminal wrt ํฌ๋ช ๋์ ๊ธฐ๋ฅ์ ๊ฐ์ด๋๋ก ๋ณผ ๊ฒ์ ๊ฐ๋ ฅํ ์ ์ํฉ๋๋ค. ๋ด ๋ถ๋ถ์ ์ํด, ๋๋ ์ํฌ๋ฆด๊ณผ ๊ทธ ํ๋ฆฟํจ์ ์ฌ์ฉํ์ง ์์ต๋๋ค. ์ด์ ์ด ๋ง์๋์ง ์ฌ๋ถ์ ๊ด๊ณ์์ด ํฌ๋ช ํ๊ฒ ๋ณผ ์ ์๊ธฐ๋ฅผ ์ํฉ๋๋ค. ๊ฐ์ฌ ํด์.
๊ทธ๋์ ๊ธฐ๋ก์ ์ํด, ๋๋ ์ด๊ฒ์ ๊ฐ์ง๊ณ ๋์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ธ ๊ตฌํ์ ๊ทธ๋ค์ง ๊น๋ค๋กญ์ง๋ ์์ง๋ง... ์ธ๋ จ๋์ง๋ ์์ต๋๋ค. XAML ์ปจํธ๋กค(ํญ ํ, ๋ํ ์์ ๋ฑ)์ ํฌํจํ์ฌ ์ ์ฒด ์ฐฝ์ด ๋๊ฐ์ด ํฌ๋ช ํด์ง๋๋ค. ์ํคํ ์ฒ ๊ด์ ์์ "ํฐ๋ฏธ๋" ์ฝํ ์ธ ๋ฅผ ํฌ๋ช ํ๊ฒ _๊ทธ๋ฅ__ ์ป์ผ๋ ค๊ณ ํ๋ ๊ฒ์ ์์ธ์ ์ผ๋ก ๊น๋ค๋ก์ธ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฐ ๊ฒฝ์ฐ์๋ ๊ตฌ๋ถ ๊ธฐํธ๋ฅผ ํฌํจํ์ฌ ๋ชจ๋ ์ฐฝ์ด ๋๋ฑํ๊ฒ ํฌ๋ช ํ ๊ฒ์ด๋ฉฐ ๋ํ ์์๋ ์ฌ์ ํ ํฌ๋ช ํ ๊ฒ์ ๋๋ค.
ํญ ๋ง๋๋ฅผ ํฌ๋ช
ํ๊ฒ ํ๋ ๊ฒ์ ๊ด์ฐฎ์ต๋๋ค. ์คํฌ๋กค ๋ง๋๋ ํฌํจํ์ฌ ์ ์ฒด ์ฐฝ์ ํฌ๋ช
ํด์ผ ํฉ๋๋ค.
ํญ ํ์์ค๊ณผ ์ํ ํ์์ค์ ๋ํ ๊ฒ๋ณด๋ค ํฐ๋ฏธ๋ ์ฝํ
์ธ ์ ๋ํ ํฌ๋ช
๋๊ฐ ์ฝ๊ฐ ๋ ์๋ ๊ฒ์ด ํจ์ฌ ๋ซ์ง๋ง(์: ์ฝ 10%), ์ฐ์ ์์๊ฐ ๋ฎ๊ณ ์ค์ํ์ง ์์ต๋๋ค.
๋ชจ๋ฌ ๋ํ ์์๋ ๋ถํฌ๋ช
ํด์ผ ํ๋ฉฐ ์๋ฌด๋ ํฌ๋ช
ํ ๋ํ ์์๋ฅผ ์ํ์ง ์์ต๋๋ค. ๐
ํ
์คํธ์ ๋ฐฐ๊ฒฝ์ ๋ํด ๋ค๋ฅธ ํฌ๋ช
๋๋ฅผ ๊ฐ๋ ๊ฒ์ด ์ด์์ ์ด๋ฉฐ ํ
์คํธ๋ ์ฝ๊ธฐ ์ฝ๋๋ก ๋ฐฐ๊ฒฝ๋ณด๋ค ์ฝ๊ฐ ๋ ํฌ๋ช
ํด์ผ ํฉ๋๋ค.
์ฌ๊ธฐ์ ์ค์ํ ๊ฒ์ ๋ณด๊ธฐ ์ข๊ฒ ๋ง๋๋
์ด์ํ๊ฒ๋ ์ ํญ ๋๋กญ๋ค์ด์ MenuFlyout์ด ํฌ๋ช ํด์ง์ง _์์ผ๋ฏ๋ก_ ๋ ๋ง์ ์ง๋ฌธ์ด ์ ๊ธฐ๋ฉ๋๋ค.
๊ด์ฐฎ์ต๋๋ค. ์ด ๋๋กญ๋ค์ด ๋๋ ํ๋ผ์ด์์ ๋ฉ๋ด๋ ํฌ๋ช ํ ํ์๊ฐ ์์ผ๋ฉฐ ๋ถํฌ๋ช ํ๊ฒ ํ๋ ๊ฒ์ด ํจ์ฌ ์ข์ต๋๋ค.
์์งํ _my_ ์๊ฒฌ์ผ๋ก๋ ๊ฒฝํ์ด ์ฝ๊ฐ ๋ค๋ฌ์ด์ง์ง ์์ ๋๋์ ๋๋ค. ์ด๊ฒ์ด ์ฌ๋๋ค์ด ์ง์ ์ผ๋ก ์ํ๋ ๊ฒ์ด๋ผ๋ฉด ๊ฑฐ์ ํ์ง๋ ์๊ฒ ์ง๋ง ๊ณ ํ์ง์ ์ ํ์ ๋ฐฐ์กํ๊ณ ์๋์ง๋ ํ์ธํ๊ณ ์ถ์ต๋๋ค. ๋ฐ๋ผ์ _๋ ๋์_ ์๋ฃจ์ ์ ์ฐพ๊ธฐ ์ํด ๋ฐฑ๋ก๊ทธ์ ๋จ๊ฒจ๋๋ ์ด์ ์ ๋๋ค.
์ฝ๊ฐ์ ํ๋ ์ด๊ฐ ํ์ํฉ๋๋ค. ๋ณด๋ผ์ ๋ฐฐ๊ฒฝ์ ํฌ๋ช
ํ ๋ฐฐ๊ฒฝ์ ์ข์ ์๊ฐ ์๋๋ฉฐ ๊ฒ์์ ๋ฐฐ๊ฒฝ๊ณผ ํจ์ฌ ์ ์ด์ธ๋ฆฝ๋๋ค.
๋ช ๊ฐ์ง ์ 1 , 2 .
ํฐ๋ฏธ๋์ ๋ํด ์ ์ ํ๊ณ ๊ท ํ ์กํ ํฌ๋ช ๋๋ฅผ ์ค์ ํ๋ฉด ์ผ๋ถ ์๋๋ฆฌ์ค์์ ๋์์ด ๋ ์ ์์ต๋๋ค. ๋ด ์ํฌํ๋ก์์๋ ๊ธฐ๋ณธ ์ฐฝ์ผ๋ก ์ ํํ ํ์๊ฐ ์๋ 5-10%์ ๊ฒฝ์ฐ์ ๋์์ด ๋ฉ๋๋ค. ์ด๊ฒ์ ์ค์ฉ์ ์ธ ๋ฉด์์ ์ข๊ณ ๋ณด๊ธฐ์ ์ข๋ค๋ ๊ฒ์ด ๋ถ๊ฐ๊ฐ์น์ ๋๋ค. ๐
๋ค์์ ์ฝ๋์ ๋ํ ๋งํฌ ์ด๋ฉฐ, ์ด๊ฒ์ด ์ด๋ป๊ฒ conemu์์ ๊ตฌํ๋๋์ง์ ๋๋ค.
@zadjii-msft ๋ด ์ ์์์์ ๊ฐ์ด ๊ตฌํ๋๋ค๋ฉด ์คํ์ ํฌ๋ช
์ฑ์ผ๋ก ์์ ํ ๊ด์ฐฎ์ ๊ฒ์
๋๋ค.
์ง์ค - useAcrylic
unfocused - ํฌ๋ช
๋ ์ฌ์ฉ
https://github.com/microsoft/terminal/issues/4413
์ผ์ชฝ๋ถํฐ
ํฌ๋ช
๋๊ฐ ์๋ ํ์ค CMD, ์ง์ค ํฐ๋ฏธ๋, ๋ฐฐ๊ฒฝ ํฐ๋ฏธ๋
ํฌ๋ช
๋ฐฐ๊ฒฝ ๋ฐ ํ
์คํธ(foregorund)์ ๋ํด ๋ค๋ฅธ ์ต์
์ ์ถ๊ฐํ ์ ์์ต๋๊น?
๋๋ ํฌ๋ช
ํ ํ
์คํธ๋ฅผ ์ํ์ง ์์ต๋๋ค. ์ฝ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค. ํ์ง๋ง ๋๋ ํฌ๋ช
ํ ๋ฐฐ๊ฒฝ์ ์ํ๋ค
@jadjii-msft @cinnamon-msft
Aero Peek์ฒ๋ผ ์ ํญ +
๋ฒํผ ๋๋ ์ต์ํ -
๋ฒํผ ๊ทผ์ฒ์ ์๋ TitleBar์ Peek ๋ฒํผ์ ์ํฉ๋๋ค.
์๊ณก ์์ ์ ๋ค์ ํ๊ณ ์๋ค๋ฉด TitleBar์ ์ถ๊ฐํ๋ ๊ฒ์ ๊ณ ๋ คํด ๋ณด์ญ์์ค. ๊ทธ ์๋ก ๋ง์ฐ์ค๋ฅผ ๊ฐ์ ธ๊ฐ๋ฉด ํญ์ ํฌ๋ช ํ๊ฒ ์ ์ง๋์ง ์๊ณ ๋ค์ ์๋ ํ๋ฉด์ ๋ณผ ์ ์์ต๋๋ค.
__์๋์ ์ผ๋ก ๊ด๋ จ๋จ__
์ต๋ํ๋ฅผ ํ์ฉํ๋ ๋ชจ๋ ์ฑ์ TitleBar์ ์ ์ฒด ํ๋ฉด ๋ฒํผ์ ๊ฐ์ง ์ ์์ต๋๊น(ํฐ๋ฏธ๋์์๋ ๊ฐ๋ฅ)! Windowing ์์คํ ์์ฒด์ ์ถ๊ฐํ๋ ๊ฒฝ์ฐ Peek ๋ IMHO ๋ชฉ๋ก์ ์ถ๊ฐํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
@Nirmal4G ์ฒซ ๋ฒ์งธ ์์ฒญ์ #5426์ผ๋ก ์ฎ๊ฒผ์ต๋๋ค. ๊ทํ์ ๋ ๋ฒ์งธ ์์ฒญ์ ๋ํด ์ฐ๋ฆฌ๊ฐ ํ ์ ์๋ ์ผ์ ์๋ค๊ณ ํ์ ํฉ๋๋ค. ์ด๋ _๋ชจ๋ _ Windows ์์ฉ ํ๋ก๊ทธ๋จ์ ์ฐฝ ์ค์ ์ ๋ํ ์๋นํ ๊ด๋ฒ์ํ ๋ณ๊ฒฝ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค. Microsoft/PowerToys ์ ์ ๋ง๋ ์์ฒญ์ผ ์ ์์ต๋๋ค. ์ ๋ชฉ ํ์์ค ์บก์
๋ฒํผ์ ์์ ํ์ฌ ์์
ํ ์ค๋ฆฌ์ง๋ ํ์ํ ์ด ์ค ํ๋์ธ IIRC
์ด๊ฒ์ ํฌ๋ช ๋์ ์ํฌ๋ฆด์ ๋ํ ํฌ๊ด์ ์ธ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ์์... ๋ฐฉ๊ธ ๋ค๋ฅธ MSFT ์ฌ๋์ด ์ฌ๊ฐ ์๊ฐ์ ํ๋ ์ด ๋ฉ๋ชจ์ฅ ์ฑ์ ์ค์นํ๋๋ฐ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ด์ ์ด ๋ง์ง ์๋ ๋์ ์ํฌ๋ฆด ํฌ๋ช ๋๋ฅผ ์ ์งํ ์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. XAML๊ณผ Windows.UI๋ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
์ด ๊ธฐ๋ฅ๋ ์ด๋ ์์ ์์ ์ถ๊ฐํ์ญ์์ค. ๊ฐ์ฌ ํด์.
ํ๋ก์ ํธ ํ์ด์ง: https://github.com/JasonStein/Notepads
--ํธ์งํ๋ค:
ํ๋ก์ ํธ๋ฅผ ํ์ด๋ณด๋ฉด์ ๊ทธ๋ ์ด ๋ชจ๋ ๊ฒ์ ์ํด ์์ ๋ง์ ์ํฌ๋ฆด ๋ธ๋ฌ์๋ฅผ ๋ง๋ค๊ณ ์์ต๋๋ค.
์ด์ ์ด ๋ง์ง ์์ ๋ ์ํฌ๋ฆด์ ์ ์งํ
๋ค... ํฐ๋ฏธ๋์ ํฌ๋ช ๋/์ํฌ๋ฆด์ ์๋ง๋ ์ฌ์ฉ์๊ฐ ํญ์ ๊ฑฐ๊ธฐ์ ์์ ๊ฒ์ผ๋ก ๊ธฐ๋ํ๋ ์ผ์ข ์ ๋์๊ธฐ์ ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์๋ฌด๋ ๊ทธ๊ฒ์ ์ํ์ง ์์ ๊ฒ์ ๋๋ค. ์๋ํ๋ฉด ๊ทธ๊ฒ์ด ์ง์ค๋์ด ์๋ ๋์ ๊ทธ๊ฒ์ ๊ฐ๋ ๊ฒ์ ๊ทธ ์ ์์ ๊ทธ๋ ๊ฒ ๋ง์ด ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ํ ํฐ๋ฏธ๋ ์ฌ์ฉ์๋ ๊ณ ๊ธ ์ฌ์ฉ์์ผ ๊ฐ๋ฅ์ฑ์ด ๋์ผ๋ฉฐ ์ค์ ๋ก JSON์ ํ์ฑํํ๊ธฐ ์ํด ํธ์งํด์ผ ํ๋ ๊ฒ์ ๊ณ ๋ คํ๊ณ ์์ผ๋ฉฐ ์ด๋ค ๋ฐฉ์์ผ๋ก๋ ๋ฐฐํฐ๋ฆฌ ์ํฅ์ ์๊ณ ์์ ๊ฒ์ ๋๋ค.
์ฌ์ ํ ์ ํ ์ฌํญ์ผ๋ก ๋ง๋ค ์ ์์ต๋๋ค.
@๋ฏธ๋์ ๋:
auto rootVisual = winrt::Windows::UI::Xaml::Hosting::ElementCompositionPreview::GetElementVisual(RootGrid());
auto compositor = rootVisual.Compositor();
auto rootSprite = compositor.CreateSpriteVisual();
rootSprite.Size(winrt::Windows::Foundation::Size(
::base::saturated_cast<float>(RootGrid().ActualWidth()),
::base::saturated_cast<float>(RootGrid().ActualHeight())));
auto b = rootVisual.Compositor().CreateHostBackdropBrush();
rootSprite.Brush(b);
winrt::Windows::UI::Xaml::Hosting::ElementCompositionPreview::SetElementChildVisual(RootGrid(), rootSprite);
์๋, ์ด๊ฒ์ผ๋ก๋ ์ฌ์ ํ๋ฆฌ๊ฒ ์ฒ๋ฆฌ ๋ ์ฝํ
์ธ ๋ฅผ ์ป์ต๋๋ค.
https://github.com/Microsoft/WindowsCompositionSamples/issues/202๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค.
๋๋ ์ฌ๊ธฐ์์ ์๋ฌด ๊ฒ๋ ์ฝ์ํ์ง ์๊ณ ์ค๋ ์์นจ์ ์ด์ด ๋์ ํญ์ ๋ฉ๋ชจ๋ฅผ ๋จ๊ฒจ ๋ก๋๋ค.
์ ๊น, ๋ด๊ฐ ์ ๋๋ก ์ฝ์์ต๋๊น? ๋ถ๋ถ์ ์ผ๋ก ํฌ๋ช ํ ์ฐฝ์ด๋ ํ๋ฆผ์ด ์๋ ์ํฌ๋ฆด์ ๋ณด์ ๋ฌธ์ ๋ก ์ธํด ๋ถ๊ฐ๋ฅํฉ๋๊น? ๋ญ๋ผ๊ณ ์?
๋๋ ๋ง์ ์ฌ๋๋ค๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ค๋ ๊ธฐ๊ฐ ๋์ *nix ์ ์ ์์ ์ฌ์ฉ๋์ด ์จ ํฐ๋ฏธ๋ ๋ฐํฌ๋ช ์ฑ์ ๊ฐ์ ํ ์ํฉ๋๋ค/ํ์ํฉ๋๋ค. "์คํฌ๋ฆฐ ์ธ์ด๋ฒ ๊ฒฝ๋ก"๋ก ์ด๋ํ์ฌ ํ์ธํ ํ๋ ๋์ ํ๋ฉด์ ์บก์ฒํ๊ณ ์บก์ฒ๋ฅผ ์ฐฝ์ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ก ํ์ธํ ํ ๋ค์ ๊ทธ ์์ ๋ถํฌ๋ช ๋๋ฅผ ํ์ธํ ํด์ผ ํฉ๋๊น?
๋ด ๋ง์, ๋ฐํฌ๋ช ์ฐฝ์ด ๊ณต๊ฒฉ์ ๋ฒกํฐ๊ฐ ๋ ์ ์๋ค๋ ๊ฒ์ด ์ผ๋ง๋ ์คํ ๊ฐ๋ฅํ์ง... ์์ ํ ํฌ๋ช ํ ํค๋ก๊ฑฐ๋ผ๋ ์ฐฝ์ ๋นํ์ฑํํ ์ ์์ต๋๋ค. ์ง์ฌ์ผ๋ก ๊ถ๊ธํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋นํฉํ๋ค. ๊ทธ๋ฌ๋ ๋๋ถ๋ถ ํธ๊ธฐ์ฌ์ด ๋ง์ต๋๋ค.
๋ฌผ๋ก , ๊ทธ ์ค๋ ๋๋ ์ํฌ๋ฆด์ ์ํํ๋ ์ ์ผํ ๋ฐฉ๋ฒ์ด ์์ UWP ์์ฉ ํ๋ก๊ทธ๋จ์์ ๋์จ ๋๋ถํฐ ๊ฝค ์ค๋๋์์ต๋๋ค. UWP๋ ์์คํ ์ ์๋ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์ํ๋ฅผ ์ฝ์ ์ ์๋๋ก ์๋นํ ๊ฒฉ๋ฆฌ๋์ด ์์ต๋๋ค. ์ด ์ปจํ ์คํธ์ ์ฑ์ด ๋ค์ ์๋ ์ฐฝ์ ๋ด์ฉ์ ๊ฐ๋จํ๊ฒ ์ค๋นํ ์ ์๋ค๋ฉด ์ด๋ก ์ ์ผ๋ก _any_ ์ปจํ ์คํธ์์ ์์คํ ์์ ์คํ ์ค์ธ ๋ค๋ฅธ ๋ชจ๋ ๋ด์ฉ์ ์ฝ์ ์ ์์ต๋๋ค. ์ด๋ UWP ์ฑ์์๋ ์ ๋ ๋ถ๊ฐ๋ฅํ ์ผ์ ๋๋ค.
๊ทธ ์ดํ๋ก ์ธ์์ ๋ง์ด ๋ฐ๋์์ต๋๋ค. UWP XAML(๋ฐ ์ํฌ๋ฆด)์ ์ฌ์ฉํ์ง๋ง UWP ์ ํ๋ฆฌ์ผ์ด์ ์ด _์๋๋๋ค_ ํฐ๋ฏธ๋๊ณผ ๊ฐ์ ์ฑ์ด ์์ต๋๋ค. ์ด ์๋ก์ด ๋ชจ๋ธ์์๋ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์์ ์ ์ํํ ์ ์์ผ๋ฉฐ ๋ ๋ง์ ์ฐ๊ตฌ๋ฅผ ์ํํด์ผ ํฉ๋๋ค.
AcrylicBrush์ ๋ํ
Acrylic Brush์ ํฉํ ๋ฆฌ ๋ฉ์๋ ๋ ์์ด ์ด๋ฏธ ์ํํ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ์ฌ์ ํ๋ฆฌ๊ฒ ์ฒ๋ฆฌ๋ ๋ฐฐ๊ฒฝ์ ์ง์ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์
๋๋ค. IF ํด๋น ๋ฉ์๋๊ฐ ๋
ธ์ถ๋๊ณ ํ๋ ค์ง์ง ์์ ๋ฐฐ๊ฒฝ์ด ์ฌ์ ํ๋ฆฌ๊ฒ ์ฒ๋ฆฌ๋ ๋ฐฐ๊ฒฝ์ผ๋ก ์ ๋ฌ๋๊ณ IF ๋๋ ์ฌ๊ธฐ์ ์์ ํ ๋ฒ์ด๋ ๊ฒ์ ์๋๋ฉฐ ๊ณต์ฅ์์ ํ๋ฆผ ํจ๊ณผ๋ฅผ ์ถ๊ฐํ์ง ์์ ์๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ค์, ๋๋ ์ฌ๊ธฐ์์ 150% ํ๋ฆด ๊ฐ๋ฅ์ฑ์ด ๋์ผ๋ฏ๋ก ์ํ๋ ๋๋ก ๋ฐ์๋ค์ด์ญ์์ค.
์ธ์์, ์ด ๋ ผ์๋ 1๋ ์ด ๋์์ง๋ง ํ์์ ์ธ Glass Transparency๋ ์์ง ๊ตฌํ๋์ง ์์์ต๋๋ค. ์ ๋์ค ํฐ๋ฏธ๋์ ํ์ค์ ๋๋ค.
@alxkvx ์ด ์ค๋ ๋์์ ๊ธด ์๊ฐ ๋์ ๋ ผ์ํ๋ฏ์ด ์ด๊ฒ์ ๊ธฐ์ ์ ์ผ๋ก ์ด๋ ค์ด ๋ฌธ์ ์ด๋ฏ๋ก ์์ง ๊ตฌํ๋์ง ์์ ์ด์ ์ ๋๋ค. ์ด๊ฒ์ด ์ฐ๋ฆฌ์ UI ์คํ์ผ๋ก ๊ตฌํ๋ ์ ์๋ _๋ฐฉ๋ฒ_์ ๋ํ ์ ์์ด ์์ผ๋ฉด ๊ธฐ๊บผ์ด ๋ฃ๊ฒ ์ต๋๋ค.
@alxkvx ์ด ์ค๋ ๋์์ ๊ธด ์๊ฐ ๋์ ๋ ผ์ํ๋ฏ์ด ์ด๊ฒ์ ๊ธฐ์ ์ ์ผ๋ก ์ด๋ ค์ด ๋ฌธ์ ์ด๋ฏ๋ก ์์ง ๊ตฌํ๋์ง ์์ ์ด์ ์ ๋๋ค. ์ด๊ฒ์ด ์ฐ๋ฆฌ์ UI ์คํ์ผ๋ก ๊ตฌํ๋ ์ ์๋ _๋ฐฉ๋ฒ_์ ๋ํ ์ ์์ด ์์ผ๋ฉด ๊ธฐ๊บผ์ด ๋ฃ๊ฒ ์ต๋๋ค.
๊ธ์, ๋๋ ์ค์ ๋ก ๋ฌธ์ ๋ฅผ ํํค์น์ง ์์๊ณ UI ์คํ์ ๋ฌธ์ ๊ฐ ์๋ ์ด์ ๋ฅผ ์ดํดํ์ง ๋ชปํฉ๋๋ค. WSL ํฐ๋ฏธ๋์ ์ฌ์ฉํ์ฌ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ผ๋ก ํด๋ฆญ > ์์ฑ > ๋ถํฌ๋ช ๋ ์ค์ ์ ํ๋ฉด ์ ๋ฆฌ ํฌ๋ช ๋๋ฅผ ์ป์ ์ ์๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๊ฐ์ธ์ ์ผ๋ก ์ด๊ฒ์ ํ์ ๊ธฐ๋ฅ์ ๋๋ค.
ํฐ๋ฏธ๋์ ์ด์ ์ด ๋ง์ง ์์ ๋ ํ๋ฆฟํ๊ณ ๋ถํฌ๋ช ํด์ง๋ ๊ฒ์ ์ด๋ฆฌ์์ ์ผ์ ๋๋ค. ๋๊ฐ ์ด๊ฒ์ ์๊ตฌํ์ต๋๊น? ๐คท ๊ณ์ cmd์ powershell์ ์ฌ์ฉํ๊ฒ ์ต๋๋ค.
@alxkvx ์ด ์ค๋ ๋์์ ๊ธด ์๊ฐ ๋์ ๋ ผ์ํ๋ฏ์ด ์ด๊ฒ์ ๊ธฐ์ ์ ์ผ๋ก ์ด๋ ค์ด ๋ฌธ์ ์ด๋ฏ๋ก ์์ง ๊ตฌํ๋์ง ์์ ์ด์ ์ ๋๋ค. ์ด๊ฒ์ด ์ฐ๋ฆฌ์ UI ์คํ์ผ๋ก ๊ตฌํ๋ ์ ์๋ _๋ฐฉ๋ฒ_์ ๋ํ ์ ์์ด ์์ผ๋ฉด ๊ธฐ๊บผ์ด ๋ฃ๊ฒ ์ต๋๋ค.
๊ธ์, ๋๋ ์ค์ ๋ก ๋ฌธ์ ๋ฅผ ํํค์น์ง ์์๊ณ UI ์คํ์ ๋ฌธ์ ๊ฐ ์๋ ์ด์ ๋ฅผ ์ดํดํ์ง ๋ชปํฉ๋๋ค. WSL ํฐ๋ฏธ๋์ ์ฌ์ฉํ์ฌ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ผ๋ก ํด๋ฆญ > ์์ฑ > ๋ถํฌ๋ช ๋ ์ค์ ์ ํ๋ฉด ์ ๋ฆฌ ํฌ๋ช ๋๋ฅผ ์ป์ ์ ์๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๊ฐ์ธ์ ์ผ๋ก ์ด๊ฒ์ ํ์ ๊ธฐ๋ฅ์ ๋๋ค.
๋ฌธ์ ๋ Windows ํฐ๋ฏธ๋์ด ๋ด์ฅ๋ UI ํ๋ ์์ํฌ(UWP XAML)๊ฐ ๋จ์ํ win32 ๋๋ WPF ์ฑ(์: wsl ํฐ๋ฏธ๋)๊ณผ ๊ฐ์ ์์ ํ ํฌ๋ช ๋๋ฅผ ์ง์ํ์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ค์ด ์ก์ธ์คํ ์ ์๋ ์ ์ผํ ๋๊ตฌ๋ ์ํฌ๋ฆด์ ๋๋ค. ์ด๋ ํฌ๋ช ๋๋ณด๋ค๋ ๋์์ธ ์ก์ผํธ์ ๋ ๊ฐ๊น์ต๋๋ค. UI ์คํ์์ ๊ตฌํํ๋ ค๋ฉด ์์ ์ค๋ช ๊ณผ ๊ฐ์ ํดํค ์๋ฃจ์ ์ด ํ์ํ๊ฑฐ๋ ์ฝ์์ด ๋ ๋๋ง๋๋ ๋ฐฉ์์ ๋ํ ์ ์ฒด ์ฌ์์ ์ด ํ์ํฉ๋๋ค(์ ์ด๋ ๋ด ์ดํด๋ Windows UI๊ฐ ๋ด ๊ฐ๋ฐ ๋ถ์ผ๊ฐ ์๋๋๋ค).
ํธ์ง: ์ค๋ช
@alxkvx ์ด ์ค๋ ๋์์ ๊ธด ์๊ฐ ๋์ ๋ ผ์ํ๋ฏ์ด ์ด๊ฒ์ ๊ธฐ์ ์ ์ผ๋ก ์ด๋ ค์ด ๋ฌธ์ ์ด๋ฏ๋ก ์์ง ๊ตฌํ๋์ง ์์ ์ด์ ์ ๋๋ค. ์ด๊ฒ์ด ์ฐ๋ฆฌ์ UI ์คํ์ผ๋ก ๊ตฌํ๋ ์ ์๋ _๋ฐฉ๋ฒ_์ ๋ํ ์ ์์ด ์์ผ๋ฉด ๊ธฐ๊บผ์ด ๋ฃ๊ฒ ์ต๋๋ค.
๊ธ์, ๋๋ ์ค์ ๋ก ๋ฌธ์ ๋ฅผ ํํค์น์ง ์์๊ณ UI ์คํ์ ๋ฌธ์ ๊ฐ ์๋ ์ด์ ๋ฅผ ์ดํดํ์ง ๋ชปํฉ๋๋ค. WSL ํฐ๋ฏธ๋์ ์ฌ์ฉํ์ฌ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ผ๋ก ํด๋ฆญ > ์์ฑ > ๋ถํฌ๋ช ๋ ์ค์ ์ ํ๋ฉด ์ ๋ฆฌ ํฌ๋ช ๋๋ฅผ ์ป์ ์ ์๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๊ฐ์ธ์ ์ผ๋ก ์ด๊ฒ์ ํ์ ๊ธฐ๋ฅ์ ๋๋ค.
๋ฌธ์ ๋ Windows ํฐ๋ฏธ๋์ด ๋ด์ฅ๋ UI ํ๋ ์์ํฌ(XAML)๊ฐ ๋จ์ํ win32 ์ฑ(์: wsl ํฐ๋ฏธ๋)๊ณผ ๊ฐ์ ์์ ํ ํฌ๋ช ๋๋ฅผ ์ง์ํ์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ค์ด ์ก์ธ์คํ ์ ์๋ ์ ์ผํ ๋๊ตฌ๋ ์ํฌ๋ฆด์ ๋๋ค. ์ด๋ ํฌ๋ช ๋๋ณด๋ค๋ ๋์์ธ ์ก์ผํธ์ ๋ ๊ฐ๊น์ต๋๋ค. UI ์คํ์์ ๊ตฌํํ๋ ค๋ฉด ์์ ์ค๋ช ๊ณผ ๊ฐ์ ํดํค ์๋ฃจ์ ์ด ํ์ํ๊ฑฐ๋ ์ฝ์์ด ๋ ๋๋ง๋๋ ๋ฐฉ์์ ๋ํ ์ ์ฒด ์ฌ์์ ์ด ํ์ํฉ๋๋ค(์ ์ด๋ ๋ด ์ดํด๋ Windows UI๊ฐ ๋ด ๊ฐ๋ฐ ๋ถ์ผ๊ฐ ์๋๋๋ค).
Xaml์ ํฌ๋ช ๋๋ฅผ ์ง์ํ์ง๋ง UWP ์ฐฝ๊ณผ Xaml Islands๋ ์ง์ํ์ง ์์ต๋๋ค.
ํฐ๋ฏธ๋์ด WinUI 3 ๋ฐ์คํฌํ์ผ๋ก ์ด๋ํ ์ ์๊ณ HWND ์์ฒด๋ฅผ ํญํ ์ ์์ผ๋ฉด ํ๋ฆฟํ์ง ์์ ํฌ๋ช ๋๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค.
์ํฌ๋ฆด ์์ฒด๋ WinUI 3์์ ์ง์ฐ๋ฉ๋๋ค. OS์์ ์ถ์ถํ๋ ๋์ ๋ค์ ์์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ ์๋ง์. ์คํด๋ฅผ ํ๊ฒ ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฏธ win32 ์ฑ์ด๊ธฐ ๋๋ฌธ์ HWND์ ์ง์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด์ ๋ํ ํด๊ฒฐ์ฑ ์ ์ฐพ๊ธฐ ์ํด XAML ๋ฐ ๊ตฌ์ฑ ํ๊ณผ ํ๋ ฅํ๊ณ ์์ต๋๋ค. ๋ด ์ดํด(ํ์ฌ)์์ XAML Island๋ ํญ์ ๋ถํฌ๋ช ํ ๋ฐฐ๊ฒฝ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ฆ, HWND๊น์ง ํฌ๋ช ํ XAML์ ํฌ๋ช ํ ๊ตฌ์ฑ ์์๋ฅผ ๊ฐ์ง ์๋ ์์ต๋๋ค. WinUI 3๊ฐ ์ฐ๋ฆฌ๋ฅผ ์ํด ์ด ๋ฌธ์ ๋ฅผ ๋ง์ ์ฒ๋ผ ํด๊ฒฐํ ์ ์์์ง๋ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ด ๋ฌธ์ ๋ ํด๋น ํ๊ณผ ๋ ๋ ผ์ํด์ผ ํ ๋ถ๋ถ์ ๋๋ค. ๋คํ์ค๋ฝ๊ฒ๋ ๊ทธ๋ค์ ์ฐ๋ฆฌ ์ ๋ณต๋์์ ์ผํ๊ธฐ ๋๋ฌธ์(์ ์ด๋ ์ฐ๋ฆฌ ๋ชจ๋๊ฐ ์ฌ๋ฌด์ค ๊ฑด๋ฌผ์์ ์ผํ ๋๋ ๊ทธ๋ฌ์ต๋๋ค) ์ด๋ฌํ ํ ๋ก ์ ํ๋ ๊ฒ์ ๊ทธ๋ฆฌ ์ด๋ ต์ง ์์ต๋๋ค ๐
@๋ฏธ๋์ ๋:
- ์ด, ์ด๊ฒ์ C#์ด๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ ์ ์์์ง ํ์ ์ด ์์ง ์๋ Win2D๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
Win2D๊ฐ C++/winrt(C++๋ก ์์ฑ๋์์ต๋๋ค!)๋ฅผ ์ง์ํ๋ค๊ณ ํ์ ํ์ง๋ง, ์ด ์ฌ์ฉ ์ฌ๋ก๊ฐ ์๋๋๋ผ๋ ๋ค์์ด ์์ต๋๋ค.
https://github.com/fobrs/Win2DinMFC
๋ํ ์ด ์ํ์ ๋ฐ๋ผ WPF์์ ์ํฌ๋ฆด( ๋ฅ๊ทผ ๋ชจ์๋ฆฌ๊ฐ ์์!!!)์ ์ป์ ์ ์์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์ ์ง์ ์ํฌ๋ฆด์ด ๊ฐ๋ฅํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด ๊ฒ์๋ฌผ์ ๊ฒฝ์ด๋กญ์ต๋๋ค.
WPF XAML์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ด ๋ชจ๋ ๊ฒ์ด ์ ๋ง ์ ์ฉํ์ง๋ง ๋ถํํ๋ ํญ์ ๋ฐฐ๊ฒฝ์ด ๋ถํฌ๋ช ํ UWP XAML์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ WinUI 3.0์ ๋ํ ์ ํ์ ์ํํ๊ธฐ ์ํด WinUI ํ๊ณผ ํ๋ ฅํ๊ณ ์์ต๋๋ค. ์ด ๋ฌธ์ ์ ๋ํ ๋ค๋ฅธ ์งํ ์ํฉ์ด ์์ ๋๊น์ง ์๊ฐ์ด ๊ฑธ๋ฆด ์ ์์ผ๋ฉฐ, ๊ทธ ๋์ ์ฐ๋ฆฌ๋ ๊ทธ๋ค๊ณผ ํจ๊ป ๊ธฐ์ ์ ์ธ ์ธ๋ถ ์ฌํญ์ ์์ ํฉ๋๋ค.
@zadjii-msft ๊ทธ๋์ ํฐ๋ฏธ๋์ wpf ์ปจํธ๋กค์ด ์ํฌ๋ฆด ํ๋ฆผ ์ฌ์ฉ์ ์ ์ ์ํฌ๋ฆด์ ์ง์ํ ์ ์์ง๋ง UWP๋ ์ง์ํ์ง ์์ ์ ์๋ค๊ณ ๋งํ๊ณ
์๋จ UWP XAML์ ์ํฌ๋ฆด์ ์ ์ง์ํ ์ ์์ต๋๋ค. UWP XAML์ด ํ์ฌ ์ง์ํ ์ ์๋ ๊ฒ์ ๋จ์ง "๊ธฐ์กด ๋ถํฌ๋ช ๋"(์ํฌ๋ฆด ํจ๊ณผ๊ฐ ์๋ ๋ถํฌ๋ช ๋)์ผ ๋ฟ์ ๋๋ค.
์ด๊ฒ์ _ํ๋ฆฟํ์ง ์์ ํฌ๋ช ๋_๋ฅผ ์ํ ์ค๋ ๋์ด๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ๊ณณ์์ ์ด ํ ๋ก ์ ๊ณ์ํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฏธ UWP ์ปจํธ๋กค์ "์ํฌ๋ฆด"์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ "UWP ์ปจํธ๋กค์์ ์ํฌ๋ฆด์ ์ป๋ ๋ฐฉ๋ฒ"์ ๋ํด ๋ ๋ ผ์ํ๋ ๊ฒ์ ... ์ ๋ง์, ์ ๋ง๋ก, ์ ๋ง๋ก ๋ง์ด ๋ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ง์๊ฒ ์ค๋ช ํ๋ ค๊ณ ํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ์ ์?
@zadjii-msft @DHowett ์ฃ์กํฉ๋๋ค. ๊ทธ๋ฐ ๋ป์ ์๋์์ต๋๋ค. ์ํฌ๋ฆด์ด๋ ์ฌ์ฉ์ ์ ์ ๊ฐ๋ฅํ ํ๋ฆผ ๋ฐ๊ฒฝ์ด ์๋ ์ํฌ๋ฆด์ ์๋ฏธํ์ต๋๋ค.
@zadjii-msft ๋ช ๊ฐ์ง ์คํ์ ํ๊ณ ์ถ์๋ฐ xaml ํธ์คํ ์ฐฝ/DesktopWindowXamlSource๊ฐ ์ฝ๋์์ ์์ฑ๋๋ ์์น๋ฅผ ์๋ ค์ฃผ์ค ์ ์์ต๋๊น? ๋งค์ฐ ํฐ ์ฝ๋๋ฒ ์ด์ค ๐๐
@AnuthaDev src/cascadia/WindowsTerminal/IslandWindow.cpp
์ข์, ์ ์ด๋ wpf์์๋ ๊ฐ๋ฅํฉ๋๋ค.
IslandWindow.cpp์ ์ฐฝ์ WS_EX_NOREDIRECTIONBITMAP์ ์ฌ์ฉํ์ฌ ๋ง๋ค ์ ์์ผ๋ฉฐ ์ฌ๊ธฐ์์ ๋ฐ๋ฅด๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ํ๋ฆผ ํจ๊ณผ ๊ฐ
ํธ์ง: ๋ด๋ ์ดํฐ: ์๋ํ์ง ์์์ต๋๋ค!
์๋ง๋ IslandWindow.cpp์ ์ฐฝ์ WS_EX_NOREDIRECTIONBITMAP์ผ๋ก ์์ฑํ ์ ์์ผ๋ฉฐ ์ฌ๊ธฐ์์ ๋ฐ๋ฅด๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ _๋น ํ๋ฆผ_ ์๋_ ์ํฌ๋ฆด๋ธ๋ฌ์๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. createhostbackdropbrush()๋ฅผ ์ฌ์ฉํ๋ฉด ์๋์ผ๋ก ํ๋ฆผ ํจ๊ณผ๊ฐ ๋ฐ์ํ๋ฏ๋ก createbackdropbrush()๊ฐ ์ ์ผํ ์ต์ ์ ๋๋ค. ์๋๋ฉด ์๋ํ์ง ์์ ์๋ ์์ต๋๋ค. ... idk. ๋ ธ๋ ฅํด์ ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค...
๊ทธ ๋ฐฉ๋ฒ์ด WPF์ ์๊ธฐ ๋๋ฌธ์ ๊ทธ๋ ๊ฒ ์๊ฐํ์ง ์์ต๋๋ค. XAML์ WPF(ํด๋น ๋ฉ์๋) ๋ฐ UWP(WT์์ ์ฌ์ฉ)์ ๋ ๊ฐ์ง ๋ค๋ฅธ ํ๋ ์์ํฌ์์ ์ฌ์ฉ๋ฉ๋๋ค. ๋๋ UWP ์ํฌ๋ฆด์ ๋ํ ์์ค๋ฅผ ์ฐ๋ฌ๋ณด์๊ณ , ์ ํต์ ์ธ ํฌ๋ช ๋๋ฅผ ์๋์ํฌ ์ ์๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ๊ธฐ๋ณธ์ ์ผ๋ก OS๋ฅผ ์์ฌ์ ๋ฐฐ๊ฒฝ์ด ์ด๋ฏธ ํ๋ ค์ ธ ๋ฐฐ๊ฒฝ์ด ํ๋ ค์ง์ง ์๋๋ค๊ณ ์๊ฐํ๋๋ก ํ๋ ์ ๋ง Hakki ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋๋ค. ํ๋ฆผ ์์ฒด๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํด, ํ์ง๋ง XAML ์์ผ๋๋์ ํธํ๋์ง ์๋ ๊ฒ์กฐ์ฐจ๋ ๋๋ ์์ ๋๋ฌด์ ๋๋ค.
@zadjii-msft @DHowett ์ข์, ์ฌ๊ธฐ ๋ด๊ฐ ์ฐพ์ ๊ฒ์ด ์์ต๋๋ค.
win2d๋ฅผ ์ฌ์ฉํ์ฌ C++ win32 ์ฑ์์ ์ฌ์ฉ์ ์ ์ ํ๋ฆผ ์ํฌ๋ฆด์ ์ป๋ ๊ฒ์ด ํ์คํ ๊ฐ๋ฅ ํฉ๋๋ค.
(ํ๋ฆผ ๋ฐ๊ฒฝ 1):
ํ์ง๋ง!! xaml ์ฌ์์๋ ๊ทธ๋ ๊ฒ ํ ์ ์์ต๋๋ค. ์ด๋ฏธ ์๊ณ ์๋ฏ์ด xaml ๋ค์๋ ๋ถ๋ช ํ ๋ถํฌ๋ช ํ ๋ฐฐ๊ฒฝ์ด ์์ ๊ฒ์ ๋๋ค...
์ด๋ ๊ฒ ํ๋ ค๋ฉด ๊ตฌ์ฑ API๋ฅผ ์ฌ์ฉํ๊ณ hwnd DesktopWindowTarget์ผ๋ก ๋ ๋๋งํด์ผ ํฉ๋๋ค.
๊ทธ๊ฒ์ ํ์ฌ์ ์ฝ์ ๋ฐ๋ผ์, ์ฐ๋ฆฌ๋ XAML ์ฌ์ ์ ๊ฑฐํ๊ณ ์ฌ์ฉํด์ผํฉ๋๋ค ๋น ํ๋ฆผ ์ํฌ๋ฆด ํฌ๋ช
์ฑ์ ์ป๊ธฐ ์ํด ์ด ๋์ swapchainpanel์๋ฅผ.
(์ด๋ฏธ ์๊ณ ๊ณ์๋ค๋ฉด ์๊ฐ๋ญ๋นํด์ ์ฃ์กํฉ๋๋ค...)
๋ฐ๋ผ์ ์ค์ํ ์ํคํ ์ฒ ๋ณ๊ฒฝ ์์ด๋ ํฌ๋ช ์ฑ์ด ์์ต๋๋ค.
(์ด๋ฏธ ๋ช ๋ฐฑํ๊ณ ๋ด๊ฐ ๊ธฐ์ฌํ ๋ฐ๊ฐ ์ ํ ์๋ ๊ฒฐ๋ก ๐๐)
๋ค, ๊ทธ๋์ ์ด์ ๋ ผ์๋ฅผ ๋ชจ๋ ์ฝ๊ณ ์ถ์ง ์์ ์ฌ๋์ ์ํ TLDR์ ๊ธฐ๋ณธ์ ์ผ๋ก Windows ํฐ๋ฏธ๋์ ์ฌ์ฉ๋๋ ํ๋ ์์ํฌ๊ฐ ํ์ฌ ์ด ๊ธฐ๋ฅ์ ์ง์ํ์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๊ฒ์) ์์ ์ค์ ๋๋ค. ๋ฐ๋ผ์ ํ๋ ์์ํฌ(XAML ์์ผ๋๋)๊ฐ ํฌ๋ช ๋๋ฅผ ์ง์ํ๋ ๊ฒฝ์ฐ์๋ง ์ด ๋ฌธ์ ๋ฅผ ์์ํ ์ ์์ต๋๋ค.
๋ค, ๊ทธ๋์ ์ด์ ๋ ผ์๋ฅผ ๋ชจ๋ ์ฝ๊ณ ์ถ์ง ์์ ์ฌ๋์ ์ํ TLDR์ ๊ธฐ๋ณธ์ ์ผ๋ก Windows ํฐ๋ฏธ๋์ ์ฌ์ฉ๋๋ ํ๋ ์์ํฌ๊ฐ ํ์ฌ ์ด ๊ธฐ๋ฅ์ ์ง์ํ์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๊ฒ์) ์์ ์ค์ ๋๋ค. ๋ฐ๋ผ์ ํ๋ ์์ํฌ(XAML ์์ผ๋๋)๊ฐ ํฌ๋ช ๋๋ฅผ ์ง์ํ๋ ๊ฒฝ์ฐ์๋ง ์ด ๋ฌธ์ ๋ฅผ ์์ํ ์ ์์ต๋๋ค.
์ ํฌ๋ช ๋ ๊ธฐ๋ฅ์ ์ฒ์์ ๊ทธ ํ๋ก์ ํธ์ ํฌํจ๋์ง ์์๊ณ UI ์์ง์ ์ ํํ ๋ ๊ณ ๋ ค๋์ง ์์๋์ง ๊ถ๊ธํฉ๋๋ค. 10๋ ์ด์์ Linux ํฐ๋ฏธ๋ ์์ ์ ํตํด ๋ชจ๋ ํด๋น ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ๋ง์ ์ฌ์ฉ์๊ฐ ์ ๊ทน์ ์ผ๋ก ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๋์๊ฒ๋ ์ด์ํ๋ค.
Powershell ๋ฐ CMD์๋ ํฌ๋ช ๋๋ฅผ ์ค์ ํ๋ ์ต์ ์ด ์์ต๋๋ค. ์ฌ์ฉ๋๋ ๊ธฐ์ ์ ๋ค๋ฅด์ง๋ง ๋ง์ ์ฌ์ฉ์๊ฐ ํฌ๋ช ์ฑ ๊ตฌ์ฑ์ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ์ดํดํฉ๋๋ค.
Powershell ๋ฐ CMD์๋ ํฌ๋ช ๋๋ฅผ ์ค์ ํ๋ ์ต์ ์ด ์์ต๋๋ค. ์ฌ์ฉ๋๋ ๊ธฐ์ ์ ๋ค๋ฅด์ง๋ง ๋ง์ ์ฌ์ฉ์๊ฐ ํฌ๋ช ์ฑ ๊ตฌ์ฑ์ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ์ดํดํฉ๋๋ค.
์, WSL ํฐ๋ฏธ๋๊ณผ ๋์ผํฉ๋๋ค.
CMD ๋ฐ PWSH ํฌ๋ช ๋๋ ์ด ํฐ๋ฏธ๋๋ก ๋ฌ์ฑํ ์ ์์ง๋ง ๋ด๊ฐ ์์งํ ๋ฐ์ ๋ฐ๋ฅด๋ฉด ๋๋ถ๋ถ์ ์ฌ๋๋ค(์ ํฌํจ)์ ํด๋น ๋ฒ์ ์ ํฌ๋ช ๋๋ฅผ ์ํ์ง ์์ต๋๋ค. ๋์ ๋ฐฐ๊ฒฝ๋ง ๋ฐํฌ๋ช ํ *nix์ ์ ์ฌํ ํฐ๋ฏธ๋ ํฌ๋ช ๋ ๋ชจ๋ ๊ฒ, ํ ์คํธ ํฌํจ.
๋ํ ํ๋ฉด RECT ๊ทธ๋ฉ์ ์ฌ์ฉํ์ฌ ํฐ๋ฏธ๋ ์์ฒด์ ํ์ธํธ๋ฅผ ์น ํ ๋ค์ ๋ฐํฌ๋ช ์์์ ์น ํ๋ ๋ฑ ํฌ๋ช ๋๋ฅผ ์์กฐํ๋ ํดํน ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
์ด์ฉ๋ฉด์ด (? ํจ๊ป) ์๋์ ์ฐฝ์ ๋ง๋ค์ด (WS_EX_NOREDIRECTIONBITMAP์ ๋ถ๋ชจ ์ฐฝ ์ธํธ ํฌํจ) XAML ์ฌ ์ฐฝ์ ๊ตฌํํ๊ณ ๊ทธ ์์ WS_CLIPSIBLINGS์ ์ค์ ํ ์ ์์ต๋๋ค, ๋ค์ ๊ตฌ์ฑ API ๋ฐ DirectX ์ํธ ์ด์ฉ์ฑ์ (๋ฐํฌ๋ช
๋ฐฐ๊ฒฝ๊ณผ ๋ด์ฉ์ ๋ ๋๋งํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค ์ฒ๋ผ์ ๊ทธ๋์ ) ์ด ์ฐฝ์. ๋ฐ๋ผ์ xaml ์ฌ์ ์ ๊ฑฐํ ํ์๊ฐ ์์ผ๋ฉฐ ์คํฌ๋กค ๋ง๋์ ๊ฐ์ ํญ๋ชฉ์ ๊ณ์ ์๋ํด์ผ ํ๋ฉฐ swapchainpanel ๋ถ๋ถ๋ง ๊ต์ฒด๋ฉ๋๋ค. ๋๋ ์๋ํ์ง ์๋ ๊ฒฝ์ฐ HRGN์ ์ฌ์ฉํ์ฌ swapchainpanel ๋ถํ ์์ ๊ตฌ๋ฉ์ ์๋ผ ๊ทธ ์๋์ ๊ตฌ์ฑ ์ฐฝ์ด ํ์๋๋๋ก ํ ์ ์์ต๋๋ค. swapchainpanel์์ hwnd(์๋ง๋)๋ก ์ด๋ํ๋ ๋์ ๋๋ ์ฑ๋ฅ ์ ํ๊ฐ ์์ด์ผ ํฉ๋๋ค.
hackey ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ถ๊ตฌํ ๋์ ๋ฌธ์ ๋ hackey์ด๊ณ ๋ณธ์ง์ ์ผ๋ก ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ๊ธฐ ์ฝ๋ค๋ ๊ฒ์ ๋๋ค. WinUI 3๋ ์ ์๋ ๊ธฐ๋ฅ์ ์ง์ํ ๊ฐ๋ฅ์ฑ์ด ๋์ผ๋ฏ๋ก ๊ตฌํ ๊ณํ์ด ์์ผ๋ฉฐ ๊ณต์ ๋๊ตฌ ์ฒด์ธ์ด ์ด๋ฅผ ์ง์ํ๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์์ผ ๋ฟ์ ๋๋ค. ๊ฐ๋ฐ์๋ ์ด๋ฏธ ์ด์ ๋ํด WinUI ํ๊ณผ ์ง์ ํ๋ ฅํ๊ณ ์์์ ํ์ธํ์ต๋๋ค.
(์ด๋ฏธ ๋ช ๋ฐฑํ๊ณ ๋ด๊ฐ ๊ธฐ์ฌํ ๋ฐ๊ฐ ์ ํ ์๋ ๊ฒฐ๋ก ๐๐)
๋๋ ๋น์ ์ด ์๋ฌด ๊ธฐ์ฌ๋ ํ์ง ์์๋ค๊ณ ๋งํ์ง ์์ ๊ฒ์ ๋๋ค. ๋๋ ํญ์ ๋ด ์์ ์ ์ฐ๊ตฌ์ ๋ํ ์ธ๋ถ ํ์ธ์ ๋ฐ๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค. ๋น์ ์ด ๋ด๊ฐ ํ๋ ธ๋ค๋ ๊ฒ์ ์ฆ๋ช ํ๊ณ ์ด๊ฒ์ ํ ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ์ ์ฐพ์๋ค๋ฉด ๋๋ ํจ์ฌ ๋ ํ๋ณตํ์ ๊ฒ์ ๋๋ค ๐
์ด ์ค๋ ๋์์ ์ด์ ์ ์ธ๊ธํ๋ฏ์ด - ์ฐ๋ฆฌ๋ ์ด๊ฒ์ WinUI 3.0์ ์ถ๊ฐํ๊ธฐ ์ํด WinUI ํ๊ณผ ํ๋ ฅํ๊ณ ์์ต๋๋ค. https://github.com/microsoft/microsoft-ui-xaml/issues/1247 ์์ ์ด๊ฒ์ด ์ถ์ ๋๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค
์ด ์ค๋ ๋์์ ์ด์ ์ ์ธ๊ธํ๋ฏ์ด - ์ฐ๋ฆฌ๋ ์ด๊ฒ์ WinUI 3.0์ ์ถ๊ฐํ๊ธฐ ์ํด WinUI ํ๊ณผ ํ๋ ฅํ๊ณ ์์ต๋๋ค. ๋๋ ์ด๊ฒ์ด microsoft/microsoft-ui-xaml#1247 ์์ ์ถ์ ๋๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ์ด ๊ธฐ๋ฅ์ ํฐ๋ฏธ๋์ ์ถ๊ฐํ๊ธฐ ์ํด ์ถ๊ตฌํ ๊ฒฝ๋ก์ ๋๋ค. ์ด ์๋ฃจ์ ์ ๊ตฌ๋ํ๋ค๋ ๊ฒ์ Windows์ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ๋ ๊ฐ์ ํ๋ ๋ฐ ๋์์ด ๋๋ ์ ์ฒด ํ๋ซํผ์ ๋ํ ์ค์ํ ๊ฐ๋ฐ ํ๋ซํผ ๊ธฐ๋ฅ์ ๊ตฌ๋ํ๋ ๊ฒ์ ์๋ฏธํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
ํฐ๋ฏธ๋ ํ์ด ์ด์ ๋ํ ๋ฐฉํฅ์ ์ ํํ์ผ๋ฏ๋ก "๋์์ ์ํจ" ํ๊ทธ๋ฅผ ์ ๊ฑฐํด์ผ ํฉ๋๊น?
@tajetaje ์ข์ ์บ์น, ๊ฐ์ฌํฉ๋๋ค!
(์ด๋ฏธ ๋ช ๋ฐฑํ๊ณ ๋ด๊ฐ ๊ธฐ์ฌํ ๋ฐ๊ฐ ์ ํ ์๋ ๊ฒฐ๋ก ๐๐)
๋๋ ๋น์ ์ด ์๋ฌด ๊ธฐ์ฌ๋ ํ์ง ์์๋ค๊ณ ๋งํ์ง ์์ ๊ฒ์ ๋๋ค. ๋๋ ํญ์ ๋ด ์์ ์ ์ฐ๊ตฌ์ ๋ํ ์ธ๋ถ ํ์ธ์ ๋ฐ๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค. ๋น์ ์ด ๋ด๊ฐ ํ๋ ธ๋ค๋ ๊ฒ์ ์ฆ๋ช ํ๊ณ ์ด๊ฒ์ ํ ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ์ ์ฐพ์๋ค๋ฉด ๋๋ ํจ์ฌ ๋ ํ๋ณตํ์ ๊ฒ์ ๋๋ค ๐
์ด ์ค๋ ๋์์ ์ด์ ์ ์ธ๊ธํ๋ฏ์ด - ์ฐ๋ฆฌ๋ ์ด๊ฒ์ WinUI 3.0์ ์ถ๊ฐํ๊ธฐ ์ํด WinUI ํ๊ณผ ํ๋ ฅํ๊ณ ์์ต๋๋ค. ๋๋ ์ด๊ฒ์ด microsoft/microsoft-ui-xaml#1247 ์์ ์ถ์ ๋๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ์ด ๊ธฐ๋ฅ์ ํฐ๋ฏธ๋์ ์ถ๊ฐํ๊ธฐ ์ํด ์ถ๊ตฌํ ๊ฒฝ๋ก์ ๋๋ค. ์ด ์๋ฃจ์ ์ ๊ตฌ๋ํ๋ค๋ ๊ฒ์ Windows์ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ๋ ๊ฐ์ ํ๋ ๋ฐ ๋์์ด ๋๋ ์ ์ฒด ํ๋ซํผ์ ๋ํ ์ค์ํ ๊ฐ๋ฐ ํ๋ซํผ ๊ธฐ๋ฅ์ ๊ตฌ๋ํ๋ ๊ฒ์ ์๋ฏธํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
@zadjii-msft, WinUI๊ฐ ์ด ๋ถ๋ถ์์ ์ด๋ค ์ญํ ์ ํ๋์ง ์ ์ ์์ง๋ง ๊ฒฝ๊ณ ์๋ ๋ฌธ์ ๊ฐ ์ด๋ป๊ฒ ์ฐ๋ฆฌ๋ฅผ ๊ฑฐ๊ธฐ์ ์ด๋ฅด๊ฒ ํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๋๋ถ๋ถ์ ์ฌ๋๋ค์ด ์ถ๊ตฌ ํ๋ ์ค์ ๊ฒฐ๊ณผ์ ๊ด์ ์์ ๋ณผ ๋ ์ด๊ฒ์ #743 )์ ์๋ฆ๋ค์ด ํํ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
(์ด๋ฏธ ๋ช ๋ฐฑํ๊ณ ๋ด๊ฐ ๊ธฐ์ฌํ ๋ฐ๊ฐ ์ ํ ์๋ ๊ฒฐ๋ก ๐๐)
๋๋ ๋น์ ์ด ์๋ฌด ๊ธฐ์ฌ๋ ํ์ง ์์๋ค๊ณ ๋งํ์ง ์์ ๊ฒ์ ๋๋ค. ๋๋ ํญ์ ๋ด ์์ ์ ์ฐ๊ตฌ์ ๋ํ ์ธ๋ถ ํ์ธ์ ๋ฐ๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค. ๋น์ ์ด ๋ด๊ฐ ํ๋ ธ๋ค๋ ๊ฒ์ ์ฆ๋ช ํ๊ณ ์ด๊ฒ์ ํ ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ์ ์ฐพ์๋ค๋ฉด ๋๋ ํจ์ฌ ๋ ํ๋ณตํ์ ๊ฒ์ ๋๋ค ๐
์ด ์ค๋ ๋์์ ์ด์ ์ ์ธ๊ธํ๋ฏ์ด - ์ฐ๋ฆฌ๋ ์ด๊ฒ์ WinUI 3.0์ ์ถ๊ฐํ๊ธฐ ์ํด WinUI ํ๊ณผ ํ๋ ฅํ๊ณ ์์ต๋๋ค. ๋๋ ์ด๊ฒ์ด microsoft/microsoft-ui-xaml#1247 ์์ ์ถ์ ๋๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ์ด ๊ธฐ๋ฅ์ ํฐ๋ฏธ๋์ ์ถ๊ฐํ๊ธฐ ์ํด ์ถ๊ตฌํ ๊ฒฝ๋ก์ ๋๋ค. ์ด ์๋ฃจ์ ์ ๊ตฌ๋ํ๋ค๋ ๊ฒ์ Windows์ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ๋ ๊ฐ์ ํ๋ ๋ฐ ๋์์ด ๋๋ ์ ์ฒด ํ๋ซํผ์ ๋ํ ์ค์ํ ๊ฐ๋ฐ ํ๋ซํผ ๊ธฐ๋ฅ์ ๊ตฌ๋ํ๋ ๊ฒ์ ์๋ฏธํ๊ธฐ ๋๋ฌธ์ ๋๋ค.@zadjii-msft, WinUI๊ฐ ์ด ๋ถ๋ถ์์ ์ด๋ค ์ญํ ์ ํ๋์ง ์ ์ ์์ง๋ง ๊ฒฝ๊ณ ์๋ ๋ฌธ์ ๊ฐ ์ด๋ป๊ฒ ์ฐ๋ฆฌ๋ฅผ ๊ฑฐ๊ธฐ์ ์ด๋ฅด๊ฒ ํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๋๋ถ๋ถ์ ์ฌ๋๋ค์ด ์ถ๊ตฌ ํ๋ ์ค์ ๊ฒฐ๊ณผ์ ๊ด์ ์์ ๋ณผ ๋ ์ด๊ฒ์ #743 )์ ์๋ฆ๋ค์ด ํํ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
https://github.com/microsoft/microsoft-ui-xaml/issues/1247 ์ ๊ฒฝ๊ณ๊ฐ ์๊ณ ํฌ๋ช ๋๋ฅผ ๋ชจ๋ ์ถ์ ํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@TCB13 ์์๋ค์ํผ ์ฐ๋ฆฌ๋ ๋ชจ๋ ์ฌ๋ฌด์ค์ ์์ ๋ฐ์ ํธ์งํจ, ๋ถ๋ฅ ๋๊ธฐ์ด, github ๋ฌธ์ ๋ชฉ๋ก์ ๋ณด๊ณ ์๋ ์ค์ ์ฌ๋๋ค์ ๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฌํ ๋ฌธ์ ํ๋ํ๋๋ฅผ ์ฝ๊ณ ์์ผ๋ฉฐ, ๊ทธ ๋ฌธ์ ์ ๊ทธ ๋ฌธ์ ์์ ์ฌ๋๋ค์ด ๋งํ๋ ๊ฒ์ ๋ํด _๋๋ผ๊ณ ์์ต๋๋ค. ๋น๊ผฌ๋ ๋ง์ ์ผ๊ฐํด ์ฃผ์ธ์.