Po šesti měsících vývoje bylo zveřejněno vydání multiplatformní sady nástrojů pro tvorbu grafického uživatelského rozhraní – GTK 4.10.0. GTK 4 je vyvíjen jako součást nového vývojového procesu, který se pokouší poskytnout vývojářům aplikací stabilní a podporované API na několik let, které lze používat bez obav z nutnosti každých šest měsíců přepisovat aplikace kvůli změnám API v příštím GTK. větev.
Mezi nejpozoruhodnější vylepšení v GTK 4.10 patří:
- Widget GtkFileChooserWidget, který implementuje dialogové okno, které se otevře pro výběr souborů v aplikacích, implementuje režim pro prezentaci obsahu adresáře ve formě sítě ikon. Standardně se nadále používá klasické zobrazení v podobě seznamu souborů a na pravé straně panelu se objevilo samostatné tlačítko pro přepnutí do režimu ikon. ikony:
- Byly přidány nové třídy GtkColorDialog, GtkFontDialog, GtkFileDialog a GtkAlertDialog s implementací dialogů pro výběr barev, písem a souborů a zobrazování varování. Nové možnosti se vyznačují přechodem na holističtější a vyváženější API, které funguje v asynchronním režimu (GIO async). V nových dialozích, kdykoli je to možné a dostupné, se používají portály Freedesktop (xdg-desktop-portal), které slouží k organizaci přístupu ke zdrojům uživatelského prostředí z izolovaných aplikací.
- Byl přidán nový CPDB (Common Printing Dialog Backend), který poskytuje standardní obslužné nástroje pro použití v tiskových dialozích. Dříve používaný backend tisku lpr byl ukončen.
- Knihovna GDK, která poskytuje vrstvu mezi GTK a grafickým subsystémem, nabízí strukturu GdkTextureDownloader, která se používá k načítání textur ve třídě GdkTexture a lze ji použít pro převod různých formátů. Vylepšené škálování textur pomocí OpenGL.
- Knihovna GSK (GTK Scene Kit), která poskytuje možnost vykreslovat grafické scény prostřednictvím OpenGL a Vulkan, podporuje uzly s maskami a vlastní filtrování škálovatelných textur.
- Byla implementována podpora pro nové verze rozšíření protokolu Wayland. Byl upraven výstup upozornění na spuštění při použití protokolu „xdg-activation“. Vyřešeny problémy s velikostí kurzoru na obrazovkách s vysokou hustotou pixelů.
- Třída GtkMountOperation je přizpůsobena pro práci v prostředích jiných než X11.
- Backend Broadway, který umožňuje vykreslovat výstup knihovny GTK v okně webového prohlížeče, přidal podporu pro modální okna.
- Třída GtkFileLauncher nabízí nové asynchronní rozhraní API, které nahrazuje gtk_show_uri.
- Nástroj gtk-builder-tool zlepšil zpracování šablon.
- Widget GtkSearchEntry přidal podporu pro výplňový text, který se zobrazí, když je pole prázdné a není tam žádný vstupní fokus.
- Přidána třída GtkUriLauncher, která nahrazuje funkci gtk_show_uri, která se používá k určení spuštěné aplikace k zobrazení daného URI nebo vyvolání chyby, pokud neexistuje žádná obsluha.
- Třída GtkStringSorter přidala podporu pro různé metody „třídění“, které vám umožňují provádět porovnávání a třídění na základě významu znaků (například když je přízvuk).
- Velká část rozhraní API a widgetů byla zastaralá, které bylo rozhodnuto nepodporovat v budoucí větvi GTK5 a které byly nahrazeny analogy, které pracují v asynchronním režimu:
- GtkDialog (mělo by používat GtkWindow).
- GtkTreeView (měly by být použity GtkListView a GtkColumnView) .
- GtkIconView (měl by používat GtkGridView).
- GtkComboBox (je třeba použít GtkDropDown).
- GtkAppChooser (je třeba použít GtkDropDown).
- GtkMessageDialog (je třeba použít GtkAlertDialog).
- GtkColorChooser (měl by používat GtkColorDialog a GtkColorDialogButton).
- GtkFontChooser (měl by používat GtkFontDialog a GtkFontDialogButton).
- GtkFileChooser (měl by používat GtkFileDialog).
- GtkInfoBar
- GtkEntryCompletion
- GtkStyleContext
- GtkVolumeButton
- GtkStatusbar
- GtkAssistant
- GtkLockButton
- gtk_widget_show/hide
- gtk_show_uri
- gtk_render_ a gtk_snapshot_render_
- gtk_gesture_set_sequence_state
- Rozhraní GtkAccessible bylo převedeno do kategorie public, což umožňuje připojit cizí handlery prvků rozhraní pro osoby se zdravotním postižením. Přidáno rozhraní GtkAccessibleRange.
- Platforma macOS poskytuje podporu pro přetahování prvků myší (DND, Drag-and-Drop).
- Na platformě Windows byla vylepšena integrace se systémovými nastaveními.
- Výstupní formát ladění byl sjednocen.
- Limit paměti pro nástroj pro nahrávání obrázků JPEG byl zvýšen na 1 GB.
Zdroj: opennet.ru