The Linux Mint project created libAdapta, a fork of the libAdwaita library

The developers of the Linux Mint distribution have published the first release of the libAdapta library, created as a fork of libAdwaita. The first release of libAdapta 1.5 is based on libAdwaita 1.5 and features support for design themes and some additional features. Otherwise, libAdapta supports all the functionality of libAdwaita and provides an identical look and feel to applications by default.

The creation of a fork is explained by the difficulties with the transfer of advanced features developed by the project to the main libAdwaita. A soft fork, the code base of which is periodically transferred to new versions of libAdwaita to continue maintaining compatibility, is considered the optimal solution for Linux Mint. By maintaining their own branch, Linux Mint developers are not limited in the implementation of their 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

Add a comment