ืขืจื›ืช ื›ืœื™ื ื’ืจืคื™ืช GTK 4.8 ื–ืžื™ื ื”

ืœืื—ืจ ืฉืžื•ื ื” ื—ื•ื“ืฉื™ื ืฉืœ ืคื™ืชื•ื—, ืคื•ืจืกืžื” ื”ื•ืฆืืช ืขืจื›ืช ื›ืœื™ื ืžืจื•ื‘ืช ืคืœื˜ืคื•ืจืžื•ืช ืœื™ืฆื™ืจืช ืžืžืฉืง ืžืฉืชืžืฉ ื’ืจืคื™ - GTK 4.8.0. GTK 4 ืžืคื•ืชื— ื›ื—ืœืง ืžืชื”ืœื™ืš ืคื™ืชื•ื— ื—ื“ืฉ ื”ืžื ืกื” ืœืกืคืง ืœืžืคืชื—ื™ ืืคืœื™ืงืฆื™ื•ืช API ื™ืฆื™ื‘ ื•ื ืชืžืš ืœืžืฉืš ืžืกืคืจ ืฉื ื™ื ืฉื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื• ืœืœื ื—ืฉืฉ ืœืฉื›ืชื‘ ื™ื™ืฉื•ืžื™ื ื›ืœ ืฉื™ืฉื” ื—ื•ื“ืฉื™ื ืขืงื‘ ืฉื™ื ื•ื™ื™ื ื‘-API ื‘-GTK ื”ื‘ื. ืขื ืฃ.

