Ութ ամիս մշակումից հետո հրապարակվել է գրաֆիկական ինտերֆեյսի ստեղծման համար նախատեսված բազմահարթակ գործիքակազմի՝ GTK 4.8.0-ի թողարկումը։ GTK 4-ը մշակվում է որպես մշակման նոր գործընթացի մաս, որը փորձում է հավելվածների մշակողներին տրամադրել կայուն և աջակցվող API մի քանի տարի շարունակ, որը կարող է օգտագործվել առանց վախենալու, որ վեց ամիսը մեկ դիմումները վերաշարադրվեն՝ հաջորդ GTK-ում API-ի փոփոխությունների պատճառով: մասնաճյուղ.
GTK 4.8-ի ամենաուշագրավ բարելավումներից մի քանիսը ներառում են.
- Գույնի ընտրության ինտերֆեյսի ոճը փոխվել է (GtkColorChooser):
- Տառատեսակի ընտրության միջերեսը (GtkFontChooser) բարելավվել է OpenType ձևաչափի հնարավորությունների աջակցությունը:
- CSS շարժիչը օպտիմիզացրել է նույն ծնողի հետ կապված տարրերի վերախմբավորումը և թույլ է տալիս օգտագործել ոչ ամբողջ թվային արժեքներ տառերի միջև տարածության չափը որոշելիս:
- Emoji-ի տվյալները թարմացվել են մինչև CLDR 40 (Յունիկոդ 14): Ավելացվեց աջակցություն նոր տեղանքների համար:
- Թեման թարմացրել է պատկերակները և բարելավել ընդգծված տեքստային պիտակների ընթեռնելիությունը:
- GDK գրադարանը, որն ապահովում է շերտ GTK-ի և գրաֆիկական ենթահամակարգի միջև, օպտիմիզացրել է պիքսելների ձևաչափերի փոխակերպումը: NVIDIA վարորդներով համակարգերում միացված է EGL ընդլայնումը EGL_KHR_swap_buffers_with_damage:
- GSK գրադարանը (GTK Scene Kit), որն ապահովում է OpenGL-ի և Vulkan-ի միջոցով գրաֆիկական տեսարանների ցուցադրման հնարավորություն, աջակցում է մեծ տեսանելի տարածքների մշակմանը (դիտման կետեր): Առաջարկվում են տեքստուրաների օգտագործմամբ գլիֆներ արտապատկերելու գրադարաններ:
- Wayland-ն աջակցում է «xdg-activation» արձանագրությանը, որը թույլ է տալիս ֆոկուսը փոխանցել տարբեր առաջին մակարդակի մակերևույթների միջև (օրինակ, օգտագործելով xdg-ակտիվացումը, մի հավելվածը կարող է փոխել ֆոկուսը մյուսին):
- 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-ի միջոցով լիաէկրան ռեժիմի և տեսանյութերի նվագարկման աջակցություն: Բարելավված մոնիտորների հայտնաբերում, աշխատանք բազմամոնիտորի կոնֆիգուրացիաներում, պատուհանների տեղադրում և չափի ընտրություն ֆայլի երկխոսության համար: Rendering-ի համար օգտագործվում են CALayer-ը և IOSurface-ը: Հավելվածները կարող են գործարկվել հետին պլանում:
- Windows հարթակում բարելավվել է պատուհանների տեղադրումը HiDPI էկրանների վրա, ավելացվել է գույների հայտնաբերման ինտերֆեյս, ներդրվել է մկնիկի անիվի բարձր լուծաչափի իրադարձությունների աջակցությունը, ինչպես նաև բարելավվել է touchpad-ի աջակցությունը:
- Սքրինշոթի հրաման է ավելացվել gtk4-builder-tool ծրագրին՝ սքրինշոթ ստեղծելու համար, որն օգտագործվում է փաստաթղթերի համար սքրինշոթներ ստեղծելիս:
- Ապահովված է gtk4-node-editor կոմունալ ծրագրի տեղադրում:
- Վրիպազերծիչի հնարավորություններն ընդլայնվել են: Իրականացված հավելվածի լրացուցիչ տվյալների ցուցադրում և ստուգման ընթացքում թույլատրված PangoAttrList հատկությունների դիտումը: Տեսուչների կողմից ստուգումները թույլատրվում են: Ավելացվեց աջակցություն «GTK_DEBUG=invert-text-dir» ռեժիմին: GTK_USE_PORTAL միջավայրի փոփոխականի փոխարեն առաջարկվում է «GDK_DEBUG=portals» ռեժիմը: Ստուգման միջերեսի բարելավված արձագանքը:
- Ձայնի աջակցությունն ավելացվել է ffmpeg հետին պլանում:
- JPEG պատկերներ ներբեռնող հիշողության սահմանաչափը ավելացվել է մինչև 300 ՄԲ:
Source: opennet.ru