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 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_application_prefer_dark_theme { get; set; }
Whether the application prefers to use a dark theme.
- public double gtk_cursor_aspect_ratio { get; set; }
The aspect ratio of the text caret.
- 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 string gtk_decoration_layout { owned get; set; }
Determines which buttons should be put in the titlebar of client-side
decorated windows, and whether they should be placed on the left or right.
- public bool gtk_dialogs_use_header { get; set; }
Whether builtin GTK dialogs such as the file chooser, the color chooser or
the font chooser will use a header bar at the top to show action widgets, or an action area at the bottom.
- 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_primary_paste { get; set; }
Whether a middle click on a mouse should paste the 'PRIMARY' clipboard
content at the cursor location.
- 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_font_name { owned get; set; }
The default font to use.
- public FontRendering gtk_font_rendering { get; set; }
How GTK font rendering is set up.
- public uint gtk_fontconfig_timestamp { get; set; }
Timestamp of the current fontconfig configuration.
- public bool gtk_hint_font_metrics { get; set; }
Whether hinting should be applied to font metrics.
- 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 InterfaceColorScheme gtk_interface_color_scheme { get; set; }
The color scheme used for rendering the user interface.
- public InterfaceContrast gtk_interface_contrast { get; set; }
The level of contrast to use for the user interface.
- public ReducedMotion gtk_interface_reduced_motion { get; set; }
Whether animations should be reduced to essential motions.
- public bool gtk_keynav_use_caret { get; set; }
Whether GTK should make sure that text can be navigated with a caret, even
if it is not editable.
- public bool gtk_label_select_on_focus { get; set; }
Whether to select the contents of a selectable label when it is focused.
- public uint gtk_long_press_time { get; set; }
The time for a button or touch press to be considered a “long press”.
- public bool gtk_overlay_scrolling { get; set; }
Whether scrolled windows may use overlaid scrolling indicators.
- 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 bool gtk_recent_files_enabled { get; set; }
Whether GTK should keep track of items inside the recently used resources
list.
- public int gtk_recent_files_max_age { get; set; }
The maximum age, in days, of the items inside the recently used resources
list.
- public bool gtk_shell_shows_app_menu { get; set; }
Set to true if the desktop environment is
displaying the app menu, false if the app should display it itself.
- public bool gtk_shell_shows_desktop { get; set; }
Set to true if the desktop environment is
displaying the desktop folder, false if not.
- public bool gtk_shell_shows_menubar { get; set; }
Set to true if the desktop environment is
displaying the menubar, false if the app should display it itself.
- public bool gtk_show_status_shapes { get; set; }
When true, widgets like switches include
shapes to indicate their on/off state.
- 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 string gtk_titlebar_double_click { owned get; set; }
Determines the action to take when a double-click occurs on the titlebar of
client-side decorated windows.
- public string gtk_titlebar_middle_click { owned get; set; }
Determines the action to take when a middle-click occurs on the titlebar of
client-side decorated windows.
- public string gtk_titlebar_right_click { owned get; set; }
Determines the action to take when a right-click occurs on the titlebar of
client-side decorated windows.
- 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.