GNOME ํ๋ก์ ํธ๋ GNOME HIG(์ธ๊ฐ ์ธํฐํ์ด์ค ์ง์นจ)์ ๋ฐ๋ผ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์คํ์ผ๋งํ๊ธฐ ์ํ ๊ตฌ์ฑ ์์ ์ธํธ์ธ Libadwaita 1.3๋ฅผ ์ถ์ํ์ต๋๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ ์ผ๋ฐ์ ์ธ GNOME ์คํ์ผ๊ณผ ์ผ์นํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋ํ๊ธฐ ์ํ ๊ธฐ์ฑ ์์ ฏ๊ณผ ๊ฐ์ฒด๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ, ํด๋น ์ธํฐํ์ด์ค๋ ๋ชจ๋ ํฌ๊ธฐ์ ํ๋ฉด์ ๋ง๊ฒ ์ ์์ ์ผ๋ก ์กฐ์ ๋ ์ ์์ต๋๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฝ๋๋ C๋ก ์์ฑ๋์์ผ๋ฉฐ LGPL 2.1+ ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
libadwaita ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ GTK4์ ํจ๊ป ์ฌ์ฉ๋๋ฉฐ GNOME์์ ์ฌ์ฉ๋๋ Adwaita ํ ๋ง์ ๊ตฌ์ฑ ์์๋ฅผ ํฌํจํ๊ณ ์๋๋ฐ, ์ด ๊ตฌ์ฑ ์์๋ GTK์์ ๋ณ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ฎ๊ฒจ์ก์ต๋๋ค. GNOME์ ์๊ฐ์ ๋์์ธ ์์๋ฅผ ๋ณ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ฎ๊ธฐ๋ฉด GNOME์ ํ์ํ ๋ณ๊ฒฝ ์ฌํญ์ GTK์ ๋ณ๋๋ก ๊ฐ๋ฐํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด GTK ๊ฐ๋ฐ์๋ ๊ธฐ๋ณธ ์ฌํญ์ ์ง์คํ ์ ์๊ณ , GNOME ๊ฐ๋ฐ์๋ GTK ์์ฒด์ ์ํฅ์ ์ฃผ์ง ์๊ณ ํ์ํ ์คํ์ผ ๋ณ๊ฒฝ ์ฌํญ์ ๋ณด๋ค ๋น ๋ฅด๊ณ ์ ์ฐํ๊ฒ ์ ์ฉํ ์ ์์ต๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ ๋ชฉ๋ก, ํจ๋, ํธ์ง ๋ธ๋ก, ๋ฒํผ, ํญ, ๊ฒ์ ์์, ๋ํ ์์ ๋ฑ๊ณผ ๊ฐ์ ๋ค์ํ ์ธํฐํ์ด์ค ์์๋ฅผ ํฌํจํ๋ ํ์ค ์์ ฏ์ด ํฌํจ๋์ด ์์ต๋๋ค. ์ ์๋ ์์ ฏ์ ์ฌ์ฉํ๋ฉด PC ๋ฐ ๋ฉํฑ์ ๋ํ ํ๋ฉด๊ณผ ์ค๋งํธํฐ์ ์์ ํฐ์น ์คํฌ๋ฆฐ ๋ชจ๋์์ ์ํํ๊ฒ ์๋ํ๋ ๋ฒ์ฉ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ธํฐํ์ด์ค๋ ํ๋ฉด ํฌ๊ธฐ์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ ๋ ฅ ์ฅ์น์ ๋ฐ๋ผ ๋์ ์ผ๋ก ๋ณ๊ฒฝ๋ฉ๋๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ ์๋ ์ฌ์ฉ์ ์ ์ ์์ด ๊ทธ๋ ์ง์นจ์ ๋ชจ์๊ณผ ๋๋์ ๊ฐ์ ธ์ค๋ Adwaita ์คํ์ผ ์ธํธ๋ ํฌํจ๋์ด ์์ต๋๋ค.
libadwaita 1.3์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ:
- AdwBanner ์์ ฏ์ด ๊ตฌํ๋์์ต๋๋ค. ์ด ์์ ฏ์ GTK ์์ ฏ์ธ GtkInfoBar ๋์ ์ ๋ชฉ๊ณผ ํ๋์ ์ ํ ๋ฒํผ์ด ํฌํจ๋ ๋ฐฐ๋ ์ฐฝ์ ํ์ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์์ ฏ์ ์ฝํ
์ธ ๋ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ณํ๋๋ฉฐ, ํ์ ๋ฐ ์จ๊ธฐ๊ธฐ ์ ์ ๋๋ฉ์ด์
์ ์ ์ฉํ ์ ์์ต๋๋ค.

