Nakon šest mjeseci razvoja, objavljeno je izdanje multiplatformskog alata za kreiranje grafičkog korisničkog interfejsa - GTK 4.10.0. GTK 4 se razvija kao dio novog razvojnog procesa koji nastoji programerima aplikacija pružiti stabilan i podržan API za nekoliko godina koji se može koristiti bez straha da će morati prepisivati aplikacije svakih šest mjeseci zbog API promjena u sljedećem GTK-u grana.
Među najznačajnijim poboljšanjima u GTK 4.10 su:
- GtkFileChooserWidget widget, koji implementira dijalog koji se otvara za odabir datoteka u aplikacijama, implementira način za predstavljanje sadržaja direktorija u obliku mreže ikona. Standardno se nastavlja koristiti klasični prikaz u obliku liste datoteka, a na desnoj strani panela se pojavilo posebno dugme za prebacivanje u režim ikona. ikone:
- Dodane su nove klase GtkColorDialog, GtkFontDialog, GtkFileDialog i GtkAlertDialog sa implementacijom dijaloga za odabir boja, fontova i fajlova, te prikazivanje upozorenja. Nove opcije se razlikuju po prelasku na holističkiji i uravnoteženiji API koji radi u asinkronom režimu (GIO async). U novim dijalozima, kad god je to moguće i dostupni, koriste se Freedesktop portali (xdg-desktop-portal) koji služe za organizovanje pristupa resursima korisničkog okruženja iz izolovanih aplikacija.
- Dodan je novi CPDB (Common Printing Dialog Backend) koji pruža standardne rukovaoce za upotrebu u dijalozima za štampanje. Prethodno korištena pozadina lpr printanja je ukinuta.
- GDK biblioteka, koja obezbeđuje sloj između GTK-a i grafičkog podsistema, nudi strukturu GdkTextureDownloader, koja se koristi za učitavanje tekstura u klasi GdkTexture i može se koristiti za konvertovanje različitih formata. Poboljšano skaliranje teksture pomoću OpenGL-a.
- GSK biblioteka (GTK Scene Kit), koja pruža mogućnost renderovanja grafičkih scena kroz OpenGL i Vulkan, podržava čvorove sa maskama i prilagođeno filtriranje skalabilnih tekstura.
- Implementirana je podrška za nove verzije proširenja Wayland protokola. Prilagođen je izlaz obavijesti o početku kada se koristi “xdg-activation” protokol. Riješeni problemi s veličinom kursora na ekranima visoke gustoće piksela.
- Klasa GtkMountOperation je prilagođena za rad u okruženjima koja nisu X11.
- Broadway backend, koji vam omogućava da prikažete izlaz GTK biblioteke u prozoru web pretraživača, dodao je podršku za modalne prozore.
- Klasa GtkFileLauncher nudi novi asinhroni API koji zamjenjuje gtk_show_uri.
- Uslužni program gtk-builder-tool je poboljšao obradu šablona.
- GtkSearchEntry widget je dodao podršku za tekst popunjavanja, koji se prikazuje kada je polje prazno i nema fokusa za unos.
- Dodana je klasa GtkUriLauncher, koja zamjenjuje funkciju gtk_show_uri, koja se koristi za određivanje pokrenute aplikacije za prikaz datog URI-ja ili za izbacivanje greške ako ne postoji rukovalac.
- Klasa GtkStringSorter je dodala podršku za različite metode „kolacioniranja“, što vam omogućava da izvršite uparivanje i sortiranje na osnovu značenja znakova (na primjer, kada postoji znak akcenta).
- Veliki dio API-ja i widgeta je zastario, za koje je odlučeno da se ne podržavaju u budućoj GTK5 grani i koji su zamijenjeni analozima koji rade u asinhronom modu:
- GtkDialog (treba koristiti GtkWindow).
- GtkTreeView (trebalo bi koristiti GtkListView i GtkColumnView) .
- GtkIconView (treba koristiti GtkGridView).
- GtkComboBox (treba koristiti GtkDropDown).
- GtkAppChooser (treba koristiti GtkDropDown).
- GtkMessageDialog (treba koristiti GtkAlertDialog).
- GtkColorChooser (treba koristiti GtkColorDialog i GtkColorDialogButton).
- GtkFontChooser (treba koristiti GtkFontDialog i GtkFontDialogButton).
- GtkFileChooser (treba koristiti GtkFileDialog).
- GtkInfoBar
- GtkEntryCompletion
- GtkStyleContext
- GtkVolumeButton
- GtkStatusbar
- GtkAssistant
- GtkLockButton
- gtk_widget_show/hide
- gtk_show_uri
- gtk_render_ i gtk_snapshot_render_
- gtk_gesture_set_sequence_state
- GtkAccessible interfejs je prebačen u javnu kategoriju, što vam omogućava da povežete rukovaoce elementima interfejsa trećih strana za osobe sa invaliditetom. Dodano GtkAccessibleRange interfejs.
- MacOS platforma pruža podršku za prevlačenje elemenata pomoću miša (DND, Drag-and-Drop).
- Na Windows platformi poboljšana je integracija sa sistemskim postavkama.
- Format izlaza za otklanjanje grešaka je unificiran.
- Ograničenje memorije za uploader JPEG slika je podignuto na 1 GB.
izvor: opennet.ru