AboutWindow

A window showing information about the application.

<picture> <source srcset="about-window-dark.png" media="(prefers-color-scheme: dark)"> <img src="about-window.png" alt="about-window"> </picture>

An about window is typically opened when the user activates the About … item in the application's primary menu. All parts of the window are optional.

Main page

adw.about_window.AboutWindow prominently displays the application's icon, name, developer name and version. They can be set with the property@AboutWindow:application-icon, property@AboutWindow:application-name, property@AboutWindow:developer-name and property@AboutWindow:version respectively.

What's New

adw.about_window.AboutWindow provides a way for applications to display their release notes, set with the property@AboutWindow: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 property@AboutWindow:version. Use property@AboutWindow:release-notes-version to override it.

Details

The Details page displays the application comments and links.

The comments can be set with the property@AboutWindow:comments property. Unlike gtk.about_dialog.AboutDialog.utf8, this string can be long and detailed. It can also contain links and Pango markup.

To set the application website, use property@AboutWindow:website. To add extra links below the website, use adw.about_window.AboutWindow.addLink.

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

Troubleshooting

adw.about_window.AboutWindow displays the following two links on the main page:

  • Support Questions, set with the property@AboutWindow:support-url property,
  • Report an Issue, set with the property@AboutWindow:issue-url property.

Additionally, applications can provide debugging information. It will be shown separately on the Troubleshooting page. Use the property@AboutWindow: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.

adw.about_window.AboutWindow provides a quick way to save debug information to a file. When saving, property@AboutWindow:debug-info-filename would be used as the suggested filename.

Credits and Acknowledgements

The Credits page has the following default sections:

  • Developers, set with the property@AboutWindow:developers property,
  • Designers, set with the property@AboutWindow:designers property,
  • Artists, set with the property@AboutWindow:artists property,
  • Documenters, set with the property@AboutWindow:documenters property,
  • Translators, set with the property@AboutWindow:translator-credits property.

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 adw.about_window.AboutWindow.addCreditSection to add them.

The Acknowledgements page can be used to acknowledge additional people and organizations for their non-development contributions. Use adw.about_window.AboutWindow.addAcknowledgementSection 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:

<picture> <source srcset="about-window-credits-dark.png" media="(prefers-color-scheme: dark)"> <img src="about-window-credits.png" alt="about-window-credits"> </picture>

The Legal page displays the copyright and licensing information for the application and other modules.

The copyright string is set with the property@AboutWindow:copyright property and should be a short string of one or two lines, for example: © 2022 Example.

Licensing information can be quickly set from a list of known licenses with the property@AboutWindow:license-type property. If the application's license is not in the list, property@AboutWindow:license can be used instead.

To add information about other modules, such as application dependencies or data, use adw.about_window.AboutWindow.addLegalSection.

Constructing

To make constructing an adw.about_window.AboutWindow as convenient as possible, you can use the function func@show_about_window which constructs and shows a window.

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

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

  adw_show_about_window (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/new",
                         "license-type", GTK_LICENSE_GPL_3_0,
                         "developers", developers,
                         "designers", designers,
                         "translator-credits", _("translator-credits"),
                         NULL);
}

CSS nodes

adw.about_window.AboutWindow has a main CSS node with the name window and the style class .about.

class AboutWindow : Window {}

Constructors

this
this()

Creates a new adw.about_window.AboutWindow.

Members

Functions

addAcknowledgementSection
void addAcknowledgementSection(string name, string[] people)

Adds a section to the Acknowledgements page.

addCreditSection
void addCreditSection(string name, string[] people)

Adds an extra section to the Credits page.

addLegalSection
void addLegalSection(string title, string copyright, gtk.types.License licenseType, string license)

Adds an extra section to the Legal page.

addLink
void addLink(string title, string url)

Adds an extra link to the Details page.

connectActivateLink
ulong connectActivateLink(T callback, Flag!"After" after)

Connect to ActivateLink signal.

getApplicationIcon
string getApplicationIcon()

Gets the name of the application icon for self.

