Class: Gtk::AboutDialog
- Defined in:
- (unknown)
Overview
The GtkAboutDialog offers a simple way to display information about
a program.
The shown information includes the programs' 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 dialogs often contain links and email addresses. GtkAboutDialog
displays these as clickable links. By default, it calls [methodGtk.FileLauncher.launch]
when a user clicks one. The behaviour can be overridden with the
[signalGtk.AboutDialog::activate-link] signal.
To specify a person with an email address, use a string like
Edgar Allan Poe <edgar<b>poe</b>.com>. To specify a website with a title,
use a string like GTK team https://www.gtk.org.
To make constructing a GtkAboutDialog as convenient as possible, you can
use the function [funcGtk.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:
GFile *logo_file = g_file_new_for_path ("./logo.png");
GdkTexture *example_logo = gdk_texture_new_from_file (logo_file, NULL);
g_object_unref (logo_file);
gtk_show_about_dialog (NULL,
"program-name", "ExampleCode",
"logo", example_logo,
"title", _("About ExampleCode"),
NULL);
CSS nodes
GtkAboutDialog has a single CSS node with the name window and style
class .aboutdialog.
Instance Method Summary collapse
-
#add_credit_section(section_name, people) ⇒ nil
Creates a new section in the "Credits" page.
-
#artists ⇒ Gtk::
The people who contributed artwork to the program, as a
NULL-terminated array of strings. -
#artists=(artists) ⇒ Gtk::
The people who contributed artwork to the program, as a
NULL-terminated array of strings. -
#authors ⇒ Gtk::
The authors of the program, as a
NULL-terminated array of strings. -
#authors=(authors) ⇒ Gtk::
The authors of the program, as a
NULL-terminated array of strings. -
#comments ⇒ String
Comments about the program.
-
#comments=(comments) ⇒ String
Comments about the program.
-
#copyright ⇒ String
Copyright information for the program.
-
#copyright=(copyright) ⇒ String
Copyright information for the program.
-
#documenters ⇒ Gtk::
The people documenting the program, as a
NULL-terminated array of strings. -
#documenters=(documenters) ⇒ Gtk::
The people documenting the program, as a
NULL-terminated array of strings. -
#initialize ⇒ Gtk::Widget
constructor
Creates a new
GtkAboutDialog. -
#license ⇒ String
The license of the program, as free-form text.
-
#license=(license) ⇒ String
The license of the program, as free-form text.
-
#license_type ⇒ Gtk::License
The license of the program.
-
#license_type=(license_type) ⇒ Gtk::License
The license of the program.
-
#logo ⇒ Gdk::Paintable
A logo for the about box.
-
#logo=(logo) ⇒ Gdk::Paintable
A logo for the about box.
-
#logo_icon_name ⇒ String
A named icon to use as the logo for the about box.
-
#logo_icon_name=(logo_icon_name) ⇒ String
A named icon to use as the logo for the about box.
-
#program_name ⇒ String
The name of the program.
-
#program_name=(program_name) ⇒ String
The name of the program.
-
#system_information ⇒ String
Information about the system on which the program is running.
-
#system_information=(system_information) ⇒ String
Information about the system on which the program is running.
-
#translator_credits ⇒ String
Credits to the translators.
-
#translator_credits=(translator_credits) ⇒ String
Credits to the translators.
-
#version ⇒ String
The version of the program.
-
#version=(version) ⇒ String
The version of the program.
-
#website ⇒ String
The URL for the link to the website of the program.
-
#website=(website) ⇒ String
The URL for the link to the website of the program.
-
#website_label ⇒ String
The label for the link to the website of the program.
-
#website_label=(website_label) ⇒ String
The label for the link to the website of the program.
-
#wrap_license ⇒ Boolean
Returns whether the license text in the about dialog is automatically wrapped.
-
#wrap_license=(wrap_license) ⇒ Boolean
Whether to wrap the text in the license dialog.
-
#wrap_license? ⇒ Boolean
Whether to wrap the text in the license dialog.
Methods inherited from Window
#application, #application=, auto_startup_notification=, #child, #child=, #close, #decorated, #decorated=, #decorated?, #default_height, #default_height=, default_icon_name, default_icon_name=, #default_widget, #default_widget=, #default_width, #default_width=, #deletable, #deletable=, #deletable?, #destroy, #destroy_with_parent, #destroy_with_parent=, #destroy_with_parent?, #display, #display=, #focus, #focus=, #focus_visible, #focus_visible=, #focus_visible?, #focus_widget, #focus_widget=, #fullscreen, #fullscreen_on_monitor, #fullscreened=, #fullscreened?, #get_default_size, #group, #handle_menubar_accel, #handle_menubar_accel=, #handle_menubar_accel?, #has_group, #hide_on_close, #hide_on_close=, #hide_on_close?, #icon_name, #icon_name=, interactive_debugging=, #is_active, #is_active=, #is_active?, #is_fullscreen, #is_maximized, #is_suspended, list_toplevels, #maximize, #maximized=, #maximized?, #minimize, #mnemonics_visible, #mnemonics_visible=, #mnemonics_visible?, #modal, #modal=, #modal?, #present, #present_with_time, #resizable, #resizable=, #resizable?, #set_default_size, #startup_id=, #suspended=, #suspended?, #title, #title=, #titlebar, #titlebar=, toplevels, #transient_for, #transient_for=, #unfullscreen, #unmaximize, #unminimize
Methods inherited from Widget
#accessible_role, #accessible_role=, #action_set_enabled, #activate, #activate_action, #activate_action_variant, #activate_default, #activate_signal, #activate_signal=, #activate_signal_from_name=, #add_binding, #add_binding_action, #add_binding_signal, #add_controller, #add_css_class, #add_mnemonic_label, #add_shortcut, #add_tick_callback, #allocate, #allocated_baseline, #allocated_height, #allocated_width, #baseline, #bind_template_callback_full, #bind_template_child_full, #can_focus, #can_focus=, #can_focus?, #can_target, #can_target=, #can_target?, #child_focus, #child_visible, #child_visible=, #clipboard, #compute_bounds, #compute_expand, #compute_point, #compute_transform, #contains, #create_pango_context, #create_pango_layout, #css_classes, #css_classes=, #css_name, #css_name=, #cursor, #cursor=, #cursor_from_name=, default_direction, default_direction=, #direction, #direction=, #display, #dispose_template, #drag_check_threshold, #error_bell, #first_child, #focus_child, #focus_child=, #focus_on_click, #focus_on_click=, #focus_on_click?, #focusable, #focusable=, #focusable?, #font_map, #font_map=, #font_options, #font_options=, #frame_clock, #get_allocation, #get_ancestor, #get_color, #get_preferred_size, #get_size, #get_size_request, #get_template_child, #grab_focus, #halign, #halign=, #has_css_class, #has_default, #has_default=, #has_default?, #has_focus, #has_focus=, #has_focus?, #has_tooltip, #has_tooltip=, #has_tooltip?, #has_visible_focus, #height, #height_request, #height_request=, #hexpand, #hexpand=, #hexpand?, #hexpand_set, #hexpand_set=, #hexpand_set?, #hide, #in_destruction, #init_template, #insert_action_group, #insert_after, #insert_before, #install_action, #install_property_action, #is_ancestor, #is_drawable, #is_focus, #is_sensitive, #is_visible, #keynav_failed, #last_child, #layout_manager, #layout_manager=, #layout_manager_type, #layout_manager_type=, #list_mnemonic_labels, #map, #mapped, #margin_bottom, #margin_bottom=, #margin_end, #margin_end=, #margin_start, #margin_start=, #margin_top, #margin_top=, #measure, #mnemonic_activate, #name, #name=, #native, #next_sibling, #observe_children, #observe_controllers, #opacity, #opacity=, #overflow, #overflow=, #pango_context, #parent, #parent=, #pick, #prev_sibling, #primary_clipboard, #query_action, #queue_allocate, #queue_draw, #queue_resize, #realize, #realized, #receives_default, #receives_default=, #receives_default?, #remove_controller, #remove_css_class, #remove_mnemonic_label, #remove_tick_callback, #request_mode, #root, #root=, #scale_factor, #scale_factor=, #sensitive, #sensitive=, #sensitive?, #set_size_request, #set_state_flags, #settings, #should_layout, #show, #size_allocate, #snapshot_child, #state_flags, #style_context, #template=, #template_from_resource=, #template_scope=, #tooltip_markup, #tooltip_markup=, #tooltip_text, #tooltip_text=, #translate_coordinates, #trigger_tooltip_query, #unmap, #unparent, #unrealize, #unset_state_flags, #valign, #valign=, #vexpand, #vexpand=, #vexpand?, #vexpand_set, #vexpand_set=, #vexpand_set?, #visible, #visible=, #visible?, #width, #width_request, #width_request=
Constructor Details
#initialize ⇒ Gtk::Widget
Creates a new GtkAboutDialog.
Instance Method Details
#add_credit_section(section_name, people) ⇒ nil
Creates a new section in the "Credits" page.
#artists ⇒ Gtk::
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.
#artists=(artists) ⇒ Gtk::
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.
#authors ⇒ Gtk::
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.
#authors=(authors) ⇒ Gtk::
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.
#comments ⇒ String
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.
#comments=(comments) ⇒ String
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.
#copyright ⇒ String
Copyright information for the program.
#copyright=(copyright) ⇒ String
Copyright information for the program.
#documenters ⇒ Gtk::
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.
#documenters=(documenters) ⇒ Gtk::
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.
#license ⇒ String
The license of the program, as free-form text.
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.
When setting this property to a non-NULL value, the
[propertyGtk.AboutDialog:license-type] property is set to
GTK_LICENSE_CUSTOM as a side effect.
The text may contain links in this format <http://www.some.place/>
and email references in the form <mail-to<b>some</b>.body>, and these will
be converted into clickable links.
#license=(license) ⇒ String
The license of the program, as free-form text.
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.
When setting this property to a non-NULL value, the
[propertyGtk.AboutDialog:license-type] property is set to
GTK_LICENSE_CUSTOM as a side effect.
The text may contain links in this format <http://www.some.place/>
and email references in the form <mail-to<b>some</b>.body>, and these will
be converted into clickable links.
#license_type ⇒ Gtk::License
The license of the program.
The GtkAboutDialog will automatically fill out a standard disclaimer
and link the user to the appropriate online resource for the license
text.
If GTK_LICENSE_UNKNOWN is used, the link used will be the same
specified in the [propertyGtk.AboutDialog:website] property.
If GTK_LICENSE_CUSTOM is used, the current contents of the
[propertyGtk.AboutDialog:license] property are used.
For any other [enumGtk.License] value, the contents of the [propertyGtk.AboutDialog:license] property are also set by this property as a side effect.
#license_type=(license_type) ⇒ Gtk::License
The license of the program.
The GtkAboutDialog will automatically fill out a standard disclaimer
and link the user to the appropriate online resource for the license
text.
If GTK_LICENSE_UNKNOWN is used, the link used will be the same
specified in the [propertyGtk.AboutDialog:website] property.
If GTK_LICENSE_CUSTOM is used, the current contents of the
[propertyGtk.AboutDialog:license] property are used.
For any other [enumGtk.License] value, the contents of the [propertyGtk.AboutDialog:license] property are also set by this property as a side effect.
#logo ⇒ Gdk::Paintable
A logo for the about box.
If it is NULL, the default window icon set with
[funcGtk.Window.set_default_icon_name] will be used.
#logo=(logo) ⇒ Gdk::Paintable
A logo for the about box.
If it is NULL, the default window icon set with
[funcGtk.Window.set_default_icon_name] will be used.
#logo_icon_name ⇒ String
A named icon to use as the logo for the about box.
This property overrides the [propertyGtk.AboutDialog:logo] property.
#logo_icon_name=(logo_icon_name) ⇒ String
A named icon to use as the logo for the about box.
This property overrides the [propertyGtk.AboutDialog:logo] property.
#program_name ⇒ String
The name of the program.
If this is not set, it defaults to the value returned by
g_get_application_name().
#program_name=(program_name) ⇒ String
The name of the program.
If this is not set, it defaults to the value returned by
g_get_application_name().
#system_information ⇒ String
Information about the system on which the program is running.
This information is displayed in a separate page, therefore it is fine to use a long multi-paragraph text. Note that the text should contain the intended linebreaks.
The text may contain links in this format <http://www.some.place/>
and email references in the form <mail-to<b>some</b>.body>, and these will
be converted into clickable links.
#system_information=(system_information) ⇒ String
Information about the system on which the program is running.
This information is displayed in a separate page, therefore it is fine to use a long multi-paragraph text. Note that the text should contain the intended linebreaks.
The text may contain links in this format <http://www.some.place/>
and email references in the form <mail-to<b>some</b>.body>, and these will
be converted into clickable links.
#translator_credits ⇒ String
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.
#translator_credits=(translator_credits) ⇒ String
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.
#version ⇒ String
The version of the program.
#version=(version) ⇒ String
The version of the program.
#website ⇒ String
The URL for the link to the website of the program.
This should be a string starting with http:// or https://.
#website=(website) ⇒ String
The URL for the link to the website of the program.
This should be a string starting with http:// or https://.
#website_label ⇒ String
The label for the link to the website of the program.
#website_label=(website_label) ⇒ String
The label for the link to the website of the program.
#wrap_license ⇒ Boolean
Returns whether the license text in the about dialog is automatically wrapped.
#wrap_license=(wrap_license) ⇒ Boolean
Whether to wrap the text in the license dialog.
#wrap_license? ⇒ Boolean
Whether to wrap the text in the license dialog.