GtkSettings provide 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
KeyFile), 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
get_for_display, but in many cases, it is more convenient to use get_settings
.
- public bool gtk_alternative_button_order { get; set; }
- 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; }
- public bool gtk_cursor_blink { get; set; }
Whether the cursor should blink.
- public int gtk_cursor_blink_time { get; set; }
- 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; }
- public int gtk_cursor_theme_size { get; set; }
- public string gtk_decoration_layout { owned get; set; }
This setting determines which buttons should be put in the titlebar of
client-side decorated windows, and whether they should be placed at the left of 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; }
- public int gtk_double_click_distance { get; set; }
- public int gtk_double_click_time { get; set; }
- 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; }
- 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; }
- 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; }
- public string gtk_icon_theme_name { owned get; set; }
- 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; }
- 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 Range 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; }
- public bool gtk_shell_shows_desktop { get; set; }
- public bool gtk_shell_shows_menubar { 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; }
- public string gtk_theme_name { owned get; set; }
- public string gtk_titlebar_double_click { owned get; set; }
This setting 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; }
This setting 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; }
This setting 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; }
- public int gtk_xft_dpi { get; set; }
- public int gtk_xft_hinting { get; set; }
- public string gtk_xft_hintstyle { owned get; set; }
- public string gtk_xft_rgba { owned get; set; }