## GtkAboutDialog

GtkAboutDialog — Display information about an application

## Synopsis

    #include <gtk/gtk.h>

                        GtkAboutDialog;
    GtkWidget *         gtk_about_dialog_new                (void);
    const gchar *       gtk_about_dialog_get_name           (GtkAboutDialog *about);
    void                gtk_about_dialog_set_name           (GtkAboutDialog *about,
                                                             const gchar *name);
    const gchar *       gtk_about_dialog_get_program_name   (GtkAboutDialog *about);
    void                gtk_about_dialog_set_program_name   (GtkAboutDialog *about,
                                                             const gchar *name);
    const gchar *       gtk_about_dialog_get_version        (GtkAboutDialog *about);
    void                gtk_about_dialog_set_version        (GtkAboutDialog *about,
                                                             const gchar *version);
    const gchar *       gtk_about_dialog_get_copyright      (GtkAboutDialog *about);
    void                gtk_about_dialog_set_copyright      (GtkAboutDialog *about,
                                                             const gchar *copyright);
    const gchar *       gtk_about_dialog_get_comments       (GtkAboutDialog *about);
    void                gtk_about_dialog_set_comments       (GtkAboutDialog *about,
                                                             const gchar *comments);
    const gchar *       gtk_about_dialog_get_license        (GtkAboutDialog *about);
    void                gtk_about_dialog_set_license        (GtkAboutDialog *about,
                                                             const gchar *license);
    gboolean            gtk_about_dialog_get_wrap_license   (GtkAboutDialog *about);
    void                gtk_about_dialog_set_wrap_license   (GtkAboutDialog *about,
                                                             gboolean wrap_license);
    const gchar *       gtk_about_dialog_get_website        (GtkAboutDialog *about);
    void                gtk_about_dialog_set_website        (GtkAboutDialog *about,
                                                             const gchar *website);
    const gchar *       gtk_about_dialog_get_website_label  (GtkAboutDialog *about);
    void                gtk_about_dialog_set_website_label  (GtkAboutDialog *about,
                                                             const gchar *website_label);
    const gchar* const * gtk_about_dialog_get_authors       (GtkAboutDialog *about);
    void                gtk_about_dialog_set_authors        (GtkAboutDialog *about,
                                                             const gchar **authors);
    const gchar* const * gtk_about_dialog_get_artists       (GtkAboutDialog *about);
    void                gtk_about_dialog_set_artists        (GtkAboutDialog *about,
                                                             const gchar **artists);
    const gchar* const * gtk_about_dialog_get_documenters   (GtkAboutDialog *about);
    void                gtk_about_dialog_set_documenters    (GtkAboutDialog *about,
                                                             const gchar **documenters);
    const gchar *       gtk_about_dialog_get_translator_credits
                                                            (GtkAboutDialog *about);
    void                gtk_about_dialog_set_translator_credits
                                                            (GtkAboutDialog *about,
                                                             const gchar *translator_credits);
    GdkPixbuf *         gtk_about_dialog_get_logo           (GtkAboutDialog *about);
    void                gtk_about_dialog_set_logo           (GtkAboutDialog *about,
                                                             GdkPixbuf *logo);
    const gchar *       gtk_about_dialog_get_logo_icon_name (GtkAboutDialog *about);
    void                gtk_about_dialog_set_logo_icon_name (GtkAboutDialog *about,
                                                             const gchar *icon_name);
    void                (*GtkAboutDialogActivateLinkFunc)   (GtkAboutDialog *about,
                                                             const gchar *link_,
                                                             gpointer data);
    GtkAboutDialogActivateLinkFunc  gtk_about_dialog_set_email_hook
                                                            (GtkAboutDialogActivateLinkFunc func,
                                                             gpointer data,
                                                             GDestroyNotify destroy);
    GtkAboutDialogActivateLinkFunc  gtk_about_dialog_set_url_hook
                                                            (GtkAboutDialogActivateLinkFunc func,
                                                             gpointer data,
                                                             GDestroyNotify destroy);
    void                gtk_show_about_dialog               (GtkWindow *parent,
                                                             const gchar *first_property_name,
                                                             ...);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkBin
                                     +----GtkWindow
                                           +----GtkDialog
                                                 +----GtkAboutDialog

## Implemented Interfaces

GtkAboutDialog implements AtkImplementorIface and GtkBuildable.

## Properties

      "artists"                  GStrv*                : Read / Write
      "authors"                  GStrv*                : Read / Write
      "comments"                 gchar*                : Read / Write
      "copyright"                gchar*                : Read / Write
      "documenters"              GStrv*                : Read / Write
      "license"                  gchar*                : Read / Write
      "logo"                     GdkPixbuf*            : Read / Write
      "logo-icon-name"           gchar*                : Read / Write
      "program-name"             gchar*                : Read / Write
      "translator-credits"       gchar*                : Read / Write
      "version"                  gchar*                : Read / Write
      "website"                  gchar*                : Read / Write
      "website-label"            gchar*                : Read / Write
      "wrap-license"             gboolean              : Read / Write

## Description

The GtkAboutDialog offers a simple way to display information about a program like its logo, name, copyright, website and license. It is also possible to give credits to the authors, documenters, translators and artists who have worked on the program. An about dialog is typically opened when the user selects the `About` option from the `Help` menu. All parts of the dialog are optional.

About dialog often contain links and email addresses. GtkAboutDialog supports this by offering global hooks, which are called when the user clicks on a link or email address, see `gtk_about_dialog_set_email_hook()` and `gtk_about_dialog_set_url_hook()`. Email addresses in the authors, documenters and artists properties are recognized by looking for `<user@host>`, URLs are recognized by looking for `http://url`, with `url` extending to the next space, tab or line break.

When setting the website and email hooks for the GtkAboutDialog widget, you should remember that the order is important: you should set the hook functions before setting the website and email URL properties, like this:

    gtk_about_dialog_set_url_hook (GTK_ABOUT_DIALOG (dialog), launch_url, NULL, NULL);
    gtk_about_dialog_set_website (GTK_ABOUT_DIALOG (dialog), app_url);

Otherwise the GtkAboutDialog widget will not display the website and the email addresses as clickable.

To make constructing a GtkAboutDialog as convenient as possible, you can use the function `gtk_show_about_dialog()` which constructs and shows a dialog and keeps it around so that it can be shown again.

Note that GTK+ sets a default title of `_("About %s")` on the dialog window (where %s is replaced by the name of the application, but in order to ensure proper translation of the title, applications should set the title property explicitly when constructing a GtkAboutDialog, as shown in the following example:

    gtk_show_about_dialog (NULL,
                           "program-name", "ExampleCode",
                           "logo", example_logo,
                           "title" _("About ExampleCode"),
                           NULL);

Note that prior to GTK+ 2.12, the "program-name" property was called "name". This was changed to avoid the conflict with the "name" property.

## Details

### GtkAboutDialog

    typedef struct _GtkAboutDialog GtkAboutDialog;

The GtkAboutDialog struct contains only private fields and should not be directly accessed.

### gtk_about_dialog_new ()

    GtkWidget *         gtk_about_dialog_new                (void);

Creates a new GtkAboutDialog.

Returns : | a newly created GtkAboutDialog

Since 2.6

### gtk_about_dialog_get_name ()

    const gchar *       gtk_about_dialog_get_name           (GtkAboutDialog *about);

### Warning

`gtk_about_dialog_get_name` has been deprecated since version 2.12 and should not be used in newly-written code. Use `gtk_about_dialog_get_program_name()` instead.

Returns the program name displayed in the about dialog.

`about` : | a GtkAboutDialog
Returns : | The program name. The string is owned by the about dialog and must not be modified.

Since 2.6

### gtk_about_dialog_set_name ()

    void                gtk_about_dialog_set_name           (GtkAboutDialog *about,
                                                             const gchar *name);

### Warning

`gtk_about_dialog_set_name` has been deprecated since version 2.12 and should not be used in newly-written code. Use `gtk_about_dialog_set_program_name()` instead.

Sets the name to display in the about dialog. If this is not set, it defaults to `g_get_application_name()`.

`about` : | a GtkAboutDialog
`name` : | the program name

Since 2.6

### gtk_about_dialog_get_program_name ()

    const gchar *       gtk_about_dialog_get_program_name   (GtkAboutDialog *about);

Returns the program name displayed in the about dialog.

`about` : | a GtkAboutDialog
Returns : | The program name. The string is owned by the about dialog and must not be modified.

Since 2.12

### gtk_about_dialog_set_program_name ()

    void                gtk_about_dialog_set_program_name   (GtkAboutDialog *about,
                                                             const gchar *name);

Sets the name to display in the about dialog. If this is not set, it defaults to `g_get_application_name()`.

`about` : | a GtkAboutDialog
`name` : | the program name

Since 2.12

### gtk_about_dialog_get_version ()

    const gchar *       gtk_about_dialog_get_version        (GtkAboutDialog *about);

Returns the version string.

`about` : | a GtkAboutDialog
Returns : | The version string. The string is owned by the about dialog and must not be modified.

Since 2.6

### gtk_about_dialog_set_version ()

    void                gtk_about_dialog_set_version        (GtkAboutDialog *about,
                                                             const gchar *version);

Sets the version string to display in the about dialog.

`about` : | a GtkAboutDialog
`version` : | the version string

Since 2.6

### gtk_about_dialog_get_copyright ()

    const gchar *       gtk_about_dialog_get_copyright      (GtkAboutDialog *about);

Returns the copyright string.

`about` : | a GtkAboutDialog
Returns : | The copyright string. The string is owned by the about dialog and must not be modified.

Since 2.6

### gtk_about_dialog_set_copyright ()

    void                gtk_about_dialog_set_copyright      (GtkAboutDialog *about,
                                                             const gchar *copyright);

Sets the copyright string to display in the about dialog. This should be a short string of one or two lines.

`about` : | a GtkAboutDialog
`copyright` : | the copyright string

Since 2.6

### gtk_about_dialog_get_comments ()

    const gchar *       gtk_about_dialog_get_comments       (GtkAboutDialog *about);

Returns the comments string.

`about` : | a GtkAboutDialog
Returns : | The comments. The string is owned by the about dialog and must not be modified.

Since 2.6

### gtk_about_dialog_set_comments ()

    void                gtk_about_dialog_set_comments       (GtkAboutDialog *about,
                                                             const gchar *comments);

Sets the comments string to display in the about dialog. This should be a short string of one or two lines.

`about` : | a GtkAboutDialog
`comments` : | a comments string

Since 2.6

### gtk_about_dialog_get_license ()

    const gchar *       gtk_about_dialog_get_license        (GtkAboutDialog *about);

Returns the license information.

`about` : | a GtkAboutDialog
Returns : | The license information. The string is owned by the about dialog and must not be modified.

Since 2.6

### gtk_about_dialog_set_license ()

    void                gtk_about_dialog_set_license        (GtkAboutDialog *about,
                                                             const gchar *license);

Sets the license information to be displayed in the secondary license dialog. If `license` is `NULL`, the license button is hidden.

`about` : | a GtkAboutDialog
`license` : | the license information or `NULL`

Since 2.6

### gtk_about_dialog_get_wrap_license ()

    gboolean            gtk_about_dialog_get_wrap_license   (GtkAboutDialog *about);

Returns whether the license text in `about` is automatically wrapped.

`about` : | a GtkAboutDialog
Returns : | `TRUE` if the license text is wrapped

Since 2.8

### gtk_about_dialog_set_wrap_license ()

    void                gtk_about_dialog_set_wrap_license   (GtkAboutDialog *about,
                                                             gboolean wrap_license);

Sets whether the license text in `about` is automatically wrapped.

`about` : | a GtkAboutDialog
`wrap_license` : | whether to wrap the license

Since 2.8

### gtk_about_dialog_get_website ()

    const gchar *       gtk_about_dialog_get_website        (GtkAboutDialog *about);

Returns the website URL.

`about` : | a GtkAboutDialog
Returns : | The website URL. The string is owned by the about dialog and must not be modified.

Since 2.6

### gtk_about_dialog_set_website ()

    void                gtk_about_dialog_set_website        (GtkAboutDialog *about,
                                                             const gchar *website);

Sets the URL to use for the website link.

Note that that the hook functions need to be set up before calling this function.

`about` : | a GtkAboutDialog
`website` : | a URL string starting with "http://"

Since 2.6

### gtk_about_dialog_get_website_label ()

    const gchar *       gtk_about_dialog_get_website_label  (GtkAboutDialog *about);

Returns the label used for the website link.

`about` : | a GtkAboutDialog
Returns : | The label used for the website link. The string is owned by the about dialog and must not be modified.

Since 2.6

### gtk_about_dialog_set_website_label ()

    void                gtk_about_dialog_set_website_label  (GtkAboutDialog *about,
                                                             const gchar *website_label);

Sets the label to be used for the website link. It defaults to the website URL.

`about` : | a GtkAboutDialog
`website_label` : | the label used for the website link

Since 2.6

### gtk_about_dialog_get_authors ()

    const gchar* const * gtk_about_dialog_get_authors       (GtkAboutDialog *about);

Returns the string which are displayed in the authors tab of the secondary credits dialog.

`about` : | a GtkAboutDialog
Returns : | A `NULL`-terminated string array containing the authors. The array is owned by the about dialog and must not be modified.

Since 2.6

### gtk_about_dialog_set_authors ()

    void                gtk_about_dialog_set_authors        (GtkAboutDialog *about,
                                                             const gchar **authors);

Sets the strings which are displayed in the authors tab of the secondary credits dialog.

`about` : | a GtkAboutDialog
`authors` : | a `NULL`-terminated array of strings

Since 2.6

### gtk_about_dialog_get_artists ()

    const gchar* const * gtk_about_dialog_get_artists       (GtkAboutDialog *about);

Returns the string which are displayed in the artists tab of the secondary credits dialog.

`about` : | a GtkAboutDialog
Returns : | A `NULL`-terminated string array containing the artists. The array is owned by the about dialog and must not be modified.

Since 2.6

### gtk_about_dialog_set_artists ()

    void                gtk_about_dialog_set_artists        (GtkAboutDialog *about,
                                                             const gchar **artists);

Sets the strings which are displayed in the artists tab of the secondary credits dialog.

`about` : | a GtkAboutDialog
`artists` : | a `NULL`-terminated array of strings

Since 2.6

### gtk_about_dialog_get_documenters ()

    const gchar* const * gtk_about_dialog_get_documenters   (GtkAboutDialog *about);

Returns the string which are displayed in the documenters tab of the secondary credits dialog.

`about` : | a GtkAboutDialog
Returns : | A `NULL`-terminated string array containing the documenters. The array is owned by the about dialog and must not be modified.

Since 2.6

### gtk_about_dialog_set_documenters ()

    void                gtk_about_dialog_set_documenters    (GtkAboutDialog *about,
                                                             const gchar **documenters);

Sets the strings which are displayed in the documenters tab of the secondary credits dialog.

`about` : | a GtkAboutDialog
`documenters` : | a `NULL`-terminated array of strings

Since 2.6

### gtk_about_dialog_get_translator_credits ()

    const gchar *       gtk_about_dialog_get_translator_credits
                                                            (GtkAboutDialog *about);

Returns the translator credits string which is displayed in the translators tab of the secondary credits dialog.

`about` : | a GtkAboutDialog
Returns : | The translator credits string. The string is owned by the about dialog and must not be modified.

Since 2.6

### gtk_about_dialog_set_translator_credits ()

    void                gtk_about_dialog_set_translator_credits
                                                            (GtkAboutDialog *about,
                                                             const gchar *translator_credits);

Sets the translator credits string which is displayed in the translators tab of the secondary credits dialog.

The intended use for this string is to display the translator of the language which is currently used in the user interface. Using `gettext()`, a simple way to achieve that is to mark the string for translation:

     gtk_about_dialog_set_translator_credits (about, _("translator-credits"));

It is a good idea to use the customary msgid "translator-credits" for this purpose, since translators will already know the purpose of that msgid, and since GtkAboutDialog will detect if "translator-credits" is untranslated and hide the tab.

`about` : | a GtkAboutDialog
`translator_credits` : | the translator credits

Since 2.6

### gtk_about_dialog_get_logo ()

    GdkPixbuf *         gtk_about_dialog_get_logo           (GtkAboutDialog *about);

Returns the pixbuf displayed as logo in the about dialog.

`about` : | a GtkAboutDialog
Returns : | the pixbuf displayed as logo. The pixbuf is owned by the about dialog. If you want to keep a reference to it, you have to call `g_object_ref()` on it.

Since 2.6

### gtk_about_dialog_set_logo ()

    void                gtk_about_dialog_set_logo           (GtkAboutDialog *about,
                                                             GdkPixbuf *logo);

Sets the pixbuf to be displayed as logo in the about dialog. If it is `NULL`, the default window icon set with `gtk_window_set_default_icon()` will be used.

`about` : | a GtkAboutDialog
`logo` : | a GdkPixbuf, or `NULL`

Since 2.6

### gtk_about_dialog_get_logo_icon_name ()

    const gchar *       gtk_about_dialog_get_logo_icon_name (GtkAboutDialog *about);

Returns the icon name displayed as logo in the about dialog.

`about` : | a GtkAboutDialog
Returns : | the icon name displayed as logo. The string is owned by the dialog. If you want to keep a reference to it, you have to call `g_strdup()` on it.

Since 2.6

### gtk_about_dialog_set_logo_icon_name ()

    void                gtk_about_dialog_set_logo_icon_name (GtkAboutDialog *about,
                                                             const gchar *icon_name);

Sets the pixbuf to be displayed as logo in the about dialog. If it is `NULL`, the default window icon set with `gtk_window_set_default_icon()` will be used.

`about` : | a GtkAboutDialog
`icon_name` : | an icon name, or `NULL`

Since 2.6

### GtkAboutDialogActivateLinkFunc ()

    void                (*GtkAboutDialogActivateLinkFunc)   (GtkAboutDialog *about,
                                                             const gchar *link_,
                                                             gpointer data);

The type of a function which is called when a URL or email link is activated.

`about` : | the GtkAboutDialog in which the link was activated
`link_` : | the URL or email address to which the activated link points
`data` : | user data that was passed when the function was registered with `gtk_about_dialog_set_email_hook()` or `gtk_about_dialog_set_url_hook()`

### gtk_about_dialog_set_email_hook ()

    GtkAboutDialogActivateLinkFunc  gtk_about_dialog_set_email_hook
                                                            (GtkAboutDialogActivateLinkFunc func,
                                                             gpointer data,
                                                             GDestroyNotify destroy);

Installs a global function to be called whenever the user activates an email link in an about dialog.

`func` : | a function to call when an email link is activated.
`data` : | data to pass to `func`
`destroy` : | GDestroyNotify for `data`
Returns : | the previous email hook.

Since 2.6

### gtk_about_dialog_set_url_hook ()

    GtkAboutDialogActivateLinkFunc  gtk_about_dialog_set_url_hook
                                                            (GtkAboutDialogActivateLinkFunc func,
                                                             gpointer data,
                                                             GDestroyNotify destroy);

Installs a global function to be called whenever the user activates a URL link in an about dialog.

`func` : | a function to call when a URL link is activated.
`data` : | data to pass to `func`
`destroy` : | GDestroyNotify for `data`
Returns : | the previous URL hook.

Since 2.6

### gtk_show_about_dialog ()

    void                gtk_show_about_dialog               (GtkWindow *parent,
                                                             const gchar *first_property_name,
                                                             ...);

This is a convenience function for showing an application's about box. The constructed dialog is associated with the parent window and reused for future invocations of this function.

`parent` : | transient parent, or `NULL` for none
`first_property_name` : | the name of the first property
`...` : | value of first property, followed by more properties, `NULL`-terminated

Since 2.6

## Property Details

### The `"artists"` property

      "artists"                  GStrv*                : Read / Write

The people who contributed artwork to the program, as a `NULL`-terminated array of strings. Each string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details.

Since 2.6

### The `"authors"` property

      "authors"                  GStrv*                : Read / Write

The authors of the program, as a `NULL`-terminated array of strings. Each string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details.

Since 2.6

### The `"comments"` property

      "comments"                 gchar*                : Read / Write

Comments about the program. This string is displayed in a label in the main dialog, thus it should be a short explanation of the main purpose of the program, not a detailed list of features.

Default value: NULL

Since 2.6

### The `"copyright"` property

      "copyright"                gchar*                : Read / Write

Copyright information for the program.

Default value: NULL

Since 2.6

### The `"documenters"` property

      "documenters"              GStrv*                : Read / Write

The people documenting the program, as a `NULL`-terminated array of strings. Each string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details.

Since 2.6

### The `"license"` property

      "license"                  gchar*                : Read / Write

The license of the program. This string is displayed in a text view in a secondary dialog, therefore it is fine to use a long multi-paragraph text. Note that the text is only wrapped in the text view if the "wrap-license" property is set to `TRUE`; otherwise the text itself must contain the intended linebreaks.

Default value: NULL

Since 2.6

### The `"logo"` property

      "logo"                     GdkPixbuf*            : Read / Write

A logo for the about box. If this is not set, it defaults to `gtk_window_get_default_icon_list()`.

Since 2.6

### The `"logo-icon-name"` property

      "logo-icon-name"           gchar*                : Read / Write

A named icon to use as the logo for the about box. This property overrides the logo property.

Default value: NULL

Since 2.6

### The `"program-name"` property

      "program-name"             gchar*                : Read / Write

The name of the program. If this is not set, it defaults to `g_get_application_name()`.

Default value: NULL

Since 2.12

### The `"translator-credits"` property

      "translator-credits"       gchar*                : Read / Write

Credits to the translators. This string should be marked as translatable. The string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details.

Default value: NULL

Since 2.6

### The `"version"` property

      "version"                  gchar*                : Read / Write

The version of the program.

Default value: NULL

Since 2.6

### The `"website"` property

      "website"                  gchar*                : Read / Write

The URL for the link to the website of the program. This should be a string starting with "http://.

Default value: NULL

Since 2.6

### The `"website-label"` property

      "website-label"            gchar*                : Read / Write

The label for the link to the website of the program. If this is not set, it defaults to the URL specified in the website property.

Default value: NULL

Since 2.6

### The `"wrap-license"` property

      "wrap-license"             gboolean              : Read / Write

Whether to wrap the text in the license dialog.

Default value: FALSE

Since 2.8

## See Also

GTK_STOCK_ABOUT