Contents Menu Expand

Devel Docs

GNOME 44 for Developers

GNOME 44 comes with a host of new capabilities and features for those using the GNOME platform.

GTK

GNOME 44 is accompanied by the latest stable GTK release, version 4.10. This version includes some significant features and changes for developers.

Deprecations

GTK 4.10 deprecates a range of existing APIs. These APIs will continue to be available for the 4.x release series, but will be removed in the next major GTK version, which will be 5.0. The GTK development blog provides an overview of the changes and what they mean.

Cell Renderers

GTK 4.10 deprecates all APIs relating to cell renders, including GtkTreeView, GtkIconView, and GtkComboBox. Alternatives to these widgets already exist, in the shape of GtkColumnView, GtkGridView, and GtkDropDown.

Dialogs

GTK 4.10 deprecates existing chooser APIs, including: GtkDialog, GtkFileChooserDialog, GtkFileChooserWidget, GtkFileChooser, GtkFileChooserNative, GtkColorChooserDialog, GtkColorChooserWidget, GtkColorButton, GtkColorChooser, GtkFontChooserDialog, GtkFontChooserWidget, GtkFontButton, GtkFontChooser, GtkAppChooserDialog, GtkAppChooser, GtkAppChooserWidget, GtkAppChooserButton, and GtkMessageDialog.

For those looking for alternatives, new replacement APIs have been added, which work as asynchronous calls. They are: GtkColorDialog, GtkFontDialog, GtkFileDialog, GtkAlertDialog. Libadwaita can also be used and includes a number of common dialogs, such as AdwPreferencesWindow and AdwMessageDialog.

For custom dialogs, it is recommended to derive from GtkWindow as opposed to GtkDialog.

Info bars

GTK 4.10 deprecates GtkInfoBar. Libadwaita’s new AdwBanner can be used as alternative.

Autotools

With GTK 4.10, Autotools has been removed from the GTK 3.x branch. Those wanting to build or package GTK 3.x will therefore need to use the Meson build system. Regressions experienced by Autotools users should be reported using the GTK issue tracker.

Libadwaita

GNOME 44 is accompanied by Libadwaita 1.3, which includes three new widgets, as well as a host of bug fixes. The new widgets for 1.3 are:

AdwBanner, a narrow bar that can be used to show status information. Banners have a title, which can be centered or left-aligned, and can include a single optional button.

Banner screenshot

AdwTabOverview, which displays tabs from an AdwTabView in a grid, with a thumbnail for each tab. Search is provided, so that users can filter the view.

Tab overview screenshot

AdwTabButton, a button that shows the number of open tabs in an AdwTabView. It is intended to be used as a open tab indicator when there’s no tab bar. Typically it will open an AdwTabOverview when pressed.

Tab button screenshot

GLib

GNOME 44 is accompanied by GLib 2.76. Changes since the last stable version, include:

Builder

Version 44 of GNOME’s IDE includes a large number of enhancements and fixes, including:

Changes in this release:

GNOME JavaScript

GNOME’s JavaScript programming environment comes with a collection of improvements for GNOME 44:

Documentation

Several improvements have been made to GNOME’s developer documentation since GNOME 43:

Background Apps

GNOME 44 is accompanied by XDG portals 1.16.1. As part of GNOME’s new background apps feature, the behavior of the background portal has changed in the latest release.

Apps which want to run without a visible window no longer need to request permission to run in the background. However, users can still withdraw an app’s permission ability to run in the background, and apps which run in the background without permission will be killed.

To avoid this, apps can check whether they have permission to run in the background using the background portal’s RequestBackground method. They can also use SetStatus to specify a status message that is shown in the Background Apps menu.