Даступны графічны тулкіт GTK 4.8

Пасля васьмі месяцаў распрацоўкі апублікаваны рэліз шматплатформеннага тулкіта для стварэння графічнага інтэрфейсу карыстальніка – GTK 4.8.0. GTK 4 развіваецца ў рамках новага працэсу распрацоўкі, які спрабуе падаць распрацоўнікам прыкладанняў стабільны і які падтрымліваецца на працягу некалькіх гадоў API, які можна выкарыстоўваць не асцерагаючыся, што кожныя паўгода прыйдзецца перарабляць прыкладанні з-за змены API у чарговай галінцы GTK.

Сярод найболей прыкметных паляпшэнняў у GTK 4.8:

  • Зменены стыль інтэрфейсу выбару кветак (GtkColorChooser).
  • У інтэрфейсе выбару шрыфтоў (GtkFontChooser) палепшана падтрымка магчымасцяў фармату OpenType.
  • У CSS-рухавічку аптымізавана перагрупоўка элементаў, звязаных з адным з бацькоў, і дазволена выкарыстанне няцэлых значэнняў пры вызначэнні памеру інтэрвалу паміж літар.
  • Дадзеныя Emoji абноўлены да набору CLDR 40 (Unicode 14). Дададзена падтрымка новых лакаляў.
  • У тэме афармлення абноўлены піктаграмы і павышана пераборлівасць тэкставых пазнак, што выдзяляюцца.
  • У бібліятэцы GDK, якая прадстаўляе праслойку паміж GTK і графічнай падсістэмай, аптымізавана пераўтварэнне піксельных фарматаў. На сістэмах з драйверамі NVIDIA задзейнічана EGL-пашырэнне EGL_KHR_swap_buffers_with_damage.
  • У бібліятэцы GSK (GTK Scene Kit), якая прадстаўляе магчымасці адмалёўкі графічных сцэн праз OpenGL і Vulkan, рэалізавана падтрымка апрацоўкі вялікіх бачных абласцей (viewport-аў). Прапанаваны бібліятэкі для адмалёўкі гліфаў з выкарыстаннем тэкстур.
  • Для Wayland рэалізаваная падтрымка пратаколу "xdg-activation", які дазваляе перадаць фокус паміж рознымі паверхнямі першага ўзроўня (напрыклад, пры дапамозе xdg-activation адно прыкладанне можа пераключыць фокус на іншае).
  • У віджэце GtkTextView скарочана колькасць сітуацый, якія прыводзяць да паўторных перамалёвак, і рэалізавана функцыя GetCharacterExtents для вызначэння вобласці з гліфам, які вызначае сімвал у тэксце (функцыя запатрабавана сродках для людзей з абмежаванымі магчымасцямі).
  • У класе GtkViewport, які ўжываецца для арганізацыі пракруткі ў віджэтах, уключаны па змаўчанні рэжым "scroll-to-focus", пры якім змесціва аўтаматычна пракручваецца для падтрымання навідавоку элемента, на які ўсталяваны фокус уводу.
  • У віджэце GtkSearchEntry, які паказвае вобласць для ўводу пошукавага запыту, прадстаўлена магчымасць налады затрымкі паміж апошнім націскам клавішы і адпраўкай сігналу аб змене змесціва (GtkSearchEntry::search-changed).
  • У віджэт GtkCheckButton дададзена магчымасць прызначэння свайго даччынага фішкі з кнопкай.
  • У віджэт GtkPicture дададзена ўласцівасць "content-fit" для адаптацыі змесціва пад зададзены памер вобласці.
  • У віджэце 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 дададзена каманда screenshot для стварэння скрыншота, якая задзейнічана пры генерацыі скрыншотаў для дакументацыі.
  • Забяспечана ўстаноўкі ўтыліты gtk4-node-editor.
  • Пашыраны магчымасці адладчыка. Рэалізаваны паказ дадатковых дадзеных прыкладанняў і дазволены прагляд уласцівасцяў PangoAttrList пры інспектаванні. Дазволена інспектаванне інспектараў. Дададзена падтрымка рэжыму "GTK_DEBUG=invert-text-dir". Замест зменнай асяроддзі GTK_USE_PORTAL прапанаваны рэжым "GDK_DEBUG=portals". Павышана спагадлівасць інтэрфейсу інспектавання.
  • У бэкэнд ffmpeg дададзена падтрымка гуку.
  • Ліміт памяці ў загрузніку выяваў JPEG павялічаны да 300 МБ.

Крыніца: opennet.ru

Дадаць каментар