Class AboutWindow

All Implemented Interfaces:
Accessible, Buildable, ConstraintTarget, Native, Root, ShortcutManager, Proxy

@Generated("org.javagi.JavaGI") @Deprecated public final class AboutWindow extends Window implements Accessible, Buildable, ConstraintTarget, Native, Root, ShortcutManager
Deprecated.

A window showing information about the application.

about-window

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

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

What's New

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

Details

The Details page displays the application comments and links.

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

To set the application website, use AboutWindow:website. To add extra links below the website, use addLink(String, String).

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

Troubleshooting

AdwAboutWindow displays the following two links on the main page:

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

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

AdwAboutWindow provides a quick way to save debug information to a file. When saving, 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 AboutWindow:developers property,
  • Designers, set with the AboutWindow:designers property,
  • Artists, set with the AboutWindow:artists property,
  • Documenters, set with the AboutWindow:documenters property,
  • Translators, set with the 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 addCreditSection(String, String[]) to add them.

The Acknowledgements page can be used to acknowledge additional people and organizations for their non-development contributions. Use addAcknowledgementSection(String, String[]) 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:

about-window-credits

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

The copyright string is set with the 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 AboutWindow:license-type property. If the application's license is not in the list, AboutWindow:license can be used instead.

To add information about other modules, such as application dependencies or data, use addLegalSection(String, String, License, String).

Constructing

To make constructing an AdwAboutWindow as convenient as possible, you can use the function Adw.showAboutWindow(Window, String, Object...) 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/",
                         "license-type", GTK_LICENSE_GPL_3_0,
                         "developers", developers,
                         "designers", designers,
                         "translator-credits", _("translator-credits"),
                         NULL);
}

CSS nodes

AdwAboutWindow has a main CSS node with the name window and the style class .about.

