GTK 4.10 ๊ทธ๋ž˜ํ”ฝ ํˆดํ‚ท ์‚ฌ์šฉ ๊ฐ€๋Šฅ

4.10.0๊ฐœ์›” ๊ฐ„์˜ ๊ฐœ๋ฐœ ๋์— ๊ทธ๋ž˜ํ”ฝ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์„ฑ์„ ์œ„ํ•œ ๋‹ค์ค‘ ํ”Œ๋žซํผ ํˆดํ‚ท์ธ GTK 4์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. GTK XNUMX๋Š” ๋‹ค์Œ GTK์˜ API ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด XNUMX๊ฐœ์›”๋งˆ๋‹ค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ค์‹œ ์ž‘์„ฑํ•ด์•ผ ํ•˜๋Š” ๊ฑฑ์ • ์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์•ˆ์ •์ ์ด๊ณ  ์ง€์›๋˜๋Š” API๋ฅผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ˆ˜๋…„ ๋™์•ˆ ์ œ๊ณตํ•˜๋ ค๋Š” ์ƒˆ๋กœ์šด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์˜ ์ผ๋ถ€๋กœ ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋ญ‡๊ฐ€์ง€.

GTK 4.10์˜ ๊ฐ€์žฅ ์ฃผ๋ชฉํ• ๋งŒํ•œ ๊ฐœ์„  ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํŒŒ์ผ์„ ์„ ํƒํ•˜๊ธฐ ์œ„ํ•ด ์—ด๋ฆฌ๋Š” ๋Œ€ํ™”์ƒ์ž๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” GtkFileChooserWidget ์œ„์ ฏ์€ ์•„์ด์ฝ˜ ๋„คํŠธ์›Œํฌ ํ˜•ํƒœ๋กœ ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์šฉ์„ ํ‘œ์‹œํ•˜๋Š” ๋ชจ๋“œ๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ํŒŒ์ผ ๋ชฉ๋ก ํ˜•ํƒœ์˜ ํด๋ž˜์‹ ๋ณด๊ธฐ๊ฐ€ ๊ณ„์† ์‚ฌ์šฉ๋˜๋ฉฐ, ํŒจ๋„ ์˜ค๋ฅธ์ชฝ์— ์•„์ด์ฝ˜ ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ„๋„์˜ ๋ฒ„ํŠผ์ด ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„์ด์ฝ˜:
    GTK 4.10 ๊ทธ๋ž˜ํ”ฝ ํˆดํ‚ท ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ์ƒ‰์ƒ, ๊ธ€๊ผด, ํŒŒ์ผ์„ ์„ ํƒํ•˜๊ณ  ๊ฒฝ๊ณ ๋ฅผ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•œ ๋Œ€ํ™”์ƒ์ž ๊ตฌํ˜„๊ณผ ํ•จ๊ป˜ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค GtkColorDialog, GtkFontDialog, GtkFileDialog ๋ฐ GtkAlertDialog๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ์˜ต์…˜์€ ๋น„๋™๊ธฐ ๋ชจ๋“œ(GIO async)์—์„œ ์ž‘๋™ํ•˜๋Š” ๋ณด๋‹ค ์ „์ฒด์ ์ด๊ณ  ๊ท ํ˜• ์žกํžŒ API๋กœ์˜ ์ „ํ™˜์œผ๋กœ ๊ตฌ๋ณ„๋ฉ๋‹ˆ๋‹ค. ์ƒˆ ๋Œ€ํ™” ์ƒ์ž์—์„œ๋Š” ๊ฐ€๋Šฅํ•  ๋•Œ๋งˆ๋‹ค ๊ฒฉ๋ฆฌ๋œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์˜ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” Freedesktop ํฌํ„ธ(xdg-desktop-portal)์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด CPDB(Common Printing Dialog Backend)๊ฐ€ ์ถ”๊ฐ€๋˜์–ด ์ธ์‡„ ๋Œ€ํ™” ์ƒ์ž์— ์‚ฌ์šฉํ•  ํ‘œ์ค€ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์— ์‚ฌ์šฉ๋œ lpr ์ธ์‡„ ๋ฐฑ์—”๋“œ๋Š” ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • GTK์™€ ๊ทธ๋ž˜ํ”ฝ ํ•˜์œ„ ์‹œ์Šคํ…œ ์‚ฌ์ด์— ๋ ˆ์ด์–ด๋ฅผ ์ œ๊ณตํ•˜๋Š” GDK ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” GdkTexture ํด๋ž˜์Šค์—์„œ ํ…์Šค์ฒ˜๋ฅผ ๋กœ๋“œํ•˜๊ณ  ๋‹ค์–‘ํ•œ ํ˜•์‹์„ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” GdkTextureDownloader ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. OpenGL์„ ์‚ฌ์šฉํ•˜์—ฌ ํ…์Šค์ฒ˜ ํฌ๊ธฐ ์กฐ์ •์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • OpenGL ๋ฐ Vulkan์„ ํ†ตํ•ด ๊ทธ๋ž˜ํ”ฝ ์žฅ๋ฉด์„ ๋ Œ๋”๋งํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” GSK ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(GTK Scene Kit)๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ํ…์Šค์ฒ˜์˜ ๋งˆ์Šคํฌ ๋ฐ ์‚ฌ์šฉ์ž ์ •์˜ ํ•„ํ„ฐ๋ง์ด ์žˆ๋Š” ๋…ธ๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • Wayland ํ”„๋กœํ† ์ฝœ ํ™•์žฅ์˜ ์ƒˆ ๋ฒ„์ „์— ๋Œ€ํ•œ ์ง€์›์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. "xdg-activation" ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•  ๋•Œ ์‹œ์ž‘ ์•Œ๋ฆผ ์ถœ๋ ฅ์ด ์กฐ์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋†’์€ ํ”ฝ์…€ ๋ฐ€๋„ ํ™”๋ฉด์˜ ์ปค์„œ ํฌ๊ธฐ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • GtkMountOperation ํด๋ž˜์Šค๋Š” X11์ด ์•„๋‹Œ ํ™˜๊ฒฝ์—์„œ ์ž‘๋™ํ•˜๋„๋ก ์กฐ์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์›น ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์—์„œ GTK ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถœ๋ ฅ์„ ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ๋Š” Broadway ๋ฐฑ์—”๋“œ์— ๋ชจ๋‹ฌ ์ฐฝ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • GtkFileLauncher ํด๋ž˜์Šค๋Š” gtk_show_uri๋ฅผ ๋Œ€์ฒดํ•  ์ƒˆ๋กœ์šด ๋น„๋™๊ธฐ API๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • gtk-builder-tool ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ํ…œํ”Œ๋ฆฟ ์ฒ˜๋ฆฌ๋ฅผ ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • GtkSearchEntry ์œ„์ ฏ์—๋Š” ํ•„๋“œ๊ฐ€ ๋น„์–ด ์žˆ๊ณ  ์ž…๋ ฅ ํฌ์ปค์Šค๊ฐ€ ์—†์„ ๋•Œ ํ‘œ์‹œ๋˜๋Š” ํ•„๋Ÿฌ ํ…์ŠคํŠธ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ฃผ์–ด์ง„ URI๋ฅผ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด ์‹คํ–‰๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฒฐ์ •ํ•˜๊ฑฐ๋‚˜ ํ•ธ๋“ค๋Ÿฌ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” gtk_show_uri ํ•จ์ˆ˜๋ฅผ ๋Œ€์ฒดํ•˜๋Š” GtkUriLauncher ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • GtkStringSorter ํด๋ž˜์Šค๋Š” ๋‹ค์–‘ํ•œ "collation" ๋ฉ”์†Œ๋“œ์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฌธ์ž์˜ ์˜๋ฏธ์— ๋”ฐ๋ผ ์ผ์น˜ ๋ฐ ์ •๋ ฌ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค(์˜ˆ: ์•…์„ผํŠธ ํ‘œ์‹œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ).
  • API์™€ ์œ„์ ฏ์˜ ์ƒ๋‹น ๋ถ€๋ถ„์€ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ํ–ฅํ›„ GTK5 ๋ธŒ๋žœ์น˜์—์„œ๋Š” ์ง€์›ํ•˜์ง€ ์•Š๊ธฐ๋กœ ๊ฒฐ์ •๋˜์—ˆ์œผ๋ฉฐ ๋น„๋™๊ธฐ ๋ชจ๋“œ์—์„œ ์ž‘๋™ํ•˜๋Š” ์•„๋‚ ๋กœ๊ทธ๋กœ ๋Œ€์ฒด๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • GtkDialog(GtkWindow๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•จ).
    • GtkTreeView(GtkListView ๋ฐ GtkColumnView๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•จ) .
    • GtkIconView(GtkGridView๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•จ).
    • GtkComboBox(GtkDropDown์„ ์‚ฌ์šฉํ•ด์•ผ ํ•จ)
    • GtkAppChooser(GtkDropDown์„ ์‚ฌ์šฉํ•ด์•ผ ํ•จ)
    • GtkMessageDialog(GtkAlertDialog๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•จ)
    • GtkColorChooser(GtkColorDialog ๋ฐ GtkColorDialogButton์„ ์‚ฌ์šฉํ•ด์•ผ ํ•จ).
    • GtkFontChooser(GtkFontDialog ๋ฐ GtkFontDialogButton์„ ์‚ฌ์šฉํ•ด์•ผ ํ•จ).
    • GtkFileChooser(GtkFileDialog๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•จ).
    • GtkInfoBar
    • GtkEntry์™„๋ฃŒ
    • GtkStyleContext
    • Gtk๋ณผ๋ฅจ๋ฒ„ํŠผ
    • Gtk์ƒํƒœ ํ‘œ์‹œ์ค„
    • Gtk์–ด์‹œ์Šคํ„ดํŠธ
    • GtkLock๋ฒ„ํŠผ
    • gtk_widget_show/hide
    • gtk_show_uri
    • gtk_render_ ๋ฐ gtk_snapshot_render_
    • gtk_gesture_set_sequence_state
  • GtkAccessible ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๊ณต์šฉ ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ์ „ํ™˜๋˜์—ˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์žฅ์• ์ธ์„ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค ์š”์†Œ์˜ ์ œXNUMX์ž ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GtkAccessibleRange ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • macOS ํ”Œ๋žซํผ์€ ๋งˆ์šฐ์Šค๋ฅผ ์‚ฌ์šฉํ•œ ์š”์†Œ ๋“œ๋ž˜๊ทธ(DND, ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ)๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • Windows ํ”Œ๋žซํผ์—์„œ ์‹œ์Šคํ…œ ์„ค์ •๊ณผ์˜ ํ†ตํ•ฉ์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋””๋ฒ„๊ทธ ์ถœ๋ ฅ ํ˜•์‹์ด ํ†ตํ•ฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • JPEG ์ด๋ฏธ์ง€ ์—…๋กœ๋”์˜ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์ด 1GB๋กœ ๋Š˜์–ด๋‚ฌ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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