Release of Libadwaita 1.8 Library for Creating GNOME-style Interfaces

The GNOME Project has released version 1.8 of the Libadwaita library, which includes a set of components for styling user interfaces in accordance with GNOME HIG (Human Interface Guidelines). The library features ready-made widgets and objects for building applications that adhere to the overall GNOME style, with interfaces that can adapt to screens of any size. The library's code is written in C and is distributed under the LGPL 2.1+ license.

The libadwaita library is used in conjunction with GTK4 and includes components from the Adwaita theme used in GNOME, which have been extracted from GTK into a separate library. Extracting GNOME's visual styling elements into a separate library enables the necessary changes for GNOME to be developed independently of GTK, allowing GTK developers to focus on foundational aspects while GNOME developers can more rapidly and flexibly implement the styling changes they require without impacting GTK itself.

The library includes standard widgets that cover various interface elements such as lists, panels, editing blocks, buttons, tabs, search forms, dialog windows, etc. The proposed widgets allow for the creation of versatile interfaces that function seamlessly on both large PC and laptop screens and small touchscreens of smartphones. The user interface of applications dynamically adapts based on the screen size and available input devices. The library also includes a set of Adwaita styles that align appearances with GNOME guidelines, eliminating the need for manual adaptation.

Release of Libadwaita 1.8 Library for Creating GNOME-style Interfaces

In the new version:

  • In place of the GtkShortcutsWindow class, which was deprecated in GTK 4.18, Libadwaita has implemented a new class, AdwShortcutsDialog, featuring a dialog for navigating available keyboard shortcuts. The new implementation showcases a complete redesign and simplification of the logic for sectioning and grouping. Developers are provided with a minimal API, while UI files are used to define the structure and content of the dialog.

    The new class AwsShortcutLabel is proposed instead of GtkShortcutLabel for displaying elements, which does not support specifying information about screen gestures and icon integration, as their use led to confusion and was limited (for example, icons were only used in the gnome-games application to denote gamepad buttons).

    Release of Libadwaita 1.8 Library for Creating GNOME-style Interfaces
  • The ability to use CSS media queries has been added to define styles for dark and light themes, as well as regular and high-contrast representations of the same element. The font sizes for content (Adwaita Sans 12pt) and the interface (Adwaita Sans 11pt) have been separated. A style class '.document' has been added, which uses the Adwaita Sans 12pt font for better readability and increased line spacing. The line spacing in the '.body' style class has been increased, which is now applied by default in some native widgets.
    Release of Libadwaita 1.8 Library for Creating GNOME-style Interfaces
  • The AdwPreferencesGroup class is allowed to be used with list models via the adw_preferences_group_bind_model() method. Additionally, the ability to add strings that are not of the AdwPreferencesRow class to the internal list has been added.
  • In the AdwPreferencesPage class, groups can be inserted anywhere, not just at the end of the page.
  • The methods adw_preferences_page_get_group() and adw_preferences_group_get_row() have been added to the AdwPreferencesGroup and AdwPreferencesPage classes for inspecting groups and rows.
  • A method adw_wrap_box_remove_all() has been added to the AdwWrapBox class for removing all child elements.
  • For child elements of the GtkFlowBox class, default styles are provided for highlighting mouse hover over an item and activating an item.
  • The AdwHeaderBar class has implemented support for native window controls in macOS.
  • To improve performance, the use of shadows for windows, dialogs, and pop-ups has been reduced.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster