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. In the absence of an Xsettings manager, GTK+ reads
default values for settings from `settings.ini` files in `/etc/gtk-3.0`, `$XDG_CONFIG_DIRS/gtk-3.0` and `$XDG_CONFIG_HOME/gtk-3.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. When doing so, you
need to be aware that settings that are specific to individual widgets may not be available before the widget type has been realized at
least once. The following example demonstrates a way to do this:
gtk_init (&argc, &argv);
// make sure the type is realized
g_type_class_unref (g_type_class_ref (GTK_TYPE_IMAGE_MENU_ITEM));
g_object_set (gtk_settings_get_default (), "gtk-enable-animations", FALSE, NULL);
There is one GtkSettings instance per screen. It can be obtained with
get_for_screen, but in many cases, it is more convenient to use get_settings
. get_default returns the GtkSettings instance for the default
screen.
- public HashTable<string,Color?> color_hash { owned get; }
Holds a hash table representation of the
gtk_color_scheme setting, mapping color names to
Colors.
- 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 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 float 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_mnemonics { get; set; }
Whether labels and menu items should have visible mnemonics which can
be activated.
- 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 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; }
- 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; }
- public string gtk_icon_sizes { owned get; set; }
A list of icon sizes.
- 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 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_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_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; }
- public uint gtk_long_press_time { get; set; }
The time for a button or touch press to be considered a "long press".
- 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_overlay_scrolling { get; set; }
Whether scrolled windows may use overlayed 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_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_shell_shows_app_menu { get; set; }
- public bool gtk_shell_shows_desktop { get; set; }
- public bool gtk_shell_shows_menubar { get; set; }
- 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; }
- public string gtk_theme_name { owned get; set; }
- public int gtk_timeout_expand { get; set; }
- public int gtk_timeout_initial { get; set; }
- public int gtk_timeout_repeat { 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 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 PolicyType gtk_visible_focus { get; set; }
Whether 'focus rectangles' should be always visible, never visible, or
hidden until the user starts to use the keyboard.
- 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; }