getApplicationName
string getApplicationName()

Gets the application name for self.

getArtists
string[] getArtists()

Gets the list of artists of the application.

getComments
string getComments()

Gets the comments about the application.

getCopyright
string getCopyright()

Gets the copyright information for self.

getDebugInfo
string getDebugInfo()

Gets the debug information for self.

getDebugInfoFilename
string getDebugInfoFilename()

Gets the debug information filename for self.

getDesigners
string[] getDesigners()

Gets the list of designers of the application.

getDeveloperName
string getDeveloperName()

Gets the developer name for self.

getDevelopers
string[] getDevelopers()

Gets the list of developers of the application.

getDocumenters
string[] getDocumenters()

Gets the list of documenters of the application.

getIssueUrl
string getIssueUrl()

Gets the issue tracker URL for self.

getLicense
string getLicense()

Gets the license for self.

getLicenseType
gtk.types.License getLicenseType()

Gets the license type for self.

getReleaseNotes
string getReleaseNotes()

Gets the release notes for self.

getReleaseNotesVersion
string getReleaseNotesVersion()

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

getSupportUrl
string getSupportUrl()

Gets the URL of the support page for self.

getTranslatorCredits
string getTranslatorCredits()

Gets the translator credits string.

getVersion
string getVersion()

Gets the version for self.

getWebsite
string getWebsite()

Gets the application website URL for self.

setApplicationIcon
void setApplicationIcon(string applicationIcon)

Sets the name of the application icon for self.

setApplicationName
void setApplicationName(string applicationName)

Sets the application name for self.

setArtists
void setArtists(string[] artists)

Sets the list of artists of the application.

setComments
void setComments(string comments)

Sets the comments about the application.

setCopyright
void setCopyright(string copyright)

Sets the copyright information for self.

setDebugInfo
void setDebugInfo(string debugInfo)

Sets the debug information for self.

setDebugInfoFilename
void setDebugInfoFilename(string filename)

Sets the debug information filename for self.

setDesigners
void setDesigners(string[] designers)

Sets the list of designers of the application.

setDeveloperName
void setDeveloperName(string developerName)

Sets the developer name for self.

setDevelopers
void setDevelopers(string[] developers)

Sets the list of developers of the application.

setDocumenters
void setDocumenters(string[] documenters)

Sets the list of documenters of the application.

setIssueUrl
void setIssueUrl(string issueUrl)

Sets the issue tracker URL for self.

setLicense
void setLicense(string license)

Sets the license for self.

setLicenseType
void setLicenseType(gtk.types.License licenseType)

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

setReleaseNotes
void setReleaseNotes(string releaseNotes)

Sets the release notes for self.

setReleaseNotesVersion
void setReleaseNotesVersion(string version_)

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

setSupportUrl
void setSupportUrl(string supportUrl)

Sets the URL of the support page for self.

setTranslatorCredits
void setTranslatorCredits(string translatorCredits)

Sets the translator credits string.

setVersion
void setVersion(string version_)

Sets the version for self.

setWebsite
void setWebsite(string website)

Sets the application website URL for self.

Static functions

newFromAppdata
adw.about_window.AboutWindow newFromAppdata(string resourcePath, string releaseNotesVersion)

Creates a new adw.about_window.AboutWindow using AppStream metadata.

Inherited Members

From Window

addBreakpoint
void addBreakpoint(adw.breakpoint.Breakpoint breakpoint)

Adds breakpoint to self.

getContent
gtk.widget.Widget getContent()

Gets the content widget of self.

getCurrentBreakpoint
adw.breakpoint.Breakpoint getCurrentBreakpoint()

Gets the current breakpoint.

getDialogs
gio.list_model.ListModel getDialogs()

Returns a gio.list_model.ListModel that contains the open dialogs of self.

getVisibleDialog
adw.dialog.Dialog getVisibleDialog()

Returns the currently visible dialog in self, if there's one.

setContent
void setContent(gtk.widget.Widget content)

Sets the content widget of self.