- AdwTabOverview ์์ ฏ์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด ์์ ฏ์ AdwTabView ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ ํ์๋๋ ํญ์ด๋ ํ์ด์ง์ ์๊ฐ์ ๊ฐ์๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด ์๋ก์ด ์์ ฏ์ ์ฌ์ฉํ๋ฉด ์ ํ๊ธฐ๋ฅผ ์ง์ ๊ตฌํํ์ง ์๊ณ ๋ ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ์์ ํญ ์์
์ ์ฒด๊ณ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์์ต๋๋ค.


- AdwTabView์์ ์ด๋ ค ์๋ ํญ์ ๊ฐ์์ ๋ํ ์ ๋ณด๊ฐ ์๋ ๋ฒํผ์ ํ์ํ๋ AdwTabButton ์์ ฏ์ ์ถ๊ฐํ์ต๋๋ค. ์ด ์์ ฏ์ ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ์์ ํญ ๊ฐ์ ๋ชจ๋๋ฅผ ์ฌ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.

- AdwViewStack, AdwTabView, AdwEntryRow ์์ ฏ์ ๋ํ ์ ๊ทผ์ฑ ์ง์์ด ๊ตฌํ๋์์ต๋๋ค.
- ์์คํ ์ค์ ์์ ์ ๋๋ฉ์ด์ ๋นํ์ฑํ๋ฅผ ๋ฌด์ํ๊ธฐ ์ํด AdwAnimation ํด๋์ค์ ์์ฑ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์ด์ AdwActionRow ํด๋์ค์์ ์๋ง์ ์ ํํ ์ ์์ต๋๋ค.
- AdwExpanderRow ํด๋์ค์ title-lines ๋ฐ subtitle-lines ์์ฑ์ด ์ ๋ฐ์ดํธ๋์์ต๋๋ค.
- AdwEntryRow ํด๋์ค์ GtkEntry์ ๋น์ทํ grab_focus_without_selecting() ๋ฉ์๋๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- AdwMessageDialog ํด๋์ค์ GtkAlertDialog์ ์ ์ฌํ ๋น๋๊ธฐ choose() ๋ฉ์๋๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- AdwTabBar ํด๋์ค์ ๋๋๊ทธ ์ค ๋๋กญ ์ธํฐํ์ด์ค์ ๊ด๋ จ๋ API ํธ์ถ์ ์ถ๊ฐํ์ต๋๋ค.
- AdwAvatar ํด๋์ค๋ ์ด๋ฏธ์ง์ ์ฌ๋ฐ๋ฅธ ํฌ๊ธฐ ์กฐ์ ์ ๋ณด์ฅํฉ๋๋ค.
- Windows ํ๋ซํผ์์ ์์ ํ ๋ ์ด๋์ด ์คํ์ผ๊ณผ ๊ณ ๋๋น ๋ชจ๋๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์ ํํ ๋ชฉ๋ก๊ณผ ๊ทธ๋ฆฌ๋ ํญ๋ชฉ์ ์ด์ ๊ฐ์กฐ์์ผ๋ก ๊ฐ์กฐ ํ์๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru



