๊ทธ๋†ˆ ์Šคํƒ€์ผ ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์„ฑ์„ ์œ„ํ•œ Libadwaita 1.3 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถœ์‹œ

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 ๋Œ€์‹  ์ œ๋ชฉ๊ณผ ํ•˜๋‚˜์˜ ์„ ํƒ ๋ฒ„ํŠผ์ด ํฌํ•จ๋œ ๋ฐฐ๋„ˆ ์ฐฝ์„ ํ‘œ์‹œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์ ฏ์˜ ์ฝ˜ํ…์ธ ๋Š” ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋ณ€ํ˜•๋˜๋ฉฐ, ํ‘œ์‹œ ๋ฐ ์ˆจ๊ธฐ๊ธฐ ์‹œ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
     ๊ทธ๋†ˆ ์Šคํƒ€์ผ ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์„ฑ์„ ์œ„ํ•œ Libadwaita 1.3 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถœ์‹œ
  • AdwTabOverview ์œ„์ ฏ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์œ„์ ฏ์€ AdwTabView ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œ์‹œ๋˜๋Š” ํƒญ์ด๋‚˜ ํŽ˜์ด์ง€์˜ ์‹œ๊ฐ์  ๊ฐœ์š”๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ์ƒˆ๋กœ์šด ์œ„์ ฏ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ „ํ™˜๊ธฐ๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•˜์ง€ ์•Š๊ณ ๋„ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„œ ํƒญ ์ž‘์—…์„ ์ฒด๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
     ๊ทธ๋†ˆ ์Šคํƒ€์ผ ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์„ฑ์„ ์œ„ํ•œ Libadwaita 1.3 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถœ์‹œ  ๊ทธ๋†ˆ ์Šคํƒ€์ผ ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์„ฑ์„ ์œ„ํ•œ Libadwaita 1.3 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถœ์‹œ
  • AdwTabView์—์„œ ์—ด๋ ค ์žˆ๋Š” ํƒญ์˜ ๊ฐœ์ˆ˜์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์žˆ๋Š” ๋ฒ„ํŠผ์„ ํ‘œ์‹œํ•˜๋Š” AdwTabButton ์œ„์ ฏ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์œ„์ ฏ์€ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„œ ํƒญ ๊ฐœ์š” ๋ชจ๋“œ๋ฅผ ์—ฌ๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
     ๊ทธ๋†ˆ ์Šคํƒ€์ผ ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์„ฑ์„ ์œ„ํ•œ Libadwaita 1.3 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถœ์‹œ
  • 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

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€