ื›ืžื” ืžื”ืฉื™ืคื•ืจื™ื ื”ื‘ื•ืœื˜ื™ื ื‘ื™ื•ืชืจ ื‘-GTK 4.8 ื›ื•ืœืœื™ื:

  • ืกื’ื ื•ืŸ ืžืžืฉืง ื‘ื—ื™ืจืช ื”ืฆื‘ืข ืฉื•ื ื” (GtkColorChooser).
  • ืžืžืฉืง ื‘ื—ื™ืจืช ื”ื’ื•ืคื ื™ื (GtkFontChooser) ืฉื™ืคืจ ืชืžื™ื›ื” ื‘ื™ื›ื•ืœื•ืช ืคื•ืจืžื˜ OpenType.
  • ืžื ื•ืข ื”-CSS ืขืฉื” ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืฉืœ ื”ืงื™ื‘ื•ืฅ ืžื—ื“ืฉ ืฉืœ ืืœืžื ื˜ื™ื ื”ืงืฉื•ืจื™ื ืœืื•ืชื• ืื‘, ื•ืžืืคืฉืจ ืฉื™ืžื•ืฉ ื‘ืขืจื›ื™ื ืฉืื™ื ื ืฉืœืžื™ื ื‘ืขืช ืงื‘ื™ืขืช ื’ื•ื“ืœ ื”ืžืจื•ื•ื— ื‘ื™ืŸ ืื•ืชื™ื•ืช.
  • ื ืชื•ื ื™ ื”ืืžื•ื’'ื™ ืขื•ื“ื›ื ื• ืœ-CLDR 40 (Unicode 14). ื ื•ืกืคื” ืชืžื™ื›ื” ืขื‘ื•ืจ ืžืงื•ืžื•ืช ื—ื“ืฉื™ื.
  • ืขืจื›ืช ื”ื ื•ืฉื ืขื“ื›ื ื” ืกืžืœื™ื ื•ืฉื™ืคืจื” ืืช ื”ืงืจื™ืื•ืช ืฉืœ ืชื•ื•ื™ื•ืช ื˜ืงืกื˜ ืžื•ื“ื’ืฉื•ืช.
  • ืกืคืจื™ื™ืช GDK, ื”ืžืกืคืงืช ืฉื›ื‘ื” ื‘ื™ืŸ GTK ืœื‘ื™ืŸ ืชืช-ื”ืžืขืจื›ืช ื”ื’ืจืคื™ืช, ืขืฉืชื” ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืœื”ืžืจื” ืฉืœ ืคื•ืจืžื˜ื™ื ืฉืœ ืคื™ืงืกืœื™ื. ื‘ืžืขืจื›ื•ืช ืขื ืžื ื”ืœื™ ื”ืชืงื ื™ื ืฉืœ NVIDIA, ื”ืจื—ื‘ืช EGL EGL_KHR_swap_buffers_with_damage ืžื•ืคืขืœืช.
  • ืกืคืจื™ื™ืช GSK (GTK Scene Kit), ื”ืžืกืคืงืช ืืช ื”ื™ื›ื•ืœืช ืœืขื‘ื“ ืกืฆื ื•ืช ื’ืจืคื™ื•ืช ื‘ืืžืฆืขื•ืช OpenGL ื•-Vulkan, ืชื•ืžื›ืช ื‘ืขื™ื‘ื•ื“ ืฉืœ ืื–ื•ืจื™ื ื’ืœื•ื™ื™ื ื’ื“ื•ืœื™ื (ื™ืฆื™ืื•ืช ืฆืคื™ื™ื”). ืžื•ืฆืขื•ืช ืกืคืจื™ื•ืช ืœืขื™ื‘ื•ื“ ื’ืœื™ืคื™ื ื‘ืืžืฆืขื•ืช ื˜ืงืกื˜ื•ืจื•ืช.
  • Wayland ืชื•ืžืš ื‘ืคืจื•ื˜ื•ืงื•ืœ "xdg-activation", ื”ืžืืคืฉืจ ืœืš ืœื”ืขื‘ื™ืจ ืคื•ืงื•ืก ื‘ื™ืŸ ืžืฉื˜ื—ื™ื ืฉื•ื ื™ื ื‘ืจืžื” ื”ืจืืฉื•ื ื” (ืœื“ื•ื’ืžื”, ื‘ืืžืฆืขื•ืช xdg-activation, ืืคืœื™ืงืฆื™ื” ืื—ืช ื™ื›ื•ืœื” ืœื”ื—ืœื™ืฃ ืคื•ืงื•ืก ืœืื—ืจืช).
  • ื”ื•ื•ื™ื“ื’'ื˜ GtkTextView ืžืคื—ื™ืช ืืช ืžืกืคืจ ื”ืžืฆื‘ื™ื ื”ืžื•ื‘ื™ืœื™ื ืœืฉืจื˜ื•ื˜ื™ื ื—ื•ื–ืจื™ื ื•ื ืฉื ื™ื, ื•ืžื™ื™ืฉื ืืช ื”ืคื•ื ืงืฆื™ื” GetCharacterExtents ื›ื“ื™ ืœืงื‘ื•ืข ืืช ื”ืฉื˜ื— ืขื ื”ื’ืœื™ืฃ ืฉืžื’ื“ื™ืจ ืืช ื”ืชื• ื‘ื˜ืงืกื˜ (ืคื•ื ืงืฆื™ื” ืฉืคื•ืคื•ืœืจื™ืช ื‘ื›ืœื™ื ืœืื ืฉื™ื ืขื ืžื•ื’ื‘ืœื•ื™ื•ืช).
  • ืœืžื—ืœืงื” GtkViewport, ื”ืžืฉืžืฉืช ืœืืจื’ื•ืŸ ื’ืœื™ืœื” ื‘ื•ื•ื™ื“ื’'ื˜ื™ื, ืžืฆื‘ "ื’ืœื•ืœ ืœืคื•ืงื•ืก" ืžื•ืคืขืœ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ืฉื‘ื• ื”ืชื•ื›ืŸ ื’ื•ืœืœ ืื•ื˜ื•ืžื˜ื™ืช ื›ื“ื™ ืœืฉืžื•ืจ ืขืœ ื”ืืœืžื ื˜ ืฉื™ืฉ ืœื• ืžื™ืงื•ื“ ืงืœื˜ ื‘ืชืฆื•ื’ื”.
  • ื”ื•ื•ื™ื“ื’'ื˜ GtkSearchEntry, ื”ืžืฆื™ื’ ืืช ื”ืื–ื•ืจ ืœื”ื–ื ืช ืฉืื™ืœืชืช ื—ื™ืคื•ืฉ, ืžืกืคืง ืืช ื”ื™ื›ื•ืœืช ืœื”ื’ื“ื™ืจ ืืช ื”ื”ืฉื”ื™ื” ื‘ื™ืŸ ื”ืงืฉื” ื”ืื—ืจื•ื ื” ืœืฉืœื™ื—ืช ืื•ืช ืœื’ื‘ื™ ืฉื™ื ื•ื™ ื”ืชื•ื›ืŸ (GtkSearchEntry::search-changed).
  • ืœื•ื•ื™ื“ื’'ื˜ GtkCheckButton ื™ืฉ ื›ืขืช ืืช ื”ื™ื›ื•ืœืช ืœื”ืงืฆื•ืช ื™ื™ืฉื•ืžื•ืŸ ื™ืœื“ ืžืฉืœื• ื‘ืืžืฆืขื•ืช ื›ืคืชื•ืจ.
  • ื”ื•ืกืคื” ืžืืคื™ื™ืŸ "ื”ืชืืžื” ืœืชื•ื›ืŸ" ืœื•ื•ื™ื“ื’'ื˜ GtkPicture ื›ื“ื™ ืœื”ืชืื™ื ืืช ื”ืชื•ื›ืŸ ืœื’ื•ื“ืœ ืื–ื•ืจ ื ืชื•ืŸ.
  • ื‘ื™ืฆื•ืขื™ ื”ื’ืœื™ืœื” ืขื‘ืจื• ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ื‘ื•ื•ื™ื“ื’'ื˜ GtkColumnView.
  • ื”ื•ื•ื™ื“ื’'ื˜ GtkTreeStore ืžืืคืฉืจ ื—ื™ืœื•ืฅ ืฉืœ ื ืชื•ื ื™ ืขืฅ ืžืงื‘ืฆื™ื ื‘ืคื•ืจืžื˜ ui.
  • ื™ื™ืฉื•ืžื•ืŸ ื—ื“ืฉ ืœื”ืฆื’ืช ืจืฉื™ืžื•ืช ื”ืชื•ื•ืกืฃ ืœืžื—ืœืงื” GtkInscription, ื”ืื—ืจืื™ืช ืขืœ ื”ืฆื’ืช ื˜ืงืกื˜ ื‘ืื–ื•ืจ ืกืคืฆื™ืคื™. ื ื•ืกืคื” ืืคืœื™ืงืฆื™ื™ืช ื”ื“ื’ืžื” ืขื ื“ื•ื’ืžื” ืœืฉื™ืžื•ืฉ ื‘-GtkInscription.
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ื’ืœื™ืœื” ืœื•ื•ื™ื“ื’'ื˜ GtkTreePopover.
  • ื”ื•ื•ื™ื“ื’'ื˜ GtkLabel ื”ื•ืกื™ืฃ ืชืžื™ื›ื” ื‘ื›ืจื˜ื™ืกื™ื•ืช ื•ื™ื›ื•ืœืช ืœื”ืคืขื™ืœ ืชื•ื•ื™ื•ืช ืขืœ ื™ื“ื™ ืœื—ื™ืฆื” ืขืœ ื”ืกืžืœื™ื ื”ืžืฉื•ื™ื›ื™ื ืœืชื•ื•ื™ืช ื‘ืžืงืœื“ืช.
  • ื”ื•ื•ื™ื“ื’'ื˜ GtkListView ืชื•ืžืš ื›ืขืช ื‘ืžืืคื™ื™ื ื™ื "::n-items" ื•-"::item-type".
  • ืžืขืจื›ืช ื”ืงืœื˜ ืžืกืคืงืช ืชืžื™ื›ื” ื‘ืžื˜ืคืœื™ ืคืจืžื˜ืจื™ื ืฉืœ ื’ืœื™ืœื” (GDK_SCROLL_UNIT_WHEEL, GDK_SCROLL_UNIT_SURFACE).
  • ืขื‘ื•ืจ ืคืœื˜ืคื•ืจืžืช macOS, ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืžืฆื‘ ืžืกืš ืžืœื ื•ื”ืคืขืœืช ื•ื™ื“ืื• ื‘ืืžืฆืขื•ืช OpenGL. ื–ื™ื”ื•ื™ ืฆื’ ืžืฉื•ืคืจ, ืขื‘ื•ื“ื” ื‘ืชืฆื•ืจื•ืช ืจื™ื‘ื•ื™ ืฆื’ื™ื, ืžื™ืงื•ื ื—ืœื•ื ื•ืช ื•ื‘ื—ื™ืจืช ื’ื•ื“ืœ ืขื‘ื•ืจ ืชื™ื‘ืช ื”ื“ื•-ืฉื™ื— ืฉืœ ื”ืงื•ื‘ืฅ. CALayer ื•-IOSurface ืžืฉืžืฉื™ื ืœืขื™ื‘ื•ื“. ื ื™ืชืŸ ืœื”ืคืขื™ืœ ื™ื™ืฉื•ืžื™ื ื‘ืจืงืข.
  • ื‘ืคืœื˜ืคื•ืจืžืช Windows ืฉื•ืคืจ ืžื™ืงื•ื ื”ื—ืœื•ื ื•ืช ื‘ืžืกื›ื™ HiDPI, ื ื•ืกืฃ ืžืžืฉืง ื–ื™ื”ื•ื™ ืฆื‘ืขื™ื, ื”ื•ื˜ืžืขื” ืชืžื™ื›ื” ื‘ืื™ืจื•ืขื™ ื’ืœื’ืœ ืขื›ื‘ืจ ื‘ืจื–ื•ืœื•ืฆื™ื” ื’ื‘ื•ื”ื” ื•ืฉื™ืคื•ืจ ื”ืชืžื™ื›ื” ื‘ืžืฉื˜ื— ื”ืžื’ืข.
  • ื ื•ืกืคื” ืคืงื•ื“ืช ืฆื™ืœื•ื ืžืกืš ืœื›ืœื™ ื”ืฉื™ืจื•ืช gtk4-builder-tool ื›ื“ื™ ืœื™ืฆื•ืจ ืฆื™ืœื•ื ืžืกืš, ื”ืžืฉืžืฉ ื‘ืขืช ื™ืฆื™ืจืช ืฆื™ืœื•ืžื™ ืžืกืš ืœืชื™ืขื•ื“.
  • ืžืกื•ืคืงืช ื”ืชืงื ื” ืฉืœ ื›ืœื™ ื”ืฉื™ืจื•ืช gtk4-node-editor.
  • ื™ื›ื•ืœื•ืช ื ื™ืคื•ื™ ื”ื‘ืื’ื™ื ื”ื•ืจื—ื‘ื•. ื”ื˜ืžืขื” ืชืฆื•ื’ื” ืฉืœ ื ืชื•ื ื™ ืืคืœื™ืงืฆื™ื” ื ื•ืกืคื™ื ื•ืืคืฉืจื” ืฆืคื™ื™ื” ื‘ืžืืคื™ื™ื ื™ PangoAttrList ื‘ืžื”ืœืš ื‘ื“ื™ืงื”. ืžื•ืชืจื•ืช ื‘ื“ื™ืงื•ืช ืขืœ ื™ื“ื™ ืคืงื—ื™ื. ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืžืฆื‘ "GTK_DEBUG=invert-text-dir". ื‘ืžืงื•ื ืžืฉืชื ื” ื”ืกื‘ื™ื‘ื” GTK_USE_PORTAL, ืžื•ืฆืข ืžืฆื‘ "GDK_DEBUG=ืคื•ืจื˜ืœื™ื". ืชื’ื•ื‘ืชื™ื•ืช ืžืฉื•ืคืจืช ืฉืœ ืžืžืฉืง ื”ื‘ื“ื™ืงื”.
  • ืชืžื™ื›ืช ืกืื•ื ื“ ื ื•ืกืคื” ืœ-ffmpeg backend.
  • ืžื’ื‘ืœืช ื”ื–ื™ื›ืจื•ืŸ ื‘-JPEG ื”ื•ืจื“ืช ืชืžื•ื ื•ืช ื”ื•ื’ื“ืœื” ืœ-300 MB.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”