GTK 4.6 comes with improvements, some bug fixes and more

After four months of development the release of the new version of GTK 4.6.0 was announced, in which the GTK 4 branch is being developed as part of a new development process that attempts to provide application developers with a stable and compatible API for several years, which can be used without fear of having to redo applications every six months due to API changes in the next GTK branch.

In this new version of GTK 4.6 old OpenGL rendering engine removed, superseded by the new NGL rendering engine, shipped by default since GTK 4.2 and providing better performance. NGL renamed GL and rewritten texture loading code, improved support for image formats and color spaces.

The code related to the calculation of the sizes of the elements and the layout of the widgets has been significantly reworked. Previously, the GtkWidget :: halign and GtkWidget :: valign properties relied on the default widget size when placing items, which, specifying only one size in fill mode, could cause the item to take up additional space.

In GTK 4.6, the ability to measure relative missing size (for example, if width is specified, the available height can be taken into account when placing), allowing you to make widgets slimmer without taking up additional space.

The widget GtkBox implements the ability to calculate individual size of the children. While previously space was evenly distributed among child widgets based on their default size, GTK 4.6 takes into account the actual size of child elements when rendering.

The widget GtkLabel provides support for wrapping text on an arbitrary number of lines, allowing you to create narrow labels that take up the available vertical space. The ability to adjust the minimum size to the aspect ratio has been added to the GtkWindow class, allowing the window to be resized arbitrarily without fear of being too small.

The widget GtkTextView adds support for right-aligned or center-aligned tabs. Support was added for transforming text and counting line heights, in addition to the scrolling operation was improved to the specified label, the handling of undo was also improved and problems were fixed when pasting text from the clipboard and choosing a place to display the Emoji insert interface.

The style system now supports font-variant-caps CSS properties to display small caps and text transform to transform text. Support for tracking drag and drop operations has been added to the watch interface, the current input module is displayed, a content viewer has been added to the clipboard, a chart has been implemented to display gtk_widget_measure (), and event log is provided . Drag and drop support has been added to the gtk4-node-editor utility.

Of the other changes that stand out:

  • Wayland has a setting to activate high contrast mode. Added support for the wl_seat v7 protocol.
  • Added gtk-hint-font-metrics setting to approximate text rendering to GTK3 behavior.
  • The GtkMenuButton widget provides the ability to define your own child elements.
    In GtkBuilder, accelerated pre-build templates.
  • Added an enable signal to enable GtkComboBox and GtkDropDown widgets.
    The show-arrow property was added to the GtkDropDown widget to control the display of the arrow.
  • In GtkPopoverMenu added use markup attribute for Pango markup in menu text.
  • For X11-based systems, support was added for control gestures on touch panels (when using XInput 2.4) and the behavior of dragging windows by title was improved.
  • OpenGL and OpenGL ES version checking has been improved in GDK, which provides a layer between GTK and the graphics subsystem.
  • A new warning has been added, reporting a size mismatch if the widget returns the wrong size.
  • Added support for the HSL color space.
  • The libpng, libjpeg, and libtiff libraries are directly involved in loading textures and processing image formats.
  • EGL startup code moved to interface side. The "master" branch in the Git repository has been renamed to "main".

Finally, if you are interested in knowing more about it, you can consult the details In the following link.


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.