+ 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
+ *
+ * Deprecated: 3.4. Generally, the behavior for touchscreen input should be
+ * performed dynamically based on gdk_event_get_source_device().
+ */
+ 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 | G_PARAM_DEPRECATED),
+ 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
+ *
+ * Deprecated: 3.8: Will always return an empty hash table.
+ */
+ 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 "file", "cups", "lpr" or "papi".
+ *
+ * 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 (input method) module should be used by default. This is the
+ * input method that will be used if the user has not explicitly chosen
+ * another input method from the IM context menu.
+ * This also can be a colon-separated list of input methods, which GTK+
+ * will try in turn until it finds one available on the system.
+ *
+ * See #GtkIMContext and see the #GtkSettings:gtk-show-input-method-menu property.
+ */
+ 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_uint ("gtk-fontconfig-timestamp",
+ P_("Fontconfig configuration timestamp"),
+ P_("Timestamp of current fontconfig configuration"),
+ 0, G_MAXUINT, 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);
+
+ /**
+ * GtkSettings:gtk-toolbar-style:
+ *
+ * The size of icons in default toolbars.
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_enum ("gtk-toolbar-style",
+ P_("Toolbar style"),
+ P_("Whether default toolbars have text only, text and icons, icons only, etc."),
+ GTK_TYPE_TOOLBAR_STYLE,
+ GTK_TOOLBAR_BOTH,
+ GTK_PARAM_READWRITE),
+ gtk_rc_property_parse_enum);
+ g_assert (result == PROP_TOOLBAR_STYLE);
+
+ /**
+ * GtkSettings:gtk-toolbar-icon-size:
+ *
+ * The size of icons in default toolbars.
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_enum ("gtk-toolbar-icon-size",
+ P_("Toolbar Icon Size"),
+ P_("The size of icons in default toolbars."),
+ GTK_TYPE_ICON_SIZE,
+ GTK_ICON_SIZE_LARGE_TOOLBAR,
+ GTK_PARAM_READWRITE),
+ gtk_rc_property_parse_enum);
+ g_assert (result == PROP_TOOLBAR_ICON_SIZE);
+
+ /**
+ * GtkSettings:gtk-auto-mnemonics:
+ *
+ * Whether mnemonics should be automatically shown and hidden when the user
+ * presses the mnemonic activator.
+ *
+ * Since: 2.20
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-auto-mnemonics",
+ P_("Auto Mnemonics"),
+ P_("Whether mnemonics should be automatically shown and hidden when the user presses the mnemonic activator."),
+ FALSE,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_AUTO_MNEMONICS);
+
+ /**
+ * GtkSettings:gtk-primary-button-warps-slider:
+ *
+ * Whether a click in a #GtkRange trough should scroll to the click position or
+ * scroll by a single page in the respective direction.
+ *
+ * Since: 3.6
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-primary-button-warps-slider",
+ P_("Primary button warps slider"),
+ P_("Whether a primary click on the trough should warp the slider into position"),
+ TRUE,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_PRIMARY_BUTTON_WARPS_SLIDER);
+
+ /**
+ * GtkSettings:gtk-visible-focus:
+ *
+ * Whether 'focus rectangles' should be always visible, never visible,
+ * or hidden until the user starts to use the keyboard.
+ *
+ * Since: 3.2
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_enum ("gtk-visible-focus",
+ P_("Visible Focus"),
+ P_("Whether 'focus rectangles' should be hidden until the user starts to use the keyboard."),
+ GTK_TYPE_POLICY_TYPE,
+ GTK_POLICY_ALWAYS,
+ GTK_PARAM_READWRITE),
+ gtk_rc_property_parse_enum);
+ g_assert (result == PROP_VISIBLE_FOCUS);
+
+ /**
+ * GtkSettings:gtk-application-prefer-dark-theme:
+ *
+ * Whether the application prefers to use a dark theme. If a GTK+ theme
+ * includes a dark variant, it will be used instead of the configured
+ * theme.
+ *
+ * Some applications benefit from minimizing the amount of light pollution that
+ * interferes with the content. Good candidates for dark themes are photo and
+ * video editors that make the actual content get all the attention and minimize
+ * the distraction of the chrome.
+ *
+ * Dark themes should not be used for documents, where large spaces are white/light
+ * and the dark chrome creates too much contrast (web browser, text editor...).
+ *
+ * Since: 3.0
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-application-prefer-dark-theme",
+ P_("Application prefers a dark theme"),
+ P_("Whether the application prefers to have a dark theme."),
+ FALSE,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_APPLICATION_PREFER_DARK_THEME);
+
+ /**
+ * GtkSettings::gtk-button-images:
+ *
+ * Whether images should be shown on buttons
+ *
+ * Since: 2.4
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-button-images",
+ P_("Show button images"),
+ P_("Whether images should be shown on buttons"),
+ TRUE,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_BUTTON_IMAGES);
+
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-entry-select-on-focus",
+ P_("Select on focus"),
+ P_("Whether to select the contents of an entry when it is focused"),
+ TRUE,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_ENTRY_SELECT_ON_FOCUS);
+
+ /**
+ * GtkSettings:gtk-entry-password-hint-timeout:
+ *
+ * How long to show the last input character in hidden
+ * entries. This value is in milliseconds. 0 disables showing the
+ * last char. 600 is a good value for enabling it.
+ *
+ * Since: 2.10
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_uint ("gtk-entry-password-hint-timeout",
+ P_("Password Hint Timeout"),
+ P_("How long to show the last input character in hidden entries"),
+ 0, G_MAXUINT,
+ 0,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_ENTRY_PASSWORD_HINT_TIMEOUT);
+
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-menu-images",
+ P_("Show menu images"),
+ P_("Whether images should be shown in menus"),
+ TRUE,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_MENU_IMAGES);
+
+ result = settings_install_property_parser (class,
+ g_param_spec_int ("gtk-menu-bar-popup-delay",
+ P_("Delay before drop down menus appear"),
+ P_("Delay before the submenus of a menu bar appear"),
+ 0, G_MAXINT,
+ 0,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_MENU_BAR_POPUP_DELAY);
+
+ /**
+ * GtkSettings:gtk-scrolled-window-placement:
+ *
+ * Where the contents of scrolled windows are located with respect to the
+ * scrollbars, if not overridden by the scrolled window's own placement.
+ *
+ * Since: 2.10
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_enum ("gtk-scrolled-window-placement",
+ P_("Scrolled Window Placement"),
+ P_("Where the contents of scrolled windows are located with respect to the scrollbars, if not overridden by the scrolled window's own placement."),
+ GTK_TYPE_CORNER_TYPE,
+ GTK_CORNER_TOP_LEFT,
+ GTK_PARAM_READWRITE),
+ gtk_rc_property_parse_enum);
+ g_assert (result == PROP_SCROLLED_WINDOW_PLACEMENT);
+
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-can-change-accels",
+ P_("Can change accelerators"),
+ P_("Whether menu accelerators can be changed by pressing a key over the menu item"),
+ FALSE,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_CAN_CHANGE_ACCELS);
+
+ result = settings_install_property_parser (class,
+ g_param_spec_int ("gtk-menu-popup-delay",
+ P_("Delay before submenus appear"),
+ P_("Minimum time the pointer must stay over a menu item before the submenu appear"),
+ 0, G_MAXINT,
+ 225,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_MENU_POPUP_DELAY);
+
+ result = settings_install_property_parser (class,
+ g_param_spec_int ("gtk-menu-popdown-delay",
+ P_("Delay before hiding a submenu"),
+ P_("The time before hiding a submenu when the pointer is moving towards the submenu"),
+ 0, G_MAXINT,
+ 1000,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_MENU_POPDOWN_DELAY);
+
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-label-select-on-focus",
+ P_("Select on focus"),
+ P_("Whether to select the contents of a selectable label when it is focused"),
+ TRUE,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_LABEL_SELECT_ON_FOCUS);
+
+ result = settings_install_property_parser (class,
+ g_param_spec_string ("gtk-color-palette",
+ P_("Custom palette"),
+ P_("Palette to use in the color selector"),
+ default_color_palette,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_COLOR_PALETTE);
+
+ result = settings_install_property_parser (class,
+ g_param_spec_enum ("gtk-im-preedit-style",
+ P_("IM Preedit style"),
+ P_("How to draw the input method preedit string"),
+ GTK_TYPE_IM_PREEDIT_STYLE,
+ GTK_IM_PREEDIT_CALLBACK,
+ GTK_PARAM_READWRITE),
+ gtk_rc_property_parse_enum);
+ g_assert (result == PROP_IM_PREEDIT_STYLE);
+
+ result = settings_install_property_parser (class,
+ g_param_spec_enum ("gtk-im-status-style",
+ P_("IM Status style"),
+ P_("How to draw the input method statusbar"),
+ GTK_TYPE_IM_STATUS_STYLE,
+ GTK_IM_STATUS_CALLBACK,
+ GTK_PARAM_READWRITE),
+ gtk_rc_property_parse_enum);
+ g_assert (result == PROP_IM_STATUS_STYLE);
+
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-shell-shows-app-menu",
+ P_("Desktop shell shows app menu"),
+ P_("Set to TRUE if the desktop environment "
+ "is displaying the app menu, FALSE if "
+ "the app should display it itself."),
+ FALSE, GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_SHELL_SHOWS_APP_MENU);
+
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-shell-shows-menubar",
+ P_("Desktop shell shows the menubar"),
+ P_("Set to TRUE if the desktop environment "
+ "is displaying the menubar, FALSE if "
+ "the app should display it itself."),
+ FALSE, GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_SHELL_SHOWS_MENUBAR);
+
+ /**
+ * GtkSettings:gtk-enable-primary-paste:
+ *
+ * Whether a middle click on a mouse should paste the
+ * 'PRIMARY' clipboard content at the cursor location.
+ *
+ * Since: 3.4
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-enable-primary-paste",
+ P_("Enable primary paste"),
+ P_("Whether a middle click on a mouse should paste the 'PRIMARY' clipboard content at the cursor location."),
+ TRUE,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_ENABLE_PRIMARY_PASTE);
+
+ /**
+ * GtkSettings:gtk-recent-files-enabled:
+ *
+ * Whether GTK+ should keep track of items inside the recently used
+ * resources list. If set to %FALSE, the list will always be empty.
+ *
+ * Since: 3.8
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-recent-files-enabled",
+ P_("Recent Files Enabled"),
+ P_("Whether GTK+ remembers recent files"),