`GtkSettings` provides a mechanism to share global settings between applications.
On the X window system, this sharing is realized by an
XSettings manager that is usually part of the desktop environment, along with utilities that let the user change these settings.
On Wayland, the settings are obtained either via a settings portal, or by reading desktop settings from DConf.
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 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 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.