Budgie ๋ฐ์คํฌํฑ ํ๊ฒฝ ๊ฐ๋ฐ์๋ Enlightenment ํ๋ก์ ํธ์์ ๊ฐ๋ฐํ EFL(Enlightenment Foundation Library) ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ํธํ์ฌ GTK ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ ์ค๋จํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ๋ง์ด๊ทธ๋ ์ด์ ๊ฒฐ๊ณผ๋ Budgie 11 ์ถ์ ์ ์ ๊ณต๋ ์์ ์ ๋๋ค. GTK ์ฌ์ฉ์ ์ค๋จํ๋ ค๋ ์ฒซ ๋ฒ์งธ ์๋๋ ์๋๋ผ๋ ์ ์ด ์ฃผ๋ชฉํ ๋งํฉ๋๋ค. 2017๋ ์ ํ๋ก์ ํธ๋ ์ด๋ฏธ Qt๋ก ์ ํํ๊ธฐ๋ก ๊ฒฐ์ ํ์ง๋ง ๋์ค์ ๊ณํ์ ์์ ํ์ต๋๋ค. GTK4์์๋ ์ํฉ์ด ๋ฐ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ํ๊น๊ฒ๋ GTK4๋ ๊ฐ๋ฐ์๊ฐ ๋์ฒด ํ๋ก์ ํธ์ ์๊ฒฌ์ ๋ฃ์ง ์๊ณ ์์ ์ ์๊ตฌ๋ฅผ ๊ณ ๋ คํ์ง ์๋ GNOME ํ๋ก์ ํธ์ ์๊ตฌ์๋ง ์ง์์ ์ผ๋ก ์ด์ ์ ๋ง์ถ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์์ ๊ธฐ๋์ ๋ถ์ํ์ง ๋ชปํ์ต๋๋ค. GTK์์ ๋ฒ์ด๋๊ฒ ๋ ์ฃผ์ ์๋๋ ฅ์ ์คํจ ์ฒ๋ฆฌ ๋ฐฉ์์ ๋ณ๊ฒฝํ๋ ค๋ GNOME์ ๊ณํ์ด์์ผ๋ฉฐ ์ด๋ก ์ธํด ํ์ฌ ํ๋ก์ ํธ์์ ์ฌ์ฉ์ ์ ์ ์คํจ์ ์์ฑํ๊ธฐ๊ฐ ์ด๋ ค์์ก์ต๋๋ค. ํนํ ํ๋ซํผ์ ์ธํฐํ์ด์ค ์คํ์ผ์ Adwaita ๋์์ธ ํ ๋ง์ ์ฐ๊ณ๋ libadwaita ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ ๊ณต๋ฉ๋๋ค.
GNOME ์ธํฐํ์ด์ค๋ฅผ ์์ ํ ๋ณต์ ํ๊ณ ์ถ์ง ์์ ํ์ฌ ํ๊ฒฝ์ ์ ์์๋ ์คํ์ผ์ ์ฒ๋ฆฌํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค๋นํด์ผ ํ์ง๋ง ์ด ๊ฒฝ์ฐ ๋์ฒด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ๋ซํผ์ ํ ๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋์์ธ์ ๋ถ์ผ์น๊ฐ ์์ต๋๋ค. libadwaita์ ์ถ๊ฐ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ธฐ ์ํ ํ์ค ๋๊ตฌ๊ฐ ์์ผ๋ฉฐ ์์ฉ ํ๋ก๊ทธ๋จ์์ ์์์ ์ฝ๊ฒ ๋ณ๊ฒฝํ ์ ์๋ Recoloring API๋ฅผ ์ถ๊ฐํ๋ ค๋ ์๋๋ Adwaita ์ด์ธ์ ํ ๋ง๊ฐ ํ์ง์ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น ์ ์๋ค๋ ์ฐ๋ ค๋ก ์ธํด ๋์ํ ์ ์์์ต๋๋ค. GNOME์ฉ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ๊ณ ์ฌ์ฉ์์ ๋ฌธ์ ๋ถ์์ ๋ณต์กํ๊ฒ ๋ง๋ญ๋๋ค. ๋ฐ๋ผ์ ๋์ฒด ๋ฐ์คํฌํ ๊ฐ๋ฐ์๋ Adwaita ํ ๋ง์ ๋ฌถ์ฌ ์์์ ๋ฐ๊ฒฌํ์ต๋๋ค.
Budgie ๊ฐ๋ฐ์๋ค ์ฌ์ด์์ ๋ถ๋ง์ ๋ถ๋ฌ์ผ์ผํค๋ GTK4์ ๊ธฐ๋ฅ ์ค์๋ ํ์ ํด๋์ค ์์ฑ์ ํตํด ์ผ๋ถ ์์ ฏ์ ๋ณ๊ฒฝํ๋ ๊ธฐ๋ฅ์ ์ ์ธํ๋ ๊ฒ, Wayland์ ํธํ๋์ง ์๋ ์ค๋๋ X11 API ๋ฒ์ฃผ๋ก ์ด์ ํ๋ ๊ฒ(์: Budgie์์๋ GdkScreen ํธ์ถ)์ด ์์ต๋๋ค. ๋ฐ GdkX11Screen์ ์ฐ๊ฒฐ์ ๊ฒฐ์ ํ๊ณ ๋ชจ๋ํฐ ๊ตฌ์ฑ์ ๋ณ๊ฒฝํ๋ ๋ฐ ์ฌ์ฉ๋์์ต๋๋ค. GtkListView ์์ ฏ์ ์คํฌ๋กค ๋ฌธ์ , ์ฐฝ์ ์ด์ ์ด ๋ง์ง ์์ ๊ฒฝ์ฐ GtkPopovers์์ ๋ง์ฐ์ค ๋ฐ ํค๋ณด๋ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฅ์ด ์์ค๋์์ต๋๋ค.
๋์ฒด ํดํท์ผ๋ก ์ ํํ๋ ๊ฒ์ ๋ชจ๋ ์ฅ๋จ์ ์ ๊ฒํ ํ ํ ๊ฐ๋ฐ์๋ ๊ฐ์ฅ ์ต์ ์ ์ต์ ์ ํ๋ก์ ํธ๋ฅผ EFL ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋๋ก ์ ํํ๋ ๊ฒ์ด๋ผ๋ ๊ฒฐ๋ก ์ ๋๋ฌํ์ต๋๋ค. Qt๋ก์ ์ ํ์ C++ ๊ธฐ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํฅํ ๋ผ์ด์ผ์ค ์ ์ฑ ์ ๋ถํ์ค์ฑ์ผ๋ก ์ธํด ๋ฌธ์ ๊ฐ ์๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ๋๋ถ๋ถ์ Budgie ์ฝ๋๋ Vala๋ก ์์ฑ๋์์ง๋ง ๋ง์ด๊ทธ๋ ์ด์ ์ต์ ์ผ๋ก C ๋๋ Rust ํดํท์ ์ฌ์ฉํ ์ ์์์ต๋๋ค.
Solus ๋ฐฐํฌํ์ ๊ฒฝ์ฐ ํ๋ก์ ํธ๋ ๊ณ์ํด์ GNOME์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋์ฒด ๋น๋๋ฅผ ์์ฑํ ์์ ์ด์ง๋ง ์ด ๋น๋๋ ํ๋ก์ ํธ์์ ๊ฐ๋ ํ์ง ์๋ ๊ฒ์ผ๋ก ํ์๋๊ณ ๋ค์ด๋ก๋ ํ์ด์ง์ ๋ณ๋ ์น์ ์์ ๊ฐ์กฐ ํ์๋ฉ๋๋ค. Budgie 11์ด ์ถ์๋๋ฉด ๊ฐ๋ฐ์๋ GNOME Shell๊ณผ ๋น๊ตํ์ฌ ๊ธฐ๋ฅ์ ํ๊ฐํ๊ณ GNOME์ ์ฌ์ฉํ์ฌ ๋น๋๋ฅผ ๊ณ์ ๊ตฌ์ถํ ์ง ์๋๋ฉด ์ค์งํ ์ง ๊ฒฐ์ ํ์ฌ Budgie 11์ ์ฌ์ฉํ์ฌ ๋น๋๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๊ธฐ ์ํ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. Budgie 11 ๋ฐ์คํฌํฑ์ ์ฌ์ฉํ Solus ๋น๋๊ฐ ๊ณํ๋์ด ์์ต๋๋ค. ํ๋ก์ ํธ ๋ด์์ ๊ฐ๋ฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํฌํจํ์ฌ ๊ทธ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ ๋ก๊ทธ๋ก ๋์ฒดํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ฑ์ ์์ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์์ฒด ์ ํ๋ฆฌ์ผ์ด์ ์ค์น ์ผํฐ๋ฅผ ๊ฐ๋ฐํ ๊ณํ์ ๋๋ค.
Budgie ๋ฐ์คํฌํ์ GNOME ์, ํจ๋, ์ ํ๋ฆฟ ๋ฐ ์๋ฆผ ์์คํ ์ ์์ฒด ๊ตฌํ์ ์ ๊ณตํ๋ค๋ ์ ์ ๊ธฐ์ตํ์ญ์์ค. ์ฐฝ์ ๊ด๋ฆฌํ๋ ค๋ฉด ๊ธฐ๋ณธ Mutter ํ๋ฌ๊ทธ์ธ์ ํ์ฅ ์์ ํ BWM(Budgie Window Manager) ์ฐฝ ๊ด๋ฆฌ์๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. Budgie๋ ๊ตฌ์ฑ์ด ๊ธฐ์กด ๋ฐ์คํฌํ ํจ๋๊ณผ ์ ์ฌํ ํจ๋์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ๋ชจ๋ ํจ๋ ์์๋ ์ ํ๋ฆฟ์ด๋ฏ๋ก ๊ตฌ์ฑ์ ์ ์ฐํ๊ฒ ์ฌ์ฉ์ ์ ์ํ๊ณ , ๋ฐฐ์น๋ฅผ ๋ณ๊ฒฝํ๊ณ , ๊ธฐ๋ณธ ํจ๋ ์์์ ๊ตฌํ์ ์ทจํฅ์ ๋ง๊ฒ ๋ฐ๊ฟ ์ ์์ต๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ์ ํ๋ฆฟ์๋ ํด๋์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฉ๋ด, ์์ ์ ํ ์์คํ , ์ด๋ฆฐ ์ฐฝ ๋ชฉ๋ก ์์ญ, ๊ฐ์ ๋ฐ์คํฌํ ๋ทฐ์ด, ์ ์ ๊ด๋ฆฌ ํ์๊ธฐ, ๋ณผ๋ฅจ ์ ์ด ์ ํ๋ฆฟ, ์์คํ ์ํ ํ์๊ธฐ ๋ฐ ์๊ณ๊ฐ ํฌํจ๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru