Provides a mechanism to share global settings between applications.
GTK relies on the platform-specific API for getting desktop-wide settings.
On Wayland, the settings are obtained via a settings portal that is part of the Linux desktop APIs for application.
On the X window system, this sharing is realized by an
XSettings manager.
On macOS, the settings are obtained from `NSUserDefaults`.
In the absence of these sharing mechanisms, GTK reads default values for settings from `settings.ini` files in `/etc/gtk-4.0`,
`$XDG_CONFIG_DIRS/gtk-4.0` and `$XDG_CONFIG_HOME/gtk-4.0`. These files must be valid key files (see `GKeyFile`), and have a section called
Settings. Themes can also provide default values for settings by installing a `settings.ini` file next to their `gtk.css` file.
Applications can override system-wide settings by setting the property of the `GtkSettings` object with
@set. This should be restricted to special cases though; `GtkSettings`
are not meant as an application configuration facility.
There is one `GtkSettings` instance per display. It can be obtained with [func@Gtk.Settings.get_for_display], but in many cases, it is
more convenient to use [method@Gtk.Widget.get_settings].
- public HashTable<string,Color?> color_hash { owned get; }
- public bool gtk_alternative_button_order { get; set; }
Whether buttons in dialogs should use the alternative button order.
- public bool gtk_alternative_sort_arrows { get; set; }
Controls the direction of the sort indicators in sorted list and tree
views.
- public bool gtk_auto_mnemonics { get; set; }
Whether mnemonics should be automatically shown and hidden when the
user presses the mnemonic activator.
- public bool gtk_button_images { get; set; }
Whether images should be shown on buttons
- public bool gtk_can_change_accels { get; set; }
Whether menu accelerators can be changed by pressing a key over the
menu item.
- public string gtk_color_palette { owned get; set; }
Palette to use in the deprecated color selector.
- public string gtk_color_scheme { owned get; set; }
A palette of named colors for use in themes.
- public bool gtk_cursor_blink { get; set; }
Whether the cursor should blink.
- public int gtk_cursor_blink_time { get; set; }
Length of the cursor blink cycle, in milliseconds.
- public int gtk_cursor_blink_timeout { get; set; }
Time after which the cursor stops blinking, in seconds.
- public string gtk_cursor_theme_name { owned get; set; }
Name of the cursor theme to use.
- public int gtk_cursor_theme_size { get; set; }
The size to use for cursors.
- public int gtk_dnd_drag_threshold { get; set; }
The number of pixels the cursor can move before dragging.
- public int gtk_double_click_distance { get; set; }
The maximum distance allowed between two clicks for them to be
considered a double click, in pixels.
- public int gtk_double_click_time { get; set; }
The maximum time to allow between two clicks for them to be considered
a double click, in milliseconds.
- public bool gtk_enable_accels { get; set; }
Whether menu items should have visible accelerators which can be
activated.
- public bool gtk_enable_animations { get; set; }
Whether to enable toolkit-wide animations.
- public bool gtk_enable_event_sounds { get; set; }
Whether to play any event sounds at all.
- public bool gtk_enable_input_feedback_sounds { get; set; }
Whether to play event sounds as feedback to user input.
- public bool gtk_enable_mnemonics { get; set; }
Whether labels and menu items should have visible mnemonics which can
be activated.
- public bool gtk_enable_tooltips { get; set; }
Whether tooltips should be shown on widgets.
- public uint gtk_entry_password_hint_timeout { get; set; }
How long to show the last input character in hidden entries.
- public bool gtk_entry_select_on_focus { get; set; }
Whether to select the contents of an entry when it is focused.
- public bool gtk_error_bell { get; set; }
When true, keyboard navigation and
other input-related errors will cause a beep.
- public string gtk_fallback_icon_theme { owned get; set; }
Name of a icon theme to fall back to.
- public string gtk_file_chooser_backend { owned get; set; }
Name of the GtkFileChooser backend to use by default.
- public string gtk_font_name { owned get; set; }
The default font to use.
- public uint gtk_fontconfig_timestamp { get; set; }
Timestamp of the current fontconfig configuration.
- public string gtk_icon_sizes { owned get; set; }
A list of icon sizes.
- public string gtk_icon_theme_name { owned get; set; }
Name of the icon theme to use.
- public string gtk_im_module { owned get; set; }
Which IM (input method) module should be used by default.
- public IMPreeditStyle gtk_im_preedit_style { get; set; }
How to draw the input method preedit string.
- public IMStatusStyle gtk_im_status_style { get; set; }
How to draw the input method statusbar.
- public string gtk_key_theme_name { owned get; set; }
- public bool gtk_keynav_cursor_only { get; set; }
When true, keyboard navigation
should be able to reach all widgets by using the cursor keys only.
- public bool gtk_keynav_wrap_around { get; set; }
When true, some widgets will wrap
around when doing keyboard navigation, such as menus, menubars and notebooks.
- public bool gtk_label_select_on_focus { get; set; }
Whether to select the contents of a selectable label when it is
focused.
- public string gtk_menu_bar_accel { owned get; set; }
Keybinding to activate the menu bar.
- public int gtk_menu_bar_popup_delay { get; set; }
Delay before the submenus of a menu bar appear.
- public bool gtk_menu_images { get; set; }
Whether images should be shown in menu items
- public int gtk_menu_popdown_delay { get; set; }
The time before hiding a submenu when the pointer is moving towards
the submenu.
- public int gtk_menu_popup_delay { get; set; }
Minimum time the pointer must stay over a menu item before the submenu
appear.
- public string gtk_modules { owned get; set; }
- public bool gtk_primary_button_warps_slider { get; set; }
If the value of this setting is true
, clicking the primary button in a `GtkRange` trough will move the slider, and hence set the range’s value, to the point that you
clicked.
- public string gtk_print_backends { owned get; set; }
A comma-separated list of print backends to use in the print dialog.
- public string gtk_print_preview_command { owned get; set; }
A command to run for displaying the print preview.
- public int gtk_recent_files_limit { get; set; }
The number of recently used files that should be displayed by default
by RecentChooser implementations and by the
FileChooser.
- public int gtk_recent_files_max_age { get; set; }
The maximum age, in days, of the items inside the recently used
resources list.
- public CornerType gtk_scrolled_window_placement { get; set; }
Where the contents of scrolled windows are located with respect to the
scrollbars, if not overridden by the scrolled window's own placement.
- public bool gtk_show_input_method_menu { get; set; }
- public bool gtk_show_unicode_menu { get; set; }
- public string gtk_sound_theme_name { owned get; set; }
The XDG sound theme to use for event sounds.
- public bool gtk_split_cursor { get; set; }
Whether two cursors should be displayed for mixed left-to-right and
right-to-left text.
- public string gtk_theme_name { owned get; set; }
Name of the theme to load.
- public int gtk_timeout_expand { get; set; }
- public int gtk_timeout_initial { get; set; }
- public int gtk_timeout_repeat { get; set; }
- public IconSize gtk_toolbar_icon_size { get; set; }
The size of icons in default toolbars.
- public ToolbarStyle gtk_toolbar_style { get; set; }
The size of icons in default toolbars.
- public int gtk_tooltip_browse_mode_timeout { get; set; }
Amount of time, in milliseconds, after which the browse mode will be
disabled.
- public int gtk_tooltip_browse_timeout { get; set; }
Controls the time after which tooltips will appear when browse mode is
enabled, in milliseconds.
- public int gtk_tooltip_timeout { get; set; }
Time, in milliseconds, after which a tooltip could appear if the
cursor is hovering on top of a widget.
- public bool gtk_touchscreen_mode { get; set; }
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.
- public int gtk_xft_antialias { get; set; }
Whether to antialias fonts.
- public int gtk_xft_dpi { get; set; }
The font resolution, in 1024 * dots/inch.
- public int gtk_xft_hinting { get; set; }
Whether to enable font hinting.
- public string gtk_xft_hintstyle { owned get; set; }
What degree of font hinting to use.
- public string gtk_xft_rgba { owned get; set; }
The type of subpixel antialiasing to use.