Libadwaita 1.4 has already been released and these are its new features

adwaite

libadwaita is based on the libhandy library and is positioned to replace this library,

The release of new version of Libadwaita 1.4 library in which various improvements are presented and of which stand out, for example, the new Breakpoint system, new adaptive widgets, back button improvements, improvements in split views, new styles and many other things.

For those who do not know about Libadwaita, you should know that this includes a set of components to design the user interface which complies with GNOME HIG (Human Interface Guidelines). The library includes ready-to-use widgets and objects for creating applications that comply with the general GNOME style, whose interface can be responsively adapted to screens of any size.

The libadwaita library is used in conjunction with GTK4 and includes components of Adwaita used in GNOME that have been moved from GTK to a separate library.

Main new features in Libadwaita 1.4

In this new version that is presented of Libadwaita 1.4, we have proposed new adaptive widgets that adjust to the size of the visible area, and the new set provides correct support for nested resizing (for example, when resizing the sidebar involves resizing buttons and switches).

Besides that, Fixed issues with animated effects When changing modes, the handling of width changes has been modified and the flexibility of use has increased (for example, in the mobile version, you can move some of the widgets from the header to the bottom panel).

Other changes that stand out in the new version of Libadwaita 1.4 are that it has been implementedn breakpoint system, the Breakpoint class, which allows you to change the user interface in any way depending on the size of the window. Breakpoints, among other things, can be defined declaratively through UI files.

For example, can be used completely declaratively from UI files:

<object class="AdwBreakpoint">
<condition>max-width: 500sp</condition>
<setter object="split-view" property="collapsed">True</property>
</object>

On the other hand, the widget AdwNavigationView implements a navigation pattern that replaces the AdwLeaflet widget in "can-unfold=false" mode, providing a navigation stack that can be configured statically (via UI files) or dynamically, and supports Navigation.push and Navigation.pop actions to place pages directly from the file UI.

The widget AdwHeaderBar now has the ability to automatically display the correct header for each navigation page, as well as displaying a back button to go to the previous page or displaying a menu to select which pages to go to.

Also notable is that an AdwNavigationSplitView widget has been added that has two children (a sidebar and content) that appear side by side. The size of the sidebar can be selected as a certain percentage of the total width of the visible area.

Of the other changes that stand out from this new version:

  • Added a widget to display switches AdwSwitchRow , implemented as a subclass of AdwActionRow containing GtkSwitch.
  • Added the AdwSpinRow widget with a list row implementation that includes a GtkSpinButton.
  • Added a new style class » .property » to display properties.
  • Added the adw_about_window_new_from_appdata() function to simplify the creation of windows with information about the program.
  • The AdwComboRow widget now supports search fields.
  • Added AdwPreferencesPage:description property to display the description at the top of the page.
  • The AdwTabOverview widget has significantly modified its thumbnail handling to work better with WebKitWebView.
  • The color of headers and toolbars in light themes has been changed to white instead of gray. The gray color is now included in the sidebars.

Finally, if you are interested in knowing more about it, you can check the details in the following link. It is also worth mentioning that the library code is written in C language and is distributed under the LGPL 2.1+ license.


Leave a Comment

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

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  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.