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

module GI.Gtk.Objects.Settings
    ( 

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


 -- * Methods
-- ** settingsGetDefault
    settingsGetDefault                      ,


-- ** settingsGetForScreen
    settingsGetForScreen                    ,


-- ** settingsInstallProperty
    settingsInstallProperty                 ,


-- ** settingsInstallPropertyParser
    settingsInstallPropertyParser           ,


-- ** settingsSetDoubleProperty
    settingsSetDoubleProperty               ,


-- ** settingsSetLongProperty
    settingsSetLongProperty                 ,


-- ** settingsSetPropertyValue
    settingsSetPropertyValue                ,


-- ** settingsSetStringProperty
    settingsSetStringProperty               ,




 -- * Properties
-- ** ColorHash
    SettingsColorHashPropertyInfo           ,


-- ** GtkAlternativeButtonOrder
    SettingsGtkAlternativeButtonOrderPropertyInfo,
    constructSettingsGtkAlternativeButtonOrder,
    getSettingsGtkAlternativeButtonOrder    ,
    setSettingsGtkAlternativeButtonOrder    ,


-- ** GtkAlternativeSortArrows
    SettingsGtkAlternativeSortArrowsPropertyInfo,
    constructSettingsGtkAlternativeSortArrows,
    getSettingsGtkAlternativeSortArrows     ,
    setSettingsGtkAlternativeSortArrows     ,


-- ** GtkApplicationPreferDarkTheme
    SettingsGtkApplicationPreferDarkThemePropertyInfo,
    constructSettingsGtkApplicationPreferDarkTheme,
    getSettingsGtkApplicationPreferDarkTheme,
    setSettingsGtkApplicationPreferDarkTheme,


-- ** GtkAutoMnemonics
    SettingsGtkAutoMnemonicsPropertyInfo    ,
    constructSettingsGtkAutoMnemonics       ,
    getSettingsGtkAutoMnemonics             ,
    setSettingsGtkAutoMnemonics             ,


-- ** GtkButtonImages
    SettingsGtkButtonImagesPropertyInfo     ,
    constructSettingsGtkButtonImages        ,
    getSettingsGtkButtonImages              ,
    setSettingsGtkButtonImages              ,


-- ** GtkCanChangeAccels
    SettingsGtkCanChangeAccelsPropertyInfo  ,
    constructSettingsGtkCanChangeAccels     ,
    getSettingsGtkCanChangeAccels           ,
    setSettingsGtkCanChangeAccels           ,


-- ** GtkColorPalette
    SettingsGtkColorPalettePropertyInfo     ,
    constructSettingsGtkColorPalette        ,
    getSettingsGtkColorPalette              ,
    setSettingsGtkColorPalette              ,


-- ** GtkColorScheme
    SettingsGtkColorSchemePropertyInfo      ,
    constructSettingsGtkColorScheme         ,
    getSettingsGtkColorScheme               ,
    setSettingsGtkColorScheme               ,


-- ** GtkCursorBlink
    SettingsGtkCursorBlinkPropertyInfo      ,
    constructSettingsGtkCursorBlink         ,
    getSettingsGtkCursorBlink               ,
    setSettingsGtkCursorBlink               ,


-- ** GtkCursorBlinkTime
    SettingsGtkCursorBlinkTimePropertyInfo  ,
    constructSettingsGtkCursorBlinkTime     ,
    getSettingsGtkCursorBlinkTime           ,
    setSettingsGtkCursorBlinkTime           ,


-- ** GtkCursorBlinkTimeout
    SettingsGtkCursorBlinkTimeoutPropertyInfo,
    constructSettingsGtkCursorBlinkTimeout  ,
    getSettingsGtkCursorBlinkTimeout        ,
    setSettingsGtkCursorBlinkTimeout        ,


-- ** GtkCursorThemeName
    SettingsGtkCursorThemeNamePropertyInfo  ,
    constructSettingsGtkCursorThemeName     ,
    getSettingsGtkCursorThemeName           ,
    setSettingsGtkCursorThemeName           ,


-- ** GtkCursorThemeSize
    SettingsGtkCursorThemeSizePropertyInfo  ,
    constructSettingsGtkCursorThemeSize     ,
    getSettingsGtkCursorThemeSize           ,
    setSettingsGtkCursorThemeSize           ,


-- ** GtkDecorationLayout
    SettingsGtkDecorationLayoutPropertyInfo ,
    constructSettingsGtkDecorationLayout    ,
    getSettingsGtkDecorationLayout          ,
    setSettingsGtkDecorationLayout          ,


-- ** GtkDialogsUseHeader
    SettingsGtkDialogsUseHeaderPropertyInfo ,
    constructSettingsGtkDialogsUseHeader    ,
    getSettingsGtkDialogsUseHeader          ,
    setSettingsGtkDialogsUseHeader          ,


-- ** GtkDndDragThreshold
    SettingsGtkDndDragThresholdPropertyInfo ,
    constructSettingsGtkDndDragThreshold    ,
    getSettingsGtkDndDragThreshold          ,
    setSettingsGtkDndDragThreshold          ,


-- ** GtkDoubleClickDistance
    SettingsGtkDoubleClickDistancePropertyInfo,
    constructSettingsGtkDoubleClickDistance ,
    getSettingsGtkDoubleClickDistance       ,
    setSettingsGtkDoubleClickDistance       ,


-- ** GtkDoubleClickTime
    SettingsGtkDoubleClickTimePropertyInfo  ,
    constructSettingsGtkDoubleClickTime     ,
    getSettingsGtkDoubleClickTime           ,
    setSettingsGtkDoubleClickTime           ,


-- ** GtkEnableAccels
    SettingsGtkEnableAccelsPropertyInfo     ,
    constructSettingsGtkEnableAccels        ,
    getSettingsGtkEnableAccels              ,
    setSettingsGtkEnableAccels              ,


-- ** GtkEnableAnimations
    SettingsGtkEnableAnimationsPropertyInfo ,
    constructSettingsGtkEnableAnimations    ,
    getSettingsGtkEnableAnimations          ,
    setSettingsGtkEnableAnimations          ,


-- ** GtkEnableEventSounds
    SettingsGtkEnableEventSoundsPropertyInfo,
    constructSettingsGtkEnableEventSounds   ,
    getSettingsGtkEnableEventSounds         ,
    setSettingsGtkEnableEventSounds         ,


-- ** GtkEnableInputFeedbackSounds
    SettingsGtkEnableInputFeedbackSoundsPropertyInfo,
    constructSettingsGtkEnableInputFeedbackSounds,
    getSettingsGtkEnableInputFeedbackSounds ,
    setSettingsGtkEnableInputFeedbackSounds ,


-- ** GtkEnableMnemonics
    SettingsGtkEnableMnemonicsPropertyInfo  ,
    constructSettingsGtkEnableMnemonics     ,
    getSettingsGtkEnableMnemonics           ,
    setSettingsGtkEnableMnemonics           ,


-- ** GtkEnablePrimaryPaste
    SettingsGtkEnablePrimaryPastePropertyInfo,
    constructSettingsGtkEnablePrimaryPaste  ,
    getSettingsGtkEnablePrimaryPaste        ,
    setSettingsGtkEnablePrimaryPaste        ,


-- ** GtkEnableTooltips
    SettingsGtkEnableTooltipsPropertyInfo   ,
    constructSettingsGtkEnableTooltips      ,
    getSettingsGtkEnableTooltips            ,
    setSettingsGtkEnableTooltips            ,


-- ** GtkEntryPasswordHintTimeout
    SettingsGtkEntryPasswordHintTimeoutPropertyInfo,
    constructSettingsGtkEntryPasswordHintTimeout,
    getSettingsGtkEntryPasswordHintTimeout  ,
    setSettingsGtkEntryPasswordHintTimeout  ,


-- ** GtkEntrySelectOnFocus
    SettingsGtkEntrySelectOnFocusPropertyInfo,
    constructSettingsGtkEntrySelectOnFocus  ,
    getSettingsGtkEntrySelectOnFocus        ,
    setSettingsGtkEntrySelectOnFocus        ,


-- ** GtkErrorBell
    SettingsGtkErrorBellPropertyInfo        ,
    constructSettingsGtkErrorBell           ,
    getSettingsGtkErrorBell                 ,
    setSettingsGtkErrorBell                 ,


-- ** GtkFallbackIconTheme
    SettingsGtkFallbackIconThemePropertyInfo,
    constructSettingsGtkFallbackIconTheme   ,
    getSettingsGtkFallbackIconTheme         ,
    setSettingsGtkFallbackIconTheme         ,


-- ** GtkFileChooserBackend
    SettingsGtkFileChooserBackendPropertyInfo,
    constructSettingsGtkFileChooserBackend  ,
    getSettingsGtkFileChooserBackend        ,
    setSettingsGtkFileChooserBackend        ,


-- ** GtkFontName
    SettingsGtkFontNamePropertyInfo         ,
    constructSettingsGtkFontName            ,
    getSettingsGtkFontName                  ,
    setSettingsGtkFontName                  ,


-- ** GtkFontconfigTimestamp
    SettingsGtkFontconfigTimestampPropertyInfo,
    constructSettingsGtkFontconfigTimestamp ,
    getSettingsGtkFontconfigTimestamp       ,
    setSettingsGtkFontconfigTimestamp       ,


-- ** GtkIconSizes
    SettingsGtkIconSizesPropertyInfo        ,
    constructSettingsGtkIconSizes           ,
    getSettingsGtkIconSizes                 ,
    setSettingsGtkIconSizes                 ,


-- ** GtkIconThemeName
    SettingsGtkIconThemeNamePropertyInfo    ,
    constructSettingsGtkIconThemeName       ,
    getSettingsGtkIconThemeName             ,
    setSettingsGtkIconThemeName             ,


-- ** GtkImModule
    SettingsGtkImModulePropertyInfo         ,
    constructSettingsGtkImModule            ,
    getSettingsGtkImModule                  ,
    setSettingsGtkImModule                  ,


-- ** GtkImPreeditStyle
    SettingsGtkImPreeditStylePropertyInfo   ,
    constructSettingsGtkImPreeditStyle      ,
    getSettingsGtkImPreeditStyle            ,
    setSettingsGtkImPreeditStyle            ,


-- ** GtkImStatusStyle
    SettingsGtkImStatusStylePropertyInfo    ,
    constructSettingsGtkImStatusStyle       ,
    getSettingsGtkImStatusStyle             ,
    setSettingsGtkImStatusStyle             ,


-- ** GtkKeyThemeName
    SettingsGtkKeyThemeNamePropertyInfo     ,
    constructSettingsGtkKeyThemeName        ,
    getSettingsGtkKeyThemeName              ,
    setSettingsGtkKeyThemeName              ,


-- ** GtkKeynavCursorOnly
    SettingsGtkKeynavCursorOnlyPropertyInfo ,
    constructSettingsGtkKeynavCursorOnly    ,
    getSettingsGtkKeynavCursorOnly          ,
    setSettingsGtkKeynavCursorOnly          ,


-- ** GtkKeynavWrapAround
    SettingsGtkKeynavWrapAroundPropertyInfo ,
    constructSettingsGtkKeynavWrapAround    ,
    getSettingsGtkKeynavWrapAround          ,
    setSettingsGtkKeynavWrapAround          ,


-- ** GtkLabelSelectOnFocus
    SettingsGtkLabelSelectOnFocusPropertyInfo,
    constructSettingsGtkLabelSelectOnFocus  ,
    getSettingsGtkLabelSelectOnFocus        ,
    setSettingsGtkLabelSelectOnFocus        ,


-- ** GtkLongPressTime
    SettingsGtkLongPressTimePropertyInfo    ,
    constructSettingsGtkLongPressTime       ,
    getSettingsGtkLongPressTime             ,
    setSettingsGtkLongPressTime             ,


-- ** GtkMenuBarAccel
    SettingsGtkMenuBarAccelPropertyInfo     ,
    constructSettingsGtkMenuBarAccel        ,
    getSettingsGtkMenuBarAccel              ,
    setSettingsGtkMenuBarAccel              ,


-- ** GtkMenuBarPopupDelay
    SettingsGtkMenuBarPopupDelayPropertyInfo,
    constructSettingsGtkMenuBarPopupDelay   ,
    getSettingsGtkMenuBarPopupDelay         ,
    setSettingsGtkMenuBarPopupDelay         ,


-- ** GtkMenuImages
    SettingsGtkMenuImagesPropertyInfo       ,
    constructSettingsGtkMenuImages          ,
    getSettingsGtkMenuImages                ,
    setSettingsGtkMenuImages                ,


-- ** GtkMenuPopdownDelay
    SettingsGtkMenuPopdownDelayPropertyInfo ,
    constructSettingsGtkMenuPopdownDelay    ,
    getSettingsGtkMenuPopdownDelay          ,
    setSettingsGtkMenuPopdownDelay          ,


-- ** GtkMenuPopupDelay
    SettingsGtkMenuPopupDelayPropertyInfo   ,
    constructSettingsGtkMenuPopupDelay      ,
    getSettingsGtkMenuPopupDelay            ,
    setSettingsGtkMenuPopupDelay            ,


-- ** GtkModules
    SettingsGtkModulesPropertyInfo          ,
    constructSettingsGtkModules             ,
    getSettingsGtkModules                   ,
    setSettingsGtkModules                   ,


-- ** GtkPrimaryButtonWarpsSlider
    SettingsGtkPrimaryButtonWarpsSliderPropertyInfo,
    constructSettingsGtkPrimaryButtonWarpsSlider,
    getSettingsGtkPrimaryButtonWarpsSlider  ,
    setSettingsGtkPrimaryButtonWarpsSlider  ,


-- ** GtkPrintBackends
    SettingsGtkPrintBackendsPropertyInfo    ,
    constructSettingsGtkPrintBackends       ,
    getSettingsGtkPrintBackends             ,
    setSettingsGtkPrintBackends             ,


-- ** GtkPrintPreviewCommand
    SettingsGtkPrintPreviewCommandPropertyInfo,
    constructSettingsGtkPrintPreviewCommand ,
    getSettingsGtkPrintPreviewCommand       ,
    setSettingsGtkPrintPreviewCommand       ,


-- ** GtkRecentFilesEnabled
    SettingsGtkRecentFilesEnabledPropertyInfo,
    constructSettingsGtkRecentFilesEnabled  ,
    getSettingsGtkRecentFilesEnabled        ,
    setSettingsGtkRecentFilesEnabled        ,


-- ** GtkRecentFilesLimit
    SettingsGtkRecentFilesLimitPropertyInfo ,
    constructSettingsGtkRecentFilesLimit    ,
    getSettingsGtkRecentFilesLimit          ,
    setSettingsGtkRecentFilesLimit          ,


-- ** GtkRecentFilesMaxAge
    SettingsGtkRecentFilesMaxAgePropertyInfo,
    constructSettingsGtkRecentFilesMaxAge   ,
    getSettingsGtkRecentFilesMaxAge         ,
    setSettingsGtkRecentFilesMaxAge         ,


-- ** GtkScrolledWindowPlacement
    SettingsGtkScrolledWindowPlacementPropertyInfo,
    constructSettingsGtkScrolledWindowPlacement,
    getSettingsGtkScrolledWindowPlacement   ,
    setSettingsGtkScrolledWindowPlacement   ,


-- ** GtkShellShowsAppMenu
    SettingsGtkShellShowsAppMenuPropertyInfo,
    constructSettingsGtkShellShowsAppMenu   ,
    getSettingsGtkShellShowsAppMenu         ,
    setSettingsGtkShellShowsAppMenu         ,


-- ** GtkShellShowsDesktop
    SettingsGtkShellShowsDesktopPropertyInfo,
    constructSettingsGtkShellShowsDesktop   ,
    getSettingsGtkShellShowsDesktop         ,
    setSettingsGtkShellShowsDesktop         ,


-- ** GtkShellShowsMenubar
    SettingsGtkShellShowsMenubarPropertyInfo,
    constructSettingsGtkShellShowsMenubar   ,
    getSettingsGtkShellShowsMenubar         ,
    setSettingsGtkShellShowsMenubar         ,


-- ** GtkShowInputMethodMenu
    SettingsGtkShowInputMethodMenuPropertyInfo,
    constructSettingsGtkShowInputMethodMenu ,
    getSettingsGtkShowInputMethodMenu       ,
    setSettingsGtkShowInputMethodMenu       ,


-- ** GtkShowUnicodeMenu
    SettingsGtkShowUnicodeMenuPropertyInfo  ,
    constructSettingsGtkShowUnicodeMenu     ,
    getSettingsGtkShowUnicodeMenu           ,
    setSettingsGtkShowUnicodeMenu           ,


-- ** GtkSoundThemeName
    SettingsGtkSoundThemeNamePropertyInfo   ,
    constructSettingsGtkSoundThemeName      ,
    getSettingsGtkSoundThemeName            ,
    setSettingsGtkSoundThemeName            ,


-- ** GtkSplitCursor
    SettingsGtkSplitCursorPropertyInfo      ,
    constructSettingsGtkSplitCursor         ,
    getSettingsGtkSplitCursor               ,
    setSettingsGtkSplitCursor               ,


-- ** GtkThemeName
    SettingsGtkThemeNamePropertyInfo        ,
    constructSettingsGtkThemeName           ,
    getSettingsGtkThemeName                 ,
    setSettingsGtkThemeName                 ,


-- ** GtkTimeoutExpand
    SettingsGtkTimeoutExpandPropertyInfo    ,
    constructSettingsGtkTimeoutExpand       ,
    getSettingsGtkTimeoutExpand             ,
    setSettingsGtkTimeoutExpand             ,


-- ** GtkTimeoutInitial
    SettingsGtkTimeoutInitialPropertyInfo   ,
    constructSettingsGtkTimeoutInitial      ,
    getSettingsGtkTimeoutInitial            ,
    setSettingsGtkTimeoutInitial            ,


-- ** GtkTimeoutRepeat
    SettingsGtkTimeoutRepeatPropertyInfo    ,
    constructSettingsGtkTimeoutRepeat       ,
    getSettingsGtkTimeoutRepeat             ,
    setSettingsGtkTimeoutRepeat             ,


-- ** GtkTitlebarDoubleClick
    SettingsGtkTitlebarDoubleClickPropertyInfo,
    constructSettingsGtkTitlebarDoubleClick ,
    getSettingsGtkTitlebarDoubleClick       ,
    setSettingsGtkTitlebarDoubleClick       ,


-- ** GtkTitlebarMiddleClick
    SettingsGtkTitlebarMiddleClickPropertyInfo,
    constructSettingsGtkTitlebarMiddleClick ,
    getSettingsGtkTitlebarMiddleClick       ,
    setSettingsGtkTitlebarMiddleClick       ,


-- ** GtkTitlebarRightClick
    SettingsGtkTitlebarRightClickPropertyInfo,
    constructSettingsGtkTitlebarRightClick  ,
    getSettingsGtkTitlebarRightClick        ,
    setSettingsGtkTitlebarRightClick        ,


-- ** GtkToolbarIconSize
    SettingsGtkToolbarIconSizePropertyInfo  ,
    constructSettingsGtkToolbarIconSize     ,
    getSettingsGtkToolbarIconSize           ,
    setSettingsGtkToolbarIconSize           ,


-- ** GtkToolbarStyle
    SettingsGtkToolbarStylePropertyInfo     ,
    constructSettingsGtkToolbarStyle        ,
    getSettingsGtkToolbarStyle              ,
    setSettingsGtkToolbarStyle              ,


-- ** GtkTooltipBrowseModeTimeout
    SettingsGtkTooltipBrowseModeTimeoutPropertyInfo,
    constructSettingsGtkTooltipBrowseModeTimeout,
    getSettingsGtkTooltipBrowseModeTimeout  ,
    setSettingsGtkTooltipBrowseModeTimeout  ,


-- ** GtkTooltipBrowseTimeout
    SettingsGtkTooltipBrowseTimeoutPropertyInfo,
    constructSettingsGtkTooltipBrowseTimeout,
    getSettingsGtkTooltipBrowseTimeout      ,
    setSettingsGtkTooltipBrowseTimeout      ,


-- ** GtkTooltipTimeout
    SettingsGtkTooltipTimeoutPropertyInfo   ,
    constructSettingsGtkTooltipTimeout      ,
    getSettingsGtkTooltipTimeout            ,
    setSettingsGtkTooltipTimeout            ,


-- ** GtkTouchscreenMode
    SettingsGtkTouchscreenModePropertyInfo  ,
    constructSettingsGtkTouchscreenMode     ,
    getSettingsGtkTouchscreenMode           ,
    setSettingsGtkTouchscreenMode           ,


-- ** GtkVisibleFocus
    SettingsGtkVisibleFocusPropertyInfo     ,
    constructSettingsGtkVisibleFocus        ,
    getSettingsGtkVisibleFocus              ,
    setSettingsGtkVisibleFocus              ,


-- ** GtkXftAntialias
    SettingsGtkXftAntialiasPropertyInfo     ,
    constructSettingsGtkXftAntialias        ,
    getSettingsGtkXftAntialias              ,
    setSettingsGtkXftAntialias              ,


-- ** GtkXftDpi
    SettingsGtkXftDpiPropertyInfo           ,
    constructSettingsGtkXftDpi              ,
    getSettingsGtkXftDpi                    ,
    setSettingsGtkXftDpi                    ,


-- ** GtkXftHinting
    SettingsGtkXftHintingPropertyInfo       ,
    constructSettingsGtkXftHinting          ,
    getSettingsGtkXftHinting                ,
    setSettingsGtkXftHinting                ,


-- ** GtkXftHintstyle
    SettingsGtkXftHintstylePropertyInfo     ,
    constructSettingsGtkXftHintstyle        ,
    getSettingsGtkXftHintstyle              ,
    setSettingsGtkXftHintstyle              ,


-- ** GtkXftRgba
    SettingsGtkXftRgbaPropertyInfo          ,
    constructSettingsGtkXftRgba             ,
    getSettingsGtkXftRgba                   ,
    setSettingsGtkXftRgba                   ,




    ) where

import Prelude ()
import Data.GI.Base.ShortPrelude

import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map

import GI.Gtk.Types
import GI.Gtk.Callbacks
import qualified GI.GObject as GObject
import qualified GI.Gdk as Gdk

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

type instance ParentTypes Settings = SettingsParentTypes
type SettingsParentTypes = '[GObject.Object, StyleProvider]

instance GObject Settings where
    gobjectIsInitiallyUnowned _ = False
    gobjectType _ = c_gtk_settings_get_type
    

class GObject o => SettingsK o
instance (GObject o, IsDescendantOf Settings o) => SettingsK o

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

noSettings :: Maybe Settings
noSettings = Nothing

-- 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 = ""
    attrGet = undefined
    attrSet = undefined
    attrConstruct = undefined
-- VVV Prop "gtk-alternative-button-order"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkAlternativeButtonOrder :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkAlternativeButtonOrderPropertyInfo = Bool
    type AttrLabel SettingsGtkAlternativeButtonOrderPropertyInfo = "Settings::gtk-alternative-button-order"
    attrGet _ = getSettingsGtkAlternativeButtonOrder
    attrSet _ = setSettingsGtkAlternativeButtonOrder
    attrConstruct _ = constructSettingsGtkAlternativeButtonOrder

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

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

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

constructSettingsGtkAlternativeSortArrows :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkAlternativeSortArrowsPropertyInfo = Bool
    type AttrLabel SettingsGtkAlternativeSortArrowsPropertyInfo = "Settings::gtk-alternative-sort-arrows"
    attrGet _ = getSettingsGtkAlternativeSortArrows
    attrSet _ = setSettingsGtkAlternativeSortArrows
    attrConstruct _ = constructSettingsGtkAlternativeSortArrows

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

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

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

constructSettingsGtkApplicationPreferDarkTheme :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkApplicationPreferDarkThemePropertyInfo = Bool
    type AttrLabel SettingsGtkApplicationPreferDarkThemePropertyInfo = "Settings::gtk-application-prefer-dark-theme"
    attrGet _ = getSettingsGtkApplicationPreferDarkTheme
    attrSet _ = setSettingsGtkApplicationPreferDarkTheme
    attrConstruct _ = constructSettingsGtkApplicationPreferDarkTheme

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

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

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

constructSettingsGtkAutoMnemonics :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkAutoMnemonicsPropertyInfo = Bool
    type AttrLabel SettingsGtkAutoMnemonicsPropertyInfo = "Settings::gtk-auto-mnemonics"
    attrGet _ = getSettingsGtkAutoMnemonics
    attrSet _ = setSettingsGtkAutoMnemonics
    attrConstruct _ = constructSettingsGtkAutoMnemonics

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

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

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

constructSettingsGtkButtonImages :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkButtonImagesPropertyInfo = Bool
    type AttrLabel SettingsGtkButtonImagesPropertyInfo = "Settings::gtk-button-images"
    attrGet _ = getSettingsGtkButtonImages
    attrSet _ = setSettingsGtkButtonImages
    attrConstruct _ = constructSettingsGtkButtonImages

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

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

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

constructSettingsGtkCanChangeAccels :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkCanChangeAccelsPropertyInfo = Bool
    type AttrLabel SettingsGtkCanChangeAccelsPropertyInfo = "Settings::gtk-can-change-accels"
    attrGet _ = getSettingsGtkCanChangeAccels
    attrSet _ = setSettingsGtkCanChangeAccels
    attrConstruct _ = constructSettingsGtkCanChangeAccels

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

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

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

constructSettingsGtkColorPalette :: T.Text -> IO ([Char], GValue)
constructSettingsGtkColorPalette val = constructObjectPropertyString "gtk-color-palette" val

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

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

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

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

constructSettingsGtkColorScheme :: T.Text -> IO ([Char], GValue)
constructSettingsGtkColorScheme val = constructObjectPropertyString "gtk-color-scheme" val

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

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

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

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

constructSettingsGtkCursorBlink :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkCursorBlinkPropertyInfo = Bool
    type AttrLabel SettingsGtkCursorBlinkPropertyInfo = "Settings::gtk-cursor-blink"
    attrGet _ = getSettingsGtkCursorBlink
    attrSet _ = setSettingsGtkCursorBlink
    attrConstruct _ = constructSettingsGtkCursorBlink

-- VVV Prop "gtk-cursor-blink-time"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkCursorBlinkTime :: Int32 -> IO ([Char], GValue)
constructSettingsGtkCursorBlinkTime val = constructObjectPropertyCInt "gtk-cursor-blink-time" val

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

-- VVV Prop "gtk-cursor-blink-timeout"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkCursorBlinkTimeout :: Int32 -> IO ([Char], GValue)
constructSettingsGtkCursorBlinkTimeout val = constructObjectPropertyCInt "gtk-cursor-blink-timeout" val

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

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

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

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

constructSettingsGtkCursorThemeName :: T.Text -> IO ([Char], GValue)
constructSettingsGtkCursorThemeName val = constructObjectPropertyString "gtk-cursor-theme-name" val

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

-- VVV Prop "gtk-cursor-theme-size"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkCursorThemeSize :: Int32 -> IO ([Char], GValue)
constructSettingsGtkCursorThemeSize val = constructObjectPropertyCInt "gtk-cursor-theme-size" val

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

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

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

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

constructSettingsGtkDecorationLayout :: T.Text -> IO ([Char], GValue)
constructSettingsGtkDecorationLayout val = constructObjectPropertyString "gtk-decoration-layout" val

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

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

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

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

constructSettingsGtkDialogsUseHeader :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkDialogsUseHeaderPropertyInfo = Bool
    type AttrLabel SettingsGtkDialogsUseHeaderPropertyInfo = "Settings::gtk-dialogs-use-header"
    attrGet _ = getSettingsGtkDialogsUseHeader
    attrSet _ = setSettingsGtkDialogsUseHeader
    attrConstruct _ = constructSettingsGtkDialogsUseHeader

-- VVV Prop "gtk-dnd-drag-threshold"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkDndDragThreshold :: Int32 -> IO ([Char], GValue)
constructSettingsGtkDndDragThreshold val = constructObjectPropertyCInt "gtk-dnd-drag-threshold" val

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

-- VVV Prop "gtk-double-click-distance"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkDoubleClickDistance :: Int32 -> IO ([Char], GValue)
constructSettingsGtkDoubleClickDistance val = constructObjectPropertyCInt "gtk-double-click-distance" val

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

-- VVV Prop "gtk-double-click-time"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkDoubleClickTime :: Int32 -> IO ([Char], GValue)
constructSettingsGtkDoubleClickTime val = constructObjectPropertyCInt "gtk-double-click-time" val

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

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

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

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

constructSettingsGtkEnableAccels :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkEnableAccelsPropertyInfo = Bool
    type AttrLabel SettingsGtkEnableAccelsPropertyInfo = "Settings::gtk-enable-accels"
    attrGet _ = getSettingsGtkEnableAccels
    attrSet _ = setSettingsGtkEnableAccels
    attrConstruct _ = constructSettingsGtkEnableAccels

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

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

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

constructSettingsGtkEnableAnimations :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkEnableAnimationsPropertyInfo = Bool
    type AttrLabel SettingsGtkEnableAnimationsPropertyInfo = "Settings::gtk-enable-animations"
    attrGet _ = getSettingsGtkEnableAnimations
    attrSet _ = setSettingsGtkEnableAnimations
    attrConstruct _ = constructSettingsGtkEnableAnimations

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

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

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

constructSettingsGtkEnableEventSounds :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkEnableEventSoundsPropertyInfo = Bool
    type AttrLabel SettingsGtkEnableEventSoundsPropertyInfo = "Settings::gtk-enable-event-sounds"
    attrGet _ = getSettingsGtkEnableEventSounds
    attrSet _ = setSettingsGtkEnableEventSounds
    attrConstruct _ = constructSettingsGtkEnableEventSounds

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

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

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

constructSettingsGtkEnableInputFeedbackSounds :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkEnableInputFeedbackSoundsPropertyInfo = Bool
    type AttrLabel SettingsGtkEnableInputFeedbackSoundsPropertyInfo = "Settings::gtk-enable-input-feedback-sounds"
    attrGet _ = getSettingsGtkEnableInputFeedbackSounds
    attrSet _ = setSettingsGtkEnableInputFeedbackSounds
    attrConstruct _ = constructSettingsGtkEnableInputFeedbackSounds

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

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

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

constructSettingsGtkEnableMnemonics :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkEnableMnemonicsPropertyInfo = Bool
    type AttrLabel SettingsGtkEnableMnemonicsPropertyInfo = "Settings::gtk-enable-mnemonics"
    attrGet _ = getSettingsGtkEnableMnemonics
    attrSet _ = setSettingsGtkEnableMnemonics
    attrConstruct _ = constructSettingsGtkEnableMnemonics

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

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

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

constructSettingsGtkEnablePrimaryPaste :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkEnablePrimaryPastePropertyInfo = Bool
    type AttrLabel SettingsGtkEnablePrimaryPastePropertyInfo = "Settings::gtk-enable-primary-paste"
    attrGet _ = getSettingsGtkEnablePrimaryPaste
    attrSet _ = setSettingsGtkEnablePrimaryPaste
    attrConstruct _ = constructSettingsGtkEnablePrimaryPaste

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

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

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

constructSettingsGtkEnableTooltips :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkEnableTooltipsPropertyInfo = Bool
    type AttrLabel SettingsGtkEnableTooltipsPropertyInfo = "Settings::gtk-enable-tooltips"
    attrGet _ = getSettingsGtkEnableTooltips
    attrSet _ = setSettingsGtkEnableTooltips
    attrConstruct _ = constructSettingsGtkEnableTooltips

-- VVV Prop "gtk-entry-password-hint-timeout"
   -- Type: TBasicType TUInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkEntryPasswordHintTimeout :: Word32 -> IO ([Char], GValue)
constructSettingsGtkEntryPasswordHintTimeout val = constructObjectPropertyCUInt "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 = SettingsK
    type AttrGetType SettingsGtkEntryPasswordHintTimeoutPropertyInfo = Word32
    type AttrLabel SettingsGtkEntryPasswordHintTimeoutPropertyInfo = "Settings::gtk-entry-password-hint-timeout"
    attrGet _ = getSettingsGtkEntryPasswordHintTimeout
    attrSet _ = setSettingsGtkEntryPasswordHintTimeout
    attrConstruct _ = constructSettingsGtkEntryPasswordHintTimeout

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

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

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

constructSettingsGtkEntrySelectOnFocus :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkEntrySelectOnFocusPropertyInfo = Bool
    type AttrLabel SettingsGtkEntrySelectOnFocusPropertyInfo = "Settings::gtk-entry-select-on-focus"
    attrGet _ = getSettingsGtkEntrySelectOnFocus
    attrSet _ = setSettingsGtkEntrySelectOnFocus
    attrConstruct _ = constructSettingsGtkEntrySelectOnFocus

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

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

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

constructSettingsGtkErrorBell :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkErrorBellPropertyInfo = Bool
    type AttrLabel SettingsGtkErrorBellPropertyInfo = "Settings::gtk-error-bell"
    attrGet _ = getSettingsGtkErrorBell
    attrSet _ = setSettingsGtkErrorBell
    attrConstruct _ = constructSettingsGtkErrorBell

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

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

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

constructSettingsGtkFallbackIconTheme :: T.Text -> IO ([Char], GValue)
constructSettingsGtkFallbackIconTheme val = constructObjectPropertyString "gtk-fallback-icon-theme" val

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

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

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

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

constructSettingsGtkFileChooserBackend :: T.Text -> IO ([Char], GValue)
constructSettingsGtkFileChooserBackend val = constructObjectPropertyString "gtk-file-chooser-backend" val

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

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

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

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

constructSettingsGtkFontName :: T.Text -> IO ([Char], GValue)
constructSettingsGtkFontName val = constructObjectPropertyString "gtk-font-name" val

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

-- VVV Prop "gtk-fontconfig-timestamp"
   -- Type: TBasicType TUInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkFontconfigTimestamp :: Word32 -> IO ([Char], GValue)
constructSettingsGtkFontconfigTimestamp val = constructObjectPropertyCUInt "gtk-fontconfig-timestamp" val

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

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

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

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

constructSettingsGtkIconSizes :: T.Text -> IO ([Char], GValue)
constructSettingsGtkIconSizes val = constructObjectPropertyString "gtk-icon-sizes" val

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

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

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

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

constructSettingsGtkIconThemeName :: T.Text -> IO ([Char], GValue)
constructSettingsGtkIconThemeName val = constructObjectPropertyString "gtk-icon-theme-name" val

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

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

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

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

constructSettingsGtkImModule :: T.Text -> IO ([Char], GValue)
constructSettingsGtkImModule val = constructObjectPropertyString "gtk-im-module" val

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

-- VVV Prop "gtk-im-preedit-style"
   -- Type: TInterface "Gtk" "IMPreeditStyle"
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkImPreeditStyle :: IMPreeditStyle -> IO ([Char], GValue)
constructSettingsGtkImPreeditStyle val = constructObjectPropertyEnum "gtk-im-preedit-style" val

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

-- VVV Prop "gtk-im-status-style"
   -- Type: TInterface "Gtk" "IMStatusStyle"
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkImStatusStyle :: IMStatusStyle -> IO ([Char], GValue)
constructSettingsGtkImStatusStyle val = constructObjectPropertyEnum "gtk-im-status-style" val

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

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

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

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

constructSettingsGtkKeyThemeName :: T.Text -> IO ([Char], GValue)
constructSettingsGtkKeyThemeName val = constructObjectPropertyString "gtk-key-theme-name" val

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

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

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

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

constructSettingsGtkKeynavCursorOnly :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkKeynavCursorOnlyPropertyInfo = Bool
    type AttrLabel SettingsGtkKeynavCursorOnlyPropertyInfo = "Settings::gtk-keynav-cursor-only"
    attrGet _ = getSettingsGtkKeynavCursorOnly
    attrSet _ = setSettingsGtkKeynavCursorOnly
    attrConstruct _ = constructSettingsGtkKeynavCursorOnly

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

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

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

constructSettingsGtkKeynavWrapAround :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkKeynavWrapAroundPropertyInfo = Bool
    type AttrLabel SettingsGtkKeynavWrapAroundPropertyInfo = "Settings::gtk-keynav-wrap-around"
    attrGet _ = getSettingsGtkKeynavWrapAround
    attrSet _ = setSettingsGtkKeynavWrapAround
    attrConstruct _ = constructSettingsGtkKeynavWrapAround

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

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

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

constructSettingsGtkLabelSelectOnFocus :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkLabelSelectOnFocusPropertyInfo = Bool
    type AttrLabel SettingsGtkLabelSelectOnFocusPropertyInfo = "Settings::gtk-label-select-on-focus"
    attrGet _ = getSettingsGtkLabelSelectOnFocus
    attrSet _ = setSettingsGtkLabelSelectOnFocus
    attrConstruct _ = constructSettingsGtkLabelSelectOnFocus

-- VVV Prop "gtk-long-press-time"
   -- Type: TBasicType TUInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkLongPressTime :: Word32 -> IO ([Char], GValue)
constructSettingsGtkLongPressTime val = constructObjectPropertyCUInt "gtk-long-press-time" val

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

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

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

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

constructSettingsGtkMenuBarAccel :: T.Text -> IO ([Char], GValue)
constructSettingsGtkMenuBarAccel val = constructObjectPropertyString "gtk-menu-bar-accel" val

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

-- VVV Prop "gtk-menu-bar-popup-delay"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkMenuBarPopupDelay :: Int32 -> IO ([Char], GValue)
constructSettingsGtkMenuBarPopupDelay val = constructObjectPropertyCInt "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 = SettingsK
    type AttrGetType SettingsGtkMenuBarPopupDelayPropertyInfo = Int32
    type AttrLabel SettingsGtkMenuBarPopupDelayPropertyInfo = "Settings::gtk-menu-bar-popup-delay"
    attrGet _ = getSettingsGtkMenuBarPopupDelay
    attrSet _ = setSettingsGtkMenuBarPopupDelay
    attrConstruct _ = constructSettingsGtkMenuBarPopupDelay

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

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

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

constructSettingsGtkMenuImages :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkMenuImagesPropertyInfo = Bool
    type AttrLabel SettingsGtkMenuImagesPropertyInfo = "Settings::gtk-menu-images"
    attrGet _ = getSettingsGtkMenuImages
    attrSet _ = setSettingsGtkMenuImages
    attrConstruct _ = constructSettingsGtkMenuImages

-- VVV Prop "gtk-menu-popdown-delay"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkMenuPopdownDelay :: Int32 -> IO ([Char], GValue)
constructSettingsGtkMenuPopdownDelay val = constructObjectPropertyCInt "gtk-menu-popdown-delay" val

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

-- VVV Prop "gtk-menu-popup-delay"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkMenuPopupDelay :: Int32 -> IO ([Char], GValue)
constructSettingsGtkMenuPopupDelay val = constructObjectPropertyCInt "gtk-menu-popup-delay" val

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

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

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

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

constructSettingsGtkModules :: T.Text -> IO ([Char], GValue)
constructSettingsGtkModules val = constructObjectPropertyString "gtk-modules" val

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

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

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

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

constructSettingsGtkPrimaryButtonWarpsSlider :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkPrimaryButtonWarpsSliderPropertyInfo = Bool
    type AttrLabel SettingsGtkPrimaryButtonWarpsSliderPropertyInfo = "Settings::gtk-primary-button-warps-slider"
    attrGet _ = getSettingsGtkPrimaryButtonWarpsSlider
    attrSet _ = setSettingsGtkPrimaryButtonWarpsSlider
    attrConstruct _ = constructSettingsGtkPrimaryButtonWarpsSlider

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

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

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

constructSettingsGtkPrintBackends :: T.Text -> IO ([Char], GValue)
constructSettingsGtkPrintBackends val = constructObjectPropertyString "gtk-print-backends" val

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

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

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

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

constructSettingsGtkPrintPreviewCommand :: T.Text -> IO ([Char], GValue)
constructSettingsGtkPrintPreviewCommand val = constructObjectPropertyString "gtk-print-preview-command" val

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

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

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

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

constructSettingsGtkRecentFilesEnabled :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkRecentFilesEnabledPropertyInfo = Bool
    type AttrLabel SettingsGtkRecentFilesEnabledPropertyInfo = "Settings::gtk-recent-files-enabled"
    attrGet _ = getSettingsGtkRecentFilesEnabled
    attrSet _ = setSettingsGtkRecentFilesEnabled
    attrConstruct _ = constructSettingsGtkRecentFilesEnabled

-- VVV Prop "gtk-recent-files-limit"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkRecentFilesLimit :: Int32 -> IO ([Char], GValue)
constructSettingsGtkRecentFilesLimit val = constructObjectPropertyCInt "gtk-recent-files-limit" val

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

-- VVV Prop "gtk-recent-files-max-age"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkRecentFilesMaxAge :: Int32 -> IO ([Char], GValue)
constructSettingsGtkRecentFilesMaxAge val = constructObjectPropertyCInt "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 = SettingsK
    type AttrGetType SettingsGtkRecentFilesMaxAgePropertyInfo = Int32
    type AttrLabel SettingsGtkRecentFilesMaxAgePropertyInfo = "Settings::gtk-recent-files-max-age"
    attrGet _ = getSettingsGtkRecentFilesMaxAge
    attrSet _ = setSettingsGtkRecentFilesMaxAge
    attrConstruct _ = constructSettingsGtkRecentFilesMaxAge

-- VVV Prop "gtk-scrolled-window-placement"
   -- Type: TInterface "Gtk" "CornerType"
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkScrolledWindowPlacement :: CornerType -> IO ([Char], GValue)
constructSettingsGtkScrolledWindowPlacement val = constructObjectPropertyEnum "gtk-scrolled-window-placement" val

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

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

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

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

constructSettingsGtkShellShowsAppMenu :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkShellShowsAppMenuPropertyInfo = Bool
    type AttrLabel SettingsGtkShellShowsAppMenuPropertyInfo = "Settings::gtk-shell-shows-app-menu"
    attrGet _ = getSettingsGtkShellShowsAppMenu
    attrSet _ = setSettingsGtkShellShowsAppMenu
    attrConstruct _ = constructSettingsGtkShellShowsAppMenu

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

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

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

constructSettingsGtkShellShowsDesktop :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkShellShowsDesktopPropertyInfo = Bool
    type AttrLabel SettingsGtkShellShowsDesktopPropertyInfo = "Settings::gtk-shell-shows-desktop"
    attrGet _ = getSettingsGtkShellShowsDesktop
    attrSet _ = setSettingsGtkShellShowsDesktop
    attrConstruct _ = constructSettingsGtkShellShowsDesktop

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

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

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

constructSettingsGtkShellShowsMenubar :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkShellShowsMenubarPropertyInfo = Bool
    type AttrLabel SettingsGtkShellShowsMenubarPropertyInfo = "Settings::gtk-shell-shows-menubar"
    attrGet _ = getSettingsGtkShellShowsMenubar
    attrSet _ = setSettingsGtkShellShowsMenubar
    attrConstruct _ = constructSettingsGtkShellShowsMenubar

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

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

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

constructSettingsGtkShowInputMethodMenu :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkShowInputMethodMenuPropertyInfo = Bool
    type AttrLabel SettingsGtkShowInputMethodMenuPropertyInfo = "Settings::gtk-show-input-method-menu"
    attrGet _ = getSettingsGtkShowInputMethodMenu
    attrSet _ = setSettingsGtkShowInputMethodMenu
    attrConstruct _ = constructSettingsGtkShowInputMethodMenu

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

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

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

constructSettingsGtkShowUnicodeMenu :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkShowUnicodeMenuPropertyInfo = Bool
    type AttrLabel SettingsGtkShowUnicodeMenuPropertyInfo = "Settings::gtk-show-unicode-menu"
    attrGet _ = getSettingsGtkShowUnicodeMenu
    attrSet _ = setSettingsGtkShowUnicodeMenu
    attrConstruct _ = constructSettingsGtkShowUnicodeMenu

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

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

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

constructSettingsGtkSoundThemeName :: T.Text -> IO ([Char], GValue)
constructSettingsGtkSoundThemeName val = constructObjectPropertyString "gtk-sound-theme-name" val

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

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

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

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

constructSettingsGtkSplitCursor :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkSplitCursorPropertyInfo = Bool
    type AttrLabel SettingsGtkSplitCursorPropertyInfo = "Settings::gtk-split-cursor"
    attrGet _ = getSettingsGtkSplitCursor
    attrSet _ = setSettingsGtkSplitCursor
    attrConstruct _ = constructSettingsGtkSplitCursor

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

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

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

constructSettingsGtkThemeName :: T.Text -> IO ([Char], GValue)
constructSettingsGtkThemeName val = constructObjectPropertyString "gtk-theme-name" val

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

-- VVV Prop "gtk-timeout-expand"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkTimeoutExpand :: Int32 -> IO ([Char], GValue)
constructSettingsGtkTimeoutExpand val = constructObjectPropertyCInt "gtk-timeout-expand" val

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

-- VVV Prop "gtk-timeout-initial"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkTimeoutInitial :: Int32 -> IO ([Char], GValue)
constructSettingsGtkTimeoutInitial val = constructObjectPropertyCInt "gtk-timeout-initial" val

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

-- VVV Prop "gtk-timeout-repeat"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkTimeoutRepeat :: Int32 -> IO ([Char], GValue)
constructSettingsGtkTimeoutRepeat val = constructObjectPropertyCInt "gtk-timeout-repeat" val

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

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

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

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

constructSettingsGtkTitlebarDoubleClick :: T.Text -> IO ([Char], GValue)
constructSettingsGtkTitlebarDoubleClick val = constructObjectPropertyString "gtk-titlebar-double-click" val

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

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

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

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

constructSettingsGtkTitlebarMiddleClick :: T.Text -> IO ([Char], GValue)
constructSettingsGtkTitlebarMiddleClick val = constructObjectPropertyString "gtk-titlebar-middle-click" val

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

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

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

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

constructSettingsGtkTitlebarRightClick :: T.Text -> IO ([Char], GValue)
constructSettingsGtkTitlebarRightClick val = constructObjectPropertyString "gtk-titlebar-right-click" val

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

-- VVV Prop "gtk-toolbar-icon-size"
   -- Type: TInterface "Gtk" "IconSize"
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkToolbarIconSize :: IconSize -> IO ([Char], GValue)
constructSettingsGtkToolbarIconSize val = constructObjectPropertyEnum "gtk-toolbar-icon-size" val

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

-- VVV Prop "gtk-toolbar-style"
   -- Type: TInterface "Gtk" "ToolbarStyle"
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkToolbarStyle :: ToolbarStyle -> IO ([Char], GValue)
constructSettingsGtkToolbarStyle val = constructObjectPropertyEnum "gtk-toolbar-style" val

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

-- VVV Prop "gtk-tooltip-browse-mode-timeout"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkTooltipBrowseModeTimeout :: Int32 -> IO ([Char], GValue)
constructSettingsGtkTooltipBrowseModeTimeout val = constructObjectPropertyCInt "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 = SettingsK
    type AttrGetType SettingsGtkTooltipBrowseModeTimeoutPropertyInfo = Int32
    type AttrLabel SettingsGtkTooltipBrowseModeTimeoutPropertyInfo = "Settings::gtk-tooltip-browse-mode-timeout"
    attrGet _ = getSettingsGtkTooltipBrowseModeTimeout
    attrSet _ = setSettingsGtkTooltipBrowseModeTimeout
    attrConstruct _ = constructSettingsGtkTooltipBrowseModeTimeout

-- VVV Prop "gtk-tooltip-browse-timeout"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkTooltipBrowseTimeout :: Int32 -> IO ([Char], GValue)
constructSettingsGtkTooltipBrowseTimeout val = constructObjectPropertyCInt "gtk-tooltip-browse-timeout" val

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

-- VVV Prop "gtk-tooltip-timeout"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkTooltipTimeout :: Int32 -> IO ([Char], GValue)
constructSettingsGtkTooltipTimeout val = constructObjectPropertyCInt "gtk-tooltip-timeout" val

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

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

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

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

constructSettingsGtkTouchscreenMode :: Bool -> IO ([Char], GValue)
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 = SettingsK
    type AttrGetType SettingsGtkTouchscreenModePropertyInfo = Bool
    type AttrLabel SettingsGtkTouchscreenModePropertyInfo = "Settings::gtk-touchscreen-mode"
    attrGet _ = getSettingsGtkTouchscreenMode
    attrSet _ = setSettingsGtkTouchscreenMode
    attrConstruct _ = constructSettingsGtkTouchscreenMode

-- VVV Prop "gtk-visible-focus"
   -- Type: TInterface "Gtk" "PolicyType"
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkVisibleFocus :: PolicyType -> IO ([Char], GValue)
constructSettingsGtkVisibleFocus val = constructObjectPropertyEnum "gtk-visible-focus" val

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

-- VVV Prop "gtk-xft-antialias"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkXftAntialias :: Int32 -> IO ([Char], GValue)
constructSettingsGtkXftAntialias val = constructObjectPropertyCInt "gtk-xft-antialias" val

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

-- VVV Prop "gtk-xft-dpi"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkXftDpi :: Int32 -> IO ([Char], GValue)
constructSettingsGtkXftDpi val = constructObjectPropertyCInt "gtk-xft-dpi" val

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

-- VVV Prop "gtk-xft-hinting"
   -- Type: TBasicType TInt32
   -- Flags: [PropertyReadable,PropertyWritable]

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

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

constructSettingsGtkXftHinting :: Int32 -> IO ([Char], GValue)
constructSettingsGtkXftHinting val = constructObjectPropertyCInt "gtk-xft-hinting" val

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

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

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

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

constructSettingsGtkXftHintstyle :: T.Text -> IO ([Char], GValue)
constructSettingsGtkXftHintstyle val = constructObjectPropertyString "gtk-xft-hintstyle" val

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

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

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

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

constructSettingsGtkXftRgba :: T.Text -> IO ([Char], GValue)
constructSettingsGtkXftRgba val = constructObjectPropertyString "gtk-xft-rgba" val

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

type instance AttributeList Settings = SettingsAttributeList
type SettingsAttributeList = ('[ '("color-hash", SettingsColorHashPropertyInfo), '("gtk-alternative-button-order", SettingsGtkAlternativeButtonOrderPropertyInfo), '("gtk-alternative-sort-arrows", SettingsGtkAlternativeSortArrowsPropertyInfo), '("gtk-application-prefer-dark-theme", SettingsGtkApplicationPreferDarkThemePropertyInfo), '("gtk-auto-mnemonics", SettingsGtkAutoMnemonicsPropertyInfo), '("gtk-button-images", SettingsGtkButtonImagesPropertyInfo), '("gtk-can-change-accels", SettingsGtkCanChangeAccelsPropertyInfo), '("gtk-color-palette", SettingsGtkColorPalettePropertyInfo), '("gtk-color-scheme", SettingsGtkColorSchemePropertyInfo), '("gtk-cursor-blink", SettingsGtkCursorBlinkPropertyInfo), '("gtk-cursor-blink-time", SettingsGtkCursorBlinkTimePropertyInfo), '("gtk-cursor-blink-timeout", SettingsGtkCursorBlinkTimeoutPropertyInfo), '("gtk-cursor-theme-name", SettingsGtkCursorThemeNamePropertyInfo), '("gtk-cursor-theme-size", SettingsGtkCursorThemeSizePropertyInfo), '("gtk-decoration-layout", SettingsGtkDecorationLayoutPropertyInfo), '("gtk-dialogs-use-header", SettingsGtkDialogsUseHeaderPropertyInfo), '("gtk-dnd-drag-threshold", SettingsGtkDndDragThresholdPropertyInfo), '("gtk-double-click-distance", SettingsGtkDoubleClickDistancePropertyInfo), '("gtk-double-click-time", SettingsGtkDoubleClickTimePropertyInfo), '("gtk-enable-accels", SettingsGtkEnableAccelsPropertyInfo), '("gtk-enable-animations", SettingsGtkEnableAnimationsPropertyInfo), '("gtk-enable-event-sounds", SettingsGtkEnableEventSoundsPropertyInfo), '("gtk-enable-input-feedback-sounds", SettingsGtkEnableInputFeedbackSoundsPropertyInfo), '("gtk-enable-mnemonics", SettingsGtkEnableMnemonicsPropertyInfo), '("gtk-enable-primary-paste", SettingsGtkEnablePrimaryPastePropertyInfo), '("gtk-enable-tooltips", SettingsGtkEnableTooltipsPropertyInfo), '("gtk-entry-password-hint-timeout", SettingsGtkEntryPasswordHintTimeoutPropertyInfo), '("gtk-entry-select-on-focus", SettingsGtkEntrySelectOnFocusPropertyInfo), '("gtk-error-bell", SettingsGtkErrorBellPropertyInfo), '("gtk-fallback-icon-theme", SettingsGtkFallbackIconThemePropertyInfo), '("gtk-file-chooser-backend", SettingsGtkFileChooserBackendPropertyInfo), '("gtk-font-name", SettingsGtkFontNamePropertyInfo), '("gtk-fontconfig-timestamp", SettingsGtkFontconfigTimestampPropertyInfo), '("gtk-icon-sizes", SettingsGtkIconSizesPropertyInfo), '("gtk-icon-theme-name", SettingsGtkIconThemeNamePropertyInfo), '("gtk-im-module", SettingsGtkImModulePropertyInfo), '("gtk-im-preedit-style", SettingsGtkImPreeditStylePropertyInfo), '("gtk-im-status-style", SettingsGtkImStatusStylePropertyInfo), '("gtk-key-theme-name", SettingsGtkKeyThemeNamePropertyInfo), '("gtk-keynav-cursor-only", SettingsGtkKeynavCursorOnlyPropertyInfo), '("gtk-keynav-wrap-around", SettingsGtkKeynavWrapAroundPropertyInfo), '("gtk-label-select-on-focus", SettingsGtkLabelSelectOnFocusPropertyInfo), '("gtk-long-press-time", SettingsGtkLongPressTimePropertyInfo), '("gtk-menu-bar-accel", SettingsGtkMenuBarAccelPropertyInfo), '("gtk-menu-bar-popup-delay", SettingsGtkMenuBarPopupDelayPropertyInfo), '("gtk-menu-images", SettingsGtkMenuImagesPropertyInfo), '("gtk-menu-popdown-delay", SettingsGtkMenuPopdownDelayPropertyInfo), '("gtk-menu-popup-delay", SettingsGtkMenuPopupDelayPropertyInfo), '("gtk-modules", SettingsGtkModulesPropertyInfo), '("gtk-primary-button-warps-slider", SettingsGtkPrimaryButtonWarpsSliderPropertyInfo), '("gtk-print-backends", SettingsGtkPrintBackendsPropertyInfo), '("gtk-print-preview-command", SettingsGtkPrintPreviewCommandPropertyInfo), '("gtk-recent-files-enabled", SettingsGtkRecentFilesEnabledPropertyInfo), '("gtk-recent-files-limit", SettingsGtkRecentFilesLimitPropertyInfo), '("gtk-recent-files-max-age", SettingsGtkRecentFilesMaxAgePropertyInfo), '("gtk-scrolled-window-placement", SettingsGtkScrolledWindowPlacementPropertyInfo), '("gtk-shell-shows-app-menu", SettingsGtkShellShowsAppMenuPropertyInfo), '("gtk-shell-shows-desktop", SettingsGtkShellShowsDesktopPropertyInfo), '("gtk-shell-shows-menubar", SettingsGtkShellShowsMenubarPropertyInfo), '("gtk-show-input-method-menu", SettingsGtkShowInputMethodMenuPropertyInfo), '("gtk-show-unicode-menu", SettingsGtkShowUnicodeMenuPropertyInfo), '("gtk-sound-theme-name", SettingsGtkSoundThemeNamePropertyInfo), '("gtk-split-cursor", SettingsGtkSplitCursorPropertyInfo), '("gtk-theme-name", SettingsGtkThemeNamePropertyInfo), '("gtk-timeout-expand", SettingsGtkTimeoutExpandPropertyInfo), '("gtk-timeout-initial", SettingsGtkTimeoutInitialPropertyInfo), '("gtk-timeout-repeat", SettingsGtkTimeoutRepeatPropertyInfo), '("gtk-titlebar-double-click", SettingsGtkTitlebarDoubleClickPropertyInfo), '("gtk-titlebar-middle-click", SettingsGtkTitlebarMiddleClickPropertyInfo), '("gtk-titlebar-right-click", SettingsGtkTitlebarRightClickPropertyInfo), '("gtk-toolbar-icon-size", SettingsGtkToolbarIconSizePropertyInfo), '("gtk-toolbar-style", SettingsGtkToolbarStylePropertyInfo), '("gtk-tooltip-browse-mode-timeout", SettingsGtkTooltipBrowseModeTimeoutPropertyInfo), '("gtk-tooltip-browse-timeout", SettingsGtkTooltipBrowseTimeoutPropertyInfo), '("gtk-tooltip-timeout", SettingsGtkTooltipTimeoutPropertyInfo), '("gtk-touchscreen-mode", SettingsGtkTouchscreenModePropertyInfo), '("gtk-visible-focus", SettingsGtkVisibleFocusPropertyInfo), '("gtk-xft-antialias", SettingsGtkXftAntialiasPropertyInfo), '("gtk-xft-dpi", SettingsGtkXftDpiPropertyInfo), '("gtk-xft-hinting", SettingsGtkXftHintingPropertyInfo), '("gtk-xft-hintstyle", SettingsGtkXftHintstylePropertyInfo), '("gtk-xft-rgba", SettingsGtkXftRgbaPropertyInfo)] :: [(Symbol, *)])

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

-- method Settings::set_double_property
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Settings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "v_double", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Settings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "v_double", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_settings_set_double_property" gtk_settings_set_double_property :: 
    Ptr Settings ->                         -- _obj : TInterface "Gtk" "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."]#-}
settingsSetDoubleProperty ::
    (MonadIO m, SettingsK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- name
    Double ->                               -- v_double
    T.Text ->                               -- origin
    m ()
settingsSetDoubleProperty _obj name v_double origin = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    name' <- textToCString name
    let v_double' = realToFrac v_double
    origin' <- textToCString origin
    gtk_settings_set_double_property _obj' name' v_double' origin'
    touchManagedPtr _obj
    freeMem name'
    freeMem origin'
    return ()

-- method Settings::set_long_property
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Settings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "v_long", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Settings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "v_long", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_settings_set_long_property" gtk_settings_set_long_property :: 
    Ptr Settings ->                         -- _obj : TInterface "Gtk" "Settings"
    CString ->                              -- name : TBasicType TUTF8
    Int64 ->                                -- v_long : TBasicType TInt64
    CString ->                              -- origin : TBasicType TUTF8
    IO ()

{-# DEPRECATED settingsSetLongProperty ["(Since version 3.16)","Use g_object_set() instead."]#-}
settingsSetLongProperty ::
    (MonadIO m, SettingsK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- name
    Int64 ->                                -- v_long
    T.Text ->                               -- origin
    m ()
settingsSetLongProperty _obj name v_long origin = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    name' <- textToCString name
    origin' <- textToCString origin
    gtk_settings_set_long_property _obj' name' v_long origin'
    touchManagedPtr _obj
    freeMem name'
    freeMem origin'
    return ()

-- method Settings::set_property_value
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Settings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "svalue", argType = TInterface "Gtk" "SettingsValue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Settings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "svalue", argType = TInterface "Gtk" "SettingsValue", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_settings_set_property_value" gtk_settings_set_property_value :: 
    Ptr Settings ->                         -- _obj : TInterface "Gtk" "Settings"
    CString ->                              -- name : TBasicType TUTF8
    Ptr SettingsValue ->                    -- svalue : TInterface "Gtk" "SettingsValue"
    IO ()

{-# DEPRECATED settingsSetPropertyValue ["(Since version 3.16)","Use g_object_set() instead."]#-}
settingsSetPropertyValue ::
    (MonadIO m, SettingsK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- name
    SettingsValue ->                        -- svalue
    m ()
settingsSetPropertyValue _obj name svalue = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    name' <- textToCString name
    let svalue' = unsafeManagedPtrGetPtr svalue
    gtk_settings_set_property_value _obj' name' svalue'
    touchManagedPtr _obj
    touchManagedPtr svalue
    freeMem name'
    return ()

-- method Settings::set_string_property
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "Settings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "v_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "Settings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "v_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_settings_set_string_property" gtk_settings_set_string_property :: 
    Ptr Settings ->                         -- _obj : TInterface "Gtk" "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."]#-}
settingsSetStringProperty ::
    (MonadIO m, SettingsK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- name
    T.Text ->                               -- v_string
    T.Text ->                               -- origin
    m ()
settingsSetStringProperty _obj name v_string origin = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    name' <- textToCString name
    v_string' <- textToCString v_string
    origin' <- textToCString origin
    gtk_settings_set_string_property _obj' name' v_string' origin'
    touchManagedPtr _obj
    freeMem name'
    freeMem v_string'
    freeMem origin'
    return ()

-- method Settings::get_default
-- method type : MemberFunction
-- Args : []
-- Lengths : []
-- hInArgs : []
-- returnType : TInterface "Gtk" "Settings"
-- throws : False
-- Skip return : False

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


settingsGetDefault ::
    (MonadIO m) =>
    m Settings
settingsGetDefault  = liftIO $ do
    result <- gtk_settings_get_default
    checkUnexpectedReturnNULL "gtk_settings_get_default" result
    result' <- (newObject Settings) result
    return result'

-- method Settings::get_for_screen
-- method type : MemberFunction
-- Args : [Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gtk" "Settings"
-- throws : False
-- Skip return : False

foreign import ccall "gtk_settings_get_for_screen" gtk_settings_get_for_screen :: 
    Ptr Gdk.Screen ->                       -- screen : TInterface "Gdk" "Screen"
    IO (Ptr Settings)


settingsGetForScreen ::
    (MonadIO m, Gdk.ScreenK a) =>
    a ->                                    -- screen
    m Settings
settingsGetForScreen screen = liftIO $ do
    let screen' = unsafeManagedPtrCastPtr screen
    result <- gtk_settings_get_for_screen screen'
    checkUnexpectedReturnNULL "gtk_settings_get_for_screen" result
    result' <- (newObject Settings) result
    touchManagedPtr screen
    return result'

-- method Settings::install_property
-- method type : MemberFunction
-- Args : [Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- 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+."]#-}
settingsInstallProperty ::
    (MonadIO m) =>
    GParamSpec ->                           -- pspec
    m ()
settingsInstallProperty pspec = liftIO $ do
    let pspec' = unsafeManagedPtrGetPtr pspec
    gtk_settings_install_property pspec'
    return ()

-- method Settings::install_property_parser
-- method type : MemberFunction
-- Args : [Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parser", argType = TInterface "Gtk" "RcPropertyParser", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parser", argType = TInterface "Gtk" "RcPropertyParser", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "gtk_settings_install_property_parser" gtk_settings_install_property_parser :: 
    Ptr GParamSpec ->                       -- pspec : TParamSpec
    FunPtr RcPropertyParserC ->             -- parser : TInterface "Gtk" "RcPropertyParser"
    IO ()

{-# DEPRECATED settingsInstallPropertyParser ["(Since version 3.16)","This function is not useful outside GTK+."]#-}
settingsInstallPropertyParser ::
    (MonadIO m) =>
    GParamSpec ->                           -- pspec
    RcPropertyParser ->                     -- parser
    m ()
settingsInstallPropertyParser pspec parser = liftIO $ do
    let pspec' = unsafeManagedPtrGetPtr pspec
    parser' <- mkRcPropertyParser (rcPropertyParserWrapper Nothing parser)
    gtk_settings_install_property_parser pspec' parser'
    safeFreeFunPtr $ castFunPtrToPtr parser'
    return ()