๊ทธ๋ ํ๋ก์ ํธ๋ ๊ทธ๋ HIG(Human Interface Guidelines) ๊ถ์ฅ ์ฌํญ์ ์ค์ํ๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์คํ์ผ์ ์ง์ ํ๊ธฐ ์ํ ๊ตฌ์ฑ ์์ ์งํฉ์ด ํฌํจ๋ Libadwaita 1.3 ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฆด๋ฆฌ์ค๋ฅผ ๋ฐํํ์ต๋๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ ์ผ๋ฐ GNOME ์คํ์ผ์ ์ค์ํ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ตฌ์ถํ๊ธฐ ์ํ ๊ธฐ์ฑํ ์์ ฏ๊ณผ ๊ฐ์ฒด๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ, ์ธํฐํ์ด์ค๋ ๋ชจ๋ ํฌ๊ธฐ์ ํ๋ฉด์ ๋ฐ์์ ์ผ๋ก ์ ์ํ ์ ์์ต๋๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฝ๋๋ C ์ธ์ด๋ก ์์ฑ๋์์ผ๋ฉฐ LGPL 2.1+ ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
libadwaita ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ GTK4์ ํจ๊ป ์ฌ์ฉ๋๋ฉฐ GTK์์ ๋ณ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ด๋๋ GNOME์์ ์ฌ์ฉ๋๋ Adwaita ์คํจ ๊ตฌ์ฑ ์์๋ฅผ ํฌํจํฉ๋๋ค. GNOME ๋น์ฃผ์ผ์ ๋ณ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ด๋ํ๋ฉด GNOME์ ํ์ํ ๋ณ๊ฒฝ ์ฌํญ์ GTK์ ๋ณ๋๋ก ๊ฐ๋ฐํ ์ ์์ผ๋ฏ๋ก GTK ๊ฐ๋ฐ์๋ ๊ธฐ๋ณธ ์ฌํญ์ ์ง์คํ ์ ์๊ณ GNOME ๊ฐ๋ฐ์๋ GTK ์์ฒด์ ์ํฅ์ ์ฃผ์ง ์๊ณ ์คํ์ผ ๋ณ๊ฒฝ ์ฌํญ์ ๋ณด๋ค ๋น ๋ฅด๊ณ ์ ์ฐํ๊ฒ ์ถ์งํ ์ ์์ต๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ ๋ชฉ๋ก, ํจ๋, ํธ์ง ๋ธ๋ก, ๋ฒํผ, ํญ, ๊ฒ์ ์์, ๋ํ ์์ ๋ฑ๊ณผ ๊ฐ์ ๋ค์ํ ์ธํฐํ์ด์ค ์์๋ฅผ ํฌํจํ๋ ํ์ค ์์ ฏ์ด ํฌํจ๋์ด ์์ต๋๋ค. ์ ์๋ ์์ ฏ์ ์ฌ์ฉํ๋ฉด PC ๋ฐ ๋ฉํฑ์ ๋ํ ํ๋ฉด๊ณผ ์ค๋งํธํฐ์ ์์ ํฐ์น ์คํฌ๋ฆฐ ๋ชจ๋์์ ์ํํ๊ฒ ์๋ํ๋ ๋ฒ์ฉ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ธํฐํ์ด์ค๋ ํ๋ฉด ํฌ๊ธฐ์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ ๋ ฅ ์ฅ์น์ ๋ฐ๋ผ ๋์ ์ผ๋ก ๋ณ๊ฒฝ๋ฉ๋๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ ์๋ ์ฌ์ฉ์ ์ ์ ์์ด ๊ทธ๋ ์ง์นจ์ ๋ชจ์๊ณผ ๋๋์ ๊ฐ์ ธ์ค๋ Adwaita ์คํ์ผ ์ธํธ๋ ํฌํจ๋์ด ์์ต๋๋ค.
libadwaita 1.3์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ:
- ์ ๋ชฉ๊ณผ ํ๋์ ์ ํ์ ๋ฒํผ์ด ํฌํจ๋ ๋ฐฐ๋ ์ฐฝ์ ํ์ํ๊ธฐ ์ํด GTK GtkInfoBar ์์ ฏ ๋์ ์ฌ์ฉํ ์ ์๋ AdwBanner ์์ ฏ์ ๊ตฌํํ์ต๋๋ค. ์์ ฏ์ ๋ด์ฉ์ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ณํ๋๋ฉฐ, ํ์ ๋ฐ ์จ๊ธฐ๊ธฐ ์ ์ ๋๋ฉ์ด์
์ ์ ์ฉํ ์ ์์ต๋๋ค.
- AdwTabView ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ ํ์๋๋ ํญ ๋๋ ํ์ด์ง์ ์๊ฐ์ ๊ฐ์๋ฅผ ์ํด ์ค๊ณ๋ AdwTabOverview ์์ ฏ์ ์ถ๊ฐํ์ต๋๋ค. ์๋ก์ด ์์ ฏ์ ์ฌ์ฉํ๋ฉด ์ค์์น๋ฅผ ์ง์ ๊ตฌํํ์ง ์๊ณ ๋ ๋ชจ๋ฐ์ผ ์ฅ์น์ ํญ์ผ๋ก ์์
์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
- ๋ชจ๋ฐ์ผ ์ฅ์น์์ ํญ ๋ณด๊ธฐ๋ฅผ ์ฌ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ AdwTabView์ ์ด๋ฆฐ ํญ ์์ ๋ํ ์ ๋ณด๊ฐ ํฌํจ๋ ๋ฒํผ์ ํ์ํ๊ธฐ ์ํด AdwTabButton ์์ ฏ์ ์ถ๊ฐํ์ต๋๋ค.
- AdwViewStack, AdwTabView ๋ฐ AdwEntryRow ์์ ฏ์ ์ด์ ์ ๊ทผ์ฑ ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค.
- ์์คํ ์ค์ ์์ ์ ๋๋ฉ์ด์ ๋นํ์ฑํ๋ฅผ ๋ฌด์ํ๊ธฐ ์ํด AdwAnimation ํด๋์ค์ ์์ฑ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์ด์ AdwActionRow ํด๋์ค์ ์๋ง์ ๊ฐ์กฐ ํ์ํ๋ ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
- ์ ๋ชฉ ์ค ๋ฐ ์๋ง ์ค ์์ฑ์ด AdwExpanderRow ํด๋์ค์ ์ถ๊ฐ๋์์ต๋๋ค.
- Grab_focus_without_selecting() ๋ฉ์๋๊ฐ GtkEntry์ ์ ์ฌํ๊ฒ AdwEntryRow ํด๋์ค์ ์ถ๊ฐ๋์์ต๋๋ค.
- ๋น๋๊ธฐ choose() ๋ฉ์๋๊ฐ GtkAlertDialog์ ์ ์ฌํ๊ฒ AdwMessageDialog ํด๋์ค์ ์ถ๊ฐ๋์์ต๋๋ค.
- ๋๋๊ทธ ์ค ๋๋กญ ์ธํฐํ์ด์ค์ ๊ด๋ จ๋ API ํธ์ถ์ด AdwTabBar ํด๋์ค์ ์ถ๊ฐ๋์์ต๋๋ค.
- AdwAvatar ํด๋์ค๋ ์ฌ๋ฐ๋ฅธ ์ด๋ฏธ์ง ํฌ๊ธฐ ์กฐ์ ์ ๋ณด์ฅํฉ๋๋ค.
- Windows ํ๋ซํผ์์ ์์ ํ ๋ ์ด๋์ด ์คํ์ผ๊ณผ ๊ณ ๋๋น ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์ด์ ๋ชฉ๋ก ๋ฐ ๊ทธ๋ฆฌ๋์์ ์ ํํ ์์๊ฐ ํ์ฑ ์์๋ฅผ ๊ฐ์กฐ ํ์ํ๋ ๋ฐ ์ฌ์ฉ๋ ์์(์ ์ผํธ)์ผ๋ก ๊ฐ์กฐ ํ์๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru