AboutDialog#

Added in version 1.5.

class AboutDialog(**properties: Any)#

Superclasses: Dialog, Widget, InitiallyUnowned, Object

Implemented Interfaces: Accessible, Buildable, ConstraintTarget

A dialog showing information about the application.

https://gnome.pages.gitlab.gnome.org/libadwaita/doc/1-latest/about-dialog.png

an about dialog is typically opened when the user activates the About item in the application’s primary menu. All parts of the dialog are optional.

Main page#

AdwAboutDialog prominently displays the application’s icon, name, developer name and version. They can be set with the application_icon, application_name, developer_name and version respectively.

What’s New#

AdwAboutDialog provides a way for applications to display their release notes, set with the release_notes property.

Release notes are formatted the same way as AppStream descriptions.

The supported formatting options are:

  • Paragraph (<p>)

  • Ordered list (<ol>), with list items (<li>)

  • Unordered list (<ul>), with list items (<li>)

Within paragraphs and list items, emphasis (<em>) and inline code (<code>) text styles are supported. The emphasis is rendered in italic, while inline code is shown in a monospaced font.

Any text outside paragraphs or list items is ignored.

Nested lists are not supported.

Only one version can be shown at a time. By default, the displayed version number matches version. Use release_notes_version to override it.

Details#

The Details page displays the application comments and links.

The comments can be set with the comments property. Unlike comments, this string can be long and detailed. It can also contain links and Pango markup.

To set the application website, use website. To add extra links below the website, use add_link.

If the Details page doesn’t have any other content besides website, the website will be displayed on the main page instead.

Troubleshooting#

AdwAboutDialog displays the following two links on the main page:

  • Support Questions, set with the support_url property,

  • Report an Issue, set with the issue_url property.

Additionally, applications can provide debugging information. It will be shown separately on the Troubleshooting page. Use the debug_info property to specify it.

It’s intended to be attached to issue reports when reporting issues against the application. As such, it cannot contain markup or links.

AdwAboutDialog provides a quick way to save debug information to a file. When saving, debug_info_filename would be used as the suggested filename.

Credits and Acknowledgements#

The Credits page has the following default sections:

When setting translator credits, use the strings "translator-credits" or "translator_credits" and mark them as translatable.

The default sections that don’t contain any names won’t be displayed.

The Credits page can also contain an arbitrary number of extra sections below the default ones. Use add_credit_section to add them.

The Acknowledgements page can be used to acknowledge additional people and organizations for their non-development contributions. Use add_acknowledgement_section to add sections to it. For example, it can be used to list backers in a crowdfunded project or to give special thanks.

Each of the people or organizations can have an email address or a website specified. To add a email address, use a string like Edgar Allan Poe <edgar@poe.com>. To specify a website with a title, use a string like The GNOME Project https://www.gnome.org:

https://gnome.pages.gitlab.gnome.org/libadwaita/doc/1-latest/about-dialog-credits.png

Constructing#

To make constructing an AdwAboutDialog as convenient as possible, you can use the function show_about_dialog which constructs and shows a dialog.

static void
show_about (GtkApplication *app)
{
  const char *developers[] = {
    "Angela Avery",
    NULL
  };

  const char *designers[] = {
    "GNOME Design Team",
    NULL
  };

  adw_show_about_dialog (GTK_WIDGET (gtk_application_get_active_window (app)),
                         "application-name", _("Example"),
                         "application-icon", "org.example.App",
                         "version", "1.2.3",
                         "copyright", "© 2022 Angela Avery",
                         "issue-url", "https://gitlab.gnome.org/example/example/-/issues/",
                         "license-type", GTK_LICENSE_GPL_3_0,
                         "developers", developers,
                         "designers", designers,
                         "translator-credits", _("translator-credits"),
                         NULL);
}

CSS nodes#

AdwAboutDialog has a main CSS node with the name dialog and the style class .about.

Constructors#

class AboutDialog
classmethod new() Dialog#

Creates a new AdwAboutDialog.

Added in version 1.5.

classmethod new_from_appdata(resource_path: str, release_notes_version: str | None = None) Dialog#

Creates a new AdwAboutDialog using AppStream metadata.

This automatically sets the following properties with the following AppStream values:

If release_notes_version is not NULL, release_notes_version is set to match it, while release_notes is set from the AppStream release description for that version.

Added in version 1.5.

Parameters:
  • resource_path – The resource to use

  • release_notes_version – The version to retrieve release notes for

Methods#

class AboutDialog
add_acknowledgement_section(name: str | None, people: list[str]) None#

Adds a section to the Acknowledgements page.

This can be used to acknowledge additional people and organizations for their non-development contributions - for example, backers in a crowdfunded project.

Each name may contain email addresses and URLs, see the introduction for more details.

See also:

Added in version 1.5.

Parameters:
  • name – the section name

  • people – the list of names

add_credit_section(name: str | None, people: list[str]) None#

Adds an extra section to the Credits page.

Extra sections are displayed below the standard categories.

Each name may contain email addresses and URLs, see the introduction for more details.

See also:

Added in version 1.5.

Parameters:
  • name – the section name

  • people – the list of names

Adds an extra section to the Legal page.

Extra sections will be displayed below the application’s own information.

The parameters copyright, license_type and license will be used to present the it the same way as copyright, license_type and license are for the application’s own information.

See those properties for more details.

This can be useful to attribute the application dependencies or data.

Examples:

adw_about_dialog_add_legal_section (ADW_ABOUT_DIALOG (about),
                                    _("Copyright and a known license"),
                                    "© 2022 Example",
                                    GTK_LICENSE_LGPL_2_1,
                                    NULL);

adw_about_dialog_add_legal_section (ADW_ABOUT_DIALOG (about),
                                    _("Copyright and custom license"),
                                    "© 2022 Example",
                                    GTK_LICENSE_CUSTOM,
                                    "Custom license text");

adw_about_dialog_add_legal_section (ADW_ABOUT_DIALOG (about),
                                    _("Copyright only"),
                                    "© 2022 Example",
                                    GTK_LICENSE_UNKNOWN,
                                    NULL);

adw_about_dialog_add_legal_section (ADW_ABOUT_DIALOG (about),
                                    _("Custom license only"),
                                    NULL,
                                    GTK_LICENSE_CUSTOM,
                                    "Something completely custom here.");

Added in version 1.5.

Parameters:
  • title – the name of the section

  • copyright – a copyright string

  • license_type – the type of license

  • license – custom license information

Adds an extra link to the Details page.

Extra links are displayed under the comment and website.

Underlines in title will be interpreted as indicating a mnemonic.

See website.

Added in version 1.5.

Parameters:
  • title – the link title

  • url – the link URL

get_application_icon() str#

Gets the name of the application icon for self.

Added in version 1.5.

get_application_name() str#

Gets the application name for self.

Added in version 1.5.

get_artists() list[str] | None#

Gets the list of artists of the application.

Added in version 1.5.

get_comments() str#

Gets the comments about the application.

Added in version 1.5.

Gets the copyright information for self.

Added in version 1.5.

get_debug_info() str#

Gets the debug information for self.

Added in version 1.5.

get_debug_info_filename() str#

Gets the debug information filename for self.

Added in version 1.5.

get_designers() list[str] | None#

Gets the list of designers of the application.

Added in version 1.5.

get_developer_name() str#

Gets the developer name for self.

Added in version 1.5.

get_developers() list[str] | None#

Gets the list of developers of the application.

Added in version 1.5.

get_documenters() list[str] | None#

Gets the list of documenters of the application.

Added in version 1.5.

get_issue_url() str#

Gets the issue tracker URL for self.

Added in version 1.5.

get_license() str#

Gets the license for self.

Added in version 1.5.

get_license_type() License#

Gets the license type for self.

Added in version 1.5.

get_release_notes() str#

Gets the release notes for self.

Added in version 1.5.

get_release_notes_version() str#

Gets the version described by the application’s release notes.

Added in version 1.5.

get_support_url() str#

Gets the URL of the support page for self.

Added in version 1.5.

get_translator_credits() str#

Gets the translator credits string.

Added in version 1.5.

get_version() str#

Gets the version for self.

Added in version 1.5.

get_website() str#

Gets the application website URL for self.

Added in version 1.5.

set_application_icon(application_icon: str) None#

Sets the name of the application icon for self.

The icon is displayed at the top of the main page.

Added in version 1.5.

Parameters:

application_icon – the application icon name

set_application_name(application_name: str) None#

Sets the application name for self.

The name is displayed at the top of the main page.

Added in version 1.5.

Parameters:

application_name – the application name

set_artists(artists: list[str] | None = None) None#

Sets the list of artists of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for more details.

See also:

Added in version 1.5.

Parameters:

artists – the list of artists

set_comments(comments: str) None#

Sets the comments about the application.

Comments will be shown on the Details page, above links.

Unlike comments, this string can be long and detailed. It can also contain links and Pango markup.

Added in version 1.5.

Parameters:

comments – the comments

Sets the copyright information for self.

This should be a short string of one or two lines, for example: © 2022 Example.

The copyright information will be displayed on the Legal page, before the application license.

add_legal_section can be used to add copyright information for the application dependencies or other components.

Added in version 1.5.

Parameters:

copyright – the copyright information

set_debug_info(debug_info: str) None#

Sets the debug information for self.

Debug information will be shown on the Troubleshooting page. It’s intended to be attached to issue reports when reporting issues against the application.

AdwAboutDialog provides a quick way to save debug information to a file. When saving, debug_info_filename would be used as the suggested filename.

Debug information cannot contain markup or links.

Added in version 1.5.

Parameters:

debug_info – the debug information

set_debug_info_filename(filename: str) None#

Sets the debug information filename for self.

It will be used as the suggested filename when saving debug information to a file.

See debug_info.

Added in version 1.5.

Parameters:

filename – the debug info filename

set_designers(designers: list[str] | None = None) None#

Sets the list of designers of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for more details.

See also:

Added in version 1.5.

Parameters:

designers – the list of designers

set_developer_name(developer_name: str) None#

Sets the developer name for self.

The developer name is displayed on the main page, under the application name.

If the application is developed by multiple people, the developer name can be set to values like “AppName team”, “AppName developers” or “The AppName project”, and the individual contributors can be listed on the Credits page, with developers and related properties.

Added in version 1.5.

Parameters:

developer_name – the developer name

set_developers(developers: list[str] | None = None) None#

Sets the list of developers of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for more details.

See also:

Added in version 1.5.

Parameters:

developers – the list of developers

set_documenters(documenters: list[str] | None = None) None#

Sets the list of documenters of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for more details.

See also:

Added in version 1.5.

Parameters:

documenters – the list of documenters

set_issue_url(issue_url: str) None#

Sets the issue tracker URL for self.

The issue tracker link is displayed on the main page.

Added in version 1.5.

Parameters:

issue_url – the issue tracker URL

set_license(license: str) None#

Sets the license for self.

This can be used to set a custom text for the license if it can’t be set via license_type.

When set, license_type will be set to GTK_LICENSE_CUSTOM.

The license text will be displayed on the Legal page, below the copyright information.

License text can contain Pango markup and links.

add_legal_section can be used to add license information for the application dependencies or other components.

Added in version 1.5.

Parameters:

license – the license

set_license_type(license_type: License) None#

Sets the license for self from a list of known licenses.

If the application’s license is not in the list, license can be used instead. The license type will be automatically set to GTK_LICENSE_CUSTOM in that case.

If license_type is GTK_LICENSE_UNKNOWN, no information will be displayed.

If license_type is different from GTK_LICENSE_CUSTOM. license will be cleared out.

The license description will be displayed on the Legal page, below the copyright information.

add_legal_section can be used to add license information for the application dependencies or other components.

Added in version 1.5.

Parameters:

license_type – the license type

set_release_notes(release_notes: str) None#

Sets the release notes for self.

Release notes are displayed on the the What’s New page.

Release notes are formatted the same way as AppStream descriptions.

The supported formatting options are:

  • Paragraph (<p>)

  • Ordered list (<ol>), with list items (<li>)

  • Unordered list (<ul>), with list items (<li>)

Within paragraphs and list items, emphasis (<em>) and inline code (<code>) text styles are supported. The emphasis is rendered in italic, while inline code is shown in a monospaced font.

Any text outside paragraphs or list items is ignored.

Nested lists are not supported.

AdwAboutDialog displays the version above the release notes. If set, the release_notes_version of the property will be used as the version; otherwise, version is used.

Added in version 1.5.

Parameters:

release_notes – the release notes

set_release_notes_version(version: str) None#

Sets the version described by the application’s release notes.

The release notes version is displayed on the What’s New page, above the release notes.

If not set, version will be used instead.

For example, an application with the current version 2.0.2 might want to keep the release notes from 2.0.0, and set the release notes version accordingly.

See release_notes.

Added in version 1.5.

Parameters:

version – the release notes version

set_support_url(support_url: str) None#

Sets the URL of the support page for self.

The support page link is displayed on the main page.

Added in version 1.5.

Parameters:

support_url – the support page URL

set_translator_credits(translator_credits: str) None#

Sets the translator credits string.

It will be displayed on the Credits page.

This string should be "translator-credits" or "translator_credits" and should be marked as translatable.

The string may contain email addresses and URLs, see the introduction for more details.

See also:

Added in version 1.5.

Parameters:

translator_credits – the translator credits

set_version(version: str) None#

Sets the version for self.

The version is displayed on the main page.

If release_notes_version is not set, the version will also be displayed above the release notes on the What’s New page.

Added in version 1.5.

Parameters:

version – the version

set_website(website: str) None#

Sets the application website URL for self.

Website is displayed on the Details page, below comments, or on the main page if the Details page doesn’t have any other content.

Applications can add other links below, see add_link.

Added in version 1.5.

Parameters:

website – the website URL

Properties#

class AboutDialog
props.application_icon: str#

The type of the None singleton.

Added in version 1.5.

props.application_name: str#

The type of the None singleton.

Added in version 1.5.

props.artists: list[str]#

The type of the None singleton.

Added in version 1.5.

props.comments: str#

The type of the None singleton.

Added in version 1.5.

props.copyright: str#

The type of the None singleton.

Added in version 1.5.

props.debug_info: str#

The type of the None singleton.

Added in version 1.5.

props.debug_info_filename: str#

The type of the None singleton.

Added in version 1.5.

props.designers: list[str]#

The type of the None singleton.

Added in version 1.5.

props.developer_name: str#

The type of the None singleton.

Added in version 1.5.

props.developers: list[str]#

The type of the None singleton.

Added in version 1.5.

props.documenters: list[str]#

The type of the None singleton.

Added in version 1.5.

props.issue_url: str#

The type of the None singleton.

Added in version 1.5.

props.license: str#

The type of the None singleton.

Added in version 1.5.

props.license_type: License#

The type of the None singleton.

Added in version 1.5.

props.release_notes: str#

The type of the None singleton.

Added in version 1.5.

props.release_notes_version: str#

The type of the None singleton.

Added in version 1.5.

props.support_url: str#

The type of the None singleton.

Added in version 1.5.

props.translator_credits: str#

The type of the None singleton.

Added in version 1.5.

props.version: str#

The type of the None singleton.

Added in version 1.5.

props.website: str#

The type of the None singleton.

Added in version 1.5.

Signals#

class AboutDialog.signals

The type of the None singleton.

Added in version 1.5.

Parameters:

uri – the URI to activate