Release of the Libadwaita 1.2 library for creating GNOME-style interfaces

The GNOME Project has published the release of the Libadwaita 1.2 library, which includes a set of components for styling the user interface that complies with the GNOME HIG (Human Interface Guidelines) recommendations. The library includes ready-made widgets and objects for building applications that comply with the general GNOME style, the interface of which can adapt responsively to screens of any size. The library code is written in C language and distributed under the LGPL 2.1+ license.

Release of the Libadwaita 1.2 library for creating GNOME-style interfaces

The libadwaita library is used in conjunction with GTK4 and includes components of the Adwaita skin used in GNOME, which have been moved out of GTK into a separate library. Moving GNOME visuals into a separate library allows GNOME-needed changes to be developed separately from GTK, allowing GTK developers to focus on the basics, and GNOME developers to more quickly and flexibly push styling changes for themselves without affecting GTK itself.

The library includes standard widgets covering various interface elements, such as lists, panels, editing blocks, buttons, tabs, search forms, dialog boxes, etc. The proposed widgets allow you to create universal interfaces that function seamlessly both on large screens of PCs and laptops, and on small touch screens of smartphones. The application interface dynamically changes depending on the screen size and available input devices. The library also includes a set of Adwaita styles that bring the look and feel to GNOME guidelines without the need for manual customization.

Major changes in libadwaita 1.2:

  • Added Adw.EntryRow widget intended for use as an element of lists. The widget provides an input field and a header with the ability to attach additional widgets before and after the input field (for example, input confirmation buttons or an indicator that the data can be edited). Additionally, the Adw.PasswordEntryRow variant is available, designed for entering passwords.
    Release of the Libadwaita 1.2 library for creating GNOME-style interfaces
  • Added widget Adw.MessageDialog to display a dialog with a message or question. Widget is an extended replacement for Gtk.MessageDialog that can adjust the layout of elements to the size of the window. For example, in wide windows, buttons can be displayed in one line, and in narrow windows they can be split into several columns. Another difference is that the widget is not a child of the GtkDialog class and provides a completely new API that is not tied to the predefined GtkResponseType button types (in Adw.MessageDialog , all actions are handled by the application), making it easier to embed other widgets using the extra-child property and providing separate styles for the title and body text.
    Release of the Libadwaita 1.2 library for creating GNOME-style interfaces
  • Added widget Adw.AboutWindow to display a window with information about the program. The widget replaces Gtk.AboutDialog and features responsive layout and extended helper sections such as changelog, thank you window, third party license information, links to information resources, and debugging data.
    Release of the Libadwaita 1.2 library for creating GNOME-style interfacesRelease of the Libadwaita 1.2 library for creating GNOME-style interfaces
  • The capabilities of the Adw.TabView and Adw.TabBar widgets have been extended, in which the hotkey processing mechanism has been redesigned to solve the problem with the work of combinations that intersect with GTK4 handlers (for example, Ctrl+Tab). The new version also offers a property to set tooltips for indicators and tab buttons.
  • The Adw.PropertyAnimationTarget class has been added to make it easier to animate object properties.
  • The style of the tab bar (Adw.TabBar) has been significantly changed - the active tab is more clearly highlighted and the contrast of elements in the dark design option has been increased.
    Release of the Libadwaita 1.2 library for creating GNOME-style interfaces
    Release of the Libadwaita 1.2 library for creating GNOME-style interfaces
  • Decreased the height of the vertical dividers, allowing the title bar and search bar to get rid of the distracting light borders in favor of dark borders set with @headerbar_shade_color and add a background style that matches the header panels.
  • The ".large-title" style class has been deprecated and ".title-1" should be used instead.
  • Reduced padding in the Adw.ActionRow widget to bring its appearance closer to panels and the Adw.EntryRow widget.
  • The Gtk.Actionbar and Adw.ViewSwitcherBar widgets use the same styles as the title bar, search bar, and tab bar.
    Release of the Libadwaita 1.2 library for creating GNOME-style interfaces

Source: opennet.ru

Add a comment