+
+ /**
+ * GtkSettings:gtk-alternative-sort-arrows:
+ *
+ * Controls the direction of the sort indicators in sorted list and tree
+ * views. By default an arrow pointing down means the column is sorted
+ * in ascending order. When set to %TRUE, this order will be inverted.
+ *
+ * Since: 2.12
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-alternative-sort-arrows",
+ P_("Alternative sort indicator direction"),
+ P_("Whether the direction of the sort indicators in list and tree views is inverted compared to the default (where down means ascending)"),
+ FALSE,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_ALTERNATIVE_SORT_ARROWS);
+
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-show-input-method-menu",
+ P_("Show the 'Input Methods' menu"),
+ P_("Whether the context menus of entries and text views should offer to change the input method"),
+ TRUE,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_SHOW_INPUT_METHOD_MENU);
+
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-show-unicode-menu",
+ P_("Show the 'Insert Unicode Control Character' menu"),
+ P_("Whether the context menus of entries and text views should offer to insert control characters"),
+ TRUE,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_SHOW_UNICODE_MENU);
+
+ result = settings_install_property_parser (class,
+ g_param_spec_int ("gtk-timeout-initial",
+ P_("Start timeout"),
+ P_("Starting value for timeouts, when button is pressed"),
+ 0, G_MAXINT, DEFAULT_TIMEOUT_INITIAL,
+ GTK_PARAM_READWRITE),
+ NULL);
+
+ g_assert (result == PROP_TIMEOUT_INITIAL);
+
+ result = settings_install_property_parser (class,
+ g_param_spec_int ("gtk-timeout-repeat",
+ P_("Repeat timeout"),
+ P_("Repeat value for timeouts, when button is pressed"),
+ 0, G_MAXINT, DEFAULT_TIMEOUT_REPEAT,
+ GTK_PARAM_READWRITE),
+ NULL);
+
+ g_assert (result == PROP_TIMEOUT_REPEAT);
+
+ result = settings_install_property_parser (class,
+ g_param_spec_int ("gtk-timeout-expand",
+ P_("Expand timeout"),
+ P_("Expand value for timeouts, when a widget is expanding a new region"),
+ 0, G_MAXINT, DEFAULT_TIMEOUT_EXPAND,
+ GTK_PARAM_READWRITE),
+ NULL);
+
+ g_assert (result == PROP_TIMEOUT_EXPAND);
+
+ /**
+ * GtkSettings:gtk-color-scheme:
+ *
+ * A palette of named colors for use in themes. The format of the string is
+ * <programlisting>
+ * name1: color1
+ * name2: color2
+ * ...
+ * </programlisting>
+ * Color names must be acceptable as identifiers in the
+ * <link linkend="gtk-Resource-Files">gtkrc</link> syntax, and
+ * color specifications must be in the format accepted by
+ * gdk_color_parse().
+ *
+ * Note that due to the way the color tables from different sources are
+ * merged, color specifications will be converted to hexadecimal form
+ * when getting this property.
+ *
+ * Starting with GTK+ 2.12, the entries can alternatively be separated
+ * by ';' instead of newlines:
+ * <programlisting>
+ * name1: color1; name2: color2; ...
+ * </programlisting>
+ *
+ * Since: 2.10
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_string ("gtk-color-scheme",
+ P_("Color scheme"),
+ P_("A palette of named colors for use in themes"),
+ "",
+ GTK_PARAM_READWRITE),
+ NULL);
+
+ g_assert (result == PROP_COLOR_SCHEME);
+
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-enable-animations",
+ P_("Enable Animations"),
+ P_("Whether to enable toolkit-wide animations."),
+ TRUE,
+ GTK_PARAM_READWRITE),
+ NULL);
+
+ g_assert (result == PROP_ENABLE_ANIMATIONS);
+
+ /**
+ * GtkSettings:gtk-touchscreen-mode:
+ *
+ * When %TRUE, there are no motion notify events delivered on this screen,
+ * and widgets can't use the pointer hovering them for any essential
+ * functionality.
+ *
+ * Since: 2.10
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-touchscreen-mode",
+ P_("Enable Touchscreen Mode"),
+ P_("When TRUE, there are no motion notify events delivered on this screen"),
+ FALSE,
+ GTK_PARAM_READWRITE),
+ NULL);
+
+ g_assert (result == PROP_TOUCHSCREEN_MODE);
+
+ /**
+ * GtkSettings:gtk-tooltip-timeout:
+ *
+ * Time, in milliseconds, after which a tooltip could appear if the
+ * cursor is hovering on top of a widget.
+ *
+ * Since: 2.12
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_int ("gtk-tooltip-timeout",
+ P_("Tooltip timeout"),
+ P_("Timeout before tooltip is shown"),
+ 0, G_MAXINT,
+ 500,
+ GTK_PARAM_READWRITE),
+ NULL);
+
+ g_assert (result == PROP_TOOLTIP_TIMEOUT);
+
+ /**
+ * GtkSettings:gtk-tooltip-browse-timeout:
+ *
+ * Controls the time after which tooltips will appear when
+ * browse mode is enabled, in milliseconds.
+ *
+ * Browse mode is enabled when the mouse pointer moves off an object
+ * where a tooltip was currently being displayed. If the mouse pointer
+ * hits another object before the browse mode timeout expires (see
+ * #GtkSettings:gtk-tooltip-browse-mode-timeout), it will take the
+ * amount of milliseconds specified by this setting to popup the tooltip
+ * for the new object.
+ *
+ * Since: 2.12
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_int ("gtk-tooltip-browse-timeout",
+ P_("Tooltip browse timeout"),
+ P_("Timeout before tooltip is shown when browse mode is enabled"),
+ 0, G_MAXINT,
+ 60,
+ GTK_PARAM_READWRITE),
+ NULL);
+
+ g_assert (result == PROP_TOOLTIP_BROWSE_TIMEOUT);
+
+ /**
+ * GtkSettings:gtk-tooltip-browse-mode-timeout:
+ *
+ * Amount of time, in milliseconds, after which the browse mode
+ * will be disabled.
+ *
+ * See #GtkSettings:gtk-tooltip-browse-timeout for more information
+ * about browse mode.
+ *
+ * Since: 2.12
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_int ("gtk-tooltip-browse-mode-timeout",
+ P_("Tooltip browse mode timeout"),
+ P_("Timeout after which browse mode is disabled"),
+ 0, G_MAXINT,
+ 500,
+ GTK_PARAM_READWRITE),
+ NULL);
+
+ g_assert (result == PROP_TOOLTIP_BROWSE_MODE_TIMEOUT);
+
+ /**
+ * GtkSettings:gtk-keynav-cursor-only:
+ *
+ * When %TRUE, keyboard navigation should be able to reach all widgets
+ * by using the cursor keys only. Tab, Shift etc. keys can't be expected
+ * to be present on the used input device.
+ *
+ * Since: 2.12
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-keynav-cursor-only",
+ P_("Keynav Cursor Only"),
+ P_("When TRUE, there are only cursor keys available to navigate widgets"),
+ FALSE,
+ GTK_PARAM_READWRITE),
+ NULL);
+
+ g_assert (result == PROP_KEYNAV_CURSOR_ONLY);
+
+ /**
+ * GtkSettings:gtk-keynav-wrap-around:
+ *
+ * When %TRUE, some widgets will wrap around when doing keyboard
+ * navigation, such as menus, menubars and notebooks.
+ *
+ * Since: 2.12
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-keynav-wrap-around",
+ P_("Keynav Wrap Around"),
+ P_("Whether to wrap around when keyboard-navigating widgets"),
+ TRUE,
+ GTK_PARAM_READWRITE),
+ NULL);
+
+ g_assert (result == PROP_KEYNAV_WRAP_AROUND);
+
+ /**
+ * GtkSettings:gtk-error-bell:
+ *
+ * When %TRUE, keyboard navigation and other input-related errors
+ * will cause a beep. Since the error bell is implemented using
+ * gdk_window_beep(), the windowing system may offer ways to
+ * configure the error bell in many ways, such as flashing the
+ * window or similar visual effects.
+ *
+ * Since: 2.12
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-error-bell",
+ P_("Error Bell"),
+ P_("When TRUE, keyboard navigation and other errors will cause a beep"),
+ TRUE,
+ GTK_PARAM_READWRITE),
+ NULL);
+
+ g_assert (result == PROP_ERROR_BELL);
+
+ /**
+ * GtkSettings:color-hash:
+ *
+ * Holds a hash table representation of the #GtkSettings:gtk-color-scheme
+ * setting, mapping color names to #GdkColor<!-- -->s.
+ *
+ * Since: 2.10
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_boxed ("color-hash",
+ P_("Color Hash"),
+ P_("A hash table representation of the color scheme."),
+ G_TYPE_HASH_TABLE,
+ GTK_PARAM_READABLE),
+ NULL);
+ g_assert (result == PROP_COLOR_HASH);
+
+ result = settings_install_property_parser (class,
+ g_param_spec_string ("gtk-file-chooser-backend",
+ P_("Default file chooser backend"),
+ P_("Name of the GtkFileChooser backend to use by default"),
+ NULL,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_FILE_CHOOSER_BACKEND);
+
+ /**
+ * GtkSettings:gtk-print-backends:
+ *
+ * A comma-separated list of print backends to use in the print
+ * dialog. Available print backends depend on the GTK+ installation,
+ * and may include "pdf", "cups" or "lpr".
+ *
+ * Since: 2.10
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_string ("gtk-print-backends",
+ P_("Default print backend"),
+ P_("List of the GtkPrintBackend backends to use by default"),
+ GTK_PRINT_BACKENDS,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_PRINT_BACKENDS);
+
+ /**
+ * GtkSettings:gtk-print-preview-command:
+ *
+ * A command to run for displaying the print preview. The command
+ * should contain a %f placeholder, which will get replaced by
+ * the path to the pdf file. The command may also contain a %s
+ * placeholder, which will get replaced by the path to a file
+ * containing the print settings in the format produced by
+ * gtk_print_settings_to_file().
+ *
+ * The preview application is responsible for removing the pdf file
+ * and the print settings file when it is done.
+ *
+ * Since: 2.10
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_string ("gtk-print-preview-command",
+ P_("Default command to run when displaying a print preview"),
+ P_("Command to run when displaying a print preview"),
+ GTK_PRINT_PREVIEW_COMMAND,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_PRINT_PREVIEW_COMMAND);
+
+ /**
+ * GtkSettings:gtk-enable-mnemonics:
+ *
+ * Whether labels and menu items should have visible mnemonics which
+ * can be activated.
+ *
+ * Since: 2.12
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-enable-mnemonics",
+ P_("Enable Mnemonics"),
+ P_("Whether labels should have mnemonics"),
+ TRUE,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_ENABLE_MNEMONICS);
+
+ /**
+ * GtkSettings:gtk-enable-accels:
+ *
+ * Whether menu items should have visible accelerators which can be
+ * activated.
+ *
+ * Since: 2.12
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-enable-accels",
+ P_("Enable Accelerators"),
+ P_("Whether menu items should have accelerators"),
+ TRUE,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_ENABLE_ACCELS);
+
+ /**
+ * GtkSettings:gtk-recent-files-limit:
+ *
+ * The number of recently used files that should be displayed by default by
+ * #GtkRecentChooser implementations and by the #GtkFileChooser. A value of
+ * -1 means every recently used file stored.
+ *
+ * Since: 2.12
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_int ("gtk-recent-files-limit",
+ P_("Recent Files Limit"),
+ P_("Number of recently used files"),
+ -1, G_MAXINT,
+ 50,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_RECENT_FILES_LIMIT);
+
+ /**
+ * GtkSettings:gtk-im-module:
+ *
+ * Which IM module should be used by default.
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_string ("gtk-im-module",
+ P_("Default IM module"),
+ P_("Which IM module should be used by default"),
+ NULL,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_IM_MODULE);
+
+ /**
+ * GtkSettings:gtk-recent-files-max-age:
+ *
+ * The maximum age, in days, of the items inside the recently used
+ * resources list. Items older than this setting will be excised
+ * from the list. If set to 0, the list will always be empty; if
+ * set to -1, no item will be removed.
+ *
+ * Since: 2.14
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_int ("gtk-recent-files-max-age",
+ P_("Recent Files Max Age"),
+ P_("Maximum age of recently used files, in days"),
+ -1, G_MAXINT,
+ 30,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_RECENT_FILES_MAX_AGE);
+
+ result = settings_install_property_parser (class,
+ g_param_spec_int ("gtk-fontconfig-timestamp",
+ P_("Fontconfig configuration timestamp"),
+ P_("Timestamp of current fontconfig configuration"),
+ G_MININT, G_MAXINT, 0,
+ GTK_PARAM_READWRITE),
+ NULL);
+
+ g_assert (result == PROP_FONTCONFIG_TIMESTAMP);
+
+ /**
+ * GtkSettings:gtk-sound-theme-name:
+ *
+ * The XDG sound theme to use for event sounds.
+ *
+ * See the <ulink url="http://www.freedesktop.org/wiki/Specifications/sound-theme-spec">Sound Theme spec</ulink>
+ * for more information on event sounds and sound themes.
+ *
+ * GTK+ itself does not support event sounds, you have to use a loadable
+ * module like the one that comes with libcanberra.
+ *
+ * Since: 2.14
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_string ("gtk-sound-theme-name",
+ P_("Sound Theme Name"),
+ P_("XDG sound theme name"),
+ "freedesktop",
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_SOUND_THEME_NAME);
+
+ /**
+ * GtkSettings:gtk-enable-input-feedback-sounds:
+ *
+ * Whether to play event sounds as feedback to user input.
+ *
+ * See the <ulink url="http://www.freedesktop.org/wiki/Specifications/sound-theme-spec">Sound Theme spec</ulink>
+ * for more information on event sounds and sound themes.
+ *
+ * GTK+ itself does not support event sounds, you have to use a loadable
+ * module like the one that comes with libcanberra.
+ *
+ * Since: 2.14
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-enable-input-feedback-sounds",
+ /* Translators: this means sounds that are played as feedback to user input */
+ P_("Audible Input Feedback"),
+ P_("Whether to play event sounds as feedback to user input"),
+ TRUE,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_ENABLE_INPUT_FEEDBACK_SOUNDS);
+
+ /**
+ * GtkSettings:gtk-enable-event-sounds:
+ *
+ * Whether to play any event sounds at all.
+ *
+ * See the <ulink url="http://www.freedesktop.org/wiki/Specifications/sound-theme-spec">Sound Theme spec</ulink>
+ * for more information on event sounds and sound themes.
+ *
+ * GTK+ itself does not support event sounds, you have to use a loadable
+ * module like the one that comes with libcanberra.
+ *
+ * Since: 2.14
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-enable-event-sounds",
+ P_("Enable Event Sounds"),
+ P_("Whether to play any event sounds at all"),
+ TRUE,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_ENABLE_EVENT_SOUNDS);
+
+ /**
+ * GtkSettings:gtk-enable-tooltips:
+ *
+ * Whether tooltips should be shown on widgets.
+ *
+ * Since: 2.14
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-enable-tooltips",
+ P_("Enable Tooltips"),
+ P_("Whether tooltips should be shown on widgets"),
+ TRUE,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_ENABLE_TOOLTIPS);