Distribution developers Linux Mint has published the first release of libAdapta, a fork of libAdwaita. The first release of libAdapta 1.5 is based on libAdwaita 1.5 and features theme support and some additional features. Otherwise, libAdapta supports all libAdwaita functionality and provides an identical look and feel to applications by default.
The creation of a custom fork is due to difficulties in transferring the project's advanced features into the main libAdwaita library. A soft fork, whose codebase is periodically migrated to new versions of libAdwaita to maintain compatibility, is considered optimal for Linux Mint solution. By maintaining its own fork, the developers Linux Mint is not limited in implementing its ideas and can quickly add changes, regardless of their approval by the libAdwaita developers.
The LibAdwaita project is presented as supporting only the GNOME platform, which is why the developers of this library have rejected pull requests related to the integration of theme management tools and support for features that are missing from GNOME. The libAdwaita developers have also rejected the idea of adding an extension similar to libGranite.
The problem is that libAdwaita developers fundamentally refuse to integrate theme support, offering only a basic GNOME-style look. Due to the lack of theme support, libAdwaita-based applications always look like GNOME applications, not GTK applications, and do not fit well with the look of other desktop environments.
Applications built with libAdapta, when run in desktop environments that support theme selection, pick up theme settings and use the corresponding interface elements. libAdapta checks the directory of the current GTK theme and, if the libadapta-* subdirectory is present, uses a different set of style files. If the subdirectory is missing, it falls back to the libAdwaita style set. For compatibility with libAdwaita, a separate header file is provided, allowing you to easily switch between libAdwaita and libAdapta without making changes to the code.
Let us recall that libAdwaita provides a set of components for styling the user interface that meets the GNOME HIG (Human Interface Guidelines) recommendations. The library includes ready-made widgets (lists, panels, editing blocks, buttons, tabs, search forms, dialog boxes, etc.) that match the general GNOME style. The library is used in combination with GTK4 and includes components of the Adwaita design theme used in GNOME, which were taken out of GTK, which allowed GTK developers to focus on basic things, and GNOME developers to quickly promote the style changes they need without affecting GTK itself.
Source: opennet.ru