Since:
1.2
  • Constructor Details

    • AboutWindow

      public AboutWindow(MemorySegment address)
      Deprecated.
      Create a AboutWindow instance for the provided memory address.
      Parameters:
      address - the memory address of the native object
    • AboutWindow

      public AboutWindow()
      Deprecated.
      Create a new AboutWindow.
  • Method Details

    • getType

      public static @Nullable Type getType()
      Deprecated.
      Get the GType of the AboutWindow class.
      Returns:
      the GType
    • getMemoryLayout

      public static MemoryLayout getMemoryLayout()
      Deprecated.
      The memory layout of the native struct.
      Returns:
      the memory layout
    • asParent

      protected AboutWindow asParent()
      Deprecated.
      Return this instance as if it were its parent type. Comparable to the Java super keyword, but ensures the parent typeclass is also used in native code.
      Overrides:
      asParent in class Window
      Returns:
      the instance as if it were its parent type
    • fromAppdata

      @Deprecated public static AboutWindow fromAppdata(String resourcePath, @Nullable String releaseNotesVersion)
      Deprecated.

      Creates a new AdwAboutWindow using AppStream metadata.

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

      • AboutWindow:application-icon is set from the <id>
      • AboutWindow:application-name is set from the <name>
      • AboutWindow:developer-name is set from the <name> within <developer>
      • AboutWindow:version is set from the version of the latest release
      • AboutWindow:website is set from the <url type="homepage">
      • AboutWindow:support-url is set from the <url type="help">
      • AboutWindow:issue-url is set from the <url type="bugtracker">
      • AboutWindow:license-type is set from the <project_license>. If the license type retrieved from AppStream is not listed in Gtk.License, it will be set to Gtk.License.custom.

      If releaseNotesVersion is not NULL, AboutWindow:release-notes-version is set to match it, while AboutWindow:release-notes is set from the AppStream release description for that version.

      Parameters:
      resourcePath - The resource to use
      releaseNotesVersion - The version to retrieve release notes for
      Returns:
      the newly created AdwAboutWindow
      Since:
      1.4
    • addAcknowledgementSection

      @Deprecated public void addAcknowledgementSection(@Nullable String name, @Nullable String @Nullable [] people)
      Deprecated.

      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:

      Parameters:
      name - the section name
      people - the list of names
      Since:
      1.2
    • addCreditSection

      @Deprecated public void addCreditSection(@Nullable String name, @Nullable String @Nullable [] people)
      Deprecated.

      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:

      Parameters:
      name - the section name
      people - the list of names
      Since:
      1.2
    • addLegalSection

      @Deprecated public void addLegalSection(String title, @Nullable String copyright, License licenseType, @Nullable String license)
      Deprecated.

      Adds an extra section to the Legal page.

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

      The parameters copyright, licenseType and license will be used to present the it the same way as AboutWindow:copyright, AboutWindow:license-type and AboutWindow: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_window_add_legal_section (ADW_ABOUT_WINDOW (about),
                                          _("Copyright and a known license"),
                                          "© 2022 Example",
                                          GTK_LICENSE_LGPL_2_1,
                                          NULL);
      
      adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
                                          _("Copyright and custom license"),
                                          "© 2022 Example",
                                          GTK_LICENSE_CUSTOM,
                                          "Custom license text");
      
      adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
                                          _("Copyright only"),
                                          "© 2022 Example",
                                          GTK_LICENSE_UNKNOWN,
                                          NULL);
      
      adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
                                          _("Custom license only"),
                                          NULL,
                                          GTK_LICENSE_CUSTOM,
                                          "Something completely custom here.");
      
      Parameters:
      title - the name of the section
      copyright - a copyright string
      licenseType - the type of license
      license - custom license information
      Since:
      1.2
    • addLink

      @Deprecated public void addLink(String title, String url)
      Deprecated.

      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 AboutWindow:website.

      Parameters:
      title - the link title
      url - the link URL
      Since:
      1.2
    • getApplicationIcon

      @Deprecated public String getApplicationIcon()
      Deprecated.
      Gets the name of the application icon for self.
      Returns:
      the application icon name
      Since:
      1.2
    • getApplicationName

      @Deprecated public String getApplicationName()
      Deprecated.
      Gets the application name for self.
      Returns:
      the application name
      Since:
      1.2
    • getArtists

      @Deprecated public @Nullable String @Nullable [] getArtists()
      Deprecated.
      Gets the list of artists of the application.
      Returns:
      The list of artists
      Since:
      1.2
    • getComments

      @Deprecated public String getComments()
      Deprecated.
      Gets the comments about the application.
      Returns:
      the comments
      Since:
      1.2
    • getCopyright

      @Deprecated public String getCopyright()
      Deprecated.
      Gets the copyright information for self.
      Returns:
      the copyright information
      Since:
      1.2
    • getDebugInfo

      @Deprecated public String getDebugInfo()
      Deprecated.
      Gets the debug information for self.
      Returns:
      the debug information
      Since:
      1.2
    • getDebugInfoFilename

      @Deprecated public String getDebugInfoFilename()
      Deprecated.
      Gets the debug information filename for self.
      Returns:
      the debug information filename
      Since:
      1.2
    • getDesigners

      @Deprecated public @Nullable String @Nullable [] getDesigners()
      Deprecated.
      Gets the list of designers of the application.
      Returns:
      The list of designers
      Since:
      1.2
    • getDeveloperName

      @Deprecated public String getDeveloperName()
      Deprecated.
      Gets the developer name for self.
      Returns:
      the developer_name
      Since:
      1.2
    • getDevelopers

      @Deprecated public @Nullable String @Nullable [] getDevelopers()
      Deprecated.
      Gets the list of developers of the application.
      Returns:
      The list of developers
      Since:
      1.2
    • getDocumenters

      @Deprecated public @Nullable String @Nullable [] getDocumenters()
      Deprecated.
      Gets the list of documenters of the application.
      Returns:
      The list of documenters
      Since:
      1.2
    • getIssueUrl

      @Deprecated public String getIssueUrl()
      Deprecated.
      Gets the issue tracker URL for self.
      Returns:
      the issue tracker URL
      Since:
      1.2
    • getLicense

      @Deprecated public String getLicense()
      Deprecated.
      Gets the license for self.
      Returns:
      the license
      Since:
      1.2
    • getLicenseType

      @Deprecated public License getLicenseType()
      Deprecated.
      Gets the license type for self.
      Returns:
      the license type
      Since:
      1.2
    • getReleaseNotes

      @Deprecated public String getReleaseNotes()
      Deprecated.
      Gets the release notes for self.
      Returns:
      the release notes
      Since:
      1.2
    • getReleaseNotesVersion

      @Deprecated public String getReleaseNotesVersion()
      Deprecated.
      Gets the version described by the application's release notes.
      Returns:
      the release notes version
      Since:
      1.2
    • getSupportUrl

      @Deprecated public String getSupportUrl()
      Deprecated.
      Gets the URL of the support page for self.
      Returns:
      the support page URL
      Since:
      1.2
    • getTranslatorCredits

      @Deprecated public String getTranslatorCredits()
      Deprecated.
      Gets the translator credits string.
      Returns:
      The translator credits string
      Since:
      1.2
    • getVersion

      @Deprecated public String getVersion()
      Deprecated.
      Gets the version for self.
      Returns:
      the version
      Since:
      1.2
    • getWebsite

      @Deprecated public String getWebsite()
      Deprecated.
      Gets the application website URL for self.
      Returns:
      the website URL
      Since:
      1.2
    • setApplicationIcon

      @Deprecated public void setApplicationIcon(String applicationIcon)
      Deprecated.

      Sets the name of the application icon for self.

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

      Parameters:
      applicationIcon - the application icon name
      Since:
      1.2
    • setApplicationName

      @Deprecated public void setApplicationName(String applicationName)
      Deprecated.

      Sets the application name for self.

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

      Parameters:
      applicationName - the application name
      Since:
      1.2
    • setArtists

      @Deprecated public void setArtists(@Nullable String @Nullable [] artists)
      Deprecated.

      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:

      Parameters:
      artists - the list of artists
      Since:
      1.2
    • setComments

      @Deprecated public void setComments(String comments)
      Deprecated.

      Sets the comments about the application.

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

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

      Parameters:
      comments - the comments
      Since:
      1.2
    • setCopyright

      @Deprecated public void setCopyright(String copyright)
      Deprecated.

      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.

      addLegalSection(String, String, License, String) can be used to add copyright information for the application dependencies or other components.

      Parameters:
      copyright - the copyright information
      Since:
      1.2
    • setDebugInfo

      @Deprecated public void setDebugInfo(String debugInfo)
      Deprecated.

      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.

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

      Debug information cannot contain markup or links.

      Parameters:
      debugInfo - the debug information
      Since:
      1.2
    • setDebugInfoFilename

      @Deprecated public void setDebugInfoFilename(String filename)
      Deprecated.

      Sets the debug information filename for self.

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

      See AboutWindow:debug-info.

      Parameters:
      filename - the debug info filename
      Since:
      1.2
    • setDesigners

      @Deprecated public void setDesigners(@Nullable String @Nullable [] designers)
      Deprecated.

      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:

      Parameters:
      designers - the list of designers
      Since:
      1.2
    • setDeveloperName

      @Deprecated public void setDeveloperName(String developerName)
      Deprecated.

      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 AboutWindow:developers and related properties.

      Parameters:
      developerName - the developer name
      Since:
      1.2
    • setDevelopers

      @Deprecated public void setDevelopers(@Nullable String @Nullable [] developers)
      Deprecated.

      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:

      Parameters:
      developers - the list of developers
      Since:
      1.2
    • setDocumenters

      @Deprecated public void setDocumenters(@Nullable String @Nullable [] documenters)
      Deprecated.

      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:

      Parameters:
      documenters - the list of documenters
      Since:
      1.2
    • setIssueUrl

      @Deprecated public void setIssueUrl(String issueUrl)
      Deprecated.

      Sets the issue tracker URL for self.

      The issue tracker link is displayed on the main page.

      Parameters:
      issueUrl - the issue tracker URL
      Since:
      1.2
    • setLicense

      @Deprecated public void setLicense(String license)
      Deprecated.

      Sets the license for self.

      This can be used to set a custom text for the license if it can't be set via AboutWindow:license-type.

      When set, AboutWindow: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.

      addLegalSection(String, String, License, String) can be used to add license information for the application dependencies or other components.

      Parameters:
      license - the license
      Since:
      1.2
    • setLicenseType

      @Deprecated public void setLicenseType(License licenseType)
      Deprecated.

      Sets the license for this AboutWindow from a list of known licenses.

      If the application's license is not in the list, AboutWindow:license can be used instead. The license type will be automatically set to Gtk.License.custom in that case.

      If licenseType is Gtk.License.unknown, no information will be displayed.

      If licenseType is different from Gtk.License.custom. AboutWindow:license will be cleared out.

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

      addLegalSection(String, String, License, String) can be used to add license information for the application dependencies or other components.

      Parameters:
      licenseType - the license type
      Since:
      1.2
    • setReleaseNotes

      @Deprecated public void setReleaseNotes(String releaseNotes)
      Deprecated.

      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.

      AdwAboutWindow displays the version above the release notes. If set, the AboutWindow:release-notes-version of the property will be used as the version; otherwise, AboutWindow:version is used.

      Parameters:
      releaseNotes - the release notes
      Since:
      1.2
    • setReleaseNotesVersion

      @Deprecated public void setReleaseNotesVersion(String version)
      Deprecated.

      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, AboutWindow: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 AboutWindow:release-notes.

      Parameters:
      version - the release notes version
      Since:
      1.2
    • setSupportUrl

      @Deprecated public void setSupportUrl(String supportUrl)
      Deprecated.

      Sets the URL of the support page for self.

      The support page link is displayed on the main page.

      Parameters:
      supportUrl - the support page URL
      Since:
      1.2
    • setTranslatorCredits

      @Deprecated public void setTranslatorCredits(String translatorCredits)
      Deprecated.

      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. When there is more than one translator, they must be separated by a newline in the same string.

      See also:

      Parameters:
      translatorCredits - the translator credits
      Since:
      1.2
    • setVersion

      @Deprecated public void setVersion(String version)
      Deprecated.

      Sets the version for self.

      The version is displayed on the main page.

      If AboutWindow:release-notes-version is not set, the version will also be displayed above the release notes on the What's New page.

      Parameters:
      version - the version
      Since:
      1.2
    • setWebsite

      @Deprecated public void setWebsite(String website)
      Deprecated.

      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 addLink(String, String).

      Parameters:
      website - the website URL
      Since:
      1.2
    • onActivateLink

      Deprecated.

      Emitted when a URL is activated.

      Applications may connect to it to override the default behavior, which is to call Gtk#showUri.

      Parameters:
      handler - the signal handler
      Returns:
      a signal handler ID to keep track of the signal connection
      Since:
      1.2
      See Also:
    • emitActivateLink

      @Deprecated public boolean emitActivateLink(String uri)
      Deprecated.
      Emits the "activate-link" signal. See onActivateLink(AboutWindow.ActivateLinkCallback).
    • builder

      public static AboutWindow.Builder<? extends AboutWindow.Builder> builder()
      Deprecated.
      A AboutWindow.Builder object constructs a AboutWindow with the specified properties. Use the various set...() methods to set properties, and finish construction with AboutWindow.Builder.build().
      Returns:
      the builder object