GTK 4.10 graphics toolkit available

After six months of development, the release of a multiplatform toolkit for creating a graphical user interface - GTK 4.10.0 - has been published. GTK 4 is being developed under a new development process that attempts to provide application developers with a stable and supported API for several years, which can be used without fear that applications will have to be reworked every six months due to API changes in the next GTK branch.

Among the most notable improvements in GTK 4.10 are:

  • In the GtkFileChooserWidget widget with the implementation of the dialog opened for selecting files in applications, the mode of presenting the contents of directories in the form of a network of icons is implemented. By default, the classic file list view continues to be used, and a separate button has appeared on the right side of the panel to switch to icon mode. icons:
    GTK 4.10 graphics toolkit available
  • Added new classes GtkColorDialog, GtkFontDialog, GtkFileDialog and GtkAlertDialog with the implementation of dialogs for selecting colors, fonts and files, displaying alerts. The new options are distinguished by the transition to a more consistent and balanced API that works in asynchronous mode (GIO async). The new dialogs make use of Freedesktop portals (xdg-desktop-portal) whenever possible and when available, which are used to provide access to user environment resources from sandboxed applications.
  • A new backend CPDB (Common Printing Dialog Backend) has been added, providing generic handlers for use in print dialogs. Support for the previously used print backend lpr has been deprecated.
  • The GDK library, which provides a layer between GTK and the graphics subsystem, proposes the GdkTextureDownloader structure, which is used to load textures in the GdkTexture class and can be used to convert various formats. Improved texture scaling using OpenGL.
  • The GSK (GTK Scene Kit) library, which provides the ability to render graphic scenes through OpenGL and Vulkan, supports nodes with masks and custom filtering of scalable textures.
  • Implemented support for new versions of Wayland protocol extensions. Improved display of startup notifications when using the "xdg-activation" protocol. Resolved issues with cursor size on screens with high pixel density.
  • The GtkMountOperation class has been adapted to work in non-X11 environments.
  • Added support for modal windows to the Broadway backend, which allows you to draw the output of the GTK library in a web browser window.
  • The GtkFileLauncher class proposes a new asynchronous API to replace gtk_show_uri.
  • Improved template handling in gtk-builder-tool.
  • The GtkSearchEntry widget has added support for fill text to be shown when the field is empty and there is no input focus.
  • The GtkUriLauncher class has been added to replace the gtk_show_uri function used to determine which application to launch to display a given URI or throw an error if no handler is present.
  • In the GtkStringSorter class, support has been added for various "collation" methods that allow collation and sorting based on the meaning of characters (for example, if there is an accent sign).
  • A large portion of APIs and widgets have been deprecated, which it was decided not to support in the future GTK5 branch and which were replaced with analogues that work in asynchronous mode:
    • GtkDialog (should use GtkWindow).
    • GtkTreeView (should use GtkListView and GtkColumnView) .
    • GtkIconView (should use GtkGridView).
    • GtkComboBox (should use GtkDropDown).
    • GtkAppChooser (should use GtkDropDown).
    • GtkMessageDialog (should use GtkAlertDialog).
    • GtkColorChooser (GtkColorDialog and GtkColorDialogButton should be used).
    • GtkFontChooser (should use GtkFontDialog and GtkFontDialogButton).
    • GtkFileChooser (should use GtkFileDialog).
    • GtkInfoBar
    • GtkEntryCompletion
    • GtkStyleContext
    • GtkVolumeButton
    • GtkStatusbar
    • GtkAssistant
    • GtkLockButton
    • gtk_widget_show/hide
    • gtk_show_uri
    • gtk_render_ and gtk_snapshot_render_
    • gtk_gesture_set_sequence_state
  • Transferred to the category of public interface GtkAccessible, which allows you to connect third-party interface element handlers for people with disabilities. Added GtkAccessibleRange interface.
  • On the macOS platform, drag-and-drop (DND, Drag-and-Drop) support is provided.
  • On the Windows platform, integration with system settings has been improved.
  • Unified debug output format.
  • The memory limit for the JPEG image uploader has been raised to 1 GB.

Source: opennet.ru

Add a comment