{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)

GtkSettings provide a mechanism to share global settings between
applications.

On the X window system, this sharing is realized by an
<http://www.freedesktop.org/wiki/Specifications/xsettings-spec 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 'GI.GLib.Structs.KeyFile.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 @/g_object_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:

=== /C code/
>
>  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
'GI.Gtk.Objects.Settings.settingsGetForScreen', but in many cases, it is more convenient
to use 'GI.Gtk.Objects.Widget.widgetGetSettings'. 'GI.Gtk.Objects.Settings.settingsGetDefault' returns the
GtkSettings instance for the default screen.
-}

module GI.Gtk.Objects.Settings
    ( 

-- * Exported types
    Settings(..)                            ,
    IsSettings                              ,
    toSettings                              ,
    noSettings                              ,


 -- * Methods
-- ** getDefault #method:getDefault#
    settingsGetDefault                      ,


-- ** getForScreen #method:getForScreen#
    settingsGetForScreen                    ,


-- ** installProperty #method:installProperty#
    settingsInstallProperty                 ,


-- ** installPropertyParser #method:installPropertyParser#
    settingsInstallPropertyParser           ,


-- ** resetProperty #method:resetProperty#
    SettingsResetPropertyMethodInfo         ,
    settingsResetProperty                   ,


-- ** setDoubleProperty #method:setDoubleProperty#
    SettingsSetDoublePropertyMethodInfo     ,
    settingsSetDoubleProperty               ,


-- ** setLongProperty #method:setLongProperty#
    SettingsSetLongPropertyMethodInfo       ,
    settingsSetLongProperty                 ,


-- ** setPropertyValue #method:setPropertyValue#
    SettingsSetPropertyValueMethodInfo      ,
    settingsSetPropertyValue                ,


-- ** setStringProperty #method:setStringProperty#
    SettingsSetStringPropertyMethodInfo     ,
    settingsSetStringProperty               ,




 -- * Properties
-- ** colorHash #attr:colorHash#
    SettingsColorHashPropertyInfo           ,
    settingsColorHash                       ,


-- ** gtkAlternativeButtonOrder #attr:gtkAlternativeButtonOrder#
    SettingsGtkAlternativeButtonOrderPropertyInfo,
    constructSettingsGtkAlternativeButtonOrder,
    getSettingsGtkAlternativeButtonOrder    ,
    setSettingsGtkAlternativeButtonOrder    ,
    settingsGtkAlternativeButtonOrder       ,


-- ** gtkAlternativeSortArrows #attr:gtkAlternativeSortArrows#
    SettingsGtkAlternativeSortArrowsPropertyInfo,
    constructSettingsGtkAlternativeSortArrows,
    getSettingsGtkAlternativeSortArrows     ,
    setSettingsGtkAlternativeSortArrows     ,
    settingsGtkAlternativeSortArrows        ,


-- ** gtkApplicationPreferDarkTheme #attr:gtkApplicationPreferDarkTheme#
    SettingsGtkApplicationPreferDarkThemePropertyInfo,
    constructSettingsGtkApplicationPreferDarkTheme,
    getSettingsGtkApplicationPreferDarkTheme,
    setSettingsGtkApplicationPreferDarkTheme,
    settingsGtkApplicationPreferDarkTheme   ,


-- ** gtkAutoMnemonics #attr:gtkAutoMnemonics#
    SettingsGtkAutoMnemonicsPropertyInfo    ,
    constructSettingsGtkAutoMnemonics       ,
    getSettingsGtkAutoMnemonics             ,
    setSettingsGtkAutoMnemonics             ,
    settingsGtkAutoMnemonics                ,


-- ** gtkButtonImages #attr:gtkButtonImages#
    SettingsGtkButtonImagesPropertyInfo     ,
    constructSettingsGtkButtonImages        ,
    getSettingsGtkButtonImages              ,
    setSettingsGtkButtonImages              ,
    settingsGtkButtonImages                 ,


-- ** gtkCanChangeAccels #attr:gtkCanChangeAccels#
    SettingsGtkCanChangeAccelsPropertyInfo  ,
    constructSettingsGtkCanChangeAccels     ,
    getSettingsGtkCanChangeAccels           ,
    setSettingsGtkCanChangeAccels           ,
    settingsGtkCanChangeAccels              ,


-- ** gtkColorPalette #attr:gtkColorPalette#
    SettingsGtkColorPalettePropertyInfo     ,
    clearSettingsGtkColorPalette            ,
    constructSettingsGtkColorPalette        ,
    getSettingsGtkColorPalette              ,
    setSettingsGtkColorPalette              ,
    settingsGtkColorPalette                 ,


-- ** gtkColorScheme #attr:gtkColorScheme#
    SettingsGtkColorSchemePropertyInfo      ,
    clearSettingsGtkColorScheme             ,
    constructSettingsGtkColorScheme         ,
    getSettingsGtkColorScheme               ,
    setSettingsGtkColorScheme               ,
    settingsGtkColorScheme                  ,


-- ** gtkCursorBlink #attr:gtkCursorBlink#
    SettingsGtkCursorBlinkPropertyInfo      ,
    constructSettingsGtkCursorBlink         ,
    getSettingsGtkCursorBlink               ,
    setSettingsGtkCursorBlink               ,
    settingsGtkCursorBlink                  ,


-- ** gtkCursorBlinkTime #attr:gtkCursorBlinkTime#
    SettingsGtkCursorBlinkTimePropertyInfo  ,
    constructSettingsGtkCursorBlinkTime     ,
    getSettingsGtkCursorBlinkTime           ,
    setSettingsGtkCursorBlinkTime           ,
    settingsGtkCursorBlinkTime              ,


-- ** gtkCursorBlinkTimeout #attr:gtkCursorBlinkTimeout#
    SettingsGtkCursorBlinkTimeoutPropertyInfo,
    constructSettingsGtkCursorBlinkTimeout  ,
    getSettingsGtkCursorBlinkTimeout        ,
    setSettingsGtkCursorBlinkTimeout        ,
    settingsGtkCursorBlinkTimeout           ,


-- ** gtkCursorThemeName #attr:gtkCursorThemeName#
    SettingsGtkCursorThemeNamePropertyInfo  ,
    clearSettingsGtkCursorThemeName         ,
    constructSettingsGtkCursorThemeName     ,
    getSettingsGtkCursorThemeName           ,
    setSettingsGtkCursorThemeName           ,
    settingsGtkCursorThemeName              ,


-- ** gtkCursorThemeSize #attr:gtkCursorThemeSize#
    SettingsGtkCursorThemeSizePropertyInfo  ,
    constructSettingsGtkCursorThemeSize     ,
    getSettingsGtkCursorThemeSize           ,
    setSettingsGtkCursorThemeSize           ,
    settingsGtkCursorThemeSize              ,


-- ** gtkDecorationLayout #attr:gtkDecorationLayout#
    SettingsGtkDecorationLayoutPropertyInfo ,
    clearSettingsGtkDecorationLayout        ,
    constructSettingsGtkDecorationLayout    ,
    getSettingsGtkDecorationLayout          ,
    setSettingsGtkDecorationLayout          ,
    settingsGtkDecorationLayout             ,


-- ** gtkDialogsUseHeader #attr:gtkDialogsUseHeader#
    SettingsGtkDialogsUseHeaderPropertyInfo ,
    constructSettingsGtkDialogsUseHeader    ,
    getSettingsGtkDialogsUseHeader          ,
    setSettingsGtkDialogsUseHeader          ,
    settingsGtkDialogsUseHeader             ,


-- ** gtkDndDragThreshold #attr:gtkDndDragThreshold#
    SettingsGtkDndDragThresholdPropertyInfo ,
    constructSettingsGtkDndDragThreshold    ,
    getSettingsGtkDndDragThreshold          ,
    setSettingsGtkDndDragThreshold          ,
    settingsGtkDndDragThreshold             ,


-- ** gtkDoubleClickDistance #attr:gtkDoubleClickDistance#
    SettingsGtkDoubleClickDistancePropertyInfo,
    constructSettingsGtkDoubleClickDistance ,
    getSettingsGtkDoubleClickDistance       ,
    setSettingsGtkDoubleClickDistance       ,
    settingsGtkDoubleClickDistance          ,


-- ** gtkDoubleClickTime #attr:gtkDoubleClickTime#
    SettingsGtkDoubleClickTimePropertyInfo  ,
    constructSettingsGtkDoubleClickTime     ,
    getSettingsGtkDoubleClickTime           ,
    setSettingsGtkDoubleClickTime           ,
    settingsGtkDoubleClickTime              ,


-- ** gtkEnableAccels #attr:gtkEnableAccels#
    SettingsGtkEnableAccelsPropertyInfo     ,
    constructSettingsGtkEnableAccels        ,
    getSettingsGtkEnableAccels              ,
    setSettingsGtkEnableAccels              ,
    settingsGtkEnableAccels                 ,


-- ** gtkEnableAnimations #attr:gtkEnableAnimations#
    SettingsGtkEnableAnimationsPropertyInfo ,
    constructSettingsGtkEnableAnimations    ,
    getSettingsGtkEnableAnimations          ,
    setSettingsGtkEnableAnimations          ,
    settingsGtkEnableAnimations             ,


-- ** gtkEnableEventSounds #attr:gtkEnableEventSounds#
    SettingsGtkEnableEventSoundsPropertyInfo,
    constructSettingsGtkEnableEventSounds   ,
    getSettingsGtkEnableEventSounds         ,
    setSettingsGtkEnableEventSounds         ,
    settingsGtkEnableEventSounds            ,


-- ** gtkEnableInputFeedbackSounds #attr:gtkEnableInputFeedbackSounds#
    SettingsGtkEnableInputFeedbackSoundsPropertyInfo,
    constructSettingsGtkEnableInputFeedbackSounds,
    getSettingsGtkEnableInputFeedbackSounds ,
    setSettingsGtkEnableInputFeedbackSounds ,
    settingsGtkEnableInputFeedbackSounds    ,


-- ** gtkEnableMnemonics #attr:gtkEnableMnemonics#
    SettingsGtkEnableMnemonicsPropertyInfo  ,
    constructSettingsGtkEnableMnemonics     ,
    getSettingsGtkEnableMnemonics           ,
    setSettingsGtkEnableMnemonics           ,
    settingsGtkEnableMnemonics              ,


-- ** gtkEnablePrimaryPaste #attr:gtkEnablePrimaryPaste#
    SettingsGtkEnablePrimaryPastePropertyInfo,
    constructSettingsGtkEnablePrimaryPaste  ,
    getSettingsGtkEnablePrimaryPaste        ,
    setSettingsGtkEnablePrimaryPaste        ,
    settingsGtkEnablePrimaryPaste           ,


-- ** gtkEnableTooltips #attr:gtkEnableTooltips#
    SettingsGtkEnableTooltipsPropertyInfo   ,
    constructSettingsGtkEnableTooltips      ,
    getSettingsGtkEnableTooltips            ,
    setSettingsGtkEnableTooltips            ,
    settingsGtkEnableTooltips               ,


-- ** gtkEntryPasswordHintTimeout #attr:gtkEntryPasswordHintTimeout#
    SettingsGtkEntryPasswordHintTimeoutPropertyInfo,
    constructSettingsGtkEntryPasswordHintTimeout,
    getSettingsGtkEntryPasswordHintTimeout  ,
    setSettingsGtkEntryPasswordHintTimeout  ,
    settingsGtkEntryPasswordHintTimeout     ,


-- ** gtkEntrySelectOnFocus #attr:gtkEntrySelectOnFocus#
    SettingsGtkEntrySelectOnFocusPropertyInfo,
    constructSettingsGtkEntrySelectOnFocus  ,
    getSettingsGtkEntrySelectOnFocus        ,
    setSettingsGtkEntrySelectOnFocus        ,
    settingsGtkEntrySelectOnFocus           ,


-- ** gtkErrorBell #attr:gtkErrorBell#
    SettingsGtkErrorBellPropertyInfo        ,
    constructSettingsGtkErrorBell           ,
    getSettingsGtkErrorBell                 ,
    setSettingsGtkErrorBell                 ,
    settingsGtkErrorBell                    ,


-- ** gtkFallbackIconTheme #attr:gtkFallbackIconTheme#
    SettingsGtkFallbackIconThemePropertyInfo,
    clearSettingsGtkFallbackIconTheme       ,
    constructSettingsGtkFallbackIconTheme   ,
    getSettingsGtkFallbackIconTheme         ,
    setSettingsGtkFallbackIconTheme         ,
    settingsGtkFallbackIconTheme            ,


-- ** gtkFileChooserBackend #attr:gtkFileChooserBackend#
    SettingsGtkFileChooserBackendPropertyInfo,
    clearSettingsGtkFileChooserBackend      ,
    constructSettingsGtkFileChooserBackend  ,
    getSettingsGtkFileChooserBackend        ,
    setSettingsGtkFileChooserBackend        ,
    settingsGtkFileChooserBackend           ,


-- ** gtkFontName #attr:gtkFontName#
    SettingsGtkFontNamePropertyInfo         ,
    clearSettingsGtkFontName                ,
    constructSettingsGtkFontName            ,
    getSettingsGtkFontName                  ,
    setSettingsGtkFontName                  ,
    settingsGtkFontName                     ,


-- ** gtkFontconfigTimestamp #attr:gtkFontconfigTimestamp#
    SettingsGtkFontconfigTimestampPropertyInfo,
    constructSettingsGtkFontconfigTimestamp ,
    getSettingsGtkFontconfigTimestamp       ,
    setSettingsGtkFontconfigTimestamp       ,
    settingsGtkFontconfigTimestamp          ,


-- ** gtkIconSizes #attr:gtkIconSizes#
    SettingsGtkIconSizesPropertyInfo        ,
    clearSettingsGtkIconSizes               ,
    constructSettingsGtkIconSizes           ,
    getSettingsGtkIconSizes                 ,
    setSettingsGtkIconSizes                 ,
    settingsGtkIconSizes                    ,


-- ** gtkIconThemeName #attr:gtkIconThemeName#
    SettingsGtkIconThemeNamePropertyInfo    ,
    clearSettingsGtkIconThemeName           ,
    constructSettingsGtkIconThemeName       ,
    getSettingsGtkIconThemeName             ,
    setSettingsGtkIconThemeName             ,
    settingsGtkIconThemeName                ,


-- ** gtkImModule #attr:gtkImModule#
    SettingsGtkImModulePropertyInfo         ,
    clearSettingsGtkImModule                ,
    constructSettingsGtkImModule            ,
    getSettingsGtkImModule                  ,
    setSettingsGtkImModule                  ,
    settingsGtkImModule                     ,


-- ** gtkImPreeditStyle #attr:gtkImPreeditStyle#
    SettingsGtkImPreeditStylePropertyInfo   ,
    constructSettingsGtkImPreeditStyle      ,
    getSettingsGtkImPreeditStyle            ,
    setSettingsGtkImPreeditStyle            ,
    settingsGtkImPreeditStyle               ,


-- ** gtkImStatusStyle #attr:gtkImStatusStyle#
    SettingsGtkImStatusStylePropertyInfo    ,
    constructSettingsGtkImStatusStyle       ,
    getSettingsGtkImStatusStyle             ,
    setSettingsGtkImStatusStyle             ,
    settingsGtkImStatusStyle                ,


-- ** gtkKeyThemeName #attr:gtkKeyThemeName#
    SettingsGtkKeyThemeNamePropertyInfo     ,
    clearSettingsGtkKeyThemeName            ,
    constructSettingsGtkKeyThemeName        ,
    getSettingsGtkKeyThemeName              ,
    setSettingsGtkKeyThemeName              ,
    settingsGtkKeyThemeName                 ,


-- ** gtkKeynavCursorOnly #attr:gtkKeynavCursorOnly#
    SettingsGtkKeynavCursorOnlyPropertyInfo ,
    constructSettingsGtkKeynavCursorOnly    ,
    getSettingsGtkKeynavCursorOnly          ,
    setSettingsGtkKeynavCursorOnly          ,
    settingsGtkKeynavCursorOnly             ,


-- ** gtkKeynavUseCaret #attr:gtkKeynavUseCaret#
    SettingsGtkKeynavUseCaretPropertyInfo   ,
    constructSettingsGtkKeynavUseCaret      ,
    getSettingsGtkKeynavUseCaret            ,
    setSettingsGtkKeynavUseCaret            ,
    settingsGtkKeynavUseCaret               ,


-- ** gtkKeynavWrapAround #attr:gtkKeynavWrapAround#
    SettingsGtkKeynavWrapAroundPropertyInfo ,
    constructSettingsGtkKeynavWrapAround    ,
    getSettingsGtkKeynavWrapAround          ,
    setSettingsGtkKeynavWrapAround          ,
    settingsGtkKeynavWrapAround             ,


-- ** gtkLabelSelectOnFocus #attr:gtkLabelSelectOnFocus#
    SettingsGtkLabelSelectOnFocusPropertyInfo,
    constructSettingsGtkLabelSelectOnFocus  ,
    getSettingsGtkLabelSelectOnFocus        ,
    setSettingsGtkLabelSelectOnFocus        ,
    settingsGtkLabelSelectOnFocus           ,


-- ** gtkLongPressTime #attr:gtkLongPressTime#
    SettingsGtkLongPressTimePropertyInfo    ,
    constructSettingsGtkLongPressTime       ,
    getSettingsGtkLongPressTime             ,
    setSettingsGtkLongPressTime             ,
    settingsGtkLongPressTime                ,


-- ** gtkMenuBarAccel #attr:gtkMenuBarAccel#
    SettingsGtkMenuBarAccelPropertyInfo     ,
    clearSettingsGtkMenuBarAccel            ,
    constructSettingsGtkMenuBarAccel        ,
    getSettingsGtkMenuBarAccel              ,
    setSettingsGtkMenuBarAccel              ,
    settingsGtkMenuBarAccel                 ,


-- ** gtkMenuBarPopupDelay #attr:gtkMenuBarPopupDelay#
    SettingsGtkMenuBarPopupDelayPropertyInfo,
    constructSettingsGtkMenuBarPopupDelay   ,
    getSettingsGtkMenuBarPopupDelay         ,
    setSettingsGtkMenuBarPopupDelay         ,
    settingsGtkMenuBarPopupDelay            ,


-- ** gtkMenuImages #attr:gtkMenuImages#
    SettingsGtkMenuImagesPropertyInfo       ,
    constructSettingsGtkMenuImages          ,
    getSettingsGtkMenuImages                ,
    setSettingsGtkMenuImages                ,
    settingsGtkMenuImages                   ,


-- ** gtkMenuPopdownDelay #attr:gtkMenuPopdownDelay#
    SettingsGtkMenuPopdownDelayPropertyInfo ,
    constructSettingsGtkMenuPopdownDelay    ,
    getSettingsGtkMenuPopdownDelay          ,
    setSettingsGtkMenuPopdownDelay          ,
    settingsGtkMenuPopdownDelay             ,


-- ** gtkMenuPopupDelay #attr:gtkMenuPopupDelay#
    SettingsGtkMenuPopupDelayPropertyInfo   ,
    constructSettingsGtkMenuPopupDelay      ,
    getSettingsGtkMenuPopupDelay            ,
    setSettingsGtkMenuPopupDelay            ,
    settingsGtkMenuPopupDelay               ,


-- ** gtkModules #attr:gtkModules#
    SettingsGtkModulesPropertyInfo          ,
    clearSettingsGtkModules                 ,
    constructSettingsGtkModules             ,
    getSettingsGtkModules                   ,
    setSettingsGtkModules                   ,
    settingsGtkModules                      ,


-- ** gtkPrimaryButtonWarpsSlider #attr:gtkPrimaryButtonWarpsSlider#
    SettingsGtkPrimaryButtonWarpsSliderPropertyInfo,
    constructSettingsGtkPrimaryButtonWarpsSlider,
    getSettingsGtkPrimaryButtonWarpsSlider  ,
    setSettingsGtkPrimaryButtonWarpsSlider  ,
    settingsGtkPrimaryButtonWarpsSlider     ,


-- ** gtkPrintBackends #attr:gtkPrintBackends#
    SettingsGtkPrintBackendsPropertyInfo    ,
    clearSettingsGtkPrintBackends           ,
    constructSettingsGtkPrintBackends       ,
    getSettingsGtkPrintBackends             ,
    setSettingsGtkPrintBackends             ,
    settingsGtkPrintBackends                ,


-- ** gtkPrintPreviewCommand #attr:gtkPrintPreviewCommand#
    SettingsGtkPrintPreviewCommandPropertyInfo,
    clearSettingsGtkPrintPreviewCommand     ,
    constructSettingsGtkPrintPreviewCommand ,
    getSettingsGtkPrintPreviewCommand       ,
    setSettingsGtkPrintPreviewCommand       ,
    settingsGtkPrintPreviewCommand          ,


-- ** gtkRecentFilesEnabled #attr:gtkRecentFilesEnabled#
    SettingsGtkRecentFilesEnabledPropertyInfo,
    constructSettingsGtkRecentFilesEnabled  ,
    getSettingsGtkRecentFilesEnabled        ,
    setSettingsGtkRecentFilesEnabled        ,
    settingsGtkRecentFilesEnabled           ,


-- ** gtkRecentFilesLimit #attr:gtkRecentFilesLimit#
    SettingsGtkRecentFilesLimitPropertyInfo ,
    constructSettingsGtkRecentFilesLimit    ,
    getSettingsGtkRecentFilesLimit          ,
    setSettingsGtkRecentFilesLimit          ,
    settingsGtkRecentFilesLimit             ,


-- ** gtkRecentFilesMaxAge #attr:gtkRecentFilesMaxAge#
    SettingsGtkRecentFilesMaxAgePropertyInfo,
    constructSettingsGtkRecentFilesMaxAge   ,
    getSettingsGtkRecentFilesMaxAge         ,
    setSettingsGtkRecentFilesMaxAge         ,
    settingsGtkRecentFilesMaxAge            ,


-- ** gtkScrolledWindowPlacement #attr:gtkScrolledWindowPlacement#
    SettingsGtkScrolledWindowPlacementPropertyInfo,
    constructSettingsGtkScrolledWindowPlacement,
    getSettingsGtkScrolledWindowPlacement   ,
    setSettingsGtkScrolledWindowPlacement   ,
    settingsGtkScrolledWindowPlacement      ,


-- ** gtkShellShowsAppMenu #attr:gtkShellShowsAppMenu#
    SettingsGtkShellShowsAppMenuPropertyInfo,
    constructSettingsGtkShellShowsAppMenu   ,
    getSettingsGtkShellShowsAppMenu         ,
    setSettingsGtkShellShowsAppMenu         ,
    settingsGtkShellShowsAppMenu            ,


-- ** gtkShellShowsDesktop #attr:gtkShellShowsDesktop#
    SettingsGtkShellShowsDesktopPropertyInfo,
    constructSettingsGtkShellShowsDesktop   ,
    getSettingsGtkShellShowsDesktop         ,
    setSettingsGtkShellShowsDesktop         ,
    settingsGtkShellShowsDesktop            ,


-- ** gtkShellShowsMenubar #attr:gtkShellShowsMenubar#
    SettingsGtkShellShowsMenubarPropertyInfo,
    constructSettingsGtkShellShowsMenubar   ,
    getSettingsGtkShellShowsMenubar         ,
    setSettingsGtkShellShowsMenubar         ,
    settingsGtkShellShowsMenubar            ,


-- ** gtkShowInputMethodMenu #attr:gtkShowInputMethodMenu#
    SettingsGtkShowInputMethodMenuPropertyInfo,
    constructSettingsGtkShowInputMethodMenu ,
    getSettingsGtkShowInputMethodMenu       ,
    setSettingsGtkShowInputMethodMenu       ,
    settingsGtkShowInputMethodMenu          ,


-- ** gtkShowUnicodeMenu #attr:gtkShowUnicodeMenu#
    SettingsGtkShowUnicodeMenuPropertyInfo  ,
    constructSettingsGtkShowUnicodeMenu     ,
    getSettingsGtkShowUnicodeMenu           ,
    setSettingsGtkShowUnicodeMenu           ,
    settingsGtkShowUnicodeMenu              ,


-- ** gtkSoundThemeName #attr:gtkSoundThemeName#
    SettingsGtkSoundThemeNamePropertyInfo   ,
    clearSettingsGtkSoundThemeName          ,
    constructSettingsGtkSoundThemeName      ,
    getSettingsGtkSoundThemeName            ,
    setSettingsGtkSoundThemeName            ,
    settingsGtkSoundThemeName               ,


-- ** gtkSplitCursor #attr:gtkSplitCursor#
    SettingsGtkSplitCursorPropertyInfo      ,
    constructSettingsGtkSplitCursor         ,
    getSettingsGtkSplitCursor               ,
    setSettingsGtkSplitCursor               ,
    settingsGtkSplitCursor                  ,


-- ** gtkThemeName #attr:gtkThemeName#
    SettingsGtkThemeNamePropertyInfo        ,
    clearSettingsGtkThemeName               ,
    constructSettingsGtkThemeName           ,
    getSettingsGtkThemeName                 ,
    setSettingsGtkThemeName                 ,
    settingsGtkThemeName                    ,


-- ** gtkTimeoutExpand #attr:gtkTimeoutExpand#
    SettingsGtkTimeoutExpandPropertyInfo    ,
    constructSettingsGtkTimeoutExpand       ,
    getSettingsGtkTimeoutExpand             ,
    setSettingsGtkTimeoutExpand             ,
    settingsGtkTimeoutExpand                ,


-- ** gtkTimeoutInitial #attr:gtkTimeoutInitial#
    SettingsGtkTimeoutInitialPropertyInfo   ,
    constructSettingsGtkTimeoutInitial      ,
    getSettingsGtkTimeoutInitial            ,
    setSettingsGtkTimeoutInitial            ,
    settingsGtkTimeoutInitial               ,


-- ** gtkTimeoutRepeat #attr:gtkTimeoutRepeat#
    SettingsGtkTimeoutRepeatPropertyInfo    ,
    constructSettingsGtkTimeoutRepeat       ,
    getSettingsGtkTimeoutRepeat             ,
    setSettingsGtkTimeoutRepeat             ,
    settingsGtkTimeoutRepeat                ,


-- ** gtkTitlebarDoubleClick #attr:gtkTitlebarDoubleClick#
    SettingsGtkTitlebarDoubleClickPropertyInfo,
    clearSettingsGtkTitlebarDoubleClick     ,
    constructSettingsGtkTitlebarDoubleClick ,
    getSettingsGtkTitlebarDoubleClick       ,
    setSettingsGtkTitlebarDoubleClick       ,
    settingsGtkTitlebarDoubleClick          ,


-- ** gtkTitlebarMiddleClick #attr:gtkTitlebarMiddleClick#
    SettingsGtkTitlebarMiddleClickPropertyInfo,
    clearSettingsGtkTitlebarMiddleClick     ,
    constructSettingsGtkTitlebarMiddleClick ,
    getSettingsGtkTitlebarMiddleClick       ,
    setSettingsGtkTitlebarMiddleClick       ,
    settingsGtkTitlebarMiddleClick          ,


-- ** gtkTitlebarRightClick #attr:gtkTitlebarRightClick#
    SettingsGtkTitlebarRightClickPropertyInfo,
    clearSettingsGtkTitlebarRightClick      ,
    constructSettingsGtkTitlebarRightClick  ,
    getSettingsGtkTitlebarRightClick        ,
    setSettingsGtkTitlebarRightClick        ,
    settingsGtkTitlebarRightClick           ,


-- ** gtkToolbarIconSize #attr:gtkToolbarIconSize#
    SettingsGtkToolbarIconSizePropertyInfo  ,
    constructSettingsGtkToolbarIconSize     ,
    getSettingsGtkToolbarIconSize           ,
    setSettingsGtkToolbarIconSize           ,
    settingsGtkToolbarIconSize              ,


-- ** gtkToolbarStyle #attr:gtkToolbarStyle#
    SettingsGtkToolbarStylePropertyInfo     ,
    constructSettingsGtkToolbarStyle        ,
    getSettingsGtkToolbarStyle              ,
    setSettingsGtkToolbarStyle              ,
    settingsGtkToolbarStyle                 ,


-- ** gtkTooltipBrowseModeTimeout #attr:gtkTooltipBrowseModeTimeout#
    SettingsGtkTooltipBrowseModeTimeoutPropertyInfo,
    constructSettingsGtkTooltipBrowseModeTimeout,
    getSettingsGtkTooltipBrowseModeTimeout  ,
    setSettingsGtkTooltipBrowseModeTimeout  ,
    settingsGtkTooltipBrowseModeTimeout     ,


-- ** gtkTooltipBrowseTimeout #attr:gtkTooltipBrowseTimeout#
    SettingsGtkTooltipBrowseTimeoutPropertyInfo,
    constructSettingsGtkTooltipBrowseTimeout,
    getSettingsGtkTooltipBrowseTimeout      ,
    setSettingsGtkTooltipBrowseTimeout      ,
    settingsGtkTooltipBrowseTimeout         ,


-- ** gtkTooltipTimeout #attr:gtkTooltipTimeout#
    SettingsGtkTooltipTimeoutPropertyInfo   ,
    constructSettingsGtkTooltipTimeout      ,
    getSettingsGtkTooltipTimeout            ,
    setSettingsGtkTooltipTimeout            ,
    settingsGtkTooltipTimeout               ,


-- ** gtkTouchscreenMode #attr:gtkTouchscreenMode#
    SettingsGtkTouchscreenModePropertyInfo  ,
    constructSettingsGtkTouchscreenMode     ,
    getSettingsGtkTouchscreenMode           ,
    setSettingsGtkTouchscreenMode           ,
    settingsGtkTouchscreenMode              ,


-- ** gtkVisibleFocus #attr:gtkVisibleFocus#
    SettingsGtkVisibleFocusPropertyInfo     ,
    constructSettingsGtkVisibleFocus        ,
    getSettingsGtkVisibleFocus              ,
    setSettingsGtkVisibleFocus              ,
    settingsGtkVisibleFocus                 ,


-- ** gtkXftAntialias #attr:gtkXftAntialias#
    SettingsGtkXftAntialiasPropertyInfo     ,
    constructSettingsGtkXftAntialias        ,
    getSettingsGtkXftAntialias              ,
    setSettingsGtkXftAntialias              ,
    settingsGtkXftAntialias                 ,


-- ** gtkXftDpi #attr:gtkXftDpi#
    SettingsGtkXftDpiPropertyInfo           ,
    constructSettingsGtkXftDpi              ,
    getSettingsGtkXftDpi                    ,
    setSettingsGtkXftDpi                    ,
    settingsGtkXftDpi                       ,


-- ** gtkXftHinting #attr:gtkXftHinting#
    SettingsGtkXftHintingPropertyInfo       ,
    constructSettingsGtkXftHinting          ,
    getSettingsGtkXftHinting                ,
    setSettingsGtkXftHinting                ,
    settingsGtkXftHinting                   ,


-- ** gtkXftHintstyle #attr:gtkXftHintstyle#
    SettingsGtkXftHintstylePropertyInfo     ,
    clearSettingsGtkXftHintstyle            ,
    constructSettingsGtkXftHintstyle        ,
    getSettingsGtkXftHintstyle              ,
    setSettingsGtkXftHintstyle              ,
    settingsGtkXftHintstyle                 ,


-- ** gtkXftRgba #attr:gtkXftRgba#
    SettingsGtkXftRgbaPropertyInfo          ,
    clearSettingsGtkXftRgba                 ,
    constructSettingsGtkXftRgba             ,
    getSettingsGtkXftRgba                   ,
    setSettingsGtkXftRgba                   ,
    settingsGtkXftRgba                      ,




    ) where

import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP

import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gdk.Objects.Screen as Gdk.Screen
import qualified GI.Gtk.Callbacks as Gtk.Callbacks
import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
import {-# SOURCE #-} qualified GI.Gtk.Interfaces.StyleProvider as Gtk.StyleProvider
import {-# SOURCE #-} qualified GI.Gtk.Structs.SettingsValue as Gtk.SettingsValue

newtype Settings = Settings (ManagedPtr Settings)
foreign import ccall "gtk_settings_get_type"
    c_gtk_settings_get_type :: IO GType

instance GObject Settings where
    gobjectType _ = c_gtk_settings_get_type
    

class GObject o => IsSettings o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError Settings a) =>
    IsSettings a
#endif
instance IsSettings Settings
instance GObject.Object.IsObject Settings
instance Gtk.StyleProvider.IsStyleProvider Settings

toSettings :: IsSettings o => o -> IO Settings
toSettings = unsafeCastTo Settings

noSettings :: Maybe Settings
noSettings = Nothing

type family ResolveSettingsMethod (t :: Symbol) (o :: *) :: * where
    ResolveSettingsMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveSettingsMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveSettingsMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveSettingsMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveSettingsMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveSettingsMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveSettingsMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveSettingsMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveSettingsMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveSettingsMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
    ResolveSettingsMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
    ResolveSettingsMethod "resetProperty" o = SettingsResetPropertyMethodInfo
    ResolveSettingsMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveSettingsMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveSettingsMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveSettingsMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveSettingsMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveSettingsMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveSettingsMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveSettingsMethod "getIconFactory" o = Gtk.StyleProvider.StyleProviderGetIconFactoryMethodInfo
    ResolveSettingsMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveSettingsMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveSettingsMethod "getStyle" o = Gtk.StyleProvider.StyleProviderGetStyleMethodInfo
    ResolveSettingsMethod "getStyleProperty" o = Gtk.StyleProvider.StyleProviderGetStylePropertyMethodInfo
    ResolveSettingsMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveSettingsMethod "setDoubleProperty" o = SettingsSetDoublePropertyMethodInfo
    ResolveSettingsMethod "setLongProperty" o = SettingsSetLongPropertyMethodInfo
    ResolveSettingsMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveSettingsMethod "setPropertyValue" o = SettingsSetPropertyValueMethodInfo
    ResolveSettingsMethod "setStringProperty" o = SettingsSetStringPropertyMethodInfo
    ResolveSettingsMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveSettingsMethod t Settings, O.MethodInfo info Settings p) => O.IsLabelProxy t (Settings -> p) where
    fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)

#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveSettingsMethod t Settings, O.MethodInfo info Settings p) => O.IsLabel t (Settings -> p) where
    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif

-- XXX Generation of property "color-hash" of object "Settings" failed: Not implemented: "Property SettingsColorHash has unsupported transfer type TransferContainer"
-- XXX Placeholder
data SettingsColorHashPropertyInfo
instance AttrInfo SettingsColorHashPropertyInfo where
    type AttrAllowedOps SettingsColorHashPropertyInfo = '[]
    type AttrSetTypeConstraint SettingsColorHashPropertyInfo = (~) ()
    type AttrBaseTypeConstraint SettingsColorHashPropertyInfo = (~) ()
    type AttrGetType SettingsColorHashPropertyInfo = ()
    type AttrLabel SettingsColorHashPropertyInfo = ""
    type AttrOrigin SettingsColorHashPropertyInfo = Settings
    attrGet = undefined
    attrSet = undefined
    attrConstruct = undefined
    attrClear = undefined
-- VVV Prop "gtk-alternative-button-order"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkAlternativeButtonOrder :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkAlternativeButtonOrder obj = liftIO $ getObjectPropertyBool obj "gtk-alternative-button-order"

setSettingsGtkAlternativeButtonOrder :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkAlternativeButtonOrder obj val = liftIO $ setObjectPropertyBool obj "gtk-alternative-button-order" val

constructSettingsGtkAlternativeButtonOrder :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkAlternativeButtonOrder val = constructObjectPropertyBool "gtk-alternative-button-order" val

data SettingsGtkAlternativeButtonOrderPropertyInfo
instance AttrInfo SettingsGtkAlternativeButtonOrderPropertyInfo where
    type AttrAllowedOps SettingsGtkAlternativeButtonOrderPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkAlternativeButtonOrderPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkAlternativeButtonOrderPropertyInfo = IsSettings
    type AttrGetType SettingsGtkAlternativeButtonOrderPropertyInfo = Bool
    type AttrLabel SettingsGtkAlternativeButtonOrderPropertyInfo = "gtk-alternative-button-order"
    type AttrOrigin SettingsGtkAlternativeButtonOrderPropertyInfo = Settings
    attrGet _ = getSettingsGtkAlternativeButtonOrder
    attrSet _ = setSettingsGtkAlternativeButtonOrder
    attrConstruct _ = constructSettingsGtkAlternativeButtonOrder
    attrClear _ = undefined

-- VVV Prop "gtk-alternative-sort-arrows"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkAlternativeSortArrows :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkAlternativeSortArrows obj = liftIO $ getObjectPropertyBool obj "gtk-alternative-sort-arrows"

setSettingsGtkAlternativeSortArrows :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkAlternativeSortArrows obj val = liftIO $ setObjectPropertyBool obj "gtk-alternative-sort-arrows" val

constructSettingsGtkAlternativeSortArrows :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkAlternativeSortArrows val = constructObjectPropertyBool "gtk-alternative-sort-arrows" val

data SettingsGtkAlternativeSortArrowsPropertyInfo
instance AttrInfo SettingsGtkAlternativeSortArrowsPropertyInfo where
    type AttrAllowedOps SettingsGtkAlternativeSortArrowsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkAlternativeSortArrowsPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkAlternativeSortArrowsPropertyInfo = IsSettings
    type AttrGetType SettingsGtkAlternativeSortArrowsPropertyInfo = Bool
    type AttrLabel SettingsGtkAlternativeSortArrowsPropertyInfo = "gtk-alternative-sort-arrows"
    type AttrOrigin SettingsGtkAlternativeSortArrowsPropertyInfo = Settings
    attrGet _ = getSettingsGtkAlternativeSortArrows
    attrSet _ = setSettingsGtkAlternativeSortArrows
    attrConstruct _ = constructSettingsGtkAlternativeSortArrows
    attrClear _ = undefined

-- VVV Prop "gtk-application-prefer-dark-theme"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkApplicationPreferDarkTheme :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkApplicationPreferDarkTheme obj = liftIO $ getObjectPropertyBool obj "gtk-application-prefer-dark-theme"

setSettingsGtkApplicationPreferDarkTheme :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkApplicationPreferDarkTheme obj val = liftIO $ setObjectPropertyBool obj "gtk-application-prefer-dark-theme" val

constructSettingsGtkApplicationPreferDarkTheme :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkApplicationPreferDarkTheme val = constructObjectPropertyBool "gtk-application-prefer-dark-theme" val

data SettingsGtkApplicationPreferDarkThemePropertyInfo
instance AttrInfo SettingsGtkApplicationPreferDarkThemePropertyInfo where
    type AttrAllowedOps SettingsGtkApplicationPreferDarkThemePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkApplicationPreferDarkThemePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkApplicationPreferDarkThemePropertyInfo = IsSettings
    type AttrGetType SettingsGtkApplicationPreferDarkThemePropertyInfo = Bool
    type AttrLabel SettingsGtkApplicationPreferDarkThemePropertyInfo = "gtk-application-prefer-dark-theme"
    type AttrOrigin SettingsGtkApplicationPreferDarkThemePropertyInfo = Settings
    attrGet _ = getSettingsGtkApplicationPreferDarkTheme
    attrSet _ = setSettingsGtkApplicationPreferDarkTheme
    attrConstruct _ = constructSettingsGtkApplicationPreferDarkTheme
    attrClear _ = undefined

-- VVV Prop "gtk-auto-mnemonics"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkAutoMnemonics :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkAutoMnemonics obj = liftIO $ getObjectPropertyBool obj "gtk-auto-mnemonics"

setSettingsGtkAutoMnemonics :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkAutoMnemonics obj val = liftIO $ setObjectPropertyBool obj "gtk-auto-mnemonics" val

constructSettingsGtkAutoMnemonics :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkAutoMnemonics val = constructObjectPropertyBool "gtk-auto-mnemonics" val

data SettingsGtkAutoMnemonicsPropertyInfo
instance AttrInfo SettingsGtkAutoMnemonicsPropertyInfo where
    type AttrAllowedOps SettingsGtkAutoMnemonicsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkAutoMnemonicsPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkAutoMnemonicsPropertyInfo = IsSettings
    type AttrGetType SettingsGtkAutoMnemonicsPropertyInfo = Bool
    type AttrLabel SettingsGtkAutoMnemonicsPropertyInfo = "gtk-auto-mnemonics"
    type AttrOrigin SettingsGtkAutoMnemonicsPropertyInfo = Settings
    attrGet _ = getSettingsGtkAutoMnemonics
    attrSet _ = setSettingsGtkAutoMnemonics
    attrConstruct _ = constructSettingsGtkAutoMnemonics
    attrClear _ = undefined

-- VVV Prop "gtk-button-images"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkButtonImages :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkButtonImages obj = liftIO $ getObjectPropertyBool obj "gtk-button-images"

setSettingsGtkButtonImages :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkButtonImages obj val = liftIO $ setObjectPropertyBool obj "gtk-button-images" val

constructSettingsGtkButtonImages :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkButtonImages val = constructObjectPropertyBool "gtk-button-images" val

data SettingsGtkButtonImagesPropertyInfo
instance AttrInfo SettingsGtkButtonImagesPropertyInfo where
    type AttrAllowedOps SettingsGtkButtonImagesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkButtonImagesPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkButtonImagesPropertyInfo = IsSettings
    type AttrGetType SettingsGtkButtonImagesPropertyInfo = Bool
    type AttrLabel SettingsGtkButtonImagesPropertyInfo = "gtk-button-images"
    type AttrOrigin SettingsGtkButtonImagesPropertyInfo = Settings
    attrGet _ = getSettingsGtkButtonImages
    attrSet _ = setSettingsGtkButtonImages
    attrConstruct _ = constructSettingsGtkButtonImages
    attrClear _ = undefined

-- VVV Prop "gtk-can-change-accels"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkCanChangeAccels :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkCanChangeAccels obj = liftIO $ getObjectPropertyBool obj "gtk-can-change-accels"

setSettingsGtkCanChangeAccels :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkCanChangeAccels obj val = liftIO $ setObjectPropertyBool obj "gtk-can-change-accels" val

constructSettingsGtkCanChangeAccels :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkCanChangeAccels val = constructObjectPropertyBool "gtk-can-change-accels" val

data SettingsGtkCanChangeAccelsPropertyInfo
instance AttrInfo SettingsGtkCanChangeAccelsPropertyInfo where
    type AttrAllowedOps SettingsGtkCanChangeAccelsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkCanChangeAccelsPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkCanChangeAccelsPropertyInfo = IsSettings
    type AttrGetType SettingsGtkCanChangeAccelsPropertyInfo = Bool
    type AttrLabel SettingsGtkCanChangeAccelsPropertyInfo = "gtk-can-change-accels"
    type AttrOrigin SettingsGtkCanChangeAccelsPropertyInfo = Settings
    attrGet _ = getSettingsGtkCanChangeAccels
    attrSet _ = setSettingsGtkCanChangeAccels
    attrConstruct _ = constructSettingsGtkCanChangeAccels
    attrClear _ = undefined

-- VVV Prop "gtk-color-palette"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkColorPalette :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkColorPalette obj = liftIO $ getObjectPropertyString obj "gtk-color-palette"

setSettingsGtkColorPalette :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkColorPalette obj val = liftIO $ setObjectPropertyString obj "gtk-color-palette" (Just val)

constructSettingsGtkColorPalette :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkColorPalette val = constructObjectPropertyString "gtk-color-palette" (Just val)

clearSettingsGtkColorPalette :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkColorPalette obj = liftIO $ setObjectPropertyString obj "gtk-color-palette" (Nothing :: Maybe T.Text)

data SettingsGtkColorPalettePropertyInfo
instance AttrInfo SettingsGtkColorPalettePropertyInfo where
    type AttrAllowedOps SettingsGtkColorPalettePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkColorPalettePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkColorPalettePropertyInfo = IsSettings
    type AttrGetType SettingsGtkColorPalettePropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkColorPalettePropertyInfo = "gtk-color-palette"
    type AttrOrigin SettingsGtkColorPalettePropertyInfo = Settings
    attrGet _ = getSettingsGtkColorPalette
    attrSet _ = setSettingsGtkColorPalette
    attrConstruct _ = constructSettingsGtkColorPalette
    attrClear _ = clearSettingsGtkColorPalette

-- VVV Prop "gtk-color-scheme"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkColorScheme :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkColorScheme obj = liftIO $ getObjectPropertyString obj "gtk-color-scheme"

setSettingsGtkColorScheme :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkColorScheme obj val = liftIO $ setObjectPropertyString obj "gtk-color-scheme" (Just val)

constructSettingsGtkColorScheme :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkColorScheme val = constructObjectPropertyString "gtk-color-scheme" (Just val)

clearSettingsGtkColorScheme :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkColorScheme obj = liftIO $ setObjectPropertyString obj "gtk-color-scheme" (Nothing :: Maybe T.Text)

data SettingsGtkColorSchemePropertyInfo
instance AttrInfo SettingsGtkColorSchemePropertyInfo where
    type AttrAllowedOps SettingsGtkColorSchemePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkColorSchemePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkColorSchemePropertyInfo = IsSettings
    type AttrGetType SettingsGtkColorSchemePropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkColorSchemePropertyInfo = "gtk-color-scheme"
    type AttrOrigin SettingsGtkColorSchemePropertyInfo = Settings
    attrGet _ = getSettingsGtkColorScheme
    attrSet _ = setSettingsGtkColorScheme
    attrConstruct _ = constructSettingsGtkColorScheme
    attrClear _ = clearSettingsGtkColorScheme

-- VVV Prop "gtk-cursor-blink"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkCursorBlink :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkCursorBlink obj = liftIO $ getObjectPropertyBool obj "gtk-cursor-blink"

setSettingsGtkCursorBlink :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkCursorBlink obj val = liftIO $ setObjectPropertyBool obj "gtk-cursor-blink" val

constructSettingsGtkCursorBlink :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkCursorBlink val = constructObjectPropertyBool "gtk-cursor-blink" val

data SettingsGtkCursorBlinkPropertyInfo
instance AttrInfo SettingsGtkCursorBlinkPropertyInfo where
    type AttrAllowedOps SettingsGtkCursorBlinkPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkCursorBlinkPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkCursorBlinkPropertyInfo = IsSettings
    type AttrGetType SettingsGtkCursorBlinkPropertyInfo = Bool
    type AttrLabel SettingsGtkCursorBlinkPropertyInfo = "gtk-cursor-blink"
    type AttrOrigin SettingsGtkCursorBlinkPropertyInfo = Settings
    attrGet _ = getSettingsGtkCursorBlink
    attrSet _ = setSettingsGtkCursorBlink
    attrConstruct _ = constructSettingsGtkCursorBlink
    attrClear _ = undefined

-- VVV Prop "gtk-cursor-blink-time"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkCursorBlinkTime :: (MonadIO m, IsSettings o) => o -> m Int32
getSettingsGtkCursorBlinkTime obj = liftIO $ getObjectPropertyInt32 obj "gtk-cursor-blink-time"

setSettingsGtkCursorBlinkTime :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
setSettingsGtkCursorBlinkTime obj val = liftIO $ setObjectPropertyInt32 obj "gtk-cursor-blink-time" val

constructSettingsGtkCursorBlinkTime :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
constructSettingsGtkCursorBlinkTime val = constructObjectPropertyInt32 "gtk-cursor-blink-time" val

data SettingsGtkCursorBlinkTimePropertyInfo
instance AttrInfo SettingsGtkCursorBlinkTimePropertyInfo where
    type AttrAllowedOps SettingsGtkCursorBlinkTimePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkCursorBlinkTimePropertyInfo = (~) Int32
    type AttrBaseTypeConstraint SettingsGtkCursorBlinkTimePropertyInfo = IsSettings
    type AttrGetType SettingsGtkCursorBlinkTimePropertyInfo = Int32
    type AttrLabel SettingsGtkCursorBlinkTimePropertyInfo = "gtk-cursor-blink-time"
    type AttrOrigin SettingsGtkCursorBlinkTimePropertyInfo = Settings
    attrGet _ = getSettingsGtkCursorBlinkTime
    attrSet _ = setSettingsGtkCursorBlinkTime
    attrConstruct _ = constructSettingsGtkCursorBlinkTime
    attrClear _ = undefined

-- VVV Prop "gtk-cursor-blink-timeout"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkCursorBlinkTimeout :: (MonadIO m, IsSettings o) => o -> m Int32
getSettingsGtkCursorBlinkTimeout obj = liftIO $ getObjectPropertyInt32 obj "gtk-cursor-blink-timeout"

setSettingsGtkCursorBlinkTimeout :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
setSettingsGtkCursorBlinkTimeout obj val = liftIO $ setObjectPropertyInt32 obj "gtk-cursor-blink-timeout" val

constructSettingsGtkCursorBlinkTimeout :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
constructSettingsGtkCursorBlinkTimeout val = constructObjectPropertyInt32 "gtk-cursor-blink-timeout" val

data SettingsGtkCursorBlinkTimeoutPropertyInfo
instance AttrInfo SettingsGtkCursorBlinkTimeoutPropertyInfo where
    type AttrAllowedOps SettingsGtkCursorBlinkTimeoutPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkCursorBlinkTimeoutPropertyInfo = (~) Int32
    type AttrBaseTypeConstraint SettingsGtkCursorBlinkTimeoutPropertyInfo = IsSettings
    type AttrGetType SettingsGtkCursorBlinkTimeoutPropertyInfo = Int32
    type AttrLabel SettingsGtkCursorBlinkTimeoutPropertyInfo = "gtk-cursor-blink-timeout"
    type AttrOrigin SettingsGtkCursorBlinkTimeoutPropertyInfo = Settings
    attrGet _ = getSettingsGtkCursorBlinkTimeout
    attrSet _ = setSettingsGtkCursorBlinkTimeout
    attrConstruct _ = constructSettingsGtkCursorBlinkTimeout
    attrClear _ = undefined

-- VVV Prop "gtk-cursor-theme-name"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkCursorThemeName :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkCursorThemeName obj = liftIO $ getObjectPropertyString obj "gtk-cursor-theme-name"

setSettingsGtkCursorThemeName :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkCursorThemeName obj val = liftIO $ setObjectPropertyString obj "gtk-cursor-theme-name" (Just val)

constructSettingsGtkCursorThemeName :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkCursorThemeName val = constructObjectPropertyString "gtk-cursor-theme-name" (Just val)

clearSettingsGtkCursorThemeName :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkCursorThemeName obj = liftIO $ setObjectPropertyString obj "gtk-cursor-theme-name" (Nothing :: Maybe T.Text)

data SettingsGtkCursorThemeNamePropertyInfo
instance AttrInfo SettingsGtkCursorThemeNamePropertyInfo where
    type AttrAllowedOps SettingsGtkCursorThemeNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkCursorThemeNamePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkCursorThemeNamePropertyInfo = IsSettings
    type AttrGetType SettingsGtkCursorThemeNamePropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkCursorThemeNamePropertyInfo = "gtk-cursor-theme-name"
    type AttrOrigin SettingsGtkCursorThemeNamePropertyInfo = Settings
    attrGet _ = getSettingsGtkCursorThemeName
    attrSet _ = setSettingsGtkCursorThemeName
    attrConstruct _ = constructSettingsGtkCursorThemeName
    attrClear _ = clearSettingsGtkCursorThemeName

-- VVV Prop "gtk-cursor-theme-size"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkCursorThemeSize :: (MonadIO m, IsSettings o) => o -> m Int32
getSettingsGtkCursorThemeSize obj = liftIO $ getObjectPropertyInt32 obj "gtk-cursor-theme-size"

setSettingsGtkCursorThemeSize :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
setSettingsGtkCursorThemeSize obj val = liftIO $ setObjectPropertyInt32 obj "gtk-cursor-theme-size" val

constructSettingsGtkCursorThemeSize :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
constructSettingsGtkCursorThemeSize val = constructObjectPropertyInt32 "gtk-cursor-theme-size" val

data SettingsGtkCursorThemeSizePropertyInfo
instance AttrInfo SettingsGtkCursorThemeSizePropertyInfo where
    type AttrAllowedOps SettingsGtkCursorThemeSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkCursorThemeSizePropertyInfo = (~) Int32
    type AttrBaseTypeConstraint SettingsGtkCursorThemeSizePropertyInfo = IsSettings
    type AttrGetType SettingsGtkCursorThemeSizePropertyInfo = Int32
    type AttrLabel SettingsGtkCursorThemeSizePropertyInfo = "gtk-cursor-theme-size"
    type AttrOrigin SettingsGtkCursorThemeSizePropertyInfo = Settings
    attrGet _ = getSettingsGtkCursorThemeSize
    attrSet _ = setSettingsGtkCursorThemeSize
    attrConstruct _ = constructSettingsGtkCursorThemeSize
    attrClear _ = undefined

-- VVV Prop "gtk-decoration-layout"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkDecorationLayout :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkDecorationLayout obj = liftIO $ getObjectPropertyString obj "gtk-decoration-layout"

setSettingsGtkDecorationLayout :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkDecorationLayout obj val = liftIO $ setObjectPropertyString obj "gtk-decoration-layout" (Just val)

constructSettingsGtkDecorationLayout :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkDecorationLayout val = constructObjectPropertyString "gtk-decoration-layout" (Just val)

clearSettingsGtkDecorationLayout :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkDecorationLayout obj = liftIO $ setObjectPropertyString obj "gtk-decoration-layout" (Nothing :: Maybe T.Text)

data SettingsGtkDecorationLayoutPropertyInfo
instance AttrInfo SettingsGtkDecorationLayoutPropertyInfo where
    type AttrAllowedOps SettingsGtkDecorationLayoutPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkDecorationLayoutPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkDecorationLayoutPropertyInfo = IsSettings
    type AttrGetType SettingsGtkDecorationLayoutPropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkDecorationLayoutPropertyInfo = "gtk-decoration-layout"
    type AttrOrigin SettingsGtkDecorationLayoutPropertyInfo = Settings
    attrGet _ = getSettingsGtkDecorationLayout
    attrSet _ = setSettingsGtkDecorationLayout
    attrConstruct _ = constructSettingsGtkDecorationLayout
    attrClear _ = clearSettingsGtkDecorationLayout

-- VVV Prop "gtk-dialogs-use-header"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkDialogsUseHeader :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkDialogsUseHeader obj = liftIO $ getObjectPropertyBool obj "gtk-dialogs-use-header"

setSettingsGtkDialogsUseHeader :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkDialogsUseHeader obj val = liftIO $ setObjectPropertyBool obj "gtk-dialogs-use-header" val

constructSettingsGtkDialogsUseHeader :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkDialogsUseHeader val = constructObjectPropertyBool "gtk-dialogs-use-header" val

data SettingsGtkDialogsUseHeaderPropertyInfo
instance AttrInfo SettingsGtkDialogsUseHeaderPropertyInfo where
    type AttrAllowedOps SettingsGtkDialogsUseHeaderPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkDialogsUseHeaderPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkDialogsUseHeaderPropertyInfo = IsSettings
    type AttrGetType SettingsGtkDialogsUseHeaderPropertyInfo = Bool
    type AttrLabel SettingsGtkDialogsUseHeaderPropertyInfo = "gtk-dialogs-use-header"
    type AttrOrigin SettingsGtkDialogsUseHeaderPropertyInfo = Settings
    attrGet _ = getSettingsGtkDialogsUseHeader
    attrSet _ = setSettingsGtkDialogsUseHeader
    attrConstruct _ = constructSettingsGtkDialogsUseHeader
    attrClear _ = undefined

-- VVV Prop "gtk-dnd-drag-threshold"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkDndDragThreshold :: (MonadIO m, IsSettings o) => o -> m Int32
getSettingsGtkDndDragThreshold obj = liftIO $ getObjectPropertyInt32 obj "gtk-dnd-drag-threshold"

setSettingsGtkDndDragThreshold :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
setSettingsGtkDndDragThreshold obj val = liftIO $ setObjectPropertyInt32 obj "gtk-dnd-drag-threshold" val

constructSettingsGtkDndDragThreshold :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
constructSettingsGtkDndDragThreshold val = constructObjectPropertyInt32 "gtk-dnd-drag-threshold" val

data SettingsGtkDndDragThresholdPropertyInfo
instance AttrInfo SettingsGtkDndDragThresholdPropertyInfo where
    type AttrAllowedOps SettingsGtkDndDragThresholdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkDndDragThresholdPropertyInfo = (~) Int32
    type AttrBaseTypeConstraint SettingsGtkDndDragThresholdPropertyInfo = IsSettings
    type AttrGetType SettingsGtkDndDragThresholdPropertyInfo = Int32
    type AttrLabel SettingsGtkDndDragThresholdPropertyInfo = "gtk-dnd-drag-threshold"
    type AttrOrigin SettingsGtkDndDragThresholdPropertyInfo = Settings
    attrGet _ = getSettingsGtkDndDragThreshold
    attrSet _ = setSettingsGtkDndDragThreshold
    attrConstruct _ = constructSettingsGtkDndDragThreshold
    attrClear _ = undefined

-- VVV Prop "gtk-double-click-distance"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkDoubleClickDistance :: (MonadIO m, IsSettings o) => o -> m Int32
getSettingsGtkDoubleClickDistance obj = liftIO $ getObjectPropertyInt32 obj "gtk-double-click-distance"

setSettingsGtkDoubleClickDistance :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
setSettingsGtkDoubleClickDistance obj val = liftIO $ setObjectPropertyInt32 obj "gtk-double-click-distance" val

constructSettingsGtkDoubleClickDistance :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
constructSettingsGtkDoubleClickDistance val = constructObjectPropertyInt32 "gtk-double-click-distance" val

data SettingsGtkDoubleClickDistancePropertyInfo
instance AttrInfo SettingsGtkDoubleClickDistancePropertyInfo where
    type AttrAllowedOps SettingsGtkDoubleClickDistancePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkDoubleClickDistancePropertyInfo = (~) Int32
    type AttrBaseTypeConstraint SettingsGtkDoubleClickDistancePropertyInfo = IsSettings
    type AttrGetType SettingsGtkDoubleClickDistancePropertyInfo = Int32
    type AttrLabel SettingsGtkDoubleClickDistancePropertyInfo = "gtk-double-click-distance"
    type AttrOrigin SettingsGtkDoubleClickDistancePropertyInfo = Settings
    attrGet _ = getSettingsGtkDoubleClickDistance
    attrSet _ = setSettingsGtkDoubleClickDistance
    attrConstruct _ = constructSettingsGtkDoubleClickDistance
    attrClear _ = undefined

-- VVV Prop "gtk-double-click-time"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkDoubleClickTime :: (MonadIO m, IsSettings o) => o -> m Int32
getSettingsGtkDoubleClickTime obj = liftIO $ getObjectPropertyInt32 obj "gtk-double-click-time"

setSettingsGtkDoubleClickTime :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
setSettingsGtkDoubleClickTime obj val = liftIO $ setObjectPropertyInt32 obj "gtk-double-click-time" val

constructSettingsGtkDoubleClickTime :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
constructSettingsGtkDoubleClickTime val = constructObjectPropertyInt32 "gtk-double-click-time" val

data SettingsGtkDoubleClickTimePropertyInfo
instance AttrInfo SettingsGtkDoubleClickTimePropertyInfo where
    type AttrAllowedOps SettingsGtkDoubleClickTimePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkDoubleClickTimePropertyInfo = (~) Int32
    type AttrBaseTypeConstraint SettingsGtkDoubleClickTimePropertyInfo = IsSettings
    type AttrGetType SettingsGtkDoubleClickTimePropertyInfo = Int32
    type AttrLabel SettingsGtkDoubleClickTimePropertyInfo = "gtk-double-click-time"
    type AttrOrigin SettingsGtkDoubleClickTimePropertyInfo = Settings
    attrGet _ = getSettingsGtkDoubleClickTime
    attrSet _ = setSettingsGtkDoubleClickTime
    attrConstruct _ = constructSettingsGtkDoubleClickTime
    attrClear _ = undefined

-- VVV Prop "gtk-enable-accels"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkEnableAccels :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkEnableAccels obj = liftIO $ getObjectPropertyBool obj "gtk-enable-accels"

setSettingsGtkEnableAccels :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkEnableAccels obj val = liftIO $ setObjectPropertyBool obj "gtk-enable-accels" val

constructSettingsGtkEnableAccels :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkEnableAccels val = constructObjectPropertyBool "gtk-enable-accels" val

data SettingsGtkEnableAccelsPropertyInfo
instance AttrInfo SettingsGtkEnableAccelsPropertyInfo where
    type AttrAllowedOps SettingsGtkEnableAccelsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkEnableAccelsPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkEnableAccelsPropertyInfo = IsSettings
    type AttrGetType SettingsGtkEnableAccelsPropertyInfo = Bool
    type AttrLabel SettingsGtkEnableAccelsPropertyInfo = "gtk-enable-accels"
    type AttrOrigin SettingsGtkEnableAccelsPropertyInfo = Settings
    attrGet _ = getSettingsGtkEnableAccels
    attrSet _ = setSettingsGtkEnableAccels
    attrConstruct _ = constructSettingsGtkEnableAccels
    attrClear _ = undefined

-- VVV Prop "gtk-enable-animations"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkEnableAnimations :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkEnableAnimations obj = liftIO $ getObjectPropertyBool obj "gtk-enable-animations"

setSettingsGtkEnableAnimations :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkEnableAnimations obj val = liftIO $ setObjectPropertyBool obj "gtk-enable-animations" val

constructSettingsGtkEnableAnimations :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkEnableAnimations val = constructObjectPropertyBool "gtk-enable-animations" val

data SettingsGtkEnableAnimationsPropertyInfo
instance AttrInfo SettingsGtkEnableAnimationsPropertyInfo where
    type AttrAllowedOps SettingsGtkEnableAnimationsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkEnableAnimationsPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkEnableAnimationsPropertyInfo = IsSettings
    type AttrGetType SettingsGtkEnableAnimationsPropertyInfo = Bool
    type AttrLabel SettingsGtkEnableAnimationsPropertyInfo = "gtk-enable-animations"
    type AttrOrigin SettingsGtkEnableAnimationsPropertyInfo = Settings
    attrGet _ = getSettingsGtkEnableAnimations
    attrSet _ = setSettingsGtkEnableAnimations
    attrConstruct _ = constructSettingsGtkEnableAnimations
    attrClear _ = undefined

-- VVV Prop "gtk-enable-event-sounds"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkEnableEventSounds :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkEnableEventSounds obj = liftIO $ getObjectPropertyBool obj "gtk-enable-event-sounds"

setSettingsGtkEnableEventSounds :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkEnableEventSounds obj val = liftIO $ setObjectPropertyBool obj "gtk-enable-event-sounds" val

constructSettingsGtkEnableEventSounds :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkEnableEventSounds val = constructObjectPropertyBool "gtk-enable-event-sounds" val

data SettingsGtkEnableEventSoundsPropertyInfo
instance AttrInfo SettingsGtkEnableEventSoundsPropertyInfo where
    type AttrAllowedOps SettingsGtkEnableEventSoundsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkEnableEventSoundsPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkEnableEventSoundsPropertyInfo = IsSettings
    type AttrGetType SettingsGtkEnableEventSoundsPropertyInfo = Bool
    type AttrLabel SettingsGtkEnableEventSoundsPropertyInfo = "gtk-enable-event-sounds"
    type AttrOrigin SettingsGtkEnableEventSoundsPropertyInfo = Settings
    attrGet _ = getSettingsGtkEnableEventSounds
    attrSet _ = setSettingsGtkEnableEventSounds
    attrConstruct _ = constructSettingsGtkEnableEventSounds
    attrClear _ = undefined

-- VVV Prop "gtk-enable-input-feedback-sounds"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkEnableInputFeedbackSounds :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkEnableInputFeedbackSounds obj = liftIO $ getObjectPropertyBool obj "gtk-enable-input-feedback-sounds"

setSettingsGtkEnableInputFeedbackSounds :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkEnableInputFeedbackSounds obj val = liftIO $ setObjectPropertyBool obj "gtk-enable-input-feedback-sounds" val

constructSettingsGtkEnableInputFeedbackSounds :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkEnableInputFeedbackSounds val = constructObjectPropertyBool "gtk-enable-input-feedback-sounds" val

data SettingsGtkEnableInputFeedbackSoundsPropertyInfo
instance AttrInfo SettingsGtkEnableInputFeedbackSoundsPropertyInfo where
    type AttrAllowedOps SettingsGtkEnableInputFeedbackSoundsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkEnableInputFeedbackSoundsPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkEnableInputFeedbackSoundsPropertyInfo = IsSettings
    type AttrGetType SettingsGtkEnableInputFeedbackSoundsPropertyInfo = Bool
    type AttrLabel SettingsGtkEnableInputFeedbackSoundsPropertyInfo = "gtk-enable-input-feedback-sounds"
    type AttrOrigin SettingsGtkEnableInputFeedbackSoundsPropertyInfo = Settings
    attrGet _ = getSettingsGtkEnableInputFeedbackSounds
    attrSet _ = setSettingsGtkEnableInputFeedbackSounds
    attrConstruct _ = constructSettingsGtkEnableInputFeedbackSounds
    attrClear _ = undefined

-- VVV Prop "gtk-enable-mnemonics"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkEnableMnemonics :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkEnableMnemonics obj = liftIO $ getObjectPropertyBool obj "gtk-enable-mnemonics"

setSettingsGtkEnableMnemonics :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkEnableMnemonics obj val = liftIO $ setObjectPropertyBool obj "gtk-enable-mnemonics" val

constructSettingsGtkEnableMnemonics :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkEnableMnemonics val = constructObjectPropertyBool "gtk-enable-mnemonics" val

data SettingsGtkEnableMnemonicsPropertyInfo
instance AttrInfo SettingsGtkEnableMnemonicsPropertyInfo where
    type AttrAllowedOps SettingsGtkEnableMnemonicsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkEnableMnemonicsPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkEnableMnemonicsPropertyInfo = IsSettings
    type AttrGetType SettingsGtkEnableMnemonicsPropertyInfo = Bool
    type AttrLabel SettingsGtkEnableMnemonicsPropertyInfo = "gtk-enable-mnemonics"
    type AttrOrigin SettingsGtkEnableMnemonicsPropertyInfo = Settings
    attrGet _ = getSettingsGtkEnableMnemonics
    attrSet _ = setSettingsGtkEnableMnemonics
    attrConstruct _ = constructSettingsGtkEnableMnemonics
    attrClear _ = undefined

-- VVV Prop "gtk-enable-primary-paste"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkEnablePrimaryPaste :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkEnablePrimaryPaste obj = liftIO $ getObjectPropertyBool obj "gtk-enable-primary-paste"

setSettingsGtkEnablePrimaryPaste :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkEnablePrimaryPaste obj val = liftIO $ setObjectPropertyBool obj "gtk-enable-primary-paste" val

constructSettingsGtkEnablePrimaryPaste :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkEnablePrimaryPaste val = constructObjectPropertyBool "gtk-enable-primary-paste" val

data SettingsGtkEnablePrimaryPastePropertyInfo
instance AttrInfo SettingsGtkEnablePrimaryPastePropertyInfo where
    type AttrAllowedOps SettingsGtkEnablePrimaryPastePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkEnablePrimaryPastePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkEnablePrimaryPastePropertyInfo = IsSettings
    type AttrGetType SettingsGtkEnablePrimaryPastePropertyInfo = Bool
    type AttrLabel SettingsGtkEnablePrimaryPastePropertyInfo = "gtk-enable-primary-paste"
    type AttrOrigin SettingsGtkEnablePrimaryPastePropertyInfo = Settings
    attrGet _ = getSettingsGtkEnablePrimaryPaste
    attrSet _ = setSettingsGtkEnablePrimaryPaste
    attrConstruct _ = constructSettingsGtkEnablePrimaryPaste
    attrClear _ = undefined

-- VVV Prop "gtk-enable-tooltips"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkEnableTooltips :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkEnableTooltips obj = liftIO $ getObjectPropertyBool obj "gtk-enable-tooltips"

setSettingsGtkEnableTooltips :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkEnableTooltips obj val = liftIO $ setObjectPropertyBool obj "gtk-enable-tooltips" val

constructSettingsGtkEnableTooltips :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkEnableTooltips val = constructObjectPropertyBool "gtk-enable-tooltips" val

data SettingsGtkEnableTooltipsPropertyInfo
instance AttrInfo SettingsGtkEnableTooltipsPropertyInfo where
    type AttrAllowedOps SettingsGtkEnableTooltipsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkEnableTooltipsPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkEnableTooltipsPropertyInfo = IsSettings
    type AttrGetType SettingsGtkEnableTooltipsPropertyInfo = Bool
    type AttrLabel SettingsGtkEnableTooltipsPropertyInfo = "gtk-enable-tooltips"
    type AttrOrigin SettingsGtkEnableTooltipsPropertyInfo = Settings
    attrGet _ = getSettingsGtkEnableTooltips
    attrSet _ = setSettingsGtkEnableTooltips
    attrConstruct _ = constructSettingsGtkEnableTooltips
    attrClear _ = undefined

-- VVV Prop "gtk-entry-password-hint-timeout"
   -- Type: TBasicType TUInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkEntryPasswordHintTimeout :: (MonadIO m, IsSettings o) => o -> m Word32
getSettingsGtkEntryPasswordHintTimeout obj = liftIO $ getObjectPropertyUInt32 obj "gtk-entry-password-hint-timeout"

setSettingsGtkEntryPasswordHintTimeout :: (MonadIO m, IsSettings o) => o -> Word32 -> m ()
setSettingsGtkEntryPasswordHintTimeout obj val = liftIO $ setObjectPropertyUInt32 obj "gtk-entry-password-hint-timeout" val

constructSettingsGtkEntryPasswordHintTimeout :: (IsSettings o) => Word32 -> IO (GValueConstruct o)
constructSettingsGtkEntryPasswordHintTimeout val = constructObjectPropertyUInt32 "gtk-entry-password-hint-timeout" val

data SettingsGtkEntryPasswordHintTimeoutPropertyInfo
instance AttrInfo SettingsGtkEntryPasswordHintTimeoutPropertyInfo where
    type AttrAllowedOps SettingsGtkEntryPasswordHintTimeoutPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkEntryPasswordHintTimeoutPropertyInfo = (~) Word32
    type AttrBaseTypeConstraint SettingsGtkEntryPasswordHintTimeoutPropertyInfo = IsSettings
    type AttrGetType SettingsGtkEntryPasswordHintTimeoutPropertyInfo = Word32
    type AttrLabel SettingsGtkEntryPasswordHintTimeoutPropertyInfo = "gtk-entry-password-hint-timeout"
    type AttrOrigin SettingsGtkEntryPasswordHintTimeoutPropertyInfo = Settings
    attrGet _ = getSettingsGtkEntryPasswordHintTimeout
    attrSet _ = setSettingsGtkEntryPasswordHintTimeout
    attrConstruct _ = constructSettingsGtkEntryPasswordHintTimeout
    attrClear _ = undefined

-- VVV Prop "gtk-entry-select-on-focus"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkEntrySelectOnFocus :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkEntrySelectOnFocus obj = liftIO $ getObjectPropertyBool obj "gtk-entry-select-on-focus"

setSettingsGtkEntrySelectOnFocus :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkEntrySelectOnFocus obj val = liftIO $ setObjectPropertyBool obj "gtk-entry-select-on-focus" val

constructSettingsGtkEntrySelectOnFocus :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkEntrySelectOnFocus val = constructObjectPropertyBool "gtk-entry-select-on-focus" val

data SettingsGtkEntrySelectOnFocusPropertyInfo
instance AttrInfo SettingsGtkEntrySelectOnFocusPropertyInfo where
    type AttrAllowedOps SettingsGtkEntrySelectOnFocusPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkEntrySelectOnFocusPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkEntrySelectOnFocusPropertyInfo = IsSettings
    type AttrGetType SettingsGtkEntrySelectOnFocusPropertyInfo = Bool
    type AttrLabel SettingsGtkEntrySelectOnFocusPropertyInfo = "gtk-entry-select-on-focus"
    type AttrOrigin SettingsGtkEntrySelectOnFocusPropertyInfo = Settings
    attrGet _ = getSettingsGtkEntrySelectOnFocus
    attrSet _ = setSettingsGtkEntrySelectOnFocus
    attrConstruct _ = constructSettingsGtkEntrySelectOnFocus
    attrClear _ = undefined

-- VVV Prop "gtk-error-bell"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkErrorBell :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkErrorBell obj = liftIO $ getObjectPropertyBool obj "gtk-error-bell"

setSettingsGtkErrorBell :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkErrorBell obj val = liftIO $ setObjectPropertyBool obj "gtk-error-bell" val

constructSettingsGtkErrorBell :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkErrorBell val = constructObjectPropertyBool "gtk-error-bell" val

data SettingsGtkErrorBellPropertyInfo
instance AttrInfo SettingsGtkErrorBellPropertyInfo where
    type AttrAllowedOps SettingsGtkErrorBellPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkErrorBellPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkErrorBellPropertyInfo = IsSettings
    type AttrGetType SettingsGtkErrorBellPropertyInfo = Bool
    type AttrLabel SettingsGtkErrorBellPropertyInfo = "gtk-error-bell"
    type AttrOrigin SettingsGtkErrorBellPropertyInfo = Settings
    attrGet _ = getSettingsGtkErrorBell
    attrSet _ = setSettingsGtkErrorBell
    attrConstruct _ = constructSettingsGtkErrorBell
    attrClear _ = undefined

-- VVV Prop "gtk-fallback-icon-theme"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkFallbackIconTheme :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkFallbackIconTheme obj = liftIO $ getObjectPropertyString obj "gtk-fallback-icon-theme"

setSettingsGtkFallbackIconTheme :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkFallbackIconTheme obj val = liftIO $ setObjectPropertyString obj "gtk-fallback-icon-theme" (Just val)

constructSettingsGtkFallbackIconTheme :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkFallbackIconTheme val = constructObjectPropertyString "gtk-fallback-icon-theme" (Just val)

clearSettingsGtkFallbackIconTheme :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkFallbackIconTheme obj = liftIO $ setObjectPropertyString obj "gtk-fallback-icon-theme" (Nothing :: Maybe T.Text)

data SettingsGtkFallbackIconThemePropertyInfo
instance AttrInfo SettingsGtkFallbackIconThemePropertyInfo where
    type AttrAllowedOps SettingsGtkFallbackIconThemePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkFallbackIconThemePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkFallbackIconThemePropertyInfo = IsSettings
    type AttrGetType SettingsGtkFallbackIconThemePropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkFallbackIconThemePropertyInfo = "gtk-fallback-icon-theme"
    type AttrOrigin SettingsGtkFallbackIconThemePropertyInfo = Settings
    attrGet _ = getSettingsGtkFallbackIconTheme
    attrSet _ = setSettingsGtkFallbackIconTheme
    attrConstruct _ = constructSettingsGtkFallbackIconTheme
    attrClear _ = clearSettingsGtkFallbackIconTheme

-- VVV Prop "gtk-file-chooser-backend"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkFileChooserBackend :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkFileChooserBackend obj = liftIO $ getObjectPropertyString obj "gtk-file-chooser-backend"

setSettingsGtkFileChooserBackend :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkFileChooserBackend obj val = liftIO $ setObjectPropertyString obj "gtk-file-chooser-backend" (Just val)

constructSettingsGtkFileChooserBackend :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkFileChooserBackend val = constructObjectPropertyString "gtk-file-chooser-backend" (Just val)

clearSettingsGtkFileChooserBackend :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkFileChooserBackend obj = liftIO $ setObjectPropertyString obj "gtk-file-chooser-backend" (Nothing :: Maybe T.Text)

data SettingsGtkFileChooserBackendPropertyInfo
instance AttrInfo SettingsGtkFileChooserBackendPropertyInfo where
    type AttrAllowedOps SettingsGtkFileChooserBackendPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkFileChooserBackendPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkFileChooserBackendPropertyInfo = IsSettings
    type AttrGetType SettingsGtkFileChooserBackendPropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkFileChooserBackendPropertyInfo = "gtk-file-chooser-backend"
    type AttrOrigin SettingsGtkFileChooserBackendPropertyInfo = Settings
    attrGet _ = getSettingsGtkFileChooserBackend
    attrSet _ = setSettingsGtkFileChooserBackend
    attrConstruct _ = constructSettingsGtkFileChooserBackend
    attrClear _ = clearSettingsGtkFileChooserBackend

-- VVV Prop "gtk-font-name"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkFontName :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkFontName obj = liftIO $ getObjectPropertyString obj "gtk-font-name"

setSettingsGtkFontName :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkFontName obj val = liftIO $ setObjectPropertyString obj "gtk-font-name" (Just val)

constructSettingsGtkFontName :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkFontName val = constructObjectPropertyString "gtk-font-name" (Just val)

clearSettingsGtkFontName :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkFontName obj = liftIO $ setObjectPropertyString obj "gtk-font-name" (Nothing :: Maybe T.Text)

data SettingsGtkFontNamePropertyInfo
instance AttrInfo SettingsGtkFontNamePropertyInfo where
    type AttrAllowedOps SettingsGtkFontNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkFontNamePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkFontNamePropertyInfo = IsSettings
    type AttrGetType SettingsGtkFontNamePropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkFontNamePropertyInfo = "gtk-font-name"
    type AttrOrigin SettingsGtkFontNamePropertyInfo = Settings
    attrGet _ = getSettingsGtkFontName
    attrSet _ = setSettingsGtkFontName
    attrConstruct _ = constructSettingsGtkFontName
    attrClear _ = clearSettingsGtkFontName

-- VVV Prop "gtk-fontconfig-timestamp"
   -- Type: TBasicType TUInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkFontconfigTimestamp :: (MonadIO m, IsSettings o) => o -> m Word32
getSettingsGtkFontconfigTimestamp obj = liftIO $ getObjectPropertyUInt32 obj "gtk-fontconfig-timestamp"

setSettingsGtkFontconfigTimestamp :: (MonadIO m, IsSettings o) => o -> Word32 -> m ()
setSettingsGtkFontconfigTimestamp obj val = liftIO $ setObjectPropertyUInt32 obj "gtk-fontconfig-timestamp" val

constructSettingsGtkFontconfigTimestamp :: (IsSettings o) => Word32 -> IO (GValueConstruct o)
constructSettingsGtkFontconfigTimestamp val = constructObjectPropertyUInt32 "gtk-fontconfig-timestamp" val

data SettingsGtkFontconfigTimestampPropertyInfo
instance AttrInfo SettingsGtkFontconfigTimestampPropertyInfo where
    type AttrAllowedOps SettingsGtkFontconfigTimestampPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkFontconfigTimestampPropertyInfo = (~) Word32
    type AttrBaseTypeConstraint SettingsGtkFontconfigTimestampPropertyInfo = IsSettings
    type AttrGetType SettingsGtkFontconfigTimestampPropertyInfo = Word32
    type AttrLabel SettingsGtkFontconfigTimestampPropertyInfo = "gtk-fontconfig-timestamp"
    type AttrOrigin SettingsGtkFontconfigTimestampPropertyInfo = Settings
    attrGet _ = getSettingsGtkFontconfigTimestamp
    attrSet _ = setSettingsGtkFontconfigTimestamp
    attrConstruct _ = constructSettingsGtkFontconfigTimestamp
    attrClear _ = undefined

-- VVV Prop "gtk-icon-sizes"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkIconSizes :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkIconSizes obj = liftIO $ getObjectPropertyString obj "gtk-icon-sizes"

setSettingsGtkIconSizes :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkIconSizes obj val = liftIO $ setObjectPropertyString obj "gtk-icon-sizes" (Just val)

constructSettingsGtkIconSizes :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkIconSizes val = constructObjectPropertyString "gtk-icon-sizes" (Just val)

clearSettingsGtkIconSizes :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkIconSizes obj = liftIO $ setObjectPropertyString obj "gtk-icon-sizes" (Nothing :: Maybe T.Text)

data SettingsGtkIconSizesPropertyInfo
instance AttrInfo SettingsGtkIconSizesPropertyInfo where
    type AttrAllowedOps SettingsGtkIconSizesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkIconSizesPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkIconSizesPropertyInfo = IsSettings
    type AttrGetType SettingsGtkIconSizesPropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkIconSizesPropertyInfo = "gtk-icon-sizes"
    type AttrOrigin SettingsGtkIconSizesPropertyInfo = Settings
    attrGet _ = getSettingsGtkIconSizes
    attrSet _ = setSettingsGtkIconSizes
    attrConstruct _ = constructSettingsGtkIconSizes
    attrClear _ = clearSettingsGtkIconSizes

-- VVV Prop "gtk-icon-theme-name"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkIconThemeName :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkIconThemeName obj = liftIO $ getObjectPropertyString obj "gtk-icon-theme-name"

setSettingsGtkIconThemeName :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkIconThemeName obj val = liftIO $ setObjectPropertyString obj "gtk-icon-theme-name" (Just val)

constructSettingsGtkIconThemeName :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkIconThemeName val = constructObjectPropertyString "gtk-icon-theme-name" (Just val)

clearSettingsGtkIconThemeName :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkIconThemeName obj = liftIO $ setObjectPropertyString obj "gtk-icon-theme-name" (Nothing :: Maybe T.Text)

data SettingsGtkIconThemeNamePropertyInfo
instance AttrInfo SettingsGtkIconThemeNamePropertyInfo where
    type AttrAllowedOps SettingsGtkIconThemeNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkIconThemeNamePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkIconThemeNamePropertyInfo = IsSettings
    type AttrGetType SettingsGtkIconThemeNamePropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkIconThemeNamePropertyInfo = "gtk-icon-theme-name"
    type AttrOrigin SettingsGtkIconThemeNamePropertyInfo = Settings
    attrGet _ = getSettingsGtkIconThemeName
    attrSet _ = setSettingsGtkIconThemeName
    attrConstruct _ = constructSettingsGtkIconThemeName
    attrClear _ = clearSettingsGtkIconThemeName

-- VVV Prop "gtk-im-module"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkImModule :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkImModule obj = liftIO $ getObjectPropertyString obj "gtk-im-module"

setSettingsGtkImModule :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkImModule obj val = liftIO $ setObjectPropertyString obj "gtk-im-module" (Just val)

constructSettingsGtkImModule :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkImModule val = constructObjectPropertyString "gtk-im-module" (Just val)

clearSettingsGtkImModule :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkImModule obj = liftIO $ setObjectPropertyString obj "gtk-im-module" (Nothing :: Maybe T.Text)

data SettingsGtkImModulePropertyInfo
instance AttrInfo SettingsGtkImModulePropertyInfo where
    type AttrAllowedOps SettingsGtkImModulePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkImModulePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkImModulePropertyInfo = IsSettings
    type AttrGetType SettingsGtkImModulePropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkImModulePropertyInfo = "gtk-im-module"
    type AttrOrigin SettingsGtkImModulePropertyInfo = Settings
    attrGet _ = getSettingsGtkImModule
    attrSet _ = setSettingsGtkImModule
    attrConstruct _ = constructSettingsGtkImModule
    attrClear _ = clearSettingsGtkImModule

-- VVV Prop "gtk-im-preedit-style"
   -- Type: TInterface (Name {namespace = "Gtk", name = "IMPreeditStyle"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkImPreeditStyle :: (MonadIO m, IsSettings o) => o -> m Gtk.Enums.IMPreeditStyle
getSettingsGtkImPreeditStyle obj = liftIO $ getObjectPropertyEnum obj "gtk-im-preedit-style"

setSettingsGtkImPreeditStyle :: (MonadIO m, IsSettings o) => o -> Gtk.Enums.IMPreeditStyle -> m ()
setSettingsGtkImPreeditStyle obj val = liftIO $ setObjectPropertyEnum obj "gtk-im-preedit-style" val

constructSettingsGtkImPreeditStyle :: (IsSettings o) => Gtk.Enums.IMPreeditStyle -> IO (GValueConstruct o)
constructSettingsGtkImPreeditStyle val = constructObjectPropertyEnum "gtk-im-preedit-style" val

data SettingsGtkImPreeditStylePropertyInfo
instance AttrInfo SettingsGtkImPreeditStylePropertyInfo where
    type AttrAllowedOps SettingsGtkImPreeditStylePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkImPreeditStylePropertyInfo = (~) Gtk.Enums.IMPreeditStyle
    type AttrBaseTypeConstraint SettingsGtkImPreeditStylePropertyInfo = IsSettings
    type AttrGetType SettingsGtkImPreeditStylePropertyInfo = Gtk.Enums.IMPreeditStyle
    type AttrLabel SettingsGtkImPreeditStylePropertyInfo = "gtk-im-preedit-style"
    type AttrOrigin SettingsGtkImPreeditStylePropertyInfo = Settings
    attrGet _ = getSettingsGtkImPreeditStyle
    attrSet _ = setSettingsGtkImPreeditStyle
    attrConstruct _ = constructSettingsGtkImPreeditStyle
    attrClear _ = undefined

-- VVV Prop "gtk-im-status-style"
   -- Type: TInterface (Name {namespace = "Gtk", name = "IMStatusStyle"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkImStatusStyle :: (MonadIO m, IsSettings o) => o -> m Gtk.Enums.IMStatusStyle
getSettingsGtkImStatusStyle obj = liftIO $ getObjectPropertyEnum obj "gtk-im-status-style"

setSettingsGtkImStatusStyle :: (MonadIO m, IsSettings o) => o -> Gtk.Enums.IMStatusStyle -> m ()
setSettingsGtkImStatusStyle obj val = liftIO $ setObjectPropertyEnum obj "gtk-im-status-style" val

constructSettingsGtkImStatusStyle :: (IsSettings o) => Gtk.Enums.IMStatusStyle -> IO (GValueConstruct o)
constructSettingsGtkImStatusStyle val = constructObjectPropertyEnum "gtk-im-status-style" val

data SettingsGtkImStatusStylePropertyInfo
instance AttrInfo SettingsGtkImStatusStylePropertyInfo where
    type AttrAllowedOps SettingsGtkImStatusStylePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkImStatusStylePropertyInfo = (~) Gtk.Enums.IMStatusStyle
    type AttrBaseTypeConstraint SettingsGtkImStatusStylePropertyInfo = IsSettings
    type AttrGetType SettingsGtkImStatusStylePropertyInfo = Gtk.Enums.IMStatusStyle
    type AttrLabel SettingsGtkImStatusStylePropertyInfo = "gtk-im-status-style"
    type AttrOrigin SettingsGtkImStatusStylePropertyInfo = Settings
    attrGet _ = getSettingsGtkImStatusStyle
    attrSet _ = setSettingsGtkImStatusStyle
    attrConstruct _ = constructSettingsGtkImStatusStyle
    attrClear _ = undefined

-- VVV Prop "gtk-key-theme-name"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkKeyThemeName :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkKeyThemeName obj = liftIO $ getObjectPropertyString obj "gtk-key-theme-name"

setSettingsGtkKeyThemeName :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkKeyThemeName obj val = liftIO $ setObjectPropertyString obj "gtk-key-theme-name" (Just val)

constructSettingsGtkKeyThemeName :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkKeyThemeName val = constructObjectPropertyString "gtk-key-theme-name" (Just val)

clearSettingsGtkKeyThemeName :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkKeyThemeName obj = liftIO $ setObjectPropertyString obj "gtk-key-theme-name" (Nothing :: Maybe T.Text)

data SettingsGtkKeyThemeNamePropertyInfo
instance AttrInfo SettingsGtkKeyThemeNamePropertyInfo where
    type AttrAllowedOps SettingsGtkKeyThemeNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkKeyThemeNamePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkKeyThemeNamePropertyInfo = IsSettings
    type AttrGetType SettingsGtkKeyThemeNamePropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkKeyThemeNamePropertyInfo = "gtk-key-theme-name"
    type AttrOrigin SettingsGtkKeyThemeNamePropertyInfo = Settings
    attrGet _ = getSettingsGtkKeyThemeName
    attrSet _ = setSettingsGtkKeyThemeName
    attrConstruct _ = constructSettingsGtkKeyThemeName
    attrClear _ = clearSettingsGtkKeyThemeName

-- VVV Prop "gtk-keynav-cursor-only"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkKeynavCursorOnly :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkKeynavCursorOnly obj = liftIO $ getObjectPropertyBool obj "gtk-keynav-cursor-only"

setSettingsGtkKeynavCursorOnly :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkKeynavCursorOnly obj val = liftIO $ setObjectPropertyBool obj "gtk-keynav-cursor-only" val

constructSettingsGtkKeynavCursorOnly :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkKeynavCursorOnly val = constructObjectPropertyBool "gtk-keynav-cursor-only" val

data SettingsGtkKeynavCursorOnlyPropertyInfo
instance AttrInfo SettingsGtkKeynavCursorOnlyPropertyInfo where
    type AttrAllowedOps SettingsGtkKeynavCursorOnlyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkKeynavCursorOnlyPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkKeynavCursorOnlyPropertyInfo = IsSettings
    type AttrGetType SettingsGtkKeynavCursorOnlyPropertyInfo = Bool
    type AttrLabel SettingsGtkKeynavCursorOnlyPropertyInfo = "gtk-keynav-cursor-only"
    type AttrOrigin SettingsGtkKeynavCursorOnlyPropertyInfo = Settings
    attrGet _ = getSettingsGtkKeynavCursorOnly
    attrSet _ = setSettingsGtkKeynavCursorOnly
    attrConstruct _ = constructSettingsGtkKeynavCursorOnly
    attrClear _ = undefined

-- VVV Prop "gtk-keynav-use-caret"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkKeynavUseCaret :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkKeynavUseCaret obj = liftIO $ getObjectPropertyBool obj "gtk-keynav-use-caret"

setSettingsGtkKeynavUseCaret :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkKeynavUseCaret obj val = liftIO $ setObjectPropertyBool obj "gtk-keynav-use-caret" val

constructSettingsGtkKeynavUseCaret :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkKeynavUseCaret val = constructObjectPropertyBool "gtk-keynav-use-caret" val

data SettingsGtkKeynavUseCaretPropertyInfo
instance AttrInfo SettingsGtkKeynavUseCaretPropertyInfo where
    type AttrAllowedOps SettingsGtkKeynavUseCaretPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkKeynavUseCaretPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkKeynavUseCaretPropertyInfo = IsSettings
    type AttrGetType SettingsGtkKeynavUseCaretPropertyInfo = Bool
    type AttrLabel SettingsGtkKeynavUseCaretPropertyInfo = "gtk-keynav-use-caret"
    type AttrOrigin SettingsGtkKeynavUseCaretPropertyInfo = Settings
    attrGet _ = getSettingsGtkKeynavUseCaret
    attrSet _ = setSettingsGtkKeynavUseCaret
    attrConstruct _ = constructSettingsGtkKeynavUseCaret
    attrClear _ = undefined

-- VVV Prop "gtk-keynav-wrap-around"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkKeynavWrapAround :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkKeynavWrapAround obj = liftIO $ getObjectPropertyBool obj "gtk-keynav-wrap-around"

setSettingsGtkKeynavWrapAround :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkKeynavWrapAround obj val = liftIO $ setObjectPropertyBool obj "gtk-keynav-wrap-around" val

constructSettingsGtkKeynavWrapAround :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkKeynavWrapAround val = constructObjectPropertyBool "gtk-keynav-wrap-around" val

data SettingsGtkKeynavWrapAroundPropertyInfo
instance AttrInfo SettingsGtkKeynavWrapAroundPropertyInfo where
    type AttrAllowedOps SettingsGtkKeynavWrapAroundPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkKeynavWrapAroundPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkKeynavWrapAroundPropertyInfo = IsSettings
    type AttrGetType SettingsGtkKeynavWrapAroundPropertyInfo = Bool
    type AttrLabel SettingsGtkKeynavWrapAroundPropertyInfo = "gtk-keynav-wrap-around"
    type AttrOrigin SettingsGtkKeynavWrapAroundPropertyInfo = Settings
    attrGet _ = getSettingsGtkKeynavWrapAround
    attrSet _ = setSettingsGtkKeynavWrapAround
    attrConstruct _ = constructSettingsGtkKeynavWrapAround
    attrClear _ = undefined

-- VVV Prop "gtk-label-select-on-focus"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkLabelSelectOnFocus :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkLabelSelectOnFocus obj = liftIO $ getObjectPropertyBool obj "gtk-label-select-on-focus"

setSettingsGtkLabelSelectOnFocus :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkLabelSelectOnFocus obj val = liftIO $ setObjectPropertyBool obj "gtk-label-select-on-focus" val

constructSettingsGtkLabelSelectOnFocus :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkLabelSelectOnFocus val = constructObjectPropertyBool "gtk-label-select-on-focus" val

data SettingsGtkLabelSelectOnFocusPropertyInfo
instance AttrInfo SettingsGtkLabelSelectOnFocusPropertyInfo where
    type AttrAllowedOps SettingsGtkLabelSelectOnFocusPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkLabelSelectOnFocusPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkLabelSelectOnFocusPropertyInfo = IsSettings
    type AttrGetType SettingsGtkLabelSelectOnFocusPropertyInfo = Bool
    type AttrLabel SettingsGtkLabelSelectOnFocusPropertyInfo = "gtk-label-select-on-focus"
    type AttrOrigin SettingsGtkLabelSelectOnFocusPropertyInfo = Settings
    attrGet _ = getSettingsGtkLabelSelectOnFocus
    attrSet _ = setSettingsGtkLabelSelectOnFocus
    attrConstruct _ = constructSettingsGtkLabelSelectOnFocus
    attrClear _ = undefined

-- VVV Prop "gtk-long-press-time"
   -- Type: TBasicType TUInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkLongPressTime :: (MonadIO m, IsSettings o) => o -> m Word32
getSettingsGtkLongPressTime obj = liftIO $ getObjectPropertyUInt32 obj "gtk-long-press-time"

setSettingsGtkLongPressTime :: (MonadIO m, IsSettings o) => o -> Word32 -> m ()
setSettingsGtkLongPressTime obj val = liftIO $ setObjectPropertyUInt32 obj "gtk-long-press-time" val

constructSettingsGtkLongPressTime :: (IsSettings o) => Word32 -> IO (GValueConstruct o)
constructSettingsGtkLongPressTime val = constructObjectPropertyUInt32 "gtk-long-press-time" val

data SettingsGtkLongPressTimePropertyInfo
instance AttrInfo SettingsGtkLongPressTimePropertyInfo where
    type AttrAllowedOps SettingsGtkLongPressTimePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkLongPressTimePropertyInfo = (~) Word32
    type AttrBaseTypeConstraint SettingsGtkLongPressTimePropertyInfo = IsSettings
    type AttrGetType SettingsGtkLongPressTimePropertyInfo = Word32
    type AttrLabel SettingsGtkLongPressTimePropertyInfo = "gtk-long-press-time"
    type AttrOrigin SettingsGtkLongPressTimePropertyInfo = Settings
    attrGet _ = getSettingsGtkLongPressTime
    attrSet _ = setSettingsGtkLongPressTime
    attrConstruct _ = constructSettingsGtkLongPressTime
    attrClear _ = undefined

-- VVV Prop "gtk-menu-bar-accel"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkMenuBarAccel :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkMenuBarAccel obj = liftIO $ getObjectPropertyString obj "gtk-menu-bar-accel"

setSettingsGtkMenuBarAccel :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkMenuBarAccel obj val = liftIO $ setObjectPropertyString obj "gtk-menu-bar-accel" (Just val)

constructSettingsGtkMenuBarAccel :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkMenuBarAccel val = constructObjectPropertyString "gtk-menu-bar-accel" (Just val)

clearSettingsGtkMenuBarAccel :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkMenuBarAccel obj = liftIO $ setObjectPropertyString obj "gtk-menu-bar-accel" (Nothing :: Maybe T.Text)

data SettingsGtkMenuBarAccelPropertyInfo
instance AttrInfo SettingsGtkMenuBarAccelPropertyInfo where
    type AttrAllowedOps SettingsGtkMenuBarAccelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkMenuBarAccelPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkMenuBarAccelPropertyInfo = IsSettings
    type AttrGetType SettingsGtkMenuBarAccelPropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkMenuBarAccelPropertyInfo = "gtk-menu-bar-accel"
    type AttrOrigin SettingsGtkMenuBarAccelPropertyInfo = Settings
    attrGet _ = getSettingsGtkMenuBarAccel
    attrSet _ = setSettingsGtkMenuBarAccel
    attrConstruct _ = constructSettingsGtkMenuBarAccel
    attrClear _ = clearSettingsGtkMenuBarAccel

-- VVV Prop "gtk-menu-bar-popup-delay"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkMenuBarPopupDelay :: (MonadIO m, IsSettings o) => o -> m Int32
getSettingsGtkMenuBarPopupDelay obj = liftIO $ getObjectPropertyInt32 obj "gtk-menu-bar-popup-delay"

setSettingsGtkMenuBarPopupDelay :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
setSettingsGtkMenuBarPopupDelay obj val = liftIO $ setObjectPropertyInt32 obj "gtk-menu-bar-popup-delay" val

constructSettingsGtkMenuBarPopupDelay :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
constructSettingsGtkMenuBarPopupDelay val = constructObjectPropertyInt32 "gtk-menu-bar-popup-delay" val

data SettingsGtkMenuBarPopupDelayPropertyInfo
instance AttrInfo SettingsGtkMenuBarPopupDelayPropertyInfo where
    type AttrAllowedOps SettingsGtkMenuBarPopupDelayPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkMenuBarPopupDelayPropertyInfo = (~) Int32
    type AttrBaseTypeConstraint SettingsGtkMenuBarPopupDelayPropertyInfo = IsSettings
    type AttrGetType SettingsGtkMenuBarPopupDelayPropertyInfo = Int32
    type AttrLabel SettingsGtkMenuBarPopupDelayPropertyInfo = "gtk-menu-bar-popup-delay"
    type AttrOrigin SettingsGtkMenuBarPopupDelayPropertyInfo = Settings
    attrGet _ = getSettingsGtkMenuBarPopupDelay
    attrSet _ = setSettingsGtkMenuBarPopupDelay
    attrConstruct _ = constructSettingsGtkMenuBarPopupDelay
    attrClear _ = undefined

-- VVV Prop "gtk-menu-images"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkMenuImages :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkMenuImages obj = liftIO $ getObjectPropertyBool obj "gtk-menu-images"

setSettingsGtkMenuImages :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkMenuImages obj val = liftIO $ setObjectPropertyBool obj "gtk-menu-images" val

constructSettingsGtkMenuImages :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkMenuImages val = constructObjectPropertyBool "gtk-menu-images" val

data SettingsGtkMenuImagesPropertyInfo
instance AttrInfo SettingsGtkMenuImagesPropertyInfo where
    type AttrAllowedOps SettingsGtkMenuImagesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkMenuImagesPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkMenuImagesPropertyInfo = IsSettings
    type AttrGetType SettingsGtkMenuImagesPropertyInfo = Bool
    type AttrLabel SettingsGtkMenuImagesPropertyInfo = "gtk-menu-images"
    type AttrOrigin SettingsGtkMenuImagesPropertyInfo = Settings
    attrGet _ = getSettingsGtkMenuImages
    attrSet _ = setSettingsGtkMenuImages
    attrConstruct _ = constructSettingsGtkMenuImages
    attrClear _ = undefined

-- VVV Prop "gtk-menu-popdown-delay"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkMenuPopdownDelay :: (MonadIO m, IsSettings o) => o -> m Int32
getSettingsGtkMenuPopdownDelay obj = liftIO $ getObjectPropertyInt32 obj "gtk-menu-popdown-delay"

setSettingsGtkMenuPopdownDelay :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
setSettingsGtkMenuPopdownDelay obj val = liftIO $ setObjectPropertyInt32 obj "gtk-menu-popdown-delay" val

constructSettingsGtkMenuPopdownDelay :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
constructSettingsGtkMenuPopdownDelay val = constructObjectPropertyInt32 "gtk-menu-popdown-delay" val

data SettingsGtkMenuPopdownDelayPropertyInfo
instance AttrInfo SettingsGtkMenuPopdownDelayPropertyInfo where
    type AttrAllowedOps SettingsGtkMenuPopdownDelayPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkMenuPopdownDelayPropertyInfo = (~) Int32
    type AttrBaseTypeConstraint SettingsGtkMenuPopdownDelayPropertyInfo = IsSettings
    type AttrGetType SettingsGtkMenuPopdownDelayPropertyInfo = Int32
    type AttrLabel SettingsGtkMenuPopdownDelayPropertyInfo = "gtk-menu-popdown-delay"
    type AttrOrigin SettingsGtkMenuPopdownDelayPropertyInfo = Settings
    attrGet _ = getSettingsGtkMenuPopdownDelay
    attrSet _ = setSettingsGtkMenuPopdownDelay
    attrConstruct _ = constructSettingsGtkMenuPopdownDelay
    attrClear _ = undefined

-- VVV Prop "gtk-menu-popup-delay"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkMenuPopupDelay :: (MonadIO m, IsSettings o) => o -> m Int32
getSettingsGtkMenuPopupDelay obj = liftIO $ getObjectPropertyInt32 obj "gtk-menu-popup-delay"

setSettingsGtkMenuPopupDelay :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
setSettingsGtkMenuPopupDelay obj val = liftIO $ setObjectPropertyInt32 obj "gtk-menu-popup-delay" val

constructSettingsGtkMenuPopupDelay :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
constructSettingsGtkMenuPopupDelay val = constructObjectPropertyInt32 "gtk-menu-popup-delay" val

data SettingsGtkMenuPopupDelayPropertyInfo
instance AttrInfo SettingsGtkMenuPopupDelayPropertyInfo where
    type AttrAllowedOps SettingsGtkMenuPopupDelayPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkMenuPopupDelayPropertyInfo = (~) Int32
    type AttrBaseTypeConstraint SettingsGtkMenuPopupDelayPropertyInfo = IsSettings
    type AttrGetType SettingsGtkMenuPopupDelayPropertyInfo = Int32
    type AttrLabel SettingsGtkMenuPopupDelayPropertyInfo = "gtk-menu-popup-delay"
    type AttrOrigin SettingsGtkMenuPopupDelayPropertyInfo = Settings
    attrGet _ = getSettingsGtkMenuPopupDelay
    attrSet _ = setSettingsGtkMenuPopupDelay
    attrConstruct _ = constructSettingsGtkMenuPopupDelay
    attrClear _ = undefined

-- VVV Prop "gtk-modules"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkModules :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkModules obj = liftIO $ getObjectPropertyString obj "gtk-modules"

setSettingsGtkModules :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkModules obj val = liftIO $ setObjectPropertyString obj "gtk-modules" (Just val)

constructSettingsGtkModules :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkModules val = constructObjectPropertyString "gtk-modules" (Just val)

clearSettingsGtkModules :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkModules obj = liftIO $ setObjectPropertyString obj "gtk-modules" (Nothing :: Maybe T.Text)

data SettingsGtkModulesPropertyInfo
instance AttrInfo SettingsGtkModulesPropertyInfo where
    type AttrAllowedOps SettingsGtkModulesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkModulesPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkModulesPropertyInfo = IsSettings
    type AttrGetType SettingsGtkModulesPropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkModulesPropertyInfo = "gtk-modules"
    type AttrOrigin SettingsGtkModulesPropertyInfo = Settings
    attrGet _ = getSettingsGtkModules
    attrSet _ = setSettingsGtkModules
    attrConstruct _ = constructSettingsGtkModules
    attrClear _ = clearSettingsGtkModules

-- VVV Prop "gtk-primary-button-warps-slider"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkPrimaryButtonWarpsSlider :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkPrimaryButtonWarpsSlider obj = liftIO $ getObjectPropertyBool obj "gtk-primary-button-warps-slider"

setSettingsGtkPrimaryButtonWarpsSlider :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkPrimaryButtonWarpsSlider obj val = liftIO $ setObjectPropertyBool obj "gtk-primary-button-warps-slider" val

constructSettingsGtkPrimaryButtonWarpsSlider :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkPrimaryButtonWarpsSlider val = constructObjectPropertyBool "gtk-primary-button-warps-slider" val

data SettingsGtkPrimaryButtonWarpsSliderPropertyInfo
instance AttrInfo SettingsGtkPrimaryButtonWarpsSliderPropertyInfo where
    type AttrAllowedOps SettingsGtkPrimaryButtonWarpsSliderPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkPrimaryButtonWarpsSliderPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkPrimaryButtonWarpsSliderPropertyInfo = IsSettings
    type AttrGetType SettingsGtkPrimaryButtonWarpsSliderPropertyInfo = Bool
    type AttrLabel SettingsGtkPrimaryButtonWarpsSliderPropertyInfo = "gtk-primary-button-warps-slider"
    type AttrOrigin SettingsGtkPrimaryButtonWarpsSliderPropertyInfo = Settings
    attrGet _ = getSettingsGtkPrimaryButtonWarpsSlider
    attrSet _ = setSettingsGtkPrimaryButtonWarpsSlider
    attrConstruct _ = constructSettingsGtkPrimaryButtonWarpsSlider
    attrClear _ = undefined

-- VVV Prop "gtk-print-backends"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkPrintBackends :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkPrintBackends obj = liftIO $ getObjectPropertyString obj "gtk-print-backends"

setSettingsGtkPrintBackends :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkPrintBackends obj val = liftIO $ setObjectPropertyString obj "gtk-print-backends" (Just val)

constructSettingsGtkPrintBackends :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkPrintBackends val = constructObjectPropertyString "gtk-print-backends" (Just val)

clearSettingsGtkPrintBackends :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkPrintBackends obj = liftIO $ setObjectPropertyString obj "gtk-print-backends" (Nothing :: Maybe T.Text)

data SettingsGtkPrintBackendsPropertyInfo
instance AttrInfo SettingsGtkPrintBackendsPropertyInfo where
    type AttrAllowedOps SettingsGtkPrintBackendsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkPrintBackendsPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkPrintBackendsPropertyInfo = IsSettings
    type AttrGetType SettingsGtkPrintBackendsPropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkPrintBackendsPropertyInfo = "gtk-print-backends"
    type AttrOrigin SettingsGtkPrintBackendsPropertyInfo = Settings
    attrGet _ = getSettingsGtkPrintBackends
    attrSet _ = setSettingsGtkPrintBackends
    attrConstruct _ = constructSettingsGtkPrintBackends
    attrClear _ = clearSettingsGtkPrintBackends

-- VVV Prop "gtk-print-preview-command"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkPrintPreviewCommand :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkPrintPreviewCommand obj = liftIO $ getObjectPropertyString obj "gtk-print-preview-command"

setSettingsGtkPrintPreviewCommand :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkPrintPreviewCommand obj val = liftIO $ setObjectPropertyString obj "gtk-print-preview-command" (Just val)

constructSettingsGtkPrintPreviewCommand :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkPrintPreviewCommand val = constructObjectPropertyString "gtk-print-preview-command" (Just val)

clearSettingsGtkPrintPreviewCommand :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkPrintPreviewCommand obj = liftIO $ setObjectPropertyString obj "gtk-print-preview-command" (Nothing :: Maybe T.Text)

data SettingsGtkPrintPreviewCommandPropertyInfo
instance AttrInfo SettingsGtkPrintPreviewCommandPropertyInfo where
    type AttrAllowedOps SettingsGtkPrintPreviewCommandPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkPrintPreviewCommandPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkPrintPreviewCommandPropertyInfo = IsSettings
    type AttrGetType SettingsGtkPrintPreviewCommandPropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkPrintPreviewCommandPropertyInfo = "gtk-print-preview-command"
    type AttrOrigin SettingsGtkPrintPreviewCommandPropertyInfo = Settings
    attrGet _ = getSettingsGtkPrintPreviewCommand
    attrSet _ = setSettingsGtkPrintPreviewCommand
    attrConstruct _ = constructSettingsGtkPrintPreviewCommand
    attrClear _ = clearSettingsGtkPrintPreviewCommand

-- VVV Prop "gtk-recent-files-enabled"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkRecentFilesEnabled :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkRecentFilesEnabled obj = liftIO $ getObjectPropertyBool obj "gtk-recent-files-enabled"

setSettingsGtkRecentFilesEnabled :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkRecentFilesEnabled obj val = liftIO $ setObjectPropertyBool obj "gtk-recent-files-enabled" val

constructSettingsGtkRecentFilesEnabled :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkRecentFilesEnabled val = constructObjectPropertyBool "gtk-recent-files-enabled" val

data SettingsGtkRecentFilesEnabledPropertyInfo
instance AttrInfo SettingsGtkRecentFilesEnabledPropertyInfo where
    type AttrAllowedOps SettingsGtkRecentFilesEnabledPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkRecentFilesEnabledPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkRecentFilesEnabledPropertyInfo = IsSettings
    type AttrGetType SettingsGtkRecentFilesEnabledPropertyInfo = Bool
    type AttrLabel SettingsGtkRecentFilesEnabledPropertyInfo = "gtk-recent-files-enabled"
    type AttrOrigin SettingsGtkRecentFilesEnabledPropertyInfo = Settings
    attrGet _ = getSettingsGtkRecentFilesEnabled
    attrSet _ = setSettingsGtkRecentFilesEnabled
    attrConstruct _ = constructSettingsGtkRecentFilesEnabled
    attrClear _ = undefined

-- VVV Prop "gtk-recent-files-limit"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkRecentFilesLimit :: (MonadIO m, IsSettings o) => o -> m Int32
getSettingsGtkRecentFilesLimit obj = liftIO $ getObjectPropertyInt32 obj "gtk-recent-files-limit"

setSettingsGtkRecentFilesLimit :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
setSettingsGtkRecentFilesLimit obj val = liftIO $ setObjectPropertyInt32 obj "gtk-recent-files-limit" val

constructSettingsGtkRecentFilesLimit :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
constructSettingsGtkRecentFilesLimit val = constructObjectPropertyInt32 "gtk-recent-files-limit" val

data SettingsGtkRecentFilesLimitPropertyInfo
instance AttrInfo SettingsGtkRecentFilesLimitPropertyInfo where
    type AttrAllowedOps SettingsGtkRecentFilesLimitPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkRecentFilesLimitPropertyInfo = (~) Int32
    type AttrBaseTypeConstraint SettingsGtkRecentFilesLimitPropertyInfo = IsSettings
    type AttrGetType SettingsGtkRecentFilesLimitPropertyInfo = Int32
    type AttrLabel SettingsGtkRecentFilesLimitPropertyInfo = "gtk-recent-files-limit"
    type AttrOrigin SettingsGtkRecentFilesLimitPropertyInfo = Settings
    attrGet _ = getSettingsGtkRecentFilesLimit
    attrSet _ = setSettingsGtkRecentFilesLimit
    attrConstruct _ = constructSettingsGtkRecentFilesLimit
    attrClear _ = undefined

-- VVV Prop "gtk-recent-files-max-age"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkRecentFilesMaxAge :: (MonadIO m, IsSettings o) => o -> m Int32
getSettingsGtkRecentFilesMaxAge obj = liftIO $ getObjectPropertyInt32 obj "gtk-recent-files-max-age"

setSettingsGtkRecentFilesMaxAge :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
setSettingsGtkRecentFilesMaxAge obj val = liftIO $ setObjectPropertyInt32 obj "gtk-recent-files-max-age" val

constructSettingsGtkRecentFilesMaxAge :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
constructSettingsGtkRecentFilesMaxAge val = constructObjectPropertyInt32 "gtk-recent-files-max-age" val

data SettingsGtkRecentFilesMaxAgePropertyInfo
instance AttrInfo SettingsGtkRecentFilesMaxAgePropertyInfo where
    type AttrAllowedOps SettingsGtkRecentFilesMaxAgePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkRecentFilesMaxAgePropertyInfo = (~) Int32
    type AttrBaseTypeConstraint SettingsGtkRecentFilesMaxAgePropertyInfo = IsSettings
    type AttrGetType SettingsGtkRecentFilesMaxAgePropertyInfo = Int32
    type AttrLabel SettingsGtkRecentFilesMaxAgePropertyInfo = "gtk-recent-files-max-age"
    type AttrOrigin SettingsGtkRecentFilesMaxAgePropertyInfo = Settings
    attrGet _ = getSettingsGtkRecentFilesMaxAge
    attrSet _ = setSettingsGtkRecentFilesMaxAge
    attrConstruct _ = constructSettingsGtkRecentFilesMaxAge
    attrClear _ = undefined

-- VVV Prop "gtk-scrolled-window-placement"
   -- Type: TInterface (Name {namespace = "Gtk", name = "CornerType"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkScrolledWindowPlacement :: (MonadIO m, IsSettings o) => o -> m Gtk.Enums.CornerType
getSettingsGtkScrolledWindowPlacement obj = liftIO $ getObjectPropertyEnum obj "gtk-scrolled-window-placement"

setSettingsGtkScrolledWindowPlacement :: (MonadIO m, IsSettings o) => o -> Gtk.Enums.CornerType -> m ()
setSettingsGtkScrolledWindowPlacement obj val = liftIO $ setObjectPropertyEnum obj "gtk-scrolled-window-placement" val

constructSettingsGtkScrolledWindowPlacement :: (IsSettings o) => Gtk.Enums.CornerType -> IO (GValueConstruct o)
constructSettingsGtkScrolledWindowPlacement val = constructObjectPropertyEnum "gtk-scrolled-window-placement" val

data SettingsGtkScrolledWindowPlacementPropertyInfo
instance AttrInfo SettingsGtkScrolledWindowPlacementPropertyInfo where
    type AttrAllowedOps SettingsGtkScrolledWindowPlacementPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkScrolledWindowPlacementPropertyInfo = (~) Gtk.Enums.CornerType
    type AttrBaseTypeConstraint SettingsGtkScrolledWindowPlacementPropertyInfo = IsSettings
    type AttrGetType SettingsGtkScrolledWindowPlacementPropertyInfo = Gtk.Enums.CornerType
    type AttrLabel SettingsGtkScrolledWindowPlacementPropertyInfo = "gtk-scrolled-window-placement"
    type AttrOrigin SettingsGtkScrolledWindowPlacementPropertyInfo = Settings
    attrGet _ = getSettingsGtkScrolledWindowPlacement
    attrSet _ = setSettingsGtkScrolledWindowPlacement
    attrConstruct _ = constructSettingsGtkScrolledWindowPlacement
    attrClear _ = undefined

-- VVV Prop "gtk-shell-shows-app-menu"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkShellShowsAppMenu :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkShellShowsAppMenu obj = liftIO $ getObjectPropertyBool obj "gtk-shell-shows-app-menu"

setSettingsGtkShellShowsAppMenu :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkShellShowsAppMenu obj val = liftIO $ setObjectPropertyBool obj "gtk-shell-shows-app-menu" val

constructSettingsGtkShellShowsAppMenu :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkShellShowsAppMenu val = constructObjectPropertyBool "gtk-shell-shows-app-menu" val

data SettingsGtkShellShowsAppMenuPropertyInfo
instance AttrInfo SettingsGtkShellShowsAppMenuPropertyInfo where
    type AttrAllowedOps SettingsGtkShellShowsAppMenuPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkShellShowsAppMenuPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkShellShowsAppMenuPropertyInfo = IsSettings
    type AttrGetType SettingsGtkShellShowsAppMenuPropertyInfo = Bool
    type AttrLabel SettingsGtkShellShowsAppMenuPropertyInfo = "gtk-shell-shows-app-menu"
    type AttrOrigin SettingsGtkShellShowsAppMenuPropertyInfo = Settings
    attrGet _ = getSettingsGtkShellShowsAppMenu
    attrSet _ = setSettingsGtkShellShowsAppMenu
    attrConstruct _ = constructSettingsGtkShellShowsAppMenu
    attrClear _ = undefined

-- VVV Prop "gtk-shell-shows-desktop"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkShellShowsDesktop :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkShellShowsDesktop obj = liftIO $ getObjectPropertyBool obj "gtk-shell-shows-desktop"

setSettingsGtkShellShowsDesktop :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkShellShowsDesktop obj val = liftIO $ setObjectPropertyBool obj "gtk-shell-shows-desktop" val

constructSettingsGtkShellShowsDesktop :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkShellShowsDesktop val = constructObjectPropertyBool "gtk-shell-shows-desktop" val

data SettingsGtkShellShowsDesktopPropertyInfo
instance AttrInfo SettingsGtkShellShowsDesktopPropertyInfo where
    type AttrAllowedOps SettingsGtkShellShowsDesktopPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkShellShowsDesktopPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkShellShowsDesktopPropertyInfo = IsSettings
    type AttrGetType SettingsGtkShellShowsDesktopPropertyInfo = Bool
    type AttrLabel SettingsGtkShellShowsDesktopPropertyInfo = "gtk-shell-shows-desktop"
    type AttrOrigin SettingsGtkShellShowsDesktopPropertyInfo = Settings
    attrGet _ = getSettingsGtkShellShowsDesktop
    attrSet _ = setSettingsGtkShellShowsDesktop
    attrConstruct _ = constructSettingsGtkShellShowsDesktop
    attrClear _ = undefined

-- VVV Prop "gtk-shell-shows-menubar"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkShellShowsMenubar :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkShellShowsMenubar obj = liftIO $ getObjectPropertyBool obj "gtk-shell-shows-menubar"

setSettingsGtkShellShowsMenubar :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkShellShowsMenubar obj val = liftIO $ setObjectPropertyBool obj "gtk-shell-shows-menubar" val

constructSettingsGtkShellShowsMenubar :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkShellShowsMenubar val = constructObjectPropertyBool "gtk-shell-shows-menubar" val

data SettingsGtkShellShowsMenubarPropertyInfo
instance AttrInfo SettingsGtkShellShowsMenubarPropertyInfo where
    type AttrAllowedOps SettingsGtkShellShowsMenubarPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkShellShowsMenubarPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkShellShowsMenubarPropertyInfo = IsSettings
    type AttrGetType SettingsGtkShellShowsMenubarPropertyInfo = Bool
    type AttrLabel SettingsGtkShellShowsMenubarPropertyInfo = "gtk-shell-shows-menubar"
    type AttrOrigin SettingsGtkShellShowsMenubarPropertyInfo = Settings
    attrGet _ = getSettingsGtkShellShowsMenubar
    attrSet _ = setSettingsGtkShellShowsMenubar
    attrConstruct _ = constructSettingsGtkShellShowsMenubar
    attrClear _ = undefined

-- VVV Prop "gtk-show-input-method-menu"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkShowInputMethodMenu :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkShowInputMethodMenu obj = liftIO $ getObjectPropertyBool obj "gtk-show-input-method-menu"

setSettingsGtkShowInputMethodMenu :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkShowInputMethodMenu obj val = liftIO $ setObjectPropertyBool obj "gtk-show-input-method-menu" val

constructSettingsGtkShowInputMethodMenu :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkShowInputMethodMenu val = constructObjectPropertyBool "gtk-show-input-method-menu" val

data SettingsGtkShowInputMethodMenuPropertyInfo
instance AttrInfo SettingsGtkShowInputMethodMenuPropertyInfo where
    type AttrAllowedOps SettingsGtkShowInputMethodMenuPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkShowInputMethodMenuPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkShowInputMethodMenuPropertyInfo = IsSettings
    type AttrGetType SettingsGtkShowInputMethodMenuPropertyInfo = Bool
    type AttrLabel SettingsGtkShowInputMethodMenuPropertyInfo = "gtk-show-input-method-menu"
    type AttrOrigin SettingsGtkShowInputMethodMenuPropertyInfo = Settings
    attrGet _ = getSettingsGtkShowInputMethodMenu
    attrSet _ = setSettingsGtkShowInputMethodMenu
    attrConstruct _ = constructSettingsGtkShowInputMethodMenu
    attrClear _ = undefined

-- VVV Prop "gtk-show-unicode-menu"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkShowUnicodeMenu :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkShowUnicodeMenu obj = liftIO $ getObjectPropertyBool obj "gtk-show-unicode-menu"

setSettingsGtkShowUnicodeMenu :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkShowUnicodeMenu obj val = liftIO $ setObjectPropertyBool obj "gtk-show-unicode-menu" val

constructSettingsGtkShowUnicodeMenu :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkShowUnicodeMenu val = constructObjectPropertyBool "gtk-show-unicode-menu" val

data SettingsGtkShowUnicodeMenuPropertyInfo
instance AttrInfo SettingsGtkShowUnicodeMenuPropertyInfo where
    type AttrAllowedOps SettingsGtkShowUnicodeMenuPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkShowUnicodeMenuPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkShowUnicodeMenuPropertyInfo = IsSettings
    type AttrGetType SettingsGtkShowUnicodeMenuPropertyInfo = Bool
    type AttrLabel SettingsGtkShowUnicodeMenuPropertyInfo = "gtk-show-unicode-menu"
    type AttrOrigin SettingsGtkShowUnicodeMenuPropertyInfo = Settings
    attrGet _ = getSettingsGtkShowUnicodeMenu
    attrSet _ = setSettingsGtkShowUnicodeMenu
    attrConstruct _ = constructSettingsGtkShowUnicodeMenu
    attrClear _ = undefined

-- VVV Prop "gtk-sound-theme-name"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkSoundThemeName :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkSoundThemeName obj = liftIO $ getObjectPropertyString obj "gtk-sound-theme-name"

setSettingsGtkSoundThemeName :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkSoundThemeName obj val = liftIO $ setObjectPropertyString obj "gtk-sound-theme-name" (Just val)

constructSettingsGtkSoundThemeName :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkSoundThemeName val = constructObjectPropertyString "gtk-sound-theme-name" (Just val)

clearSettingsGtkSoundThemeName :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkSoundThemeName obj = liftIO $ setObjectPropertyString obj "gtk-sound-theme-name" (Nothing :: Maybe T.Text)

data SettingsGtkSoundThemeNamePropertyInfo
instance AttrInfo SettingsGtkSoundThemeNamePropertyInfo where
    type AttrAllowedOps SettingsGtkSoundThemeNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkSoundThemeNamePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkSoundThemeNamePropertyInfo = IsSettings
    type AttrGetType SettingsGtkSoundThemeNamePropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkSoundThemeNamePropertyInfo = "gtk-sound-theme-name"
    type AttrOrigin SettingsGtkSoundThemeNamePropertyInfo = Settings
    attrGet _ = getSettingsGtkSoundThemeName
    attrSet _ = setSettingsGtkSoundThemeName
    attrConstruct _ = constructSettingsGtkSoundThemeName
    attrClear _ = clearSettingsGtkSoundThemeName

-- VVV Prop "gtk-split-cursor"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkSplitCursor :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkSplitCursor obj = liftIO $ getObjectPropertyBool obj "gtk-split-cursor"

setSettingsGtkSplitCursor :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkSplitCursor obj val = liftIO $ setObjectPropertyBool obj "gtk-split-cursor" val

constructSettingsGtkSplitCursor :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkSplitCursor val = constructObjectPropertyBool "gtk-split-cursor" val

data SettingsGtkSplitCursorPropertyInfo
instance AttrInfo SettingsGtkSplitCursorPropertyInfo where
    type AttrAllowedOps SettingsGtkSplitCursorPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkSplitCursorPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkSplitCursorPropertyInfo = IsSettings
    type AttrGetType SettingsGtkSplitCursorPropertyInfo = Bool
    type AttrLabel SettingsGtkSplitCursorPropertyInfo = "gtk-split-cursor"
    type AttrOrigin SettingsGtkSplitCursorPropertyInfo = Settings
    attrGet _ = getSettingsGtkSplitCursor
    attrSet _ = setSettingsGtkSplitCursor
    attrConstruct _ = constructSettingsGtkSplitCursor
    attrClear _ = undefined

-- VVV Prop "gtk-theme-name"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkThemeName :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkThemeName obj = liftIO $ getObjectPropertyString obj "gtk-theme-name"

setSettingsGtkThemeName :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkThemeName obj val = liftIO $ setObjectPropertyString obj "gtk-theme-name" (Just val)

constructSettingsGtkThemeName :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkThemeName val = constructObjectPropertyString "gtk-theme-name" (Just val)

clearSettingsGtkThemeName :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkThemeName obj = liftIO $ setObjectPropertyString obj "gtk-theme-name" (Nothing :: Maybe T.Text)

data SettingsGtkThemeNamePropertyInfo
instance AttrInfo SettingsGtkThemeNamePropertyInfo where
    type AttrAllowedOps SettingsGtkThemeNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkThemeNamePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkThemeNamePropertyInfo = IsSettings
    type AttrGetType SettingsGtkThemeNamePropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkThemeNamePropertyInfo = "gtk-theme-name"
    type AttrOrigin SettingsGtkThemeNamePropertyInfo = Settings
    attrGet _ = getSettingsGtkThemeName
    attrSet _ = setSettingsGtkThemeName
    attrConstruct _ = constructSettingsGtkThemeName
    attrClear _ = clearSettingsGtkThemeName

-- VVV Prop "gtk-timeout-expand"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkTimeoutExpand :: (MonadIO m, IsSettings o) => o -> m Int32
getSettingsGtkTimeoutExpand obj = liftIO $ getObjectPropertyInt32 obj "gtk-timeout-expand"

setSettingsGtkTimeoutExpand :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
setSettingsGtkTimeoutExpand obj val = liftIO $ setObjectPropertyInt32 obj "gtk-timeout-expand" val

constructSettingsGtkTimeoutExpand :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
constructSettingsGtkTimeoutExpand val = constructObjectPropertyInt32 "gtk-timeout-expand" val

data SettingsGtkTimeoutExpandPropertyInfo
instance AttrInfo SettingsGtkTimeoutExpandPropertyInfo where
    type AttrAllowedOps SettingsGtkTimeoutExpandPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkTimeoutExpandPropertyInfo = (~) Int32
    type AttrBaseTypeConstraint SettingsGtkTimeoutExpandPropertyInfo = IsSettings
    type AttrGetType SettingsGtkTimeoutExpandPropertyInfo = Int32
    type AttrLabel SettingsGtkTimeoutExpandPropertyInfo = "gtk-timeout-expand"
    type AttrOrigin SettingsGtkTimeoutExpandPropertyInfo = Settings
    attrGet _ = getSettingsGtkTimeoutExpand
    attrSet _ = setSettingsGtkTimeoutExpand
    attrConstruct _ = constructSettingsGtkTimeoutExpand
    attrClear _ = undefined

-- VVV Prop "gtk-timeout-initial"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkTimeoutInitial :: (MonadIO m, IsSettings o) => o -> m Int32
getSettingsGtkTimeoutInitial obj = liftIO $ getObjectPropertyInt32 obj "gtk-timeout-initial"

setSettingsGtkTimeoutInitial :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
setSettingsGtkTimeoutInitial obj val = liftIO $ setObjectPropertyInt32 obj "gtk-timeout-initial" val

constructSettingsGtkTimeoutInitial :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
constructSettingsGtkTimeoutInitial val = constructObjectPropertyInt32 "gtk-timeout-initial" val

data SettingsGtkTimeoutInitialPropertyInfo
instance AttrInfo SettingsGtkTimeoutInitialPropertyInfo where
    type AttrAllowedOps SettingsGtkTimeoutInitialPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkTimeoutInitialPropertyInfo = (~) Int32
    type AttrBaseTypeConstraint SettingsGtkTimeoutInitialPropertyInfo = IsSettings
    type AttrGetType SettingsGtkTimeoutInitialPropertyInfo = Int32
    type AttrLabel SettingsGtkTimeoutInitialPropertyInfo = "gtk-timeout-initial"
    type AttrOrigin SettingsGtkTimeoutInitialPropertyInfo = Settings
    attrGet _ = getSettingsGtkTimeoutInitial
    attrSet _ = setSettingsGtkTimeoutInitial
    attrConstruct _ = constructSettingsGtkTimeoutInitial
    attrClear _ = undefined

-- VVV Prop "gtk-timeout-repeat"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkTimeoutRepeat :: (MonadIO m, IsSettings o) => o -> m Int32
getSettingsGtkTimeoutRepeat obj = liftIO $ getObjectPropertyInt32 obj "gtk-timeout-repeat"

setSettingsGtkTimeoutRepeat :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
setSettingsGtkTimeoutRepeat obj val = liftIO $ setObjectPropertyInt32 obj "gtk-timeout-repeat" val

constructSettingsGtkTimeoutRepeat :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
constructSettingsGtkTimeoutRepeat val = constructObjectPropertyInt32 "gtk-timeout-repeat" val

data SettingsGtkTimeoutRepeatPropertyInfo
instance AttrInfo SettingsGtkTimeoutRepeatPropertyInfo where
    type AttrAllowedOps SettingsGtkTimeoutRepeatPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkTimeoutRepeatPropertyInfo = (~) Int32
    type AttrBaseTypeConstraint SettingsGtkTimeoutRepeatPropertyInfo = IsSettings
    type AttrGetType SettingsGtkTimeoutRepeatPropertyInfo = Int32
    type AttrLabel SettingsGtkTimeoutRepeatPropertyInfo = "gtk-timeout-repeat"
    type AttrOrigin SettingsGtkTimeoutRepeatPropertyInfo = Settings
    attrGet _ = getSettingsGtkTimeoutRepeat
    attrSet _ = setSettingsGtkTimeoutRepeat
    attrConstruct _ = constructSettingsGtkTimeoutRepeat
    attrClear _ = undefined

-- VVV Prop "gtk-titlebar-double-click"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkTitlebarDoubleClick :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkTitlebarDoubleClick obj = liftIO $ getObjectPropertyString obj "gtk-titlebar-double-click"

setSettingsGtkTitlebarDoubleClick :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkTitlebarDoubleClick obj val = liftIO $ setObjectPropertyString obj "gtk-titlebar-double-click" (Just val)

constructSettingsGtkTitlebarDoubleClick :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkTitlebarDoubleClick val = constructObjectPropertyString "gtk-titlebar-double-click" (Just val)

clearSettingsGtkTitlebarDoubleClick :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkTitlebarDoubleClick obj = liftIO $ setObjectPropertyString obj "gtk-titlebar-double-click" (Nothing :: Maybe T.Text)

data SettingsGtkTitlebarDoubleClickPropertyInfo
instance AttrInfo SettingsGtkTitlebarDoubleClickPropertyInfo where
    type AttrAllowedOps SettingsGtkTitlebarDoubleClickPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkTitlebarDoubleClickPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkTitlebarDoubleClickPropertyInfo = IsSettings
    type AttrGetType SettingsGtkTitlebarDoubleClickPropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkTitlebarDoubleClickPropertyInfo = "gtk-titlebar-double-click"
    type AttrOrigin SettingsGtkTitlebarDoubleClickPropertyInfo = Settings
    attrGet _ = getSettingsGtkTitlebarDoubleClick
    attrSet _ = setSettingsGtkTitlebarDoubleClick
    attrConstruct _ = constructSettingsGtkTitlebarDoubleClick
    attrClear _ = clearSettingsGtkTitlebarDoubleClick

-- VVV Prop "gtk-titlebar-middle-click"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkTitlebarMiddleClick :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkTitlebarMiddleClick obj = liftIO $ getObjectPropertyString obj "gtk-titlebar-middle-click"

setSettingsGtkTitlebarMiddleClick :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkTitlebarMiddleClick obj val = liftIO $ setObjectPropertyString obj "gtk-titlebar-middle-click" (Just val)

constructSettingsGtkTitlebarMiddleClick :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkTitlebarMiddleClick val = constructObjectPropertyString "gtk-titlebar-middle-click" (Just val)

clearSettingsGtkTitlebarMiddleClick :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkTitlebarMiddleClick obj = liftIO $ setObjectPropertyString obj "gtk-titlebar-middle-click" (Nothing :: Maybe T.Text)

data SettingsGtkTitlebarMiddleClickPropertyInfo
instance AttrInfo SettingsGtkTitlebarMiddleClickPropertyInfo where
    type AttrAllowedOps SettingsGtkTitlebarMiddleClickPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkTitlebarMiddleClickPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkTitlebarMiddleClickPropertyInfo = IsSettings
    type AttrGetType SettingsGtkTitlebarMiddleClickPropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkTitlebarMiddleClickPropertyInfo = "gtk-titlebar-middle-click"
    type AttrOrigin SettingsGtkTitlebarMiddleClickPropertyInfo = Settings
    attrGet _ = getSettingsGtkTitlebarMiddleClick
    attrSet _ = setSettingsGtkTitlebarMiddleClick
    attrConstruct _ = constructSettingsGtkTitlebarMiddleClick
    attrClear _ = clearSettingsGtkTitlebarMiddleClick

-- VVV Prop "gtk-titlebar-right-click"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkTitlebarRightClick :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkTitlebarRightClick obj = liftIO $ getObjectPropertyString obj "gtk-titlebar-right-click"

setSettingsGtkTitlebarRightClick :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkTitlebarRightClick obj val = liftIO $ setObjectPropertyString obj "gtk-titlebar-right-click" (Just val)

constructSettingsGtkTitlebarRightClick :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkTitlebarRightClick val = constructObjectPropertyString "gtk-titlebar-right-click" (Just val)

clearSettingsGtkTitlebarRightClick :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkTitlebarRightClick obj = liftIO $ setObjectPropertyString obj "gtk-titlebar-right-click" (Nothing :: Maybe T.Text)

data SettingsGtkTitlebarRightClickPropertyInfo
instance AttrInfo SettingsGtkTitlebarRightClickPropertyInfo where
    type AttrAllowedOps SettingsGtkTitlebarRightClickPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkTitlebarRightClickPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkTitlebarRightClickPropertyInfo = IsSettings
    type AttrGetType SettingsGtkTitlebarRightClickPropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkTitlebarRightClickPropertyInfo = "gtk-titlebar-right-click"
    type AttrOrigin SettingsGtkTitlebarRightClickPropertyInfo = Settings
    attrGet _ = getSettingsGtkTitlebarRightClick
    attrSet _ = setSettingsGtkTitlebarRightClick
    attrConstruct _ = constructSettingsGtkTitlebarRightClick
    attrClear _ = clearSettingsGtkTitlebarRightClick

-- VVV Prop "gtk-toolbar-icon-size"
   -- Type: TInterface (Name {namespace = "Gtk", name = "IconSize"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkToolbarIconSize :: (MonadIO m, IsSettings o) => o -> m Gtk.Enums.IconSize
getSettingsGtkToolbarIconSize obj = liftIO $ getObjectPropertyEnum obj "gtk-toolbar-icon-size"

setSettingsGtkToolbarIconSize :: (MonadIO m, IsSettings o) => o -> Gtk.Enums.IconSize -> m ()
setSettingsGtkToolbarIconSize obj val = liftIO $ setObjectPropertyEnum obj "gtk-toolbar-icon-size" val

constructSettingsGtkToolbarIconSize :: (IsSettings o) => Gtk.Enums.IconSize -> IO (GValueConstruct o)
constructSettingsGtkToolbarIconSize val = constructObjectPropertyEnum "gtk-toolbar-icon-size" val

data SettingsGtkToolbarIconSizePropertyInfo
instance AttrInfo SettingsGtkToolbarIconSizePropertyInfo where
    type AttrAllowedOps SettingsGtkToolbarIconSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkToolbarIconSizePropertyInfo = (~) Gtk.Enums.IconSize
    type AttrBaseTypeConstraint SettingsGtkToolbarIconSizePropertyInfo = IsSettings
    type AttrGetType SettingsGtkToolbarIconSizePropertyInfo = Gtk.Enums.IconSize
    type AttrLabel SettingsGtkToolbarIconSizePropertyInfo = "gtk-toolbar-icon-size"
    type AttrOrigin SettingsGtkToolbarIconSizePropertyInfo = Settings
    attrGet _ = getSettingsGtkToolbarIconSize
    attrSet _ = setSettingsGtkToolbarIconSize
    attrConstruct _ = constructSettingsGtkToolbarIconSize
    attrClear _ = undefined

-- VVV Prop "gtk-toolbar-style"
   -- Type: TInterface (Name {namespace = "Gtk", name = "ToolbarStyle"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkToolbarStyle :: (MonadIO m, IsSettings o) => o -> m Gtk.Enums.ToolbarStyle
getSettingsGtkToolbarStyle obj = liftIO $ getObjectPropertyEnum obj "gtk-toolbar-style"

setSettingsGtkToolbarStyle :: (MonadIO m, IsSettings o) => o -> Gtk.Enums.ToolbarStyle -> m ()
setSettingsGtkToolbarStyle obj val = liftIO $ setObjectPropertyEnum obj "gtk-toolbar-style" val

constructSettingsGtkToolbarStyle :: (IsSettings o) => Gtk.Enums.ToolbarStyle -> IO (GValueConstruct o)
constructSettingsGtkToolbarStyle val = constructObjectPropertyEnum "gtk-toolbar-style" val

data SettingsGtkToolbarStylePropertyInfo
instance AttrInfo SettingsGtkToolbarStylePropertyInfo where
    type AttrAllowedOps SettingsGtkToolbarStylePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkToolbarStylePropertyInfo = (~) Gtk.Enums.ToolbarStyle
    type AttrBaseTypeConstraint SettingsGtkToolbarStylePropertyInfo = IsSettings
    type AttrGetType SettingsGtkToolbarStylePropertyInfo = Gtk.Enums.ToolbarStyle
    type AttrLabel SettingsGtkToolbarStylePropertyInfo = "gtk-toolbar-style"
    type AttrOrigin SettingsGtkToolbarStylePropertyInfo = Settings
    attrGet _ = getSettingsGtkToolbarStyle
    attrSet _ = setSettingsGtkToolbarStyle
    attrConstruct _ = constructSettingsGtkToolbarStyle
    attrClear _ = undefined

-- VVV Prop "gtk-tooltip-browse-mode-timeout"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkTooltipBrowseModeTimeout :: (MonadIO m, IsSettings o) => o -> m Int32
getSettingsGtkTooltipBrowseModeTimeout obj = liftIO $ getObjectPropertyInt32 obj "gtk-tooltip-browse-mode-timeout"

setSettingsGtkTooltipBrowseModeTimeout :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
setSettingsGtkTooltipBrowseModeTimeout obj val = liftIO $ setObjectPropertyInt32 obj "gtk-tooltip-browse-mode-timeout" val

constructSettingsGtkTooltipBrowseModeTimeout :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
constructSettingsGtkTooltipBrowseModeTimeout val = constructObjectPropertyInt32 "gtk-tooltip-browse-mode-timeout" val

data SettingsGtkTooltipBrowseModeTimeoutPropertyInfo
instance AttrInfo SettingsGtkTooltipBrowseModeTimeoutPropertyInfo where
    type AttrAllowedOps SettingsGtkTooltipBrowseModeTimeoutPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkTooltipBrowseModeTimeoutPropertyInfo = (~) Int32
    type AttrBaseTypeConstraint SettingsGtkTooltipBrowseModeTimeoutPropertyInfo = IsSettings
    type AttrGetType SettingsGtkTooltipBrowseModeTimeoutPropertyInfo = Int32
    type AttrLabel SettingsGtkTooltipBrowseModeTimeoutPropertyInfo = "gtk-tooltip-browse-mode-timeout"
    type AttrOrigin SettingsGtkTooltipBrowseModeTimeoutPropertyInfo = Settings
    attrGet _ = getSettingsGtkTooltipBrowseModeTimeout
    attrSet _ = setSettingsGtkTooltipBrowseModeTimeout
    attrConstruct _ = constructSettingsGtkTooltipBrowseModeTimeout
    attrClear _ = undefined

-- VVV Prop "gtk-tooltip-browse-timeout"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkTooltipBrowseTimeout :: (MonadIO m, IsSettings o) => o -> m Int32
getSettingsGtkTooltipBrowseTimeout obj = liftIO $ getObjectPropertyInt32 obj "gtk-tooltip-browse-timeout"

setSettingsGtkTooltipBrowseTimeout :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
setSettingsGtkTooltipBrowseTimeout obj val = liftIO $ setObjectPropertyInt32 obj "gtk-tooltip-browse-timeout" val

constructSettingsGtkTooltipBrowseTimeout :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
constructSettingsGtkTooltipBrowseTimeout val = constructObjectPropertyInt32 "gtk-tooltip-browse-timeout" val

data SettingsGtkTooltipBrowseTimeoutPropertyInfo
instance AttrInfo SettingsGtkTooltipBrowseTimeoutPropertyInfo where
    type AttrAllowedOps SettingsGtkTooltipBrowseTimeoutPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkTooltipBrowseTimeoutPropertyInfo = (~) Int32
    type AttrBaseTypeConstraint SettingsGtkTooltipBrowseTimeoutPropertyInfo = IsSettings
    type AttrGetType SettingsGtkTooltipBrowseTimeoutPropertyInfo = Int32
    type AttrLabel SettingsGtkTooltipBrowseTimeoutPropertyInfo = "gtk-tooltip-browse-timeout"
    type AttrOrigin SettingsGtkTooltipBrowseTimeoutPropertyInfo = Settings
    attrGet _ = getSettingsGtkTooltipBrowseTimeout
    attrSet _ = setSettingsGtkTooltipBrowseTimeout
    attrConstruct _ = constructSettingsGtkTooltipBrowseTimeout
    attrClear _ = undefined

-- VVV Prop "gtk-tooltip-timeout"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkTooltipTimeout :: (MonadIO m, IsSettings o) => o -> m Int32
getSettingsGtkTooltipTimeout obj = liftIO $ getObjectPropertyInt32 obj "gtk-tooltip-timeout"

setSettingsGtkTooltipTimeout :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
setSettingsGtkTooltipTimeout obj val = liftIO $ setObjectPropertyInt32 obj "gtk-tooltip-timeout" val

constructSettingsGtkTooltipTimeout :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
constructSettingsGtkTooltipTimeout val = constructObjectPropertyInt32 "gtk-tooltip-timeout" val

data SettingsGtkTooltipTimeoutPropertyInfo
instance AttrInfo SettingsGtkTooltipTimeoutPropertyInfo where
    type AttrAllowedOps SettingsGtkTooltipTimeoutPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkTooltipTimeoutPropertyInfo = (~) Int32
    type AttrBaseTypeConstraint SettingsGtkTooltipTimeoutPropertyInfo = IsSettings
    type AttrGetType SettingsGtkTooltipTimeoutPropertyInfo = Int32
    type AttrLabel SettingsGtkTooltipTimeoutPropertyInfo = "gtk-tooltip-timeout"
    type AttrOrigin SettingsGtkTooltipTimeoutPropertyInfo = Settings
    attrGet _ = getSettingsGtkTooltipTimeout
    attrSet _ = setSettingsGtkTooltipTimeout
    attrConstruct _ = constructSettingsGtkTooltipTimeout
    attrClear _ = undefined

-- VVV Prop "gtk-touchscreen-mode"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkTouchscreenMode :: (MonadIO m, IsSettings o) => o -> m Bool
getSettingsGtkTouchscreenMode obj = liftIO $ getObjectPropertyBool obj "gtk-touchscreen-mode"

setSettingsGtkTouchscreenMode :: (MonadIO m, IsSettings o) => o -> Bool -> m ()
setSettingsGtkTouchscreenMode obj val = liftIO $ setObjectPropertyBool obj "gtk-touchscreen-mode" val

constructSettingsGtkTouchscreenMode :: (IsSettings o) => Bool -> IO (GValueConstruct o)
constructSettingsGtkTouchscreenMode val = constructObjectPropertyBool "gtk-touchscreen-mode" val

data SettingsGtkTouchscreenModePropertyInfo
instance AttrInfo SettingsGtkTouchscreenModePropertyInfo where
    type AttrAllowedOps SettingsGtkTouchscreenModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkTouchscreenModePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint SettingsGtkTouchscreenModePropertyInfo = IsSettings
    type AttrGetType SettingsGtkTouchscreenModePropertyInfo = Bool
    type AttrLabel SettingsGtkTouchscreenModePropertyInfo = "gtk-touchscreen-mode"
    type AttrOrigin SettingsGtkTouchscreenModePropertyInfo = Settings
    attrGet _ = getSettingsGtkTouchscreenMode
    attrSet _ = setSettingsGtkTouchscreenMode
    attrConstruct _ = constructSettingsGtkTouchscreenMode
    attrClear _ = undefined

-- VVV Prop "gtk-visible-focus"
   -- Type: TInterface (Name {namespace = "Gtk", name = "PolicyType"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkVisibleFocus :: (MonadIO m, IsSettings o) => o -> m Gtk.Enums.PolicyType
getSettingsGtkVisibleFocus obj = liftIO $ getObjectPropertyEnum obj "gtk-visible-focus"

setSettingsGtkVisibleFocus :: (MonadIO m, IsSettings o) => o -> Gtk.Enums.PolicyType -> m ()
setSettingsGtkVisibleFocus obj val = liftIO $ setObjectPropertyEnum obj "gtk-visible-focus" val

constructSettingsGtkVisibleFocus :: (IsSettings o) => Gtk.Enums.PolicyType -> IO (GValueConstruct o)
constructSettingsGtkVisibleFocus val = constructObjectPropertyEnum "gtk-visible-focus" val

data SettingsGtkVisibleFocusPropertyInfo
instance AttrInfo SettingsGtkVisibleFocusPropertyInfo where
    type AttrAllowedOps SettingsGtkVisibleFocusPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkVisibleFocusPropertyInfo = (~) Gtk.Enums.PolicyType
    type AttrBaseTypeConstraint SettingsGtkVisibleFocusPropertyInfo = IsSettings
    type AttrGetType SettingsGtkVisibleFocusPropertyInfo = Gtk.Enums.PolicyType
    type AttrLabel SettingsGtkVisibleFocusPropertyInfo = "gtk-visible-focus"
    type AttrOrigin SettingsGtkVisibleFocusPropertyInfo = Settings
    attrGet _ = getSettingsGtkVisibleFocus
    attrSet _ = setSettingsGtkVisibleFocus
    attrConstruct _ = constructSettingsGtkVisibleFocus
    attrClear _ = undefined

-- VVV Prop "gtk-xft-antialias"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkXftAntialias :: (MonadIO m, IsSettings o) => o -> m Int32
getSettingsGtkXftAntialias obj = liftIO $ getObjectPropertyInt32 obj "gtk-xft-antialias"

setSettingsGtkXftAntialias :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
setSettingsGtkXftAntialias obj val = liftIO $ setObjectPropertyInt32 obj "gtk-xft-antialias" val

constructSettingsGtkXftAntialias :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
constructSettingsGtkXftAntialias val = constructObjectPropertyInt32 "gtk-xft-antialias" val

data SettingsGtkXftAntialiasPropertyInfo
instance AttrInfo SettingsGtkXftAntialiasPropertyInfo where
    type AttrAllowedOps SettingsGtkXftAntialiasPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkXftAntialiasPropertyInfo = (~) Int32
    type AttrBaseTypeConstraint SettingsGtkXftAntialiasPropertyInfo = IsSettings
    type AttrGetType SettingsGtkXftAntialiasPropertyInfo = Int32
    type AttrLabel SettingsGtkXftAntialiasPropertyInfo = "gtk-xft-antialias"
    type AttrOrigin SettingsGtkXftAntialiasPropertyInfo = Settings
    attrGet _ = getSettingsGtkXftAntialias
    attrSet _ = setSettingsGtkXftAntialias
    attrConstruct _ = constructSettingsGtkXftAntialias
    attrClear _ = undefined

-- VVV Prop "gtk-xft-dpi"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkXftDpi :: (MonadIO m, IsSettings o) => o -> m Int32
getSettingsGtkXftDpi obj = liftIO $ getObjectPropertyInt32 obj "gtk-xft-dpi"

setSettingsGtkXftDpi :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
setSettingsGtkXftDpi obj val = liftIO $ setObjectPropertyInt32 obj "gtk-xft-dpi" val

constructSettingsGtkXftDpi :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
constructSettingsGtkXftDpi val = constructObjectPropertyInt32 "gtk-xft-dpi" val

data SettingsGtkXftDpiPropertyInfo
instance AttrInfo SettingsGtkXftDpiPropertyInfo where
    type AttrAllowedOps SettingsGtkXftDpiPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkXftDpiPropertyInfo = (~) Int32
    type AttrBaseTypeConstraint SettingsGtkXftDpiPropertyInfo = IsSettings
    type AttrGetType SettingsGtkXftDpiPropertyInfo = Int32
    type AttrLabel SettingsGtkXftDpiPropertyInfo = "gtk-xft-dpi"
    type AttrOrigin SettingsGtkXftDpiPropertyInfo = Settings
    attrGet _ = getSettingsGtkXftDpi
    attrSet _ = setSettingsGtkXftDpi
    attrConstruct _ = constructSettingsGtkXftDpi
    attrClear _ = undefined

-- VVV Prop "gtk-xft-hinting"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkXftHinting :: (MonadIO m, IsSettings o) => o -> m Int32
getSettingsGtkXftHinting obj = liftIO $ getObjectPropertyInt32 obj "gtk-xft-hinting"

setSettingsGtkXftHinting :: (MonadIO m, IsSettings o) => o -> Int32 -> m ()
setSettingsGtkXftHinting obj val = liftIO $ setObjectPropertyInt32 obj "gtk-xft-hinting" val

constructSettingsGtkXftHinting :: (IsSettings o) => Int32 -> IO (GValueConstruct o)
constructSettingsGtkXftHinting val = constructObjectPropertyInt32 "gtk-xft-hinting" val

data SettingsGtkXftHintingPropertyInfo
instance AttrInfo SettingsGtkXftHintingPropertyInfo where
    type AttrAllowedOps SettingsGtkXftHintingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint SettingsGtkXftHintingPropertyInfo = (~) Int32
    type AttrBaseTypeConstraint SettingsGtkXftHintingPropertyInfo = IsSettings
    type AttrGetType SettingsGtkXftHintingPropertyInfo = Int32
    type AttrLabel SettingsGtkXftHintingPropertyInfo = "gtk-xft-hinting"
    type AttrOrigin SettingsGtkXftHintingPropertyInfo = Settings
    attrGet _ = getSettingsGtkXftHinting
    attrSet _ = setSettingsGtkXftHinting
    attrConstruct _ = constructSettingsGtkXftHinting
    attrClear _ = undefined

-- VVV Prop "gtk-xft-hintstyle"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkXftHintstyle :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkXftHintstyle obj = liftIO $ getObjectPropertyString obj "gtk-xft-hintstyle"

setSettingsGtkXftHintstyle :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkXftHintstyle obj val = liftIO $ setObjectPropertyString obj "gtk-xft-hintstyle" (Just val)

constructSettingsGtkXftHintstyle :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkXftHintstyle val = constructObjectPropertyString "gtk-xft-hintstyle" (Just val)

clearSettingsGtkXftHintstyle :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkXftHintstyle obj = liftIO $ setObjectPropertyString obj "gtk-xft-hintstyle" (Nothing :: Maybe T.Text)

data SettingsGtkXftHintstylePropertyInfo
instance AttrInfo SettingsGtkXftHintstylePropertyInfo where
    type AttrAllowedOps SettingsGtkXftHintstylePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkXftHintstylePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkXftHintstylePropertyInfo = IsSettings
    type AttrGetType SettingsGtkXftHintstylePropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkXftHintstylePropertyInfo = "gtk-xft-hintstyle"
    type AttrOrigin SettingsGtkXftHintstylePropertyInfo = Settings
    attrGet _ = getSettingsGtkXftHintstyle
    attrSet _ = setSettingsGtkXftHintstyle
    attrConstruct _ = constructSettingsGtkXftHintstyle
    attrClear _ = clearSettingsGtkXftHintstyle

-- VVV Prop "gtk-xft-rgba"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

getSettingsGtkXftRgba :: (MonadIO m, IsSettings o) => o -> m (Maybe T.Text)
getSettingsGtkXftRgba obj = liftIO $ getObjectPropertyString obj "gtk-xft-rgba"

setSettingsGtkXftRgba :: (MonadIO m, IsSettings o) => o -> T.Text -> m ()
setSettingsGtkXftRgba obj val = liftIO $ setObjectPropertyString obj "gtk-xft-rgba" (Just val)

constructSettingsGtkXftRgba :: (IsSettings o) => T.Text -> IO (GValueConstruct o)
constructSettingsGtkXftRgba val = constructObjectPropertyString "gtk-xft-rgba" (Just val)

clearSettingsGtkXftRgba :: (MonadIO m, IsSettings o) => o -> m ()
clearSettingsGtkXftRgba obj = liftIO $ setObjectPropertyString obj "gtk-xft-rgba" (Nothing :: Maybe T.Text)

data SettingsGtkXftRgbaPropertyInfo
instance AttrInfo SettingsGtkXftRgbaPropertyInfo where
    type AttrAllowedOps SettingsGtkXftRgbaPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint SettingsGtkXftRgbaPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint SettingsGtkXftRgbaPropertyInfo = IsSettings
    type AttrGetType SettingsGtkXftRgbaPropertyInfo = (Maybe T.Text)
    type AttrLabel SettingsGtkXftRgbaPropertyInfo = "gtk-xft-rgba"
    type AttrOrigin SettingsGtkXftRgbaPropertyInfo = Settings
    attrGet _ = getSettingsGtkXftRgba
    attrSet _ = setSettingsGtkXftRgba
    attrConstruct _ = constructSettingsGtkXftRgba
    attrClear _ = clearSettingsGtkXftRgba

instance O.HasAttributeList Settings
type instance O.AttributeList Settings = SettingsAttributeList
type SettingsAttributeList = ('[ '("colorHash", SettingsColorHashPropertyInfo), '("gtkAlternativeButtonOrder", SettingsGtkAlternativeButtonOrderPropertyInfo), '("gtkAlternativeSortArrows", SettingsGtkAlternativeSortArrowsPropertyInfo), '("gtkApplicationPreferDarkTheme", SettingsGtkApplicationPreferDarkThemePropertyInfo), '("gtkAutoMnemonics", SettingsGtkAutoMnemonicsPropertyInfo), '("gtkButtonImages", SettingsGtkButtonImagesPropertyInfo), '("gtkCanChangeAccels", SettingsGtkCanChangeAccelsPropertyInfo), '("gtkColorPalette", SettingsGtkColorPalettePropertyInfo), '("gtkColorScheme", SettingsGtkColorSchemePropertyInfo), '("gtkCursorBlink", SettingsGtkCursorBlinkPropertyInfo), '("gtkCursorBlinkTime", SettingsGtkCursorBlinkTimePropertyInfo), '("gtkCursorBlinkTimeout", SettingsGtkCursorBlinkTimeoutPropertyInfo), '("gtkCursorThemeName", SettingsGtkCursorThemeNamePropertyInfo), '("gtkCursorThemeSize", SettingsGtkCursorThemeSizePropertyInfo), '("gtkDecorationLayout", SettingsGtkDecorationLayoutPropertyInfo), '("gtkDialogsUseHeader", SettingsGtkDialogsUseHeaderPropertyInfo), '("gtkDndDragThreshold", SettingsGtkDndDragThresholdPropertyInfo), '("gtkDoubleClickDistance", SettingsGtkDoubleClickDistancePropertyInfo), '("gtkDoubleClickTime", SettingsGtkDoubleClickTimePropertyInfo), '("gtkEnableAccels", SettingsGtkEnableAccelsPropertyInfo), '("gtkEnableAnimations", SettingsGtkEnableAnimationsPropertyInfo), '("gtkEnableEventSounds", SettingsGtkEnableEventSoundsPropertyInfo), '("gtkEnableInputFeedbackSounds", SettingsGtkEnableInputFeedbackSoundsPropertyInfo), '("gtkEnableMnemonics", SettingsGtkEnableMnemonicsPropertyInfo), '("gtkEnablePrimaryPaste", SettingsGtkEnablePrimaryPastePropertyInfo), '("gtkEnableTooltips", SettingsGtkEnableTooltipsPropertyInfo), '("gtkEntryPasswordHintTimeout", SettingsGtkEntryPasswordHintTimeoutPropertyInfo), '("gtkEntrySelectOnFocus", SettingsGtkEntrySelectOnFocusPropertyInfo), '("gtkErrorBell", SettingsGtkErrorBellPropertyInfo), '("gtkFallbackIconTheme", SettingsGtkFallbackIconThemePropertyInfo), '("gtkFileChooserBackend", SettingsGtkFileChooserBackendPropertyInfo), '("gtkFontName", SettingsGtkFontNamePropertyInfo), '("gtkFontconfigTimestamp", SettingsGtkFontconfigTimestampPropertyInfo), '("gtkIconSizes", SettingsGtkIconSizesPropertyInfo), '("gtkIconThemeName", SettingsGtkIconThemeNamePropertyInfo), '("gtkImModule", SettingsGtkImModulePropertyInfo), '("gtkImPreeditStyle", SettingsGtkImPreeditStylePropertyInfo), '("gtkImStatusStyle", SettingsGtkImStatusStylePropertyInfo), '("gtkKeyThemeName", SettingsGtkKeyThemeNamePropertyInfo), '("gtkKeynavCursorOnly", SettingsGtkKeynavCursorOnlyPropertyInfo), '("gtkKeynavUseCaret", SettingsGtkKeynavUseCaretPropertyInfo), '("gtkKeynavWrapAround", SettingsGtkKeynavWrapAroundPropertyInfo), '("gtkLabelSelectOnFocus", SettingsGtkLabelSelectOnFocusPropertyInfo), '("gtkLongPressTime", SettingsGtkLongPressTimePropertyInfo), '("gtkMenuBarAccel", SettingsGtkMenuBarAccelPropertyInfo), '("gtkMenuBarPopupDelay", SettingsGtkMenuBarPopupDelayPropertyInfo), '("gtkMenuImages", SettingsGtkMenuImagesPropertyInfo), '("gtkMenuPopdownDelay", SettingsGtkMenuPopdownDelayPropertyInfo), '("gtkMenuPopupDelay", SettingsGtkMenuPopupDelayPropertyInfo), '("gtkModules", SettingsGtkModulesPropertyInfo), '("gtkPrimaryButtonWarpsSlider", SettingsGtkPrimaryButtonWarpsSliderPropertyInfo), '("gtkPrintBackends", SettingsGtkPrintBackendsPropertyInfo), '("gtkPrintPreviewCommand", SettingsGtkPrintPreviewCommandPropertyInfo), '("gtkRecentFilesEnabled", SettingsGtkRecentFilesEnabledPropertyInfo), '("gtkRecentFilesLimit", SettingsGtkRecentFilesLimitPropertyInfo), '("gtkRecentFilesMaxAge", SettingsGtkRecentFilesMaxAgePropertyInfo), '("gtkScrolledWindowPlacement", SettingsGtkScrolledWindowPlacementPropertyInfo), '("gtkShellShowsAppMenu", SettingsGtkShellShowsAppMenuPropertyInfo), '("gtkShellShowsDesktop", SettingsGtkShellShowsDesktopPropertyInfo), '("gtkShellShowsMenubar", SettingsGtkShellShowsMenubarPropertyInfo), '("gtkShowInputMethodMenu", SettingsGtkShowInputMethodMenuPropertyInfo), '("gtkShowUnicodeMenu", SettingsGtkShowUnicodeMenuPropertyInfo), '("gtkSoundThemeName", SettingsGtkSoundThemeNamePropertyInfo), '("gtkSplitCursor", SettingsGtkSplitCursorPropertyInfo), '("gtkThemeName", SettingsGtkThemeNamePropertyInfo), '("gtkTimeoutExpand", SettingsGtkTimeoutExpandPropertyInfo), '("gtkTimeoutInitial", SettingsGtkTimeoutInitialPropertyInfo), '("gtkTimeoutRepeat", SettingsGtkTimeoutRepeatPropertyInfo), '("gtkTitlebarDoubleClick", SettingsGtkTitlebarDoubleClickPropertyInfo), '("gtkTitlebarMiddleClick", SettingsGtkTitlebarMiddleClickPropertyInfo), '("gtkTitlebarRightClick", SettingsGtkTitlebarRightClickPropertyInfo), '("gtkToolbarIconSize", SettingsGtkToolbarIconSizePropertyInfo), '("gtkToolbarStyle", SettingsGtkToolbarStylePropertyInfo), '("gtkTooltipBrowseModeTimeout", SettingsGtkTooltipBrowseModeTimeoutPropertyInfo), '("gtkTooltipBrowseTimeout", SettingsGtkTooltipBrowseTimeoutPropertyInfo), '("gtkTooltipTimeout", SettingsGtkTooltipTimeoutPropertyInfo), '("gtkTouchscreenMode", SettingsGtkTouchscreenModePropertyInfo), '("gtkVisibleFocus", SettingsGtkVisibleFocusPropertyInfo), '("gtkXftAntialias", SettingsGtkXftAntialiasPropertyInfo), '("gtkXftDpi", SettingsGtkXftDpiPropertyInfo), '("gtkXftHinting", SettingsGtkXftHintingPropertyInfo), '("gtkXftHintstyle", SettingsGtkXftHintstylePropertyInfo), '("gtkXftRgba", SettingsGtkXftRgbaPropertyInfo)] :: [(Symbol, *)])

settingsColorHash :: AttrLabelProxy "colorHash"
settingsColorHash = AttrLabelProxy

settingsGtkAlternativeButtonOrder :: AttrLabelProxy "gtkAlternativeButtonOrder"
settingsGtkAlternativeButtonOrder = AttrLabelProxy

settingsGtkAlternativeSortArrows :: AttrLabelProxy "gtkAlternativeSortArrows"
settingsGtkAlternativeSortArrows = AttrLabelProxy

settingsGtkApplicationPreferDarkTheme :: AttrLabelProxy "gtkApplicationPreferDarkTheme"
settingsGtkApplicationPreferDarkTheme = AttrLabelProxy

settingsGtkAutoMnemonics :: AttrLabelProxy "gtkAutoMnemonics"
settingsGtkAutoMnemonics = AttrLabelProxy

settingsGtkButtonImages :: AttrLabelProxy "gtkButtonImages"
settingsGtkButtonImages = AttrLabelProxy

settingsGtkCanChangeAccels :: AttrLabelProxy "gtkCanChangeAccels"
settingsGtkCanChangeAccels = AttrLabelProxy

settingsGtkColorPalette :: AttrLabelProxy "gtkColorPalette"
settingsGtkColorPalette = AttrLabelProxy

settingsGtkColorScheme :: AttrLabelProxy "gtkColorScheme"
settingsGtkColorScheme = AttrLabelProxy

settingsGtkCursorBlink :: AttrLabelProxy "gtkCursorBlink"
settingsGtkCursorBlink = AttrLabelProxy

settingsGtkCursorBlinkTime :: AttrLabelProxy "gtkCursorBlinkTime"
settingsGtkCursorBlinkTime = AttrLabelProxy

settingsGtkCursorBlinkTimeout :: AttrLabelProxy "gtkCursorBlinkTimeout"
settingsGtkCursorBlinkTimeout = AttrLabelProxy

settingsGtkCursorThemeName :: AttrLabelProxy "gtkCursorThemeName"
settingsGtkCursorThemeName = AttrLabelProxy

settingsGtkCursorThemeSize :: AttrLabelProxy "gtkCursorThemeSize"
settingsGtkCursorThemeSize = AttrLabelProxy

settingsGtkDecorationLayout :: AttrLabelProxy "gtkDecorationLayout"
settingsGtkDecorationLayout = AttrLabelProxy

settingsGtkDialogsUseHeader :: AttrLabelProxy "gtkDialogsUseHeader"
settingsGtkDialogsUseHeader = AttrLabelProxy

settingsGtkDndDragThreshold :: AttrLabelProxy "gtkDndDragThreshold"
settingsGtkDndDragThreshold = AttrLabelProxy

settingsGtkDoubleClickDistance :: AttrLabelProxy "gtkDoubleClickDistance"
settingsGtkDoubleClickDistance = AttrLabelProxy

settingsGtkDoubleClickTime :: AttrLabelProxy "gtkDoubleClickTime"
settingsGtkDoubleClickTime = AttrLabelProxy

settingsGtkEnableAccels :: AttrLabelProxy "gtkEnableAccels"
settingsGtkEnableAccels = AttrLabelProxy

settingsGtkEnableAnimations :: AttrLabelProxy "gtkEnableAnimations"
settingsGtkEnableAnimations = AttrLabelProxy

settingsGtkEnableEventSounds :: AttrLabelProxy "gtkEnableEventSounds"
settingsGtkEnableEventSounds = AttrLabelProxy

settingsGtkEnableInputFeedbackSounds :: AttrLabelProxy "gtkEnableInputFeedbackSounds"
settingsGtkEnableInputFeedbackSounds = AttrLabelProxy

settingsGtkEnableMnemonics :: AttrLabelProxy "gtkEnableMnemonics"
settingsGtkEnableMnemonics = AttrLabelProxy

settingsGtkEnablePrimaryPaste :: AttrLabelProxy "gtkEnablePrimaryPaste"
settingsGtkEnablePrimaryPaste = AttrLabelProxy

settingsGtkEnableTooltips :: AttrLabelProxy "gtkEnableTooltips"
settingsGtkEnableTooltips = AttrLabelProxy

settingsGtkEntryPasswordHintTimeout :: AttrLabelProxy "gtkEntryPasswordHintTimeout"
settingsGtkEntryPasswordHintTimeout = AttrLabelProxy

settingsGtkEntrySelectOnFocus :: AttrLabelProxy "gtkEntrySelectOnFocus"
settingsGtkEntrySelectOnFocus = AttrLabelProxy

settingsGtkErrorBell :: AttrLabelProxy "gtkErrorBell"
settingsGtkErrorBell = AttrLabelProxy

settingsGtkFallbackIconTheme :: AttrLabelProxy "gtkFallbackIconTheme"
settingsGtkFallbackIconTheme = AttrLabelProxy

settingsGtkFileChooserBackend :: AttrLabelProxy "gtkFileChooserBackend"
settingsGtkFileChooserBackend = AttrLabelProxy

settingsGtkFontName :: AttrLabelProxy "gtkFontName"
settingsGtkFontName = AttrLabelProxy

settingsGtkFontconfigTimestamp :: AttrLabelProxy "gtkFontconfigTimestamp"
settingsGtkFontconfigTimestamp = AttrLabelProxy

settingsGtkIconSizes :: AttrLabelProxy "gtkIconSizes"
settingsGtkIconSizes = AttrLabelProxy

settingsGtkIconThemeName :: AttrLabelProxy "gtkIconThemeName"
settingsGtkIconThemeName = AttrLabelProxy

settingsGtkImModule :: AttrLabelProxy "gtkImModule"
settingsGtkImModule = AttrLabelProxy

settingsGtkImPreeditStyle :: AttrLabelProxy "gtkImPreeditStyle"
settingsGtkImPreeditStyle = AttrLabelProxy

settingsGtkImStatusStyle :: AttrLabelProxy "gtkImStatusStyle"
settingsGtkImStatusStyle = AttrLabelProxy

settingsGtkKeyThemeName :: AttrLabelProxy "gtkKeyThemeName"
settingsGtkKeyThemeName = AttrLabelProxy

settingsGtkKeynavCursorOnly :: AttrLabelProxy "gtkKeynavCursorOnly"
settingsGtkKeynavCursorOnly = AttrLabelProxy

settingsGtkKeynavUseCaret :: AttrLabelProxy "gtkKeynavUseCaret"
settingsGtkKeynavUseCaret = AttrLabelProxy

settingsGtkKeynavWrapAround :: AttrLabelProxy "gtkKeynavWrapAround"
settingsGtkKeynavWrapAround = AttrLabelProxy

settingsGtkLabelSelectOnFocus :: AttrLabelProxy "gtkLabelSelectOnFocus"
settingsGtkLabelSelectOnFocus = AttrLabelProxy

settingsGtkLongPressTime :: AttrLabelProxy "gtkLongPressTime"
settingsGtkLongPressTime = AttrLabelProxy

settingsGtkMenuBarAccel :: AttrLabelProxy "gtkMenuBarAccel"
settingsGtkMenuBarAccel = AttrLabelProxy

settingsGtkMenuBarPopupDelay :: AttrLabelProxy "gtkMenuBarPopupDelay"
settingsGtkMenuBarPopupDelay = AttrLabelProxy

settingsGtkMenuImages :: AttrLabelProxy "gtkMenuImages"
settingsGtkMenuImages = AttrLabelProxy

settingsGtkMenuPopdownDelay :: AttrLabelProxy "gtkMenuPopdownDelay"
settingsGtkMenuPopdownDelay = AttrLabelProxy

settingsGtkMenuPopupDelay :: AttrLabelProxy "gtkMenuPopupDelay"
settingsGtkMenuPopupDelay = AttrLabelProxy

settingsGtkModules :: AttrLabelProxy "gtkModules"
settingsGtkModules = AttrLabelProxy

settingsGtkPrimaryButtonWarpsSlider :: AttrLabelProxy "gtkPrimaryButtonWarpsSlider"
settingsGtkPrimaryButtonWarpsSlider = AttrLabelProxy

settingsGtkPrintBackends :: AttrLabelProxy "gtkPrintBackends"
settingsGtkPrintBackends = AttrLabelProxy

settingsGtkPrintPreviewCommand :: AttrLabelProxy "gtkPrintPreviewCommand"
settingsGtkPrintPreviewCommand = AttrLabelProxy

settingsGtkRecentFilesEnabled :: AttrLabelProxy "gtkRecentFilesEnabled"
settingsGtkRecentFilesEnabled = AttrLabelProxy

settingsGtkRecentFilesLimit :: AttrLabelProxy "gtkRecentFilesLimit"
settingsGtkRecentFilesLimit = AttrLabelProxy

settingsGtkRecentFilesMaxAge :: AttrLabelProxy "gtkRecentFilesMaxAge"
settingsGtkRecentFilesMaxAge = AttrLabelProxy

settingsGtkScrolledWindowPlacement :: AttrLabelProxy "gtkScrolledWindowPlacement"
settingsGtkScrolledWindowPlacement = AttrLabelProxy

settingsGtkShellShowsAppMenu :: AttrLabelProxy "gtkShellShowsAppMenu"
settingsGtkShellShowsAppMenu = AttrLabelProxy

settingsGtkShellShowsDesktop :: AttrLabelProxy "gtkShellShowsDesktop"
settingsGtkShellShowsDesktop = AttrLabelProxy

settingsGtkShellShowsMenubar :: AttrLabelProxy "gtkShellShowsMenubar"
settingsGtkShellShowsMenubar = AttrLabelProxy

settingsGtkShowInputMethodMenu :: AttrLabelProxy "gtkShowInputMethodMenu"
settingsGtkShowInputMethodMenu = AttrLabelProxy

settingsGtkShowUnicodeMenu :: AttrLabelProxy "gtkShowUnicodeMenu"
settingsGtkShowUnicodeMenu = AttrLabelProxy

settingsGtkSoundThemeName :: AttrLabelProxy "gtkSoundThemeName"
settingsGtkSoundThemeName = AttrLabelProxy

settingsGtkSplitCursor :: AttrLabelProxy "gtkSplitCursor"
settingsGtkSplitCursor = AttrLabelProxy

settingsGtkThemeName :: AttrLabelProxy "gtkThemeName"
settingsGtkThemeName = AttrLabelProxy

settingsGtkTimeoutExpand :: AttrLabelProxy "gtkTimeoutExpand"
settingsGtkTimeoutExpand = AttrLabelProxy

settingsGtkTimeoutInitial :: AttrLabelProxy "gtkTimeoutInitial"
settingsGtkTimeoutInitial = AttrLabelProxy

settingsGtkTimeoutRepeat :: AttrLabelProxy "gtkTimeoutRepeat"
settingsGtkTimeoutRepeat = AttrLabelProxy

settingsGtkTitlebarDoubleClick :: AttrLabelProxy "gtkTitlebarDoubleClick"
settingsGtkTitlebarDoubleClick = AttrLabelProxy

settingsGtkTitlebarMiddleClick :: AttrLabelProxy "gtkTitlebarMiddleClick"
settingsGtkTitlebarMiddleClick = AttrLabelProxy

settingsGtkTitlebarRightClick :: AttrLabelProxy "gtkTitlebarRightClick"
settingsGtkTitlebarRightClick = AttrLabelProxy

settingsGtkToolbarIconSize :: AttrLabelProxy "gtkToolbarIconSize"
settingsGtkToolbarIconSize = AttrLabelProxy

settingsGtkToolbarStyle :: AttrLabelProxy "gtkToolbarStyle"
settingsGtkToolbarStyle = AttrLabelProxy

settingsGtkTooltipBrowseModeTimeout :: AttrLabelProxy "gtkTooltipBrowseModeTimeout"
settingsGtkTooltipBrowseModeTimeout = AttrLabelProxy

settingsGtkTooltipBrowseTimeout :: AttrLabelProxy "gtkTooltipBrowseTimeout"
settingsGtkTooltipBrowseTimeout = AttrLabelProxy

settingsGtkTooltipTimeout :: AttrLabelProxy "gtkTooltipTimeout"
settingsGtkTooltipTimeout = AttrLabelProxy

settingsGtkTouchscreenMode :: AttrLabelProxy "gtkTouchscreenMode"
settingsGtkTouchscreenMode = AttrLabelProxy

settingsGtkVisibleFocus :: AttrLabelProxy "gtkVisibleFocus"
settingsGtkVisibleFocus = AttrLabelProxy

settingsGtkXftAntialias :: AttrLabelProxy "gtkXftAntialias"
settingsGtkXftAntialias = AttrLabelProxy

settingsGtkXftDpi :: AttrLabelProxy "gtkXftDpi"
settingsGtkXftDpi = AttrLabelProxy

settingsGtkXftHinting :: AttrLabelProxy "gtkXftHinting"
settingsGtkXftHinting = AttrLabelProxy

settingsGtkXftHintstyle :: AttrLabelProxy "gtkXftHintstyle"
settingsGtkXftHintstyle = AttrLabelProxy

settingsGtkXftRgba :: AttrLabelProxy "gtkXftRgba"
settingsGtkXftRgba = AttrLabelProxy

type instance O.SignalList Settings = SettingsSignalList
type SettingsSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])

-- method Settings::reset_property
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "Settings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSettings object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the setting to reset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_settings_reset_property" gtk_settings_reset_property :: 
    Ptr Settings ->                         -- settings : TInterface (Name {namespace = "Gtk", name = "Settings"})
    CString ->                              -- name : TBasicType TUTF8
    IO ()

{- |
Undoes the effect of calling @/g_object_set()/@ to install an
application-specific value for a setting. After this call,
the setting will again follow the session-wide value for
this setting.

@since 3.20
-}
settingsResetProperty ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    {- ^ /@settings@/: a 'GI.Gtk.Objects.Settings.Settings' object -}
    -> T.Text
    {- ^ /@name@/: the name of the setting to reset -}
    -> m ()
settingsResetProperty settings name = liftIO $ do
    settings' <- unsafeManagedPtrCastPtr settings
    name' <- textToCString name
    gtk_settings_reset_property settings' name'
    touchManagedPtr settings
    freeMem name'
    return ()

data SettingsResetPropertyMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsSettings a) => O.MethodInfo SettingsResetPropertyMethodInfo a signature where
    overloadedMethod _ = settingsResetProperty

-- method Settings::set_double_property
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "Settings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "v_double", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_settings_set_double_property" gtk_settings_set_double_property :: 
    Ptr Settings ->                         -- settings : TInterface (Name {namespace = "Gtk", name = "Settings"})
    CString ->                              -- name : TBasicType TUTF8
    CDouble ->                              -- v_double : TBasicType TDouble
    CString ->                              -- origin : TBasicType TUTF8
    IO ()

{-# DEPRECATED settingsSetDoubleProperty ["(Since version 3.16)","Use @/g_object_set()/@ instead."] #-}
{- |
/No description available in the introspection data./
-}
settingsSetDoubleProperty ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    -> T.Text
    -> Double
    -> T.Text
    -> m ()
settingsSetDoubleProperty settings name vDouble origin = liftIO $ do
    settings' <- unsafeManagedPtrCastPtr settings
    name' <- textToCString name
    let vDouble' = realToFrac vDouble
    origin' <- textToCString origin
    gtk_settings_set_double_property settings' name' vDouble' origin'
    touchManagedPtr settings
    freeMem name'
    freeMem origin'
    return ()

data SettingsSetDoublePropertyMethodInfo
instance (signature ~ (T.Text -> Double -> T.Text -> m ()), MonadIO m, IsSettings a) => O.MethodInfo SettingsSetDoublePropertyMethodInfo a signature where
    overloadedMethod _ = settingsSetDoubleProperty

-- method Settings::set_long_property
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "Settings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "v_long", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_settings_set_long_property" gtk_settings_set_long_property :: 
    Ptr Settings ->                         -- settings : TInterface (Name {namespace = "Gtk", name = "Settings"})
    CString ->                              -- name : TBasicType TUTF8
    CLong ->                                -- v_long : TBasicType TLong
    CString ->                              -- origin : TBasicType TUTF8
    IO ()

{-# DEPRECATED settingsSetLongProperty ["(Since version 3.16)","Use @/g_object_set()/@ instead."] #-}
{- |
/No description available in the introspection data./
-}
settingsSetLongProperty ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    -> T.Text
    -> CLong
    -> T.Text
    -> m ()
settingsSetLongProperty settings name vLong origin = liftIO $ do
    settings' <- unsafeManagedPtrCastPtr settings
    name' <- textToCString name
    origin' <- textToCString origin
    gtk_settings_set_long_property settings' name' vLong origin'
    touchManagedPtr settings
    freeMem name'
    freeMem origin'
    return ()

data SettingsSetLongPropertyMethodInfo
instance (signature ~ (T.Text -> CLong -> T.Text -> m ()), MonadIO m, IsSettings a) => O.MethodInfo SettingsSetLongPropertyMethodInfo a signature where
    overloadedMethod _ = settingsSetLongProperty

-- method Settings::set_property_value
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "Settings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "svalue", argType = TInterface (Name {namespace = "Gtk", name = "SettingsValue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_settings_set_property_value" gtk_settings_set_property_value :: 
    Ptr Settings ->                         -- settings : TInterface (Name {namespace = "Gtk", name = "Settings"})
    CString ->                              -- name : TBasicType TUTF8
    Ptr Gtk.SettingsValue.SettingsValue ->  -- svalue : TInterface (Name {namespace = "Gtk", name = "SettingsValue"})
    IO ()

{-# DEPRECATED settingsSetPropertyValue ["(Since version 3.16)","Use @/g_object_set()/@ instead."] #-}
{- |
/No description available in the introspection data./
-}
settingsSetPropertyValue ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    -> T.Text
    -> Gtk.SettingsValue.SettingsValue
    -> m ()
settingsSetPropertyValue settings name svalue = liftIO $ do
    settings' <- unsafeManagedPtrCastPtr settings
    name' <- textToCString name
    svalue' <- unsafeManagedPtrGetPtr svalue
    gtk_settings_set_property_value settings' name' svalue'
    touchManagedPtr settings
    touchManagedPtr svalue
    freeMem name'
    return ()

data SettingsSetPropertyValueMethodInfo
instance (signature ~ (T.Text -> Gtk.SettingsValue.SettingsValue -> m ()), MonadIO m, IsSettings a) => O.MethodInfo SettingsSetPropertyValueMethodInfo a signature where
    overloadedMethod _ = settingsSetPropertyValue

-- method Settings::set_string_property
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "settings", argType = TInterface (Name {namespace = "Gtk", name = "Settings"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "v_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_settings_set_string_property" gtk_settings_set_string_property :: 
    Ptr Settings ->                         -- settings : TInterface (Name {namespace = "Gtk", name = "Settings"})
    CString ->                              -- name : TBasicType TUTF8
    CString ->                              -- v_string : TBasicType TUTF8
    CString ->                              -- origin : TBasicType TUTF8
    IO ()

{-# DEPRECATED settingsSetStringProperty ["(Since version 3.16)","Use @/g_object_set()/@ instead."] #-}
{- |
/No description available in the introspection data./
-}
settingsSetStringProperty ::
    (B.CallStack.HasCallStack, MonadIO m, IsSettings a) =>
    a
    -> T.Text
    -> T.Text
    -> T.Text
    -> m ()
settingsSetStringProperty settings name vString origin = liftIO $ do
    settings' <- unsafeManagedPtrCastPtr settings
    name' <- textToCString name
    vString' <- textToCString vString
    origin' <- textToCString origin
    gtk_settings_set_string_property settings' name' vString' origin'
    touchManagedPtr settings
    freeMem name'
    freeMem vString'
    freeMem origin'
    return ()

data SettingsSetStringPropertyMethodInfo
instance (signature ~ (T.Text -> T.Text -> T.Text -> m ()), MonadIO m, IsSettings a) => O.MethodInfo SettingsSetStringPropertyMethodInfo a signature where
    overloadedMethod _ = settingsSetStringProperty

-- method Settings::get_default
-- method type : MemberFunction
-- Args : []
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Settings"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_settings_get_default" gtk_settings_get_default :: 
    IO (Ptr Settings)

{- |
Gets the 'GI.Gtk.Objects.Settings.Settings' object for the default GDK screen, creating
it if necessary. See 'GI.Gtk.Objects.Settings.settingsGetForScreen'.
-}
settingsGetDefault ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    m (Maybe Settings)
    {- ^ __Returns:__ a 'GI.Gtk.Objects.Settings.Settings' object. If there is
no default screen, then returns 'Nothing'. -}
settingsGetDefault  = liftIO $ do
    result <- gtk_settings_get_default
    maybeResult <- convertIfNonNull result $ \result' -> do
        result'' <- (newObject Settings) result'
        return result''
    return maybeResult

-- method Settings::get_for_screen
-- method type : MemberFunction
-- Args : [Arg {argCName = "screen", argType = TInterface (Name {namespace = "Gdk", name = "Screen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GdkScreen.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Settings"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_settings_get_for_screen" gtk_settings_get_for_screen :: 
    Ptr Gdk.Screen.Screen ->                -- screen : TInterface (Name {namespace = "Gdk", name = "Screen"})
    IO (Ptr Settings)

{- |
Gets the 'GI.Gtk.Objects.Settings.Settings' object for /@screen@/, creating it if necessary.

@since 2.2
-}
settingsGetForScreen ::
    (B.CallStack.HasCallStack, MonadIO m, Gdk.Screen.IsScreen a) =>
    a
    {- ^ /@screen@/: a 'GI.Gdk.Objects.Screen.Screen'. -}
    -> m Settings
    {- ^ __Returns:__ a 'GI.Gtk.Objects.Settings.Settings' object. -}
settingsGetForScreen screen = liftIO $ do
    screen' <- unsafeManagedPtrCastPtr screen
    result <- gtk_settings_get_for_screen screen'
    checkUnexpectedReturnNULL "settingsGetForScreen" result
    result' <- (newObject Settings) result
    touchManagedPtr screen
    return result'

-- method Settings::install_property
-- method type : MemberFunction
-- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_settings_install_property" gtk_settings_install_property :: 
    Ptr GParamSpec ->                       -- pspec : TParamSpec
    IO ()

{-# DEPRECATED settingsInstallProperty ["(Since version 3.16)","This function is not useful outside GTK+."] #-}
{- |
/No description available in the introspection data./
-}
settingsInstallProperty ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    GParamSpec
    -> m ()
settingsInstallProperty pspec = liftIO $ do
    pspec' <- unsafeManagedPtrGetPtr pspec
    gtk_settings_install_property pspec'
    touchManagedPtr pspec
    return ()

-- method Settings::install_property_parser
-- method type : MemberFunction
-- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parser", argType = TInterface (Name {namespace = "Gtk", name = "RcPropertyParser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_settings_install_property_parser" gtk_settings_install_property_parser :: 
    Ptr GParamSpec ->                       -- pspec : TParamSpec
    FunPtr Gtk.Callbacks.C_RcPropertyParser -> -- parser : TInterface (Name {namespace = "Gtk", name = "RcPropertyParser"})
    IO ()

{-# DEPRECATED settingsInstallPropertyParser ["(Since version 3.16)","This function is not useful outside GTK+."] #-}
{- |
/No description available in the introspection data./
-}
settingsInstallPropertyParser ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    GParamSpec
    -> Gtk.Callbacks.RcPropertyParser
    -> m ()
settingsInstallPropertyParser pspec parser = liftIO $ do
    pspec' <- unsafeManagedPtrGetPtr pspec
    parser' <- Gtk.Callbacks.mk_RcPropertyParser (Gtk.Callbacks.wrap_RcPropertyParser Nothing parser)
    gtk_settings_install_property_parser pspec' parser'
    safeFreeFunPtr $ castFunPtrToPtr parser'
    touchManagedPtr pspec
    return ()