diff --git a/GI/Gdk.hs b/GI/Gdk.hs
--- a/GI/Gdk.hs
+++ b/GI/Gdk.hs
@@ -1,40 +1,27611 @@
-
-{- |
-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.Gdk
-    (     module GI.Gdk.Callbacks                 ,
-    module GI.Gdk.Constants                 ,
-    module GI.Gdk.Enums                     ,
-    module GI.Gdk.Flags                     ,
-    module GI.Gdk.Functions                 ,
-    module GI.Gdk.Objects                   ,
-    module GI.Gdk.Structs                   ,
-    module GI.Gdk.Unions                    ,
-
-
-    ) where
-
-import GI.Gdk.Callbacks
-import GI.Gdk.Constants
-import GI.Gdk.Enums
-import GI.Gdk.Flags
-import GI.Gdk.Functions
-import GI.Gdk.Objects
-import GI.Gdk.Structs
-import GI.Gdk.Unions
-
-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.Gdk.Types
-import GI.Gdk.Callbacks
-
+-- Generated code.
+
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+{-# LANGUAGE ForeignFunctionInterface, ConstraintKinds,
+    TypeFamilies, MultiParamTypeClasses, KindSignatures,
+    FlexibleInstances, UndecidableInstances, DataKinds,
+    OverloadedStrings, NegativeLiterals, FlexibleContexts #-}
+
+module GI.Gdk where
+
+import Prelude ()
+import Data.GI.Base.ShortPrelude
+import Data.Char
+import Data.Int
+import Data.Word
+import qualified Data.ByteString.Char8 as B
+import Data.ByteString.Char8 (ByteString)
+import qualified Data.Map as Map
+import Foreign.C
+import Foreign.Ptr
+import Foreign.ForeignPtr
+import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)
+import Foreign.Storable (peek, poke, sizeOf)
+import Control.Applicative ((<$>))
+import Control.Exception (onException)
+import Control.Monad.IO.Class
+import qualified Data.Text as T
+
+import Data.GI.Base.Attributes hiding (get, set)
+import Data.GI.Base.BasicTypes
+import Data.GI.Base.BasicConversions
+import Data.GI.Base.Closure
+import Data.GI.Base.GError
+import Data.GI.Base.GHashTable
+import Data.GI.Base.GParamSpec
+import Data.GI.Base.GVariant
+import Data.GI.Base.GValue
+import Data.GI.Base.ManagedPtr
+import Data.GI.Base.Overloading
+import Data.GI.Base.Properties hiding (new)
+import Data.GI.Base.Signals (SignalConnectMode(..), connectSignalFunPtr, SignalHandlerId)
+import Data.GI.Base.Utils
+
+import qualified GI.GLib as GLib
+import qualified GI.GLibAttributes as GLibA
+import qualified GI.GObject as GObject
+import qualified GI.GObjectAttributes as GObjectA
+import qualified GI.GdkPixbuf as GdkPixbuf
+import qualified GI.GdkPixbufAttributes as GdkPixbufA
+import qualified GI.Gio as Gio
+import qualified GI.GioAttributes as GioA
+import qualified GI.Pango as Pango
+import qualified GI.PangoAttributes as PangoA
+import qualified GI.Cairo as Cairo
+import qualified GI.CairoAttributes as CairoA
+
+-- object AppLaunchContext 
+newtype AppLaunchContext = AppLaunchContext (ForeignPtr AppLaunchContext)
+noAppLaunchContext :: Maybe AppLaunchContext
+noAppLaunchContext = Nothing
+
+foreign import ccall "gdk_app_launch_context_get_type"
+    c_gdk_app_launch_context_get_type :: IO GType
+
+type instance ParentTypes AppLaunchContext = '[Gio.AppLaunchContext, GObject.Object]
+
+instance GObject AppLaunchContext where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gdk_app_launch_context_get_type
+    
+
+class GObject o => AppLaunchContextK o
+instance (GObject o, IsDescendantOf AppLaunchContext o) => AppLaunchContextK o
+
+toAppLaunchContext :: AppLaunchContextK o => o -> IO AppLaunchContext
+toAppLaunchContext = unsafeCastTo AppLaunchContext
+
+-- method AppLaunchContext::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TInterface "Gdk" "AppLaunchContext"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_app_launch_context_new" gdk_app_launch_context_new :: 
+    IO (Ptr AppLaunchContext)
+
+{-# DEPRECATED appLaunchContextNew ["(Since version 3.0)","Use gdk_display_get_app_launch_context() instead"]#-}
+appLaunchContextNew ::
+    (MonadIO m) =>
+    m AppLaunchContext
+appLaunchContextNew  = liftIO $ do
+    result <- gdk_app_launch_context_new
+    checkUnexpectedReturnNULL "gdk_app_launch_context_new" result
+    result' <- (wrapObject AppLaunchContext) result
+    return result'
+
+-- method AppLaunchContext::set_desktop
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desktop", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desktop", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_app_launch_context_set_desktop" gdk_app_launch_context_set_desktop :: 
+    Ptr AppLaunchContext ->                 -- _obj : TInterface "Gdk" "AppLaunchContext"
+    Int32 ->                                -- desktop : TBasicType TInt32
+    IO ()
+
+
+appLaunchContextSetDesktop ::
+    (MonadIO m, AppLaunchContextK a) =>
+    a ->                                    -- _obj
+    Int32 ->                                -- desktop
+    m ()
+appLaunchContextSetDesktop _obj desktop = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_app_launch_context_set_desktop _obj' desktop
+    touchManagedPtr _obj
+    return ()
+
+-- method AppLaunchContext::set_display
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_app_launch_context_set_display" gdk_app_launch_context_set_display :: 
+    Ptr AppLaunchContext ->                 -- _obj : TInterface "Gdk" "AppLaunchContext"
+    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
+    IO ()
+
+{-# DEPRECATED appLaunchContextSetDisplay ["(Since version 3.0)","Use gdk_display_get_app_launch_context() instead"]#-}
+appLaunchContextSetDisplay ::
+    (MonadIO m, AppLaunchContextK a, DisplayK b) =>
+    a ->                                    -- _obj
+    b ->                                    -- display
+    m ()
+appLaunchContextSetDisplay _obj display = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let display' = unsafeManagedPtrCastPtr display
+    gdk_app_launch_context_set_display _obj' display'
+    touchManagedPtr _obj
+    touchManagedPtr display
+    return ()
+
+-- method AppLaunchContext::set_icon
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon", argType = TInterface "Gio" "Icon", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon", argType = TInterface "Gio" "Icon", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_app_launch_context_set_icon" gdk_app_launch_context_set_icon :: 
+    Ptr AppLaunchContext ->                 -- _obj : TInterface "Gdk" "AppLaunchContext"
+    Ptr Gio.Icon ->                         -- icon : TInterface "Gio" "Icon"
+    IO ()
+
+
+appLaunchContextSetIcon ::
+    (MonadIO m, AppLaunchContextK a, Gio.IconK b) =>
+    a ->                                    -- _obj
+    Maybe (b) ->                            -- icon
+    m ()
+appLaunchContextSetIcon _obj icon = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeIcon <- case icon of
+        Nothing -> return nullPtr
+        Just jIcon -> do
+            let jIcon' = unsafeManagedPtrCastPtr jIcon
+            return jIcon'
+    gdk_app_launch_context_set_icon _obj' maybeIcon
+    touchManagedPtr _obj
+    whenJust icon touchManagedPtr
+    return ()
+
+-- method AppLaunchContext::set_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_app_launch_context_set_icon_name" gdk_app_launch_context_set_icon_name :: 
+    Ptr AppLaunchContext ->                 -- _obj : TInterface "Gdk" "AppLaunchContext"
+    CString ->                              -- icon_name : TBasicType TUTF8
+    IO ()
+
+
+appLaunchContextSetIconName ::
+    (MonadIO m, AppLaunchContextK a) =>
+    a ->                                    -- _obj
+    Maybe (T.Text) ->                       -- icon_name
+    m ()
+appLaunchContextSetIconName _obj icon_name = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeIcon_name <- case icon_name of
+        Nothing -> return nullPtr
+        Just jIcon_name -> do
+            jIcon_name' <- textToCString jIcon_name
+            return jIcon_name'
+    gdk_app_launch_context_set_icon_name _obj' maybeIcon_name
+    touchManagedPtr _obj
+    freeMem maybeIcon_name
+    return ()
+
+-- method AppLaunchContext::set_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_app_launch_context_set_screen" gdk_app_launch_context_set_screen :: 
+    Ptr AppLaunchContext ->                 -- _obj : TInterface "Gdk" "AppLaunchContext"
+    Ptr Screen ->                           -- screen : TInterface "Gdk" "Screen"
+    IO ()
+
+
+appLaunchContextSetScreen ::
+    (MonadIO m, AppLaunchContextK a, ScreenK b) =>
+    a ->                                    -- _obj
+    b ->                                    -- screen
+    m ()
+appLaunchContextSetScreen _obj screen = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let screen' = unsafeManagedPtrCastPtr screen
+    gdk_app_launch_context_set_screen _obj' screen'
+    touchManagedPtr _obj
+    touchManagedPtr screen
+    return ()
+
+-- method AppLaunchContext::set_timestamp
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_app_launch_context_set_timestamp" gdk_app_launch_context_set_timestamp :: 
+    Ptr AppLaunchContext ->                 -- _obj : TInterface "Gdk" "AppLaunchContext"
+    Word32 ->                               -- timestamp : TBasicType TUInt32
+    IO ()
+
+
+appLaunchContextSetTimestamp ::
+    (MonadIO m, AppLaunchContextK a) =>
+    a ->                                    -- _obj
+    Word32 ->                               -- timestamp
+    m ()
+appLaunchContextSetTimestamp _obj timestamp = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_app_launch_context_set_timestamp _obj' timestamp
+    touchManagedPtr _obj
+    return ()
+
+-- struct Atom
+newtype Atom = Atom (ForeignPtr Atom)
+noAtom :: Maybe Atom
+noAtom = Nothing
+
+-- method Atom::name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_atom_name" gdk_atom_name :: 
+    Ptr Atom ->                             -- _obj : TInterface "Gdk" "Atom"
+    IO CString
+
+
+atomName ::
+    (MonadIO m) =>
+    Atom ->                                 -- _obj
+    m T.Text
+atomName _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_atom_name _obj'
+    checkUnexpectedReturnNULL "gdk_atom_name" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr _obj
+    return result'
+
+-- Enum AxisUse
+
+data AxisUse = 
+      AxisUseIgnore
+    | AxisUseX
+    | AxisUseY
+    | AxisUsePressure
+    | AxisUseXtilt
+    | AxisUseYtilt
+    | AxisUseWheel
+    | AxisUseLast
+    | AnotherAxisUse Int
+    deriving (Show, Eq)
+
+instance Enum AxisUse where
+    fromEnum AxisUseIgnore = 0
+    fromEnum AxisUseX = 1
+    fromEnum AxisUseY = 2
+    fromEnum AxisUsePressure = 3
+    fromEnum AxisUseXtilt = 4
+    fromEnum AxisUseYtilt = 5
+    fromEnum AxisUseWheel = 6
+    fromEnum AxisUseLast = 7
+    fromEnum (AnotherAxisUse k) = k
+
+    toEnum 0 = AxisUseIgnore
+    toEnum 1 = AxisUseX
+    toEnum 2 = AxisUseY
+    toEnum 3 = AxisUsePressure
+    toEnum 4 = AxisUseXtilt
+    toEnum 5 = AxisUseYtilt
+    toEnum 6 = AxisUseWheel
+    toEnum 7 = AxisUseLast
+    toEnum k = AnotherAxisUse k
+
+foreign import ccall "gdk_axis_use_get_type" c_gdk_axis_use_get_type :: 
+    IO GType
+
+instance BoxedEnum AxisUse where
+    boxedEnumType _ = c_gdk_axis_use_get_type
+
+-- Enum ByteOrder
+
+data ByteOrder = 
+      ByteOrderLsbFirst
+    | ByteOrderMsbFirst
+    | AnotherByteOrder Int
+    deriving (Show, Eq)
+
+instance Enum ByteOrder where
+    fromEnum ByteOrderLsbFirst = 0
+    fromEnum ByteOrderMsbFirst = 1
+    fromEnum (AnotherByteOrder k) = k
+
+    toEnum 0 = ByteOrderLsbFirst
+    toEnum 1 = ByteOrderMsbFirst
+    toEnum k = AnotherByteOrder k
+
+foreign import ccall "gdk_byte_order_get_type" c_gdk_byte_order_get_type :: 
+    IO GType
+
+instance BoxedEnum ByteOrder where
+    boxedEnumType _ = c_gdk_byte_order_get_type
+
+-- struct Color
+newtype Color = Color (ForeignPtr Color)
+noColor :: Maybe Color
+noColor = Nothing
+
+foreign import ccall "gdk_color_get_type" c_gdk_color_get_type :: 
+    IO GType
+
+instance BoxedObject Color where
+    boxedType _ = c_gdk_color_get_type
+
+colorReadPixel :: Color -> IO Word32
+colorReadPixel s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO Word32
+    return val
+
+colorReadRed :: Color -> IO Word16
+colorReadRed s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 4) :: IO Word16
+    return val
+
+colorReadGreen :: Color -> IO Word16
+colorReadGreen s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 6) :: IO Word16
+    return val
+
+colorReadBlue :: Color -> IO Word16
+colorReadBlue s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO Word16
+    return val
+
+-- method Color::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Color"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_color_copy" gdk_color_copy :: 
+    Ptr Color ->                            -- _obj : TInterface "Gdk" "Color"
+    IO (Ptr Color)
+
+{-# DEPRECATED colorCopy ["(Since version 3.14)","Use #GdkRGBA"]#-}
+colorCopy ::
+    (MonadIO m) =>
+    Color ->                                -- _obj
+    m Color
+colorCopy _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_color_copy _obj'
+    checkUnexpectedReturnNULL "gdk_color_copy" result
+    result' <- (wrapBoxed Color) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Color::equal
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "colorb", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "colorb", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_color_equal" gdk_color_equal :: 
+    Ptr Color ->                            -- _obj : TInterface "Gdk" "Color"
+    Ptr Color ->                            -- colorb : TInterface "Gdk" "Color"
+    IO CInt
+
+{-# DEPRECATED colorEqual ["(Since version 3.14)","Use #GdkRGBA"]#-}
+colorEqual ::
+    (MonadIO m) =>
+    Color ->                                -- _obj
+    Color ->                                -- colorb
+    m Bool
+colorEqual _obj colorb = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    let colorb' = unsafeManagedPtrGetPtr colorb
+    result <- gdk_color_equal _obj' colorb'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    touchManagedPtr colorb
+    return result'
+
+-- method Color::free
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_color_free" gdk_color_free :: 
+    Ptr Color ->                            -- _obj : TInterface "Gdk" "Color"
+    IO ()
+
+{-# DEPRECATED colorFree ["(Since version 3.14)","Use #GdkRGBA"]#-}
+colorFree ::
+    (MonadIO m) =>
+    Color ->                                -- _obj
+    m ()
+colorFree _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    gdk_color_free _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Color::hash
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_color_hash" gdk_color_hash :: 
+    Ptr Color ->                            -- _obj : TInterface "Gdk" "Color"
+    IO Word32
+
+{-# DEPRECATED colorHash ["(Since version 3.14)","Use #GdkRGBA"]#-}
+colorHash ::
+    (MonadIO m) =>
+    Color ->                                -- _obj
+    m Word32
+colorHash _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_color_hash _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method Color::to_string
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_color_to_string" gdk_color_to_string :: 
+    Ptr Color ->                            -- _obj : TInterface "Gdk" "Color"
+    IO CString
+
+{-# DEPRECATED colorToString ["(Since version 3.14)","Use #GdkRGBA"]#-}
+colorToString ::
+    (MonadIO m) =>
+    Color ->                                -- _obj
+    m T.Text
+colorToString _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_color_to_string _obj'
+    checkUnexpectedReturnNULL "gdk_color_to_string" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr _obj
+    return result'
+
+-- Enum CrossingMode
+
+data CrossingMode = 
+      CrossingModeNormal
+    | CrossingModeGrab
+    | CrossingModeUngrab
+    | CrossingModeGtkGrab
+    | CrossingModeGtkUngrab
+    | CrossingModeStateChanged
+    | CrossingModeTouchBegin
+    | CrossingModeTouchEnd
+    | CrossingModeDeviceSwitch
+    | AnotherCrossingMode Int
+    deriving (Show, Eq)
+
+instance Enum CrossingMode where
+    fromEnum CrossingModeNormal = 0
+    fromEnum CrossingModeGrab = 1
+    fromEnum CrossingModeUngrab = 2
+    fromEnum CrossingModeGtkGrab = 3
+    fromEnum CrossingModeGtkUngrab = 4
+    fromEnum CrossingModeStateChanged = 5
+    fromEnum CrossingModeTouchBegin = 6
+    fromEnum CrossingModeTouchEnd = 7
+    fromEnum CrossingModeDeviceSwitch = 8
+    fromEnum (AnotherCrossingMode k) = k
+
+    toEnum 0 = CrossingModeNormal
+    toEnum 1 = CrossingModeGrab
+    toEnum 2 = CrossingModeUngrab
+    toEnum 3 = CrossingModeGtkGrab
+    toEnum 4 = CrossingModeGtkUngrab
+    toEnum 5 = CrossingModeStateChanged
+    toEnum 6 = CrossingModeTouchBegin
+    toEnum 7 = CrossingModeTouchEnd
+    toEnum 8 = CrossingModeDeviceSwitch
+    toEnum k = AnotherCrossingMode k
+
+foreign import ccall "gdk_crossing_mode_get_type" c_gdk_crossing_mode_get_type :: 
+    IO GType
+
+instance BoxedEnum CrossingMode where
+    boxedEnumType _ = c_gdk_crossing_mode_get_type
+
+-- object Cursor 
+newtype Cursor = Cursor (ForeignPtr Cursor)
+noCursor :: Maybe Cursor
+noCursor = Nothing
+
+foreign import ccall "gdk_cursor_get_type"
+    c_gdk_cursor_get_type :: IO GType
+
+type instance ParentTypes Cursor = '[GObject.Object]
+
+instance GObject Cursor where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gdk_cursor_get_type
+    
+
+class GObject o => CursorK o
+instance (GObject o, IsDescendantOf Cursor o) => CursorK o
+
+toCursor :: CursorK o => o -> IO Cursor
+toCursor = unsafeCastTo Cursor
+
+-- method Cursor::new
+-- method type : Constructor
+-- Args : [Arg {argName = "cursor_type", argType = TInterface "Gdk" "CursorType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "cursor_type", argType = TInterface "Gdk" "CursorType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Cursor"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cursor_new" gdk_cursor_new :: 
+    CUInt ->                                -- cursor_type : TInterface "Gdk" "CursorType"
+    IO (Ptr Cursor)
+
+{-# DEPRECATED cursorNew ["(Since version 3.16)","Use gdk_cursor_new_for_display() instead."]#-}
+cursorNew ::
+    (MonadIO m) =>
+    CursorType ->                           -- cursor_type
+    m Cursor
+cursorNew cursor_type = liftIO $ do
+    let cursor_type' = (fromIntegral . fromEnum) cursor_type
+    result <- gdk_cursor_new cursor_type'
+    checkUnexpectedReturnNULL "gdk_cursor_new" result
+    result' <- (wrapObject Cursor) result
+    return result'
+
+-- method Cursor::new_for_display
+-- method type : Constructor
+-- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor_type", argType = TInterface "Gdk" "CursorType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor_type", argType = TInterface "Gdk" "CursorType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Cursor"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cursor_new_for_display" gdk_cursor_new_for_display :: 
+    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
+    CUInt ->                                -- cursor_type : TInterface "Gdk" "CursorType"
+    IO (Ptr Cursor)
+
+
+cursorNewForDisplay ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- display
+    CursorType ->                           -- cursor_type
+    m Cursor
+cursorNewForDisplay display cursor_type = liftIO $ do
+    let display' = unsafeManagedPtrCastPtr display
+    let cursor_type' = (fromIntegral . fromEnum) cursor_type
+    result <- gdk_cursor_new_for_display display' cursor_type'
+    checkUnexpectedReturnNULL "gdk_cursor_new_for_display" result
+    result' <- (wrapObject Cursor) result
+    touchManagedPtr display
+    return result'
+
+-- method Cursor::new_from_name
+-- method type : Constructor
+-- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", 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}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", 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}]
+-- returnType : TInterface "Gdk" "Cursor"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cursor_new_from_name" gdk_cursor_new_from_name :: 
+    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr Cursor)
+
+
+cursorNewFromName ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- display
+    T.Text ->                               -- name
+    m Cursor
+cursorNewFromName display name = liftIO $ do
+    let display' = unsafeManagedPtrCastPtr display
+    name' <- textToCString name
+    result <- gdk_cursor_new_from_name display' name'
+    checkUnexpectedReturnNULL "gdk_cursor_new_from_name" result
+    result' <- (wrapObject Cursor) result
+    touchManagedPtr display
+    freeMem name'
+    return result'
+
+-- method Cursor::new_from_pixbuf
+-- method type : Constructor
+-- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Cursor"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cursor_new_from_pixbuf" gdk_cursor_new_from_pixbuf :: 
+    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
+    Ptr GdkPixbuf.Pixbuf ->                 -- pixbuf : TInterface "GdkPixbuf" "Pixbuf"
+    Int32 ->                                -- x : TBasicType TInt32
+    Int32 ->                                -- y : TBasicType TInt32
+    IO (Ptr Cursor)
+
+
+cursorNewFromPixbuf ::
+    (MonadIO m, DisplayK a, GdkPixbuf.PixbufK b) =>
+    a ->                                    -- display
+    b ->                                    -- pixbuf
+    Int32 ->                                -- x
+    Int32 ->                                -- y
+    m Cursor
+cursorNewFromPixbuf display pixbuf x y = liftIO $ do
+    let display' = unsafeManagedPtrCastPtr display
+    let pixbuf' = unsafeManagedPtrCastPtr pixbuf
+    result <- gdk_cursor_new_from_pixbuf display' pixbuf' x y
+    checkUnexpectedReturnNULL "gdk_cursor_new_from_pixbuf" result
+    result' <- (wrapObject Cursor) result
+    touchManagedPtr display
+    touchManagedPtr pixbuf
+    return result'
+
+-- method Cursor::new_from_surface
+-- method type : Constructor
+-- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "surface", argType = TInterface "cairo" "Surface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "surface", argType = TInterface "cairo" "Surface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Cursor"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cursor_new_from_surface" gdk_cursor_new_from_surface :: 
+    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
+    Ptr Cairo.Surface ->                    -- surface : TInterface "cairo" "Surface"
+    CDouble ->                              -- x : TBasicType TDouble
+    CDouble ->                              -- y : TBasicType TDouble
+    IO (Ptr Cursor)
+
+
+cursorNewFromSurface ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- display
+    Cairo.Surface ->                        -- surface
+    Double ->                               -- x
+    Double ->                               -- y
+    m Cursor
+cursorNewFromSurface display surface x y = liftIO $ do
+    let display' = unsafeManagedPtrCastPtr display
+    let surface' = unsafeManagedPtrGetPtr surface
+    let x' = realToFrac x
+    let y' = realToFrac y
+    result <- gdk_cursor_new_from_surface display' surface' x' y'
+    checkUnexpectedReturnNULL "gdk_cursor_new_from_surface" result
+    result' <- (wrapObject Cursor) result
+    touchManagedPtr display
+    touchManagedPtr surface
+    return result'
+
+-- method Cursor::get_cursor_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "CursorType"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cursor_get_cursor_type" gdk_cursor_get_cursor_type :: 
+    Ptr Cursor ->                           -- _obj : TInterface "Gdk" "Cursor"
+    IO CUInt
+
+
+cursorGetCursorType ::
+    (MonadIO m, CursorK a) =>
+    a ->                                    -- _obj
+    m CursorType
+cursorGetCursorType _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_cursor_get_cursor_type _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Cursor::get_display
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Display"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cursor_get_display" gdk_cursor_get_display :: 
+    Ptr Cursor ->                           -- _obj : TInterface "Gdk" "Cursor"
+    IO (Ptr Display)
+
+
+cursorGetDisplay ::
+    (MonadIO m, CursorK a) =>
+    a ->                                    -- _obj
+    m Display
+cursorGetDisplay _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_cursor_get_display _obj'
+    checkUnexpectedReturnNULL "gdk_cursor_get_display" result
+    result' <- (newObject Display) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Cursor::get_image
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "GdkPixbuf" "Pixbuf"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cursor_get_image" gdk_cursor_get_image :: 
+    Ptr Cursor ->                           -- _obj : TInterface "Gdk" "Cursor"
+    IO (Ptr GdkPixbuf.Pixbuf)
+
+
+cursorGetImage ::
+    (MonadIO m, CursorK a) =>
+    a ->                                    -- _obj
+    m GdkPixbuf.Pixbuf
+cursorGetImage _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_cursor_get_image _obj'
+    checkUnexpectedReturnNULL "gdk_cursor_get_image" result
+    result' <- (wrapObject GdkPixbuf.Pixbuf) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Cursor::get_surface
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_hot", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y_hot", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "cairo" "Surface"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cursor_get_surface" gdk_cursor_get_surface :: 
+    Ptr Cursor ->                           -- _obj : TInterface "Gdk" "Cursor"
+    Ptr CDouble ->                          -- x_hot : TBasicType TDouble
+    Ptr CDouble ->                          -- y_hot : TBasicType TDouble
+    IO (Ptr Cairo.Surface)
+
+
+cursorGetSurface ::
+    (MonadIO m, CursorK a) =>
+    a ->                                    -- _obj
+    m (Cairo.Surface,Double,Double)
+cursorGetSurface _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    x_hot <- allocMem :: IO (Ptr CDouble)
+    y_hot <- allocMem :: IO (Ptr CDouble)
+    result <- gdk_cursor_get_surface _obj' x_hot y_hot
+    checkUnexpectedReturnNULL "gdk_cursor_get_surface" result
+    result' <- (wrapBoxed Cairo.Surface) result
+    x_hot' <- peek x_hot
+    let x_hot'' = realToFrac x_hot'
+    y_hot' <- peek y_hot
+    let y_hot'' = realToFrac y_hot'
+    touchManagedPtr _obj
+    freeMem x_hot
+    freeMem y_hot
+    return (result', x_hot'', y_hot'')
+
+-- method Cursor::ref
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Cursor"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cursor_ref" gdk_cursor_ref :: 
+    Ptr Cursor ->                           -- _obj : TInterface "Gdk" "Cursor"
+    IO (Ptr Cursor)
+
+{-# DEPRECATED cursorRef ["(Since version 3.0)","Use g_object_ref() instead"]#-}
+cursorRef ::
+    (MonadIO m, CursorK a) =>
+    a ->                                    -- _obj
+    m Cursor
+cursorRef _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_cursor_ref _obj'
+    checkUnexpectedReturnNULL "gdk_cursor_ref" result
+    result' <- (wrapObject Cursor) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Cursor::unref
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cursor_unref" gdk_cursor_unref :: 
+    Ptr Cursor ->                           -- _obj : TInterface "Gdk" "Cursor"
+    IO ()
+
+{-# DEPRECATED cursorUnref ["(Since version 3.0)","Use g_object_unref() instead"]#-}
+cursorUnref ::
+    (MonadIO m, CursorK a) =>
+    a ->                                    -- _obj
+    m ()
+cursorUnref _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_cursor_unref _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- Enum CursorType
+
+data CursorType = 
+      CursorTypeXCursor
+    | CursorTypeArrow
+    | CursorTypeBasedArrowDown
+    | CursorTypeBasedArrowUp
+    | CursorTypeBoat
+    | CursorTypeBogosity
+    | CursorTypeBottomLeftCorner
+    | CursorTypeBottomRightCorner
+    | CursorTypeBottomSide
+    | CursorTypeBottomTee
+    | CursorTypeBoxSpiral
+    | CursorTypeCenterPtr
+    | CursorTypeCircle
+    | CursorTypeClock
+    | CursorTypeCoffeeMug
+    | CursorTypeCross
+    | CursorTypeCrossReverse
+    | CursorTypeCrosshair
+    | CursorTypeDiamondCross
+    | CursorTypeDot
+    | CursorTypeDotbox
+    | CursorTypeDoubleArrow
+    | CursorTypeDraftLarge
+    | CursorTypeDraftSmall
+    | CursorTypeDrapedBox
+    | CursorTypeExchange
+    | CursorTypeFleur
+    | CursorTypeGobbler
+    | CursorTypeGumby
+    | CursorTypeHand1
+    | CursorTypeHand2
+    | CursorTypeHeart
+    | CursorTypeIcon
+    | CursorTypeIronCross
+    | CursorTypeLeftPtr
+    | CursorTypeLeftSide
+    | CursorTypeLeftTee
+    | CursorTypeLeftbutton
+    | CursorTypeLlAngle
+    | CursorTypeLrAngle
+    | CursorTypeMan
+    | CursorTypeMiddlebutton
+    | CursorTypeMouse
+    | CursorTypePencil
+    | CursorTypePirate
+    | CursorTypePlus
+    | CursorTypeQuestionArrow
+    | CursorTypeRightPtr
+    | CursorTypeRightSide
+    | CursorTypeRightTee
+    | CursorTypeRightbutton
+    | CursorTypeRtlLogo
+    | CursorTypeSailboat
+    | CursorTypeSbDownArrow
+    | CursorTypeSbHDoubleArrow
+    | CursorTypeSbLeftArrow
+    | CursorTypeSbRightArrow
+    | CursorTypeSbUpArrow
+    | CursorTypeSbVDoubleArrow
+    | CursorTypeShuttle
+    | CursorTypeSizing
+    | CursorTypeSpider
+    | CursorTypeSpraycan
+    | CursorTypeStar
+    | CursorTypeTarget
+    | CursorTypeTcross
+    | CursorTypeTopLeftArrow
+    | CursorTypeTopLeftCorner
+    | CursorTypeTopRightCorner
+    | CursorTypeTopSide
+    | CursorTypeTopTee
+    | CursorTypeTrek
+    | CursorTypeUlAngle
+    | CursorTypeUmbrella
+    | CursorTypeUrAngle
+    | CursorTypeWatch
+    | CursorTypeXterm
+    | CursorTypeLastCursor
+    | CursorTypeBlankCursor
+    | CursorTypeCursorIsPixmap
+    | AnotherCursorType Int
+    deriving (Show, Eq)
+
+instance Enum CursorType where
+    fromEnum CursorTypeXCursor = 0
+    fromEnum CursorTypeArrow = 2
+    fromEnum CursorTypeBasedArrowDown = 4
+    fromEnum CursorTypeBasedArrowUp = 6
+    fromEnum CursorTypeBoat = 8
+    fromEnum CursorTypeBogosity = 10
+    fromEnum CursorTypeBottomLeftCorner = 12
+    fromEnum CursorTypeBottomRightCorner = 14
+    fromEnum CursorTypeBottomSide = 16
+    fromEnum CursorTypeBottomTee = 18
+    fromEnum CursorTypeBoxSpiral = 20
+    fromEnum CursorTypeCenterPtr = 22
+    fromEnum CursorTypeCircle = 24
+    fromEnum CursorTypeClock = 26
+    fromEnum CursorTypeCoffeeMug = 28
+    fromEnum CursorTypeCross = 30
+    fromEnum CursorTypeCrossReverse = 32
+    fromEnum CursorTypeCrosshair = 34
+    fromEnum CursorTypeDiamondCross = 36
+    fromEnum CursorTypeDot = 38
+    fromEnum CursorTypeDotbox = 40
+    fromEnum CursorTypeDoubleArrow = 42
+    fromEnum CursorTypeDraftLarge = 44
+    fromEnum CursorTypeDraftSmall = 46
+    fromEnum CursorTypeDrapedBox = 48
+    fromEnum CursorTypeExchange = 50
+    fromEnum CursorTypeFleur = 52
+    fromEnum CursorTypeGobbler = 54
+    fromEnum CursorTypeGumby = 56
+    fromEnum CursorTypeHand1 = 58
+    fromEnum CursorTypeHand2 = 60
+    fromEnum CursorTypeHeart = 62
+    fromEnum CursorTypeIcon = 64
+    fromEnum CursorTypeIronCross = 66
+    fromEnum CursorTypeLeftPtr = 68
+    fromEnum CursorTypeLeftSide = 70
+    fromEnum CursorTypeLeftTee = 72
+    fromEnum CursorTypeLeftbutton = 74
+    fromEnum CursorTypeLlAngle = 76
+    fromEnum CursorTypeLrAngle = 78
+    fromEnum CursorTypeMan = 80
+    fromEnum CursorTypeMiddlebutton = 82
+    fromEnum CursorTypeMouse = 84
+    fromEnum CursorTypePencil = 86
+    fromEnum CursorTypePirate = 88
+    fromEnum CursorTypePlus = 90
+    fromEnum CursorTypeQuestionArrow = 92
+    fromEnum CursorTypeRightPtr = 94
+    fromEnum CursorTypeRightSide = 96
+    fromEnum CursorTypeRightTee = 98
+    fromEnum CursorTypeRightbutton = 100
+    fromEnum CursorTypeRtlLogo = 102
+    fromEnum CursorTypeSailboat = 104
+    fromEnum CursorTypeSbDownArrow = 106
+    fromEnum CursorTypeSbHDoubleArrow = 108
+    fromEnum CursorTypeSbLeftArrow = 110
+    fromEnum CursorTypeSbRightArrow = 112
+    fromEnum CursorTypeSbUpArrow = 114
+    fromEnum CursorTypeSbVDoubleArrow = 116
+    fromEnum CursorTypeShuttle = 118
+    fromEnum CursorTypeSizing = 120
+    fromEnum CursorTypeSpider = 122
+    fromEnum CursorTypeSpraycan = 124
+    fromEnum CursorTypeStar = 126
+    fromEnum CursorTypeTarget = 128
+    fromEnum CursorTypeTcross = 130
+    fromEnum CursorTypeTopLeftArrow = 132
+    fromEnum CursorTypeTopLeftCorner = 134
+    fromEnum CursorTypeTopRightCorner = 136
+    fromEnum CursorTypeTopSide = 138
+    fromEnum CursorTypeTopTee = 140
+    fromEnum CursorTypeTrek = 142
+    fromEnum CursorTypeUlAngle = 144
+    fromEnum CursorTypeUmbrella = 146
+    fromEnum CursorTypeUrAngle = 148
+    fromEnum CursorTypeWatch = 150
+    fromEnum CursorTypeXterm = 152
+    fromEnum CursorTypeLastCursor = 153
+    fromEnum CursorTypeBlankCursor = -2
+    fromEnum CursorTypeCursorIsPixmap = -1
+    fromEnum (AnotherCursorType k) = k
+
+    toEnum -2 = CursorTypeBlankCursor
+    toEnum -1 = CursorTypeCursorIsPixmap
+    toEnum 0 = CursorTypeXCursor
+    toEnum 2 = CursorTypeArrow
+    toEnum 4 = CursorTypeBasedArrowDown
+    toEnum 6 = CursorTypeBasedArrowUp
+    toEnum 8 = CursorTypeBoat
+    toEnum 10 = CursorTypeBogosity
+    toEnum 12 = CursorTypeBottomLeftCorner
+    toEnum 14 = CursorTypeBottomRightCorner
+    toEnum 16 = CursorTypeBottomSide
+    toEnum 18 = CursorTypeBottomTee
+    toEnum 20 = CursorTypeBoxSpiral
+    toEnum 22 = CursorTypeCenterPtr
+    toEnum 24 = CursorTypeCircle
+    toEnum 26 = CursorTypeClock
+    toEnum 28 = CursorTypeCoffeeMug
+    toEnum 30 = CursorTypeCross
+    toEnum 32 = CursorTypeCrossReverse
+    toEnum 34 = CursorTypeCrosshair
+    toEnum 36 = CursorTypeDiamondCross
+    toEnum 38 = CursorTypeDot
+    toEnum 40 = CursorTypeDotbox
+    toEnum 42 = CursorTypeDoubleArrow
+    toEnum 44 = CursorTypeDraftLarge
+    toEnum 46 = CursorTypeDraftSmall
+    toEnum 48 = CursorTypeDrapedBox
+    toEnum 50 = CursorTypeExchange
+    toEnum 52 = CursorTypeFleur
+    toEnum 54 = CursorTypeGobbler
+    toEnum 56 = CursorTypeGumby
+    toEnum 58 = CursorTypeHand1
+    toEnum 60 = CursorTypeHand2
+    toEnum 62 = CursorTypeHeart
+    toEnum 64 = CursorTypeIcon
+    toEnum 66 = CursorTypeIronCross
+    toEnum 68 = CursorTypeLeftPtr
+    toEnum 70 = CursorTypeLeftSide
+    toEnum 72 = CursorTypeLeftTee
+    toEnum 74 = CursorTypeLeftbutton
+    toEnum 76 = CursorTypeLlAngle
+    toEnum 78 = CursorTypeLrAngle
+    toEnum 80 = CursorTypeMan
+    toEnum 82 = CursorTypeMiddlebutton
+    toEnum 84 = CursorTypeMouse
+    toEnum 86 = CursorTypePencil
+    toEnum 88 = CursorTypePirate
+    toEnum 90 = CursorTypePlus
+    toEnum 92 = CursorTypeQuestionArrow
+    toEnum 94 = CursorTypeRightPtr
+    toEnum 96 = CursorTypeRightSide
+    toEnum 98 = CursorTypeRightTee
+    toEnum 100 = CursorTypeRightbutton
+    toEnum 102 = CursorTypeRtlLogo
+    toEnum 104 = CursorTypeSailboat
+    toEnum 106 = CursorTypeSbDownArrow
+    toEnum 108 = CursorTypeSbHDoubleArrow
+    toEnum 110 = CursorTypeSbLeftArrow
+    toEnum 112 = CursorTypeSbRightArrow
+    toEnum 114 = CursorTypeSbUpArrow
+    toEnum 116 = CursorTypeSbVDoubleArrow
+    toEnum 118 = CursorTypeShuttle
+    toEnum 120 = CursorTypeSizing
+    toEnum 122 = CursorTypeSpider
+    toEnum 124 = CursorTypeSpraycan
+    toEnum 126 = CursorTypeStar
+    toEnum 128 = CursorTypeTarget
+    toEnum 130 = CursorTypeTcross
+    toEnum 132 = CursorTypeTopLeftArrow
+    toEnum 134 = CursorTypeTopLeftCorner
+    toEnum 136 = CursorTypeTopRightCorner
+    toEnum 138 = CursorTypeTopSide
+    toEnum 140 = CursorTypeTopTee
+    toEnum 142 = CursorTypeTrek
+    toEnum 144 = CursorTypeUlAngle
+    toEnum 146 = CursorTypeUmbrella
+    toEnum 148 = CursorTypeUrAngle
+    toEnum 150 = CursorTypeWatch
+    toEnum 152 = CursorTypeXterm
+    toEnum 153 = CursorTypeLastCursor
+    toEnum k = AnotherCursorType k
+
+foreign import ccall "gdk_cursor_type_get_type" c_gdk_cursor_type_get_type :: 
+    IO GType
+
+instance BoxedEnum CursorType where
+    boxedEnumType _ = c_gdk_cursor_type_get_type
+
+-- object Device 
+newtype Device = Device (ForeignPtr Device)
+noDevice :: Maybe Device
+noDevice = Nothing
+
+foreign import ccall "gdk_device_get_type"
+    c_gdk_device_get_type :: IO GType
+
+type instance ParentTypes Device = '[GObject.Object]
+
+instance GObject Device where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gdk_device_get_type
+    
+
+class GObject o => DeviceK o
+instance (GObject o, IsDescendantOf Device o) => DeviceK o
+
+toDevice :: DeviceK o => o -> IO Device
+toDevice = unsafeCastTo Device
+
+-- method Device::get_associated_device
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Device"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_get_associated_device" gdk_device_get_associated_device :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    IO (Ptr Device)
+
+
+deviceGetAssociatedDevice ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    m Device
+deviceGetAssociatedDevice _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_device_get_associated_device _obj'
+    checkUnexpectedReturnNULL "gdk_device_get_associated_device" result
+    result' <- (newObject Device) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Device::get_axis_use
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "AxisUse"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_get_axis_use" gdk_device_get_axis_use :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    Word32 ->                               -- index_ : TBasicType TUInt32
+    IO CUInt
+
+
+deviceGetAxisUse ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    Word32 ->                               -- index_
+    m AxisUse
+deviceGetAxisUse _obj index_ = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_device_get_axis_use _obj' index_
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Device::get_device_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "DeviceType"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_get_device_type" gdk_device_get_device_type :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    IO CUInt
+
+
+deviceGetDeviceType ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    m DeviceType
+deviceGetDeviceType _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_device_get_device_type _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Device::get_display
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Display"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_get_display" gdk_device_get_display :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    IO (Ptr Display)
+
+
+deviceGetDisplay ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    m Display
+deviceGetDisplay _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_device_get_display _obj'
+    checkUnexpectedReturnNULL "gdk_device_get_display" result
+    result' <- (newObject Display) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Device::get_has_cursor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_get_has_cursor" gdk_device_get_has_cursor :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    IO CInt
+
+
+deviceGetHasCursor ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    m Bool
+deviceGetHasCursor _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_device_get_has_cursor _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Device::get_key
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_get_key" gdk_device_get_key :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    Word32 ->                               -- index_ : TBasicType TUInt32
+    Ptr Word32 ->                           -- keyval : TBasicType TUInt32
+    Ptr CUInt ->                            -- modifiers : TInterface "Gdk" "ModifierType"
+    IO CInt
+
+
+deviceGetKey ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    Word32 ->                               -- index_
+    m (Bool,Word32,[ModifierType])
+deviceGetKey _obj index_ = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    keyval <- allocMem :: IO (Ptr Word32)
+    modifiers <- allocMem :: IO (Ptr CUInt)
+    result <- gdk_device_get_key _obj' index_ keyval modifiers
+    let result' = (/= 0) result
+    keyval' <- peek keyval
+    modifiers' <- peek modifiers
+    let modifiers'' = wordToGFlags modifiers'
+    touchManagedPtr _obj
+    freeMem keyval
+    freeMem modifiers
+    return (result', keyval', modifiers'')
+
+-- method Device::get_last_event_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_get_last_event_window" gdk_device_get_last_event_window :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    IO (Ptr Window)
+
+
+deviceGetLastEventWindow ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    m Window
+deviceGetLastEventWindow _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_device_get_last_event_window _obj'
+    checkUnexpectedReturnNULL "gdk_device_get_last_event_window" result
+    result' <- (newObject Window) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Device::get_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "InputMode"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_get_mode" gdk_device_get_mode :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    IO CUInt
+
+
+deviceGetMode ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    m InputMode
+deviceGetMode _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_device_get_mode _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Device::get_n_axes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_get_n_axes" gdk_device_get_n_axes :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    IO Int32
+
+
+deviceGetNAxes ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    m Int32
+deviceGetNAxes _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_device_get_n_axes _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method Device::get_n_keys
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_get_n_keys" gdk_device_get_n_keys :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    IO Int32
+
+
+deviceGetNKeys ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    m Int32
+deviceGetNKeys _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_device_get_n_keys _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method Device::get_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_get_name" gdk_device_get_name :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    IO CString
+
+
+deviceGetName ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    m T.Text
+deviceGetName _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_device_get_name _obj'
+    checkUnexpectedReturnNULL "gdk_device_get_name" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+-- method Device::get_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_get_position" gdk_device_get_position :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    Ptr (Ptr Screen) ->                     -- screen : TInterface "Gdk" "Screen"
+    Ptr Int32 ->                            -- x : TBasicType TInt32
+    Ptr Int32 ->                            -- y : TBasicType TInt32
+    IO ()
+
+
+deviceGetPosition ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    m (Screen,Int32,Int32)
+deviceGetPosition _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    screen <- allocMem :: IO (Ptr (Ptr Screen))
+    x <- allocMem :: IO (Ptr Int32)
+    y <- allocMem :: IO (Ptr Int32)
+    gdk_device_get_position _obj' screen x y
+    screen' <- peek screen
+    screen'' <- (newObject Screen) screen'
+    x' <- peek x
+    y' <- peek y
+    touchManagedPtr _obj
+    freeMem screen
+    freeMem x
+    freeMem y
+    return (screen'', x', y')
+
+-- method Device::get_position_double
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_get_position_double" gdk_device_get_position_double :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    Ptr (Ptr Screen) ->                     -- screen : TInterface "Gdk" "Screen"
+    Ptr CDouble ->                          -- x : TBasicType TDouble
+    Ptr CDouble ->                          -- y : TBasicType TDouble
+    IO ()
+
+
+deviceGetPositionDouble ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    m (Screen,Double,Double)
+deviceGetPositionDouble _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    screen <- allocMem :: IO (Ptr (Ptr Screen))
+    x <- allocMem :: IO (Ptr CDouble)
+    y <- allocMem :: IO (Ptr CDouble)
+    gdk_device_get_position_double _obj' screen x y
+    screen' <- peek screen
+    screen'' <- (newObject Screen) screen'
+    x' <- peek x
+    let x'' = realToFrac x'
+    y' <- peek y
+    let y'' = realToFrac y'
+    touchManagedPtr _obj
+    freeMem screen
+    freeMem x
+    freeMem y
+    return (screen'', x'', y'')
+
+-- method Device::get_product_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_get_product_id" gdk_device_get_product_id :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    IO CString
+
+
+deviceGetProductId ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    m T.Text
+deviceGetProductId _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_device_get_product_id _obj'
+    checkUnexpectedReturnNULL "gdk_device_get_product_id" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+-- method Device::get_source
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "InputSource"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_get_source" gdk_device_get_source :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    IO CUInt
+
+
+deviceGetSource ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    m InputSource
+deviceGetSource _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_device_get_source _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Device::get_vendor_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_get_vendor_id" gdk_device_get_vendor_id :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    IO CString
+
+
+deviceGetVendorId ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    m T.Text
+deviceGetVendorId _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_device_get_vendor_id _obj'
+    checkUnexpectedReturnNULL "gdk_device_get_vendor_id" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+-- method Device::get_window_at_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "win_x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "win_y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_get_window_at_position" gdk_device_get_window_at_position :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    Ptr Int32 ->                            -- win_x : TBasicType TInt32
+    Ptr Int32 ->                            -- win_y : TBasicType TInt32
+    IO (Ptr Window)
+
+
+deviceGetWindowAtPosition ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    m (Window,Int32,Int32)
+deviceGetWindowAtPosition _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    win_x <- allocMem :: IO (Ptr Int32)
+    win_y <- allocMem :: IO (Ptr Int32)
+    result <- gdk_device_get_window_at_position _obj' win_x win_y
+    checkUnexpectedReturnNULL "gdk_device_get_window_at_position" result
+    result' <- (newObject Window) result
+    win_x' <- peek win_x
+    win_y' <- peek win_y
+    touchManagedPtr _obj
+    freeMem win_x
+    freeMem win_y
+    return (result', win_x', win_y')
+
+-- method Device::get_window_at_position_double
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "win_x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "win_y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_get_window_at_position_double" gdk_device_get_window_at_position_double :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    Ptr CDouble ->                          -- win_x : TBasicType TDouble
+    Ptr CDouble ->                          -- win_y : TBasicType TDouble
+    IO (Ptr Window)
+
+
+deviceGetWindowAtPositionDouble ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    m (Window,Double,Double)
+deviceGetWindowAtPositionDouble _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    win_x <- allocMem :: IO (Ptr CDouble)
+    win_y <- allocMem :: IO (Ptr CDouble)
+    result <- gdk_device_get_window_at_position_double _obj' win_x win_y
+    checkUnexpectedReturnNULL "gdk_device_get_window_at_position_double" result
+    result' <- (newObject Window) result
+    win_x' <- peek win_x
+    let win_x'' = realToFrac win_x'
+    win_y' <- peek win_y
+    let win_y'' = realToFrac win_y'
+    touchManagedPtr _obj
+    freeMem win_x
+    freeMem win_y
+    return (result', win_x'', win_y'')
+
+-- method Device::grab
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "grab_ownership", argType = TInterface "Gdk" "GrabOwnership", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "grab_ownership", argType = TInterface "Gdk" "GrabOwnership", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "GrabStatus"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_grab" gdk_device_grab :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
+    CUInt ->                                -- grab_ownership : TInterface "Gdk" "GrabOwnership"
+    CInt ->                                 -- owner_events : TBasicType TBoolean
+    CUInt ->                                -- event_mask : TInterface "Gdk" "EventMask"
+    Ptr Cursor ->                           -- cursor : TInterface "Gdk" "Cursor"
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO CUInt
+
+
+deviceGrab ::
+    (MonadIO m, DeviceK a, WindowK b, CursorK c) =>
+    a ->                                    -- _obj
+    b ->                                    -- window
+    GrabOwnership ->                        -- grab_ownership
+    Bool ->                                 -- owner_events
+    [EventMask] ->                          -- event_mask
+    Maybe (c) ->                            -- cursor
+    Word32 ->                               -- time_
+    m GrabStatus
+deviceGrab _obj window grab_ownership owner_events event_mask cursor time_ = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let window' = unsafeManagedPtrCastPtr window
+    let grab_ownership' = (fromIntegral . fromEnum) grab_ownership
+    let owner_events' = (fromIntegral . fromEnum) owner_events
+    let event_mask' = gflagsToWord event_mask
+    maybeCursor <- case cursor of
+        Nothing -> return nullPtr
+        Just jCursor -> do
+            let jCursor' = unsafeManagedPtrCastPtr jCursor
+            return jCursor'
+    result <- gdk_device_grab _obj' window' grab_ownership' owner_events' event_mask' maybeCursor time_
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    touchManagedPtr window
+    whenJust cursor touchManagedPtr
+    return result'
+
+-- method Device::list_axes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TGList (TInterface "Gdk" "Atom")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_list_axes" gdk_device_list_axes :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    IO (Ptr (GList (Ptr Atom)))
+
+
+deviceListAxes ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    m [Atom]
+deviceListAxes _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_device_list_axes _obj'
+    checkUnexpectedReturnNULL "gdk_device_list_axes" result
+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
+    result' <- unpackGList result
+    result'' <- mapM (\x -> Atom <$> newForeignPtr_ x) result'
+    g_list_free result
+    touchManagedPtr _obj
+    return result''
+
+-- method Device::list_slave_devices
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TGList (TInterface "Gdk" "Device")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_list_slave_devices" gdk_device_list_slave_devices :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    IO (Ptr (GList (Ptr Device)))
+
+
+deviceListSlaveDevices ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    m [Device]
+deviceListSlaveDevices _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_device_list_slave_devices _obj'
+    checkUnexpectedReturnNULL "gdk_device_list_slave_devices" result
+    result' <- unpackGList result
+    result'' <- mapM (newObject Device) result'
+    g_list_free result
+    touchManagedPtr _obj
+    return result''
+
+-- method Device::set_axis_use
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "use", argType = TInterface "Gdk" "AxisUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "use", argType = TInterface "Gdk" "AxisUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_set_axis_use" gdk_device_set_axis_use :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    Word32 ->                               -- index_ : TBasicType TUInt32
+    CUInt ->                                -- use : TInterface "Gdk" "AxisUse"
+    IO ()
+
+
+deviceSetAxisUse ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    Word32 ->                               -- index_
+    AxisUse ->                              -- use
+    m ()
+deviceSetAxisUse _obj index_ use = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let use' = (fromIntegral . fromEnum) use
+    gdk_device_set_axis_use _obj' index_ use'
+    touchManagedPtr _obj
+    return ()
+
+-- method Device::set_key
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_set_key" gdk_device_set_key :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    Word32 ->                               -- index_ : TBasicType TUInt32
+    Word32 ->                               -- keyval : TBasicType TUInt32
+    CUInt ->                                -- modifiers : TInterface "Gdk" "ModifierType"
+    IO ()
+
+
+deviceSetKey ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    Word32 ->                               -- index_
+    Word32 ->                               -- keyval
+    [ModifierType] ->                       -- modifiers
+    m ()
+deviceSetKey _obj index_ keyval modifiers = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let modifiers' = gflagsToWord modifiers
+    gdk_device_set_key _obj' index_ keyval modifiers'
+    touchManagedPtr _obj
+    return ()
+
+-- method Device::set_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mode", argType = TInterface "Gdk" "InputMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mode", argType = TInterface "Gdk" "InputMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_set_mode" gdk_device_set_mode :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    CUInt ->                                -- mode : TInterface "Gdk" "InputMode"
+    IO CInt
+
+
+deviceSetMode ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    InputMode ->                            -- mode
+    m Bool
+deviceSetMode _obj mode = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let mode' = (fromIntegral . fromEnum) mode
+    result <- gdk_device_set_mode _obj' mode'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Device::ungrab
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_ungrab" gdk_device_ungrab :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO ()
+
+
+deviceUngrab ::
+    (MonadIO m, DeviceK a) =>
+    a ->                                    -- _obj
+    Word32 ->                               -- time_
+    m ()
+deviceUngrab _obj time_ = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_device_ungrab _obj' time_
+    touchManagedPtr _obj
+    return ()
+
+-- method Device::warp
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_warp" gdk_device_warp :: 
+    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
+    Ptr Screen ->                           -- screen : TInterface "Gdk" "Screen"
+    Int32 ->                                -- x : TBasicType TInt32
+    Int32 ->                                -- y : TBasicType TInt32
+    IO ()
+
+
+deviceWarp ::
+    (MonadIO m, DeviceK a, ScreenK b) =>
+    a ->                                    -- _obj
+    b ->                                    -- screen
+    Int32 ->                                -- x
+    Int32 ->                                -- y
+    m ()
+deviceWarp _obj screen x y = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let screen' = unsafeManagedPtrCastPtr screen
+    gdk_device_warp _obj' screen' x y
+    touchManagedPtr _obj
+    touchManagedPtr screen
+    return ()
+
+-- method Device::grab_info_libgtk_only
+-- method type : MemberFunction
+-- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "grab_window", argType = TInterface "Gdk" "Window", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_grab_info_libgtk_only" gdk_device_grab_info_libgtk_only :: 
+    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
+    Ptr (Ptr Window) ->                     -- grab_window : TInterface "Gdk" "Window"
+    Ptr CInt ->                             -- owner_events : TBasicType TBoolean
+    IO CInt
+
+{-# DEPRECATED deviceGrabInfoLibgtkOnly ["(Since version 3.16)","The symbol was never meant to be used outside","  of GTK+"]#-}
+deviceGrabInfoLibgtkOnly ::
+    (MonadIO m, DisplayK a, DeviceK b) =>
+    a ->                                    -- display
+    b ->                                    -- device
+    m (Bool,Window,Bool)
+deviceGrabInfoLibgtkOnly display device = liftIO $ do
+    let display' = unsafeManagedPtrCastPtr display
+    let device' = unsafeManagedPtrCastPtr device
+    grab_window <- allocMem :: IO (Ptr (Ptr Window))
+    owner_events <- allocMem :: IO (Ptr CInt)
+    result <- gdk_device_grab_info_libgtk_only display' device' grab_window owner_events
+    let result' = (/= 0) result
+    grab_window' <- peek grab_window
+    grab_window'' <- (newObject Window) grab_window'
+    owner_events' <- peek owner_events
+    let owner_events'' = (/= 0) owner_events'
+    touchManagedPtr display
+    touchManagedPtr device
+    freeMem grab_window
+    freeMem owner_events
+    return (result', grab_window'', owner_events'')
+
+-- signal Device::changed
+type DeviceChangedCallback =
+    IO ()
+
+noDeviceChangedCallback :: Maybe DeviceChangedCallback
+noDeviceChangedCallback = Nothing
+
+type DeviceChangedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkDeviceChangedCallback :: DeviceChangedCallbackC -> IO (FunPtr DeviceChangedCallbackC)
+
+deviceChangedClosure :: DeviceChangedCallback -> IO Closure
+deviceChangedClosure cb = newCClosure =<< mkDeviceChangedCallback wrapped
+    where wrapped = deviceChangedCallbackWrapper cb
+
+deviceChangedCallbackWrapper ::
+    DeviceChangedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+deviceChangedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onDeviceChanged :: (GObject a, MonadIO m) => a -> DeviceChangedCallback -> m SignalHandlerId
+onDeviceChanged obj cb = liftIO $ connectDeviceChanged obj cb SignalConnectBefore
+afterDeviceChanged :: (GObject a, MonadIO m) => a -> DeviceChangedCallback -> m SignalHandlerId
+afterDeviceChanged obj cb = connectDeviceChanged obj cb SignalConnectAfter
+
+connectDeviceChanged :: (GObject a, MonadIO m) =>
+                        a -> DeviceChangedCallback -> SignalConnectMode -> m SignalHandlerId
+connectDeviceChanged obj cb after = liftIO $ do
+    cb' <- mkDeviceChangedCallback (deviceChangedCallbackWrapper cb)
+    connectSignalFunPtr obj "changed" cb' after
+
+-- object DeviceManager 
+newtype DeviceManager = DeviceManager (ForeignPtr DeviceManager)
+noDeviceManager :: Maybe DeviceManager
+noDeviceManager = Nothing
+
+foreign import ccall "gdk_device_manager_get_type"
+    c_gdk_device_manager_get_type :: IO GType
+
+type instance ParentTypes DeviceManager = '[GObject.Object]
+
+instance GObject DeviceManager where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gdk_device_manager_get_type
+    
+
+class GObject o => DeviceManagerK o
+instance (GObject o, IsDescendantOf DeviceManager o) => DeviceManagerK o
+
+toDeviceManager :: DeviceManagerK o => o -> IO DeviceManager
+toDeviceManager = unsafeCastTo DeviceManager
+
+-- method DeviceManager::get_client_pointer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DeviceManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DeviceManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Device"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_manager_get_client_pointer" gdk_device_manager_get_client_pointer :: 
+    Ptr DeviceManager ->                    -- _obj : TInterface "Gdk" "DeviceManager"
+    IO (Ptr Device)
+
+
+deviceManagerGetClientPointer ::
+    (MonadIO m, DeviceManagerK a) =>
+    a ->                                    -- _obj
+    m Device
+deviceManagerGetClientPointer _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_device_manager_get_client_pointer _obj'
+    checkUnexpectedReturnNULL "gdk_device_manager_get_client_pointer" result
+    result' <- (newObject Device) result
+    touchManagedPtr _obj
+    return result'
+
+-- method DeviceManager::get_display
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DeviceManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DeviceManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Display"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_manager_get_display" gdk_device_manager_get_display :: 
+    Ptr DeviceManager ->                    -- _obj : TInterface "Gdk" "DeviceManager"
+    IO (Ptr Display)
+
+
+deviceManagerGetDisplay ::
+    (MonadIO m, DeviceManagerK a) =>
+    a ->                                    -- _obj
+    m Display
+deviceManagerGetDisplay _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_device_manager_get_display _obj'
+    checkUnexpectedReturnNULL "gdk_device_manager_get_display" result
+    result' <- (newObject Display) result
+    touchManagedPtr _obj
+    return result'
+
+-- method DeviceManager::list_devices
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DeviceManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Gdk" "DeviceType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DeviceManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Gdk" "DeviceType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TGList (TInterface "Gdk" "Device")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_device_manager_list_devices" gdk_device_manager_list_devices :: 
+    Ptr DeviceManager ->                    -- _obj : TInterface "Gdk" "DeviceManager"
+    CUInt ->                                -- type : TInterface "Gdk" "DeviceType"
+    IO (Ptr (GList (Ptr Device)))
+
+
+deviceManagerListDevices ::
+    (MonadIO m, DeviceManagerK a) =>
+    a ->                                    -- _obj
+    DeviceType ->                           -- type
+    m [Device]
+deviceManagerListDevices _obj type_ = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let type_' = (fromIntegral . fromEnum) type_
+    result <- gdk_device_manager_list_devices _obj' type_'
+    checkUnexpectedReturnNULL "gdk_device_manager_list_devices" result
+    result' <- unpackGList result
+    result'' <- mapM (newObject Device) result'
+    g_list_free result
+    touchManagedPtr _obj
+    return result''
+
+-- signal DeviceManager::device-added
+type DeviceManagerDeviceAddedCallback =
+    Device ->
+    IO ()
+
+noDeviceManagerDeviceAddedCallback :: Maybe DeviceManagerDeviceAddedCallback
+noDeviceManagerDeviceAddedCallback = Nothing
+
+type DeviceManagerDeviceAddedCallbackC =
+    Ptr () ->                               -- object
+    Ptr Device ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkDeviceManagerDeviceAddedCallback :: DeviceManagerDeviceAddedCallbackC -> IO (FunPtr DeviceManagerDeviceAddedCallbackC)
+
+deviceManagerDeviceAddedClosure :: DeviceManagerDeviceAddedCallback -> IO Closure
+deviceManagerDeviceAddedClosure cb = newCClosure =<< mkDeviceManagerDeviceAddedCallback wrapped
+    where wrapped = deviceManagerDeviceAddedCallbackWrapper cb
+
+deviceManagerDeviceAddedCallbackWrapper ::
+    DeviceManagerDeviceAddedCallback ->
+    Ptr () ->
+    Ptr Device ->
+    Ptr () ->
+    IO ()
+deviceManagerDeviceAddedCallbackWrapper _cb _ device _ = do
+    device' <- (newObject Device) device
+    _cb  device'
+
+onDeviceManagerDeviceAdded :: (GObject a, MonadIO m) => a -> DeviceManagerDeviceAddedCallback -> m SignalHandlerId
+onDeviceManagerDeviceAdded obj cb = liftIO $ connectDeviceManagerDeviceAdded obj cb SignalConnectBefore
+afterDeviceManagerDeviceAdded :: (GObject a, MonadIO m) => a -> DeviceManagerDeviceAddedCallback -> m SignalHandlerId
+afterDeviceManagerDeviceAdded obj cb = connectDeviceManagerDeviceAdded obj cb SignalConnectAfter
+
+connectDeviceManagerDeviceAdded :: (GObject a, MonadIO m) =>
+                                   a -> DeviceManagerDeviceAddedCallback -> SignalConnectMode -> m SignalHandlerId
+connectDeviceManagerDeviceAdded obj cb after = liftIO $ do
+    cb' <- mkDeviceManagerDeviceAddedCallback (deviceManagerDeviceAddedCallbackWrapper cb)
+    connectSignalFunPtr obj "device-added" cb' after
+
+-- signal DeviceManager::device-changed
+type DeviceManagerDeviceChangedCallback =
+    Device ->
+    IO ()
+
+noDeviceManagerDeviceChangedCallback :: Maybe DeviceManagerDeviceChangedCallback
+noDeviceManagerDeviceChangedCallback = Nothing
+
+type DeviceManagerDeviceChangedCallbackC =
+    Ptr () ->                               -- object
+    Ptr Device ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkDeviceManagerDeviceChangedCallback :: DeviceManagerDeviceChangedCallbackC -> IO (FunPtr DeviceManagerDeviceChangedCallbackC)
+
+deviceManagerDeviceChangedClosure :: DeviceManagerDeviceChangedCallback -> IO Closure
+deviceManagerDeviceChangedClosure cb = newCClosure =<< mkDeviceManagerDeviceChangedCallback wrapped
+    where wrapped = deviceManagerDeviceChangedCallbackWrapper cb
+
+deviceManagerDeviceChangedCallbackWrapper ::
+    DeviceManagerDeviceChangedCallback ->
+    Ptr () ->
+    Ptr Device ->
+    Ptr () ->
+    IO ()
+deviceManagerDeviceChangedCallbackWrapper _cb _ device _ = do
+    device' <- (newObject Device) device
+    _cb  device'
+
+onDeviceManagerDeviceChanged :: (GObject a, MonadIO m) => a -> DeviceManagerDeviceChangedCallback -> m SignalHandlerId
+onDeviceManagerDeviceChanged obj cb = liftIO $ connectDeviceManagerDeviceChanged obj cb SignalConnectBefore
+afterDeviceManagerDeviceChanged :: (GObject a, MonadIO m) => a -> DeviceManagerDeviceChangedCallback -> m SignalHandlerId
+afterDeviceManagerDeviceChanged obj cb = connectDeviceManagerDeviceChanged obj cb SignalConnectAfter
+
+connectDeviceManagerDeviceChanged :: (GObject a, MonadIO m) =>
+                                     a -> DeviceManagerDeviceChangedCallback -> SignalConnectMode -> m SignalHandlerId
+connectDeviceManagerDeviceChanged obj cb after = liftIO $ do
+    cb' <- mkDeviceManagerDeviceChangedCallback (deviceManagerDeviceChangedCallbackWrapper cb)
+    connectSignalFunPtr obj "device-changed" cb' after
+
+-- signal DeviceManager::device-removed
+type DeviceManagerDeviceRemovedCallback =
+    Device ->
+    IO ()
+
+noDeviceManagerDeviceRemovedCallback :: Maybe DeviceManagerDeviceRemovedCallback
+noDeviceManagerDeviceRemovedCallback = Nothing
+
+type DeviceManagerDeviceRemovedCallbackC =
+    Ptr () ->                               -- object
+    Ptr Device ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkDeviceManagerDeviceRemovedCallback :: DeviceManagerDeviceRemovedCallbackC -> IO (FunPtr DeviceManagerDeviceRemovedCallbackC)
+
+deviceManagerDeviceRemovedClosure :: DeviceManagerDeviceRemovedCallback -> IO Closure
+deviceManagerDeviceRemovedClosure cb = newCClosure =<< mkDeviceManagerDeviceRemovedCallback wrapped
+    where wrapped = deviceManagerDeviceRemovedCallbackWrapper cb
+
+deviceManagerDeviceRemovedCallbackWrapper ::
+    DeviceManagerDeviceRemovedCallback ->
+    Ptr () ->
+    Ptr Device ->
+    Ptr () ->
+    IO ()
+deviceManagerDeviceRemovedCallbackWrapper _cb _ device _ = do
+    device' <- (newObject Device) device
+    _cb  device'
+
+onDeviceManagerDeviceRemoved :: (GObject a, MonadIO m) => a -> DeviceManagerDeviceRemovedCallback -> m SignalHandlerId
+onDeviceManagerDeviceRemoved obj cb = liftIO $ connectDeviceManagerDeviceRemoved obj cb SignalConnectBefore
+afterDeviceManagerDeviceRemoved :: (GObject a, MonadIO m) => a -> DeviceManagerDeviceRemovedCallback -> m SignalHandlerId
+afterDeviceManagerDeviceRemoved obj cb = connectDeviceManagerDeviceRemoved obj cb SignalConnectAfter
+
+connectDeviceManagerDeviceRemoved :: (GObject a, MonadIO m) =>
+                                     a -> DeviceManagerDeviceRemovedCallback -> SignalConnectMode -> m SignalHandlerId
+connectDeviceManagerDeviceRemoved obj cb after = liftIO $ do
+    cb' <- mkDeviceManagerDeviceRemovedCallback (deviceManagerDeviceRemovedCallbackWrapper cb)
+    connectSignalFunPtr obj "device-removed" cb' after
+
+-- Enum DeviceType
+
+data DeviceType = 
+      DeviceTypeMaster
+    | DeviceTypeSlave
+    | DeviceTypeFloating
+    | AnotherDeviceType Int
+    deriving (Show, Eq)
+
+instance Enum DeviceType where
+    fromEnum DeviceTypeMaster = 0
+    fromEnum DeviceTypeSlave = 1
+    fromEnum DeviceTypeFloating = 2
+    fromEnum (AnotherDeviceType k) = k
+
+    toEnum 0 = DeviceTypeMaster
+    toEnum 1 = DeviceTypeSlave
+    toEnum 2 = DeviceTypeFloating
+    toEnum k = AnotherDeviceType k
+
+foreign import ccall "gdk_device_type_get_type" c_gdk_device_type_get_type :: 
+    IO GType
+
+instance BoxedEnum DeviceType where
+    boxedEnumType _ = c_gdk_device_type_get_type
+
+-- object Display 
+newtype Display = Display (ForeignPtr Display)
+noDisplay :: Maybe Display
+noDisplay = Nothing
+
+foreign import ccall "gdk_display_get_type"
+    c_gdk_display_get_type :: IO GType
+
+type instance ParentTypes Display = '[GObject.Object]
+
+instance GObject Display where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gdk_display_get_type
+    
+
+class GObject o => DisplayK o
+instance (GObject o, IsDescendantOf Display o) => DisplayK o
+
+toDisplay :: DisplayK o => o -> IO Display
+toDisplay = unsafeCastTo Display
+
+-- method Display::beep
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_beep" gdk_display_beep :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO ()
+
+
+displayBeep ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m ()
+displayBeep _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_display_beep _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Display::close
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_close" gdk_display_close :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO ()
+
+
+displayClose ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m ()
+displayClose _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_display_close _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Display::device_is_grabbed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_device_is_grabbed" gdk_display_device_is_grabbed :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
+    IO CInt
+
+
+displayDeviceIsGrabbed ::
+    (MonadIO m, DisplayK a, DeviceK b) =>
+    a ->                                    -- _obj
+    b ->                                    -- device
+    m Bool
+displayDeviceIsGrabbed _obj device = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let device' = unsafeManagedPtrCastPtr device
+    result <- gdk_display_device_is_grabbed _obj' device'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    touchManagedPtr device
+    return result'
+
+-- method Display::flush
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_flush" gdk_display_flush :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO ()
+
+
+displayFlush ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m ()
+displayFlush _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_display_flush _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Display::get_app_launch_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "AppLaunchContext"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_get_app_launch_context" gdk_display_get_app_launch_context :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO (Ptr AppLaunchContext)
+
+
+displayGetAppLaunchContext ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m AppLaunchContext
+displayGetAppLaunchContext _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_get_app_launch_context _obj'
+    checkUnexpectedReturnNULL "gdk_display_get_app_launch_context" result
+    result' <- (wrapObject AppLaunchContext) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Display::get_default_cursor_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_get_default_cursor_size" gdk_display_get_default_cursor_size :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO Word32
+
+
+displayGetDefaultCursorSize ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m Word32
+displayGetDefaultCursorSize _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_get_default_cursor_size _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method Display::get_default_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_get_default_group" gdk_display_get_default_group :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO (Ptr Window)
+
+
+displayGetDefaultGroup ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m Window
+displayGetDefaultGroup _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_get_default_group _obj'
+    checkUnexpectedReturnNULL "gdk_display_get_default_group" result
+    result' <- (newObject Window) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Display::get_default_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Screen"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_get_default_screen" gdk_display_get_default_screen :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO (Ptr Screen)
+
+
+displayGetDefaultScreen ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m Screen
+displayGetDefaultScreen _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_get_default_screen _obj'
+    checkUnexpectedReturnNULL "gdk_display_get_default_screen" result
+    result' <- (newObject Screen) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Display::get_device_manager
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "DeviceManager"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_get_device_manager" gdk_display_get_device_manager :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO (Ptr DeviceManager)
+
+
+displayGetDeviceManager ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m DeviceManager
+displayGetDeviceManager _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_get_device_manager _obj'
+    checkUnexpectedReturnNULL "gdk_display_get_device_manager" result
+    result' <- (newObject DeviceManager) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Display::get_event
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Event"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_get_event" gdk_display_get_event :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO (Ptr Event)
+
+
+displayGetEvent ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m Event
+displayGetEvent _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_get_event _obj'
+    checkUnexpectedReturnNULL "gdk_display_get_event" result
+    result' <- (wrapBoxed Event) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Display::get_maximal_cursor_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "height", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_get_maximal_cursor_size" gdk_display_get_maximal_cursor_size :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    Ptr Word32 ->                           -- width : TBasicType TUInt32
+    Ptr Word32 ->                           -- height : TBasicType TUInt32
+    IO ()
+
+
+displayGetMaximalCursorSize ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m (Word32,Word32)
+displayGetMaximalCursorSize _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    width <- allocMem :: IO (Ptr Word32)
+    height <- allocMem :: IO (Ptr Word32)
+    gdk_display_get_maximal_cursor_size _obj' width height
+    width' <- peek width
+    height' <- peek height
+    touchManagedPtr _obj
+    freeMem width
+    freeMem height
+    return (width', height')
+
+-- method Display::get_n_screens
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_get_n_screens" gdk_display_get_n_screens :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO Int32
+
+{-# DEPRECATED displayGetNScreens ["(Since version 3.10)","The number of screens is always 1."]#-}
+displayGetNScreens ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m Int32
+displayGetNScreens _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_get_n_screens _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method Display::get_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_get_name" gdk_display_get_name :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO CString
+
+
+displayGetName ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m T.Text
+displayGetName _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_get_name _obj'
+    checkUnexpectedReturnNULL "gdk_display_get_name" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+-- method Display::get_pointer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "mask", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_get_pointer" gdk_display_get_pointer :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    Ptr (Ptr Screen) ->                     -- screen : TInterface "Gdk" "Screen"
+    Ptr Int32 ->                            -- x : TBasicType TInt32
+    Ptr Int32 ->                            -- y : TBasicType TInt32
+    Ptr CUInt ->                            -- mask : TInterface "Gdk" "ModifierType"
+    IO ()
+
+{-# DEPRECATED displayGetPointer ["(Since version 3.0)","Use gdk_device_get_position() instead."]#-}
+displayGetPointer ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m (Screen,Int32,Int32,[ModifierType])
+displayGetPointer _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    screen <- allocMem :: IO (Ptr (Ptr Screen))
+    x <- allocMem :: IO (Ptr Int32)
+    y <- allocMem :: IO (Ptr Int32)
+    mask <- allocMem :: IO (Ptr CUInt)
+    gdk_display_get_pointer _obj' screen x y mask
+    screen' <- peek screen
+    screen'' <- (newObject Screen) screen'
+    x' <- peek x
+    y' <- peek y
+    mask' <- peek mask
+    let mask'' = wordToGFlags mask'
+    touchManagedPtr _obj
+    freeMem screen
+    freeMem x
+    freeMem y
+    freeMem mask
+    return (screen'', x', y', mask'')
+
+-- method Display::get_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Screen"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_get_screen" gdk_display_get_screen :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    Int32 ->                                -- screen_num : TBasicType TInt32
+    IO (Ptr Screen)
+
+
+displayGetScreen ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    Int32 ->                                -- screen_num
+    m Screen
+displayGetScreen _obj screen_num = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_get_screen _obj' screen_num
+    checkUnexpectedReturnNULL "gdk_display_get_screen" result
+    result' <- (newObject Screen) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Display::get_window_at_pointer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "win_x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "win_y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_get_window_at_pointer" gdk_display_get_window_at_pointer :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    Ptr Int32 ->                            -- win_x : TBasicType TInt32
+    Ptr Int32 ->                            -- win_y : TBasicType TInt32
+    IO (Ptr Window)
+
+{-# DEPRECATED displayGetWindowAtPointer ["(Since version 3.0)","Use gdk_device_get_window_at_position() instead."]#-}
+displayGetWindowAtPointer ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m (Window,Int32,Int32)
+displayGetWindowAtPointer _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    win_x <- allocMem :: IO (Ptr Int32)
+    win_y <- allocMem :: IO (Ptr Int32)
+    result <- gdk_display_get_window_at_pointer _obj' win_x win_y
+    checkUnexpectedReturnNULL "gdk_display_get_window_at_pointer" result
+    result' <- (newObject Window) result
+    win_x' <- peek win_x
+    win_y' <- peek win_y
+    touchManagedPtr _obj
+    freeMem win_x
+    freeMem win_y
+    return (result', win_x', win_y')
+
+-- method Display::has_pending
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_has_pending" gdk_display_has_pending :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO CInt
+
+
+displayHasPending ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m Bool
+displayHasPending _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_has_pending _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Display::is_closed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_is_closed" gdk_display_is_closed :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO CInt
+
+
+displayIsClosed ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m Bool
+displayIsClosed _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_is_closed _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Display::keyboard_ungrab
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_keyboard_ungrab" gdk_display_keyboard_ungrab :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO ()
+
+{-# DEPRECATED displayKeyboardUngrab ["(Since version 3.0)","Use gdk_device_ungrab(), together with gdk_device_grab()","            instead."]#-}
+displayKeyboardUngrab ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    Word32 ->                               -- time_
+    m ()
+displayKeyboardUngrab _obj time_ = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_display_keyboard_ungrab _obj' time_
+    touchManagedPtr _obj
+    return ()
+
+-- method Display::list_devices
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TGList (TInterface "Gdk" "Device")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_list_devices" gdk_display_list_devices :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO (Ptr (GList (Ptr Device)))
+
+{-# DEPRECATED displayListDevices ["(Since version 3.0)","Use gdk_device_manager_list_devices() instead."]#-}
+displayListDevices ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m [Device]
+displayListDevices _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_list_devices _obj'
+    checkUnexpectedReturnNULL "gdk_display_list_devices" result
+    result' <- unpackGList result
+    result'' <- mapM (newObject Device) result'
+    touchManagedPtr _obj
+    return result''
+
+-- method Display::notify_startup_complete
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "startup_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "startup_id", 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 "gdk_display_notify_startup_complete" gdk_display_notify_startup_complete :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    CString ->                              -- startup_id : TBasicType TUTF8
+    IO ()
+
+
+displayNotifyStartupComplete ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    T.Text ->                               -- startup_id
+    m ()
+displayNotifyStartupComplete _obj startup_id = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    startup_id' <- textToCString startup_id
+    gdk_display_notify_startup_complete _obj' startup_id'
+    touchManagedPtr _obj
+    freeMem startup_id'
+    return ()
+
+-- method Display::peek_event
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Event"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_peek_event" gdk_display_peek_event :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO (Ptr Event)
+
+
+displayPeekEvent ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m Event
+displayPeekEvent _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_peek_event _obj'
+    checkUnexpectedReturnNULL "gdk_display_peek_event" result
+    result' <- (wrapBoxed Event) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Display::pointer_is_grabbed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_pointer_is_grabbed" gdk_display_pointer_is_grabbed :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO CInt
+
+{-# DEPRECATED displayPointerIsGrabbed ["(Since version 3.0)","Use gdk_display_device_is_grabbed() instead."]#-}
+displayPointerIsGrabbed ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m Bool
+displayPointerIsGrabbed _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_pointer_is_grabbed _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Display::pointer_ungrab
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_pointer_ungrab" gdk_display_pointer_ungrab :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO ()
+
+{-# DEPRECATED displayPointerUngrab ["(Since version 3.0)","Use gdk_device_ungrab(), together with gdk_device_grab()","            instead."]#-}
+displayPointerUngrab ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    Word32 ->                               -- time_
+    m ()
+displayPointerUngrab _obj time_ = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_display_pointer_ungrab _obj' time_
+    touchManagedPtr _obj
+    return ()
+
+-- method Display::put_event
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_put_event" gdk_display_put_event :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    Ptr Event ->                            -- event : TInterface "Gdk" "Event"
+    IO ()
+
+
+displayPutEvent ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    Event ->                                -- event
+    m ()
+displayPutEvent _obj event = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let event' = unsafeManagedPtrGetPtr event
+    gdk_display_put_event _obj' event'
+    touchManagedPtr _obj
+    touchManagedPtr event
+    return ()
+
+-- method Display::request_selection_notification
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_request_selection_notification" gdk_display_request_selection_notification :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"
+    IO CInt
+
+
+displayRequestSelectionNotification ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    Atom ->                                 -- selection
+    m Bool
+displayRequestSelectionNotification _obj selection = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let selection' = unsafeManagedPtrGetPtr selection
+    result <- gdk_display_request_selection_notification _obj' selection'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    touchManagedPtr selection
+    return result'
+
+-- method Display::set_double_click_distance
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "distance", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "distance", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_set_double_click_distance" gdk_display_set_double_click_distance :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    Word32 ->                               -- distance : TBasicType TUInt32
+    IO ()
+
+
+displaySetDoubleClickDistance ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    Word32 ->                               -- distance
+    m ()
+displaySetDoubleClickDistance _obj distance = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_display_set_double_click_distance _obj' distance
+    touchManagedPtr _obj
+    return ()
+
+-- method Display::set_double_click_time
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msec", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msec", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_set_double_click_time" gdk_display_set_double_click_time :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    Word32 ->                               -- msec : TBasicType TUInt32
+    IO ()
+
+
+displaySetDoubleClickTime ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    Word32 ->                               -- msec
+    m ()
+displaySetDoubleClickTime _obj msec = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_display_set_double_click_time _obj' msec
+    touchManagedPtr _obj
+    return ()
+
+-- method Display::store_clipboard
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "clipboard_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "targets", argType = TCArray False (-1) 4 (TInterface "Gdk" "Atom"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_targets", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : [Arg {argName = "n_targets", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "clipboard_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "targets", argType = TCArray False (-1) 4 (TInterface "Gdk" "Atom"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_store_clipboard" gdk_display_store_clipboard :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    Ptr Window ->                           -- clipboard_window : TInterface "Gdk" "Window"
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    Ptr (Ptr Atom) ->                       -- targets : TCArray False (-1) 4 (TInterface "Gdk" "Atom")
+    Int32 ->                                -- n_targets : TBasicType TInt32
+    IO ()
+
+
+displayStoreClipboard ::
+    (MonadIO m, DisplayK a, WindowK b) =>
+    a ->                                    -- _obj
+    b ->                                    -- clipboard_window
+    Word32 ->                               -- time_
+    [Atom] ->                               -- targets
+    m ()
+displayStoreClipboard _obj clipboard_window time_ targets = liftIO $ do
+    let n_targets = fromIntegral $ length targets
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let clipboard_window' = unsafeManagedPtrCastPtr clipboard_window
+    let targets' = map unsafeManagedPtrGetPtr targets
+    targets'' <- packPtrArray targets'
+    gdk_display_store_clipboard _obj' clipboard_window' time_ targets'' n_targets
+    touchManagedPtr _obj
+    touchManagedPtr clipboard_window
+    mapM_ touchManagedPtr targets
+    freeMem targets''
+    return ()
+
+-- method Display::supports_clipboard_persistence
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_supports_clipboard_persistence" gdk_display_supports_clipboard_persistence :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO CInt
+
+
+displaySupportsClipboardPersistence ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m Bool
+displaySupportsClipboardPersistence _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_supports_clipboard_persistence _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Display::supports_composite
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_supports_composite" gdk_display_supports_composite :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO CInt
+
+{-# DEPRECATED displaySupportsComposite ["(Since version 3.16)","Compositing is an outdated technology that","  only ever worked on X11."]#-}
+displaySupportsComposite ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m Bool
+displaySupportsComposite _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_supports_composite _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Display::supports_cursor_alpha
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_supports_cursor_alpha" gdk_display_supports_cursor_alpha :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO CInt
+
+
+displaySupportsCursorAlpha ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m Bool
+displaySupportsCursorAlpha _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_supports_cursor_alpha _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Display::supports_cursor_color
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_supports_cursor_color" gdk_display_supports_cursor_color :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO CInt
+
+
+displaySupportsCursorColor ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m Bool
+displaySupportsCursorColor _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_supports_cursor_color _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Display::supports_input_shapes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_supports_input_shapes" gdk_display_supports_input_shapes :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO CInt
+
+
+displaySupportsInputShapes ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m Bool
+displaySupportsInputShapes _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_supports_input_shapes _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Display::supports_selection_notification
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_supports_selection_notification" gdk_display_supports_selection_notification :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO CInt
+
+
+displaySupportsSelectionNotification ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m Bool
+displaySupportsSelectionNotification _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_supports_selection_notification _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Display::supports_shapes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_supports_shapes" gdk_display_supports_shapes :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO CInt
+
+
+displaySupportsShapes ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m Bool
+displaySupportsShapes _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_supports_shapes _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Display::sync
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_sync" gdk_display_sync :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    IO ()
+
+
+displaySync ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- _obj
+    m ()
+displaySync _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_display_sync _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Display::warp_pointer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_warp_pointer" gdk_display_warp_pointer :: 
+    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
+    Ptr Screen ->                           -- screen : TInterface "Gdk" "Screen"
+    Int32 ->                                -- x : TBasicType TInt32
+    Int32 ->                                -- y : TBasicType TInt32
+    IO ()
+
+{-# DEPRECATED displayWarpPointer ["(Since version 3.0)","Use gdk_device_warp() instead."]#-}
+displayWarpPointer ::
+    (MonadIO m, DisplayK a, ScreenK b) =>
+    a ->                                    -- _obj
+    b ->                                    -- screen
+    Int32 ->                                -- x
+    Int32 ->                                -- y
+    m ()
+displayWarpPointer _obj screen x y = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let screen' = unsafeManagedPtrCastPtr screen
+    gdk_display_warp_pointer _obj' screen' x y
+    touchManagedPtr _obj
+    touchManagedPtr screen
+    return ()
+
+-- method Display::get_default
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TInterface "Gdk" "Display"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_get_default" gdk_display_get_default :: 
+    IO (Ptr Display)
+
+
+displayGetDefault ::
+    (MonadIO m) =>
+    m Display
+displayGetDefault  = liftIO $ do
+    result <- gdk_display_get_default
+    checkUnexpectedReturnNULL "gdk_display_get_default" result
+    result' <- (newObject Display) result
+    return result'
+
+-- method Display::open
+-- method type : MemberFunction
+-- Args : [Arg {argName = "display_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "display_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Display"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_open" gdk_display_open :: 
+    CString ->                              -- display_name : TBasicType TUTF8
+    IO (Ptr Display)
+
+
+displayOpen ::
+    (MonadIO m) =>
+    T.Text ->                               -- display_name
+    m Display
+displayOpen display_name = liftIO $ do
+    display_name' <- textToCString display_name
+    result <- gdk_display_open display_name'
+    checkUnexpectedReturnNULL "gdk_display_open" result
+    result' <- (newObject Display) result
+    freeMem display_name'
+    return result'
+
+-- method Display::open_default_libgtk_only
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TInterface "Gdk" "Display"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_open_default_libgtk_only" gdk_display_open_default_libgtk_only :: 
+    IO (Ptr Display)
+
+{-# DEPRECATED displayOpenDefaultLibgtkOnly ["(Since version 3.16)","This symbol was never meant to be used outside","  of GTK+"]#-}
+displayOpenDefaultLibgtkOnly ::
+    (MonadIO m) =>
+    m Display
+displayOpenDefaultLibgtkOnly  = liftIO $ do
+    result <- gdk_display_open_default_libgtk_only
+    checkUnexpectedReturnNULL "gdk_display_open_default_libgtk_only" result
+    result' <- (newObject Display) result
+    return result'
+
+-- signal Display::closed
+type DisplayClosedCallback =
+    Bool ->
+    IO ()
+
+noDisplayClosedCallback :: Maybe DisplayClosedCallback
+noDisplayClosedCallback = Nothing
+
+type DisplayClosedCallbackC =
+    Ptr () ->                               -- object
+    CInt ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkDisplayClosedCallback :: DisplayClosedCallbackC -> IO (FunPtr DisplayClosedCallbackC)
+
+displayClosedClosure :: DisplayClosedCallback -> IO Closure
+displayClosedClosure cb = newCClosure =<< mkDisplayClosedCallback wrapped
+    where wrapped = displayClosedCallbackWrapper cb
+
+displayClosedCallbackWrapper ::
+    DisplayClosedCallback ->
+    Ptr () ->
+    CInt ->
+    Ptr () ->
+    IO ()
+displayClosedCallbackWrapper _cb _ is_error _ = do
+    let is_error' = (/= 0) is_error
+    _cb  is_error'
+
+onDisplayClosed :: (GObject a, MonadIO m) => a -> DisplayClosedCallback -> m SignalHandlerId
+onDisplayClosed obj cb = liftIO $ connectDisplayClosed obj cb SignalConnectBefore
+afterDisplayClosed :: (GObject a, MonadIO m) => a -> DisplayClosedCallback -> m SignalHandlerId
+afterDisplayClosed obj cb = connectDisplayClosed obj cb SignalConnectAfter
+
+connectDisplayClosed :: (GObject a, MonadIO m) =>
+                        a -> DisplayClosedCallback -> SignalConnectMode -> m SignalHandlerId
+connectDisplayClosed obj cb after = liftIO $ do
+    cb' <- mkDisplayClosedCallback (displayClosedCallbackWrapper cb)
+    connectSignalFunPtr obj "closed" cb' after
+
+-- signal Display::opened
+type DisplayOpenedCallback =
+    IO ()
+
+noDisplayOpenedCallback :: Maybe DisplayOpenedCallback
+noDisplayOpenedCallback = Nothing
+
+type DisplayOpenedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkDisplayOpenedCallback :: DisplayOpenedCallbackC -> IO (FunPtr DisplayOpenedCallbackC)
+
+displayOpenedClosure :: DisplayOpenedCallback -> IO Closure
+displayOpenedClosure cb = newCClosure =<< mkDisplayOpenedCallback wrapped
+    where wrapped = displayOpenedCallbackWrapper cb
+
+displayOpenedCallbackWrapper ::
+    DisplayOpenedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+displayOpenedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onDisplayOpened :: (GObject a, MonadIO m) => a -> DisplayOpenedCallback -> m SignalHandlerId
+onDisplayOpened obj cb = liftIO $ connectDisplayOpened obj cb SignalConnectBefore
+afterDisplayOpened :: (GObject a, MonadIO m) => a -> DisplayOpenedCallback -> m SignalHandlerId
+afterDisplayOpened obj cb = connectDisplayOpened obj cb SignalConnectAfter
+
+connectDisplayOpened :: (GObject a, MonadIO m) =>
+                        a -> DisplayOpenedCallback -> SignalConnectMode -> m SignalHandlerId
+connectDisplayOpened obj cb after = liftIO $ do
+    cb' <- mkDisplayOpenedCallback (displayOpenedCallbackWrapper cb)
+    connectSignalFunPtr obj "opened" cb' after
+
+-- object DisplayManager 
+newtype DisplayManager = DisplayManager (ForeignPtr DisplayManager)
+noDisplayManager :: Maybe DisplayManager
+noDisplayManager = Nothing
+
+foreign import ccall "gdk_display_manager_get_type"
+    c_gdk_display_manager_get_type :: IO GType
+
+type instance ParentTypes DisplayManager = '[GObject.Object]
+
+instance GObject DisplayManager where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gdk_display_manager_get_type
+    
+
+class GObject o => DisplayManagerK o
+instance (GObject o, IsDescendantOf DisplayManager o) => DisplayManagerK o
+
+toDisplayManager :: DisplayManagerK o => o -> IO DisplayManager
+toDisplayManager = unsafeCastTo DisplayManager
+
+-- method DisplayManager::get_default_display
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Display"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_manager_get_default_display" gdk_display_manager_get_default_display :: 
+    Ptr DisplayManager ->                   -- _obj : TInterface "Gdk" "DisplayManager"
+    IO (Ptr Display)
+
+
+displayManagerGetDefaultDisplay ::
+    (MonadIO m, DisplayManagerK a) =>
+    a ->                                    -- _obj
+    m Display
+displayManagerGetDefaultDisplay _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_manager_get_default_display _obj'
+    checkUnexpectedReturnNULL "gdk_display_manager_get_default_display" result
+    result' <- (newObject Display) result
+    touchManagedPtr _obj
+    return result'
+
+-- method DisplayManager::list_displays
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TGSList (TInterface "Gdk" "Display")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_manager_list_displays" gdk_display_manager_list_displays :: 
+    Ptr DisplayManager ->                   -- _obj : TInterface "Gdk" "DisplayManager"
+    IO (Ptr (GSList (Ptr Display)))
+
+
+displayManagerListDisplays ::
+    (MonadIO m, DisplayManagerK a) =>
+    a ->                                    -- _obj
+    m [Display]
+displayManagerListDisplays _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_display_manager_list_displays _obj'
+    checkUnexpectedReturnNULL "gdk_display_manager_list_displays" result
+    result' <- unpackGSList result
+    result'' <- mapM (newObject Display) result'
+    g_slist_free result
+    touchManagedPtr _obj
+    return result''
+
+-- method DisplayManager::open_display
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", 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}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", 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}]
+-- returnType : TInterface "Gdk" "Display"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_manager_open_display" gdk_display_manager_open_display :: 
+    Ptr DisplayManager ->                   -- _obj : TInterface "Gdk" "DisplayManager"
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr Display)
+
+
+displayManagerOpenDisplay ::
+    (MonadIO m, DisplayManagerK a) =>
+    a ->                                    -- _obj
+    T.Text ->                               -- name
+    m Display
+displayManagerOpenDisplay _obj name = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    name' <- textToCString name
+    result <- gdk_display_manager_open_display _obj' name'
+    checkUnexpectedReturnNULL "gdk_display_manager_open_display" result
+    result' <- (newObject Display) result
+    touchManagedPtr _obj
+    freeMem name'
+    return result'
+
+-- method DisplayManager::set_default_display
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_manager_set_default_display" gdk_display_manager_set_default_display :: 
+    Ptr DisplayManager ->                   -- _obj : TInterface "Gdk" "DisplayManager"
+    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
+    IO ()
+
+
+displayManagerSetDefaultDisplay ::
+    (MonadIO m, DisplayManagerK a, DisplayK b) =>
+    a ->                                    -- _obj
+    b ->                                    -- display
+    m ()
+displayManagerSetDefaultDisplay _obj display = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let display' = unsafeManagedPtrCastPtr display
+    gdk_display_manager_set_default_display _obj' display'
+    touchManagedPtr _obj
+    touchManagedPtr display
+    return ()
+
+-- method DisplayManager::get
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TInterface "Gdk" "DisplayManager"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_display_manager_get" gdk_display_manager_get :: 
+    IO (Ptr DisplayManager)
+
+
+displayManagerGet ::
+    (MonadIO m) =>
+    m DisplayManager
+displayManagerGet  = liftIO $ do
+    result <- gdk_display_manager_get
+    checkUnexpectedReturnNULL "gdk_display_manager_get" result
+    result' <- (newObject DisplayManager) result
+    return result'
+
+-- signal DisplayManager::display-opened
+type DisplayManagerDisplayOpenedCallback =
+    Display ->
+    IO ()
+
+noDisplayManagerDisplayOpenedCallback :: Maybe DisplayManagerDisplayOpenedCallback
+noDisplayManagerDisplayOpenedCallback = Nothing
+
+type DisplayManagerDisplayOpenedCallbackC =
+    Ptr () ->                               -- object
+    Ptr Display ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkDisplayManagerDisplayOpenedCallback :: DisplayManagerDisplayOpenedCallbackC -> IO (FunPtr DisplayManagerDisplayOpenedCallbackC)
+
+displayManagerDisplayOpenedClosure :: DisplayManagerDisplayOpenedCallback -> IO Closure
+displayManagerDisplayOpenedClosure cb = newCClosure =<< mkDisplayManagerDisplayOpenedCallback wrapped
+    where wrapped = displayManagerDisplayOpenedCallbackWrapper cb
+
+displayManagerDisplayOpenedCallbackWrapper ::
+    DisplayManagerDisplayOpenedCallback ->
+    Ptr () ->
+    Ptr Display ->
+    Ptr () ->
+    IO ()
+displayManagerDisplayOpenedCallbackWrapper _cb _ display _ = do
+    display' <- (newObject Display) display
+    _cb  display'
+
+onDisplayManagerDisplayOpened :: (GObject a, MonadIO m) => a -> DisplayManagerDisplayOpenedCallback -> m SignalHandlerId
+onDisplayManagerDisplayOpened obj cb = liftIO $ connectDisplayManagerDisplayOpened obj cb SignalConnectBefore
+afterDisplayManagerDisplayOpened :: (GObject a, MonadIO m) => a -> DisplayManagerDisplayOpenedCallback -> m SignalHandlerId
+afterDisplayManagerDisplayOpened obj cb = connectDisplayManagerDisplayOpened obj cb SignalConnectAfter
+
+connectDisplayManagerDisplayOpened :: (GObject a, MonadIO m) =>
+                                      a -> DisplayManagerDisplayOpenedCallback -> SignalConnectMode -> m SignalHandlerId
+connectDisplayManagerDisplayOpened obj cb after = liftIO $ do
+    cb' <- mkDisplayManagerDisplayOpenedCallback (displayManagerDisplayOpenedCallbackWrapper cb)
+    connectSignalFunPtr obj "display-opened" cb' after
+
+-- Flags DragAction
+
+data DragAction = 
+      DragActionDefault
+    | DragActionCopy
+    | DragActionMove
+    | DragActionLink
+    | DragActionPrivate
+    | DragActionAsk
+    | AnotherDragAction Int
+    deriving (Show, Eq)
+
+instance Enum DragAction where
+    fromEnum DragActionDefault = 1
+    fromEnum DragActionCopy = 2
+    fromEnum DragActionMove = 4
+    fromEnum DragActionLink = 8
+    fromEnum DragActionPrivate = 16
+    fromEnum DragActionAsk = 32
+    fromEnum (AnotherDragAction k) = k
+
+    toEnum 1 = DragActionDefault
+    toEnum 2 = DragActionCopy
+    toEnum 4 = DragActionMove
+    toEnum 8 = DragActionLink
+    toEnum 16 = DragActionPrivate
+    toEnum 32 = DragActionAsk
+    toEnum k = AnotherDragAction k
+
+foreign import ccall "gdk_drag_action_get_type" c_gdk_drag_action_get_type :: 
+    IO GType
+
+instance BoxedEnum DragAction where
+    boxedEnumType _ = c_gdk_drag_action_get_type
+
+instance IsGFlag DragAction
+
+-- object DragContext 
+newtype DragContext = DragContext (ForeignPtr DragContext)
+noDragContext :: Maybe DragContext
+noDragContext = Nothing
+
+foreign import ccall "gdk_drag_context_get_type"
+    c_gdk_drag_context_get_type :: IO GType
+
+type instance ParentTypes DragContext = '[GObject.Object]
+
+instance GObject DragContext where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gdk_drag_context_get_type
+    
+
+class GObject o => DragContextK o
+instance (GObject o, IsDescendantOf DragContext o) => DragContextK o
+
+toDragContext :: DragContextK o => o -> IO DragContext
+toDragContext = unsafeCastTo DragContext
+
+-- method DragContext::get_actions
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "DragAction"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_drag_context_get_actions" gdk_drag_context_get_actions :: 
+    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"
+    IO CUInt
+
+
+dragContextGetActions ::
+    (MonadIO m, DragContextK a) =>
+    a ->                                    -- _obj
+    m [DragAction]
+dragContextGetActions _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_drag_context_get_actions _obj'
+    let result' = wordToGFlags result
+    touchManagedPtr _obj
+    return result'
+
+-- method DragContext::get_dest_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_drag_context_get_dest_window" gdk_drag_context_get_dest_window :: 
+    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"
+    IO (Ptr Window)
+
+
+dragContextGetDestWindow ::
+    (MonadIO m, DragContextK a) =>
+    a ->                                    -- _obj
+    m Window
+dragContextGetDestWindow _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_drag_context_get_dest_window _obj'
+    checkUnexpectedReturnNULL "gdk_drag_context_get_dest_window" result
+    result' <- (newObject Window) result
+    touchManagedPtr _obj
+    return result'
+
+-- method DragContext::get_device
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Device"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_drag_context_get_device" gdk_drag_context_get_device :: 
+    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"
+    IO (Ptr Device)
+
+
+dragContextGetDevice ::
+    (MonadIO m, DragContextK a) =>
+    a ->                                    -- _obj
+    m Device
+dragContextGetDevice _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_drag_context_get_device _obj'
+    checkUnexpectedReturnNULL "gdk_drag_context_get_device" result
+    result' <- (newObject Device) result
+    touchManagedPtr _obj
+    return result'
+
+-- method DragContext::get_protocol
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "DragProtocol"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_drag_context_get_protocol" gdk_drag_context_get_protocol :: 
+    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"
+    IO CUInt
+
+
+dragContextGetProtocol ::
+    (MonadIO m, DragContextK a) =>
+    a ->                                    -- _obj
+    m DragProtocol
+dragContextGetProtocol _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_drag_context_get_protocol _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+-- method DragContext::get_selected_action
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "DragAction"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_drag_context_get_selected_action" gdk_drag_context_get_selected_action :: 
+    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"
+    IO CUInt
+
+
+dragContextGetSelectedAction ::
+    (MonadIO m, DragContextK a) =>
+    a ->                                    -- _obj
+    m [DragAction]
+dragContextGetSelectedAction _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_drag_context_get_selected_action _obj'
+    let result' = wordToGFlags result
+    touchManagedPtr _obj
+    return result'
+
+-- method DragContext::get_source_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_drag_context_get_source_window" gdk_drag_context_get_source_window :: 
+    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"
+    IO (Ptr Window)
+
+
+dragContextGetSourceWindow ::
+    (MonadIO m, DragContextK a) =>
+    a ->                                    -- _obj
+    m Window
+dragContextGetSourceWindow _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_drag_context_get_source_window _obj'
+    checkUnexpectedReturnNULL "gdk_drag_context_get_source_window" result
+    result' <- (newObject Window) result
+    touchManagedPtr _obj
+    return result'
+
+-- method DragContext::get_suggested_action
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "DragAction"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_drag_context_get_suggested_action" gdk_drag_context_get_suggested_action :: 
+    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"
+    IO CUInt
+
+
+dragContextGetSuggestedAction ::
+    (MonadIO m, DragContextK a) =>
+    a ->                                    -- _obj
+    m [DragAction]
+dragContextGetSuggestedAction _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_drag_context_get_suggested_action _obj'
+    let result' = wordToGFlags result
+    touchManagedPtr _obj
+    return result'
+
+-- method DragContext::list_targets
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TGList (TInterface "Gdk" "Atom")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_drag_context_list_targets" gdk_drag_context_list_targets :: 
+    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"
+    IO (Ptr (GList (Ptr Atom)))
+
+
+dragContextListTargets ::
+    (MonadIO m, DragContextK a) =>
+    a ->                                    -- _obj
+    m [Atom]
+dragContextListTargets _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_drag_context_list_targets _obj'
+    checkUnexpectedReturnNULL "gdk_drag_context_list_targets" result
+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
+    result' <- unpackGList result
+    result'' <- mapM (\x -> Atom <$> newForeignPtr_ x) result'
+    touchManagedPtr _obj
+    return result''
+
+-- method DragContext::set_device
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_drag_context_set_device" gdk_drag_context_set_device :: 
+    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"
+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
+    IO ()
+
+
+dragContextSetDevice ::
+    (MonadIO m, DragContextK a, DeviceK b) =>
+    a ->                                    -- _obj
+    b ->                                    -- device
+    m ()
+dragContextSetDevice _obj device = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let device' = unsafeManagedPtrCastPtr device
+    gdk_drag_context_set_device _obj' device'
+    touchManagedPtr _obj
+    touchManagedPtr device
+    return ()
+
+-- Enum DragProtocol
+
+data DragProtocol = 
+      DragProtocolNone
+    | DragProtocolMotif
+    | DragProtocolXdnd
+    | DragProtocolRootwin
+    | DragProtocolWin32Dropfiles
+    | DragProtocolOle2
+    | DragProtocolLocal
+    | DragProtocolWayland
+    | AnotherDragProtocol Int
+    deriving (Show, Eq)
+
+instance Enum DragProtocol where
+    fromEnum DragProtocolNone = 0
+    fromEnum DragProtocolMotif = 1
+    fromEnum DragProtocolXdnd = 2
+    fromEnum DragProtocolRootwin = 3
+    fromEnum DragProtocolWin32Dropfiles = 4
+    fromEnum DragProtocolOle2 = 5
+    fromEnum DragProtocolLocal = 6
+    fromEnum DragProtocolWayland = 7
+    fromEnum (AnotherDragProtocol k) = k
+
+    toEnum 0 = DragProtocolNone
+    toEnum 1 = DragProtocolMotif
+    toEnum 2 = DragProtocolXdnd
+    toEnum 3 = DragProtocolRootwin
+    toEnum 4 = DragProtocolWin32Dropfiles
+    toEnum 5 = DragProtocolOle2
+    toEnum 6 = DragProtocolLocal
+    toEnum 7 = DragProtocolWayland
+    toEnum k = AnotherDragProtocol k
+
+foreign import ccall "gdk_drag_protocol_get_type" c_gdk_drag_protocol_get_type :: 
+    IO GType
+
+instance BoxedEnum DragProtocol where
+    boxedEnumType _ = c_gdk_drag_protocol_get_type
+
+-- union Event 
+newtype Event = Event (ForeignPtr Event)
+noEvent :: Maybe Event
+noEvent = Nothing
+
+foreign import ccall "gdk_event_get_type" c_gdk_event_get_type :: 
+    IO GType
+
+instance BoxedObject Event where
+    boxedType _ = c_gdk_event_get_type
+
+eventReadType :: Event -> IO EventType
+eventReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventReadAny :: Event -> IO EventAny
+eventReadAny s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventAny)
+    val' <- (newPtr 24 EventAny) val
+    return val'
+
+eventReadExpose :: Event -> IO EventExpose
+eventReadExpose s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventExpose)
+    val' <- (newPtr 56 EventExpose) val
+    return val'
+
+eventReadVisibility :: Event -> IO EventVisibility
+eventReadVisibility s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventVisibility)
+    val' <- (newPtr 24 EventVisibility) val
+    return val'
+
+eventReadMotion :: Event -> IO EventMotion
+eventReadMotion s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventMotion)
+    val' <- (newPtr 80 EventMotion) val
+    return val'
+
+eventReadButton :: Event -> IO EventButton
+eventReadButton s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventButton)
+    val' <- (newPtr 80 EventButton) val
+    return val'
+
+eventReadTouch :: Event -> IO EventTouch
+eventReadTouch s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventTouch)
+    val' <- (newPtr 96 EventTouch) val
+    return val'
+
+eventReadScroll :: Event -> IO EventScroll
+eventReadScroll s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventScroll)
+    val' <- (newPtr 88 EventScroll) val
+    return val'
+
+eventReadKey :: Event -> IO EventKey
+eventReadKey s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventKey)
+    val' <- (newPtr 56 EventKey) val
+    return val'
+
+eventReadCrossing :: Event -> IO EventCrossing
+eventReadCrossing s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventCrossing)
+    val' <- (newPtr 88 EventCrossing) val
+    return val'
+
+eventReadFocusChange :: Event -> IO EventFocus
+eventReadFocusChange s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventFocus)
+    val' <- (newPtr 24 EventFocus) val
+    return val'
+
+eventReadConfigure :: Event -> IO EventConfigure
+eventReadConfigure s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventConfigure)
+    val' <- (newPtr 40 EventConfigure) val
+    return val'
+
+eventReadProperty :: Event -> IO EventProperty
+eventReadProperty s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventProperty)
+    val' <- (newPtr 40 EventProperty) val
+    return val'
+
+eventReadSelection :: Event -> IO EventSelection
+eventReadSelection s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventSelection)
+    val' <- (newPtr 64 EventSelection) val
+    return val'
+
+eventReadOwnerChange :: Event -> IO EventOwnerChange
+eventReadOwnerChange s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventOwnerChange)
+    val' <- (newPtr 56 EventOwnerChange) val
+    return val'
+
+eventReadProximity :: Event -> IO EventProximity
+eventReadProximity s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventProximity)
+    val' <- (newPtr 32 EventProximity) val
+    return val'
+
+eventReadDnd :: Event -> IO EventDND
+eventReadDnd s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventDND)
+    val' <- (newPtr 40 EventDND) val
+    return val'
+
+eventReadWindowState :: Event -> IO EventWindowState
+eventReadWindowState s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventWindowState)
+    val' <- (newPtr 32 EventWindowState) val
+    return val'
+
+eventReadSetting :: Event -> IO EventSetting
+eventReadSetting s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventSetting)
+    val' <- (newPtr 32 EventSetting) val
+    return val'
+
+eventReadGrabBroken :: Event -> IO EventGrabBroken
+eventReadGrabBroken s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventGrabBroken)
+    val' <- (newPtr 40 EventGrabBroken) val
+    return val'
+
+eventReadTouchpadSwipe :: Event -> IO EventTouchpadSwipe
+eventReadTouchpadSwipe s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventTouchpadSwipe)
+    val' <- (newPtr 88 EventTouchpadSwipe) val
+    return val'
+
+eventReadTouchpadPinch :: Event -> IO EventTouchpadPinch
+eventReadTouchpadPinch s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventTouchpadPinch)
+    val' <- (newPtr 104 EventTouchpadPinch) val
+    return val'
+
+-- method Event::new
+-- method type : Constructor
+-- Args : [Arg {argName = "type", argType = TInterface "Gdk" "EventType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "type", argType = TInterface "Gdk" "EventType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Event"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_new" gdk_event_new :: 
+    CUInt ->                                -- type : TInterface "Gdk" "EventType"
+    IO (Ptr Event)
+
+
+eventNew ::
+    (MonadIO m) =>
+    EventType ->                            -- type
+    m Event
+eventNew type_ = liftIO $ do
+    let type_' = (fromIntegral . fromEnum) type_
+    result <- gdk_event_new type_'
+    checkUnexpectedReturnNULL "gdk_event_new" result
+    result' <- (wrapBoxed Event) result
+    return result'
+
+-- method Event::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Event"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_copy" gdk_event_copy :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    IO (Ptr Event)
+
+
+eventCopy ::
+    (MonadIO m) =>
+    Event ->                                -- _obj
+    m Event
+eventCopy _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_event_copy _obj'
+    checkUnexpectedReturnNULL "gdk_event_copy" result
+    result' <- (wrapBoxed Event) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Event::free
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_free" gdk_event_free :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    IO ()
+
+
+eventFree ::
+    (MonadIO m) =>
+    Event ->                                -- _obj
+    m ()
+eventFree _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    gdk_event_free _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Event::get_axis
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "axis_use", argType = TInterface "Gdk" "AxisUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "axis_use", argType = TInterface "Gdk" "AxisUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_get_axis" gdk_event_get_axis :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    CUInt ->                                -- axis_use : TInterface "Gdk" "AxisUse"
+    Ptr CDouble ->                          -- value : TBasicType TDouble
+    IO CInt
+
+
+eventGetAxis ::
+    (MonadIO m) =>
+    Event ->                                -- _obj
+    AxisUse ->                              -- axis_use
+    m (Bool,Double)
+eventGetAxis _obj axis_use = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    let axis_use' = (fromIntegral . fromEnum) axis_use
+    value <- allocMem :: IO (Ptr CDouble)
+    result <- gdk_event_get_axis _obj' axis_use' value
+    let result' = (/= 0) result
+    value' <- peek value
+    let value'' = realToFrac value'
+    touchManagedPtr _obj
+    freeMem value
+    return (result', value'')
+
+-- method Event::get_button
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_get_button" gdk_event_get_button :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    Ptr Word32 ->                           -- button : TBasicType TUInt32
+    IO CInt
+
+
+eventGetButton ::
+    (MonadIO m) =>
+    Event ->                                -- _obj
+    m (Bool,Word32)
+eventGetButton _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    button <- allocMem :: IO (Ptr Word32)
+    result <- gdk_event_get_button _obj' button
+    let result' = (/= 0) result
+    button' <- peek button
+    touchManagedPtr _obj
+    freeMem button
+    return (result', button')
+
+-- method Event::get_click_count
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "click_count", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_get_click_count" gdk_event_get_click_count :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    Ptr Word32 ->                           -- click_count : TBasicType TUInt32
+    IO CInt
+
+
+eventGetClickCount ::
+    (MonadIO m) =>
+    Event ->                                -- _obj
+    m (Bool,Word32)
+eventGetClickCount _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    click_count <- allocMem :: IO (Ptr Word32)
+    result <- gdk_event_get_click_count _obj' click_count
+    let result' = (/= 0) result
+    click_count' <- peek click_count
+    touchManagedPtr _obj
+    freeMem click_count
+    return (result', click_count')
+
+-- method Event::get_coords
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_win", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y_win", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_get_coords" gdk_event_get_coords :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    Ptr CDouble ->                          -- x_win : TBasicType TDouble
+    Ptr CDouble ->                          -- y_win : TBasicType TDouble
+    IO CInt
+
+
+eventGetCoords ::
+    (MonadIO m) =>
+    Event ->                                -- _obj
+    m (Bool,Double,Double)
+eventGetCoords _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    x_win <- allocMem :: IO (Ptr CDouble)
+    y_win <- allocMem :: IO (Ptr CDouble)
+    result <- gdk_event_get_coords _obj' x_win y_win
+    let result' = (/= 0) result
+    x_win' <- peek x_win
+    let x_win'' = realToFrac x_win'
+    y_win' <- peek y_win
+    let y_win'' = realToFrac y_win'
+    touchManagedPtr _obj
+    freeMem x_win
+    freeMem y_win
+    return (result', x_win'', y_win'')
+
+-- method Event::get_device
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Device"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_get_device" gdk_event_get_device :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    IO (Ptr Device)
+
+
+eventGetDevice ::
+    (MonadIO m) =>
+    Event ->                                -- _obj
+    m Device
+eventGetDevice _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_event_get_device _obj'
+    checkUnexpectedReturnNULL "gdk_event_get_device" result
+    result' <- (newObject Device) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Event::get_event_sequence
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "EventSequence"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_get_event_sequence" gdk_event_get_event_sequence :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    IO (Ptr EventSequence)
+
+
+eventGetEventSequence ::
+    (MonadIO m) =>
+    Event ->                                -- _obj
+    m EventSequence
+eventGetEventSequence _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_event_get_event_sequence _obj'
+    checkUnexpectedReturnNULL "gdk_event_get_event_sequence" result
+    result' <- (newBoxed EventSequence) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Event::get_event_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "EventType"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_get_event_type" gdk_event_get_event_type :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    IO CUInt
+
+
+eventGetEventType ::
+    (MonadIO m) =>
+    Event ->                                -- _obj
+    m EventType
+eventGetEventType _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_event_get_event_type _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Event::get_keycode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keycode", argType = TBasicType TUInt16, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_get_keycode" gdk_event_get_keycode :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    Ptr Word16 ->                           -- keycode : TBasicType TUInt16
+    IO CInt
+
+
+eventGetKeycode ::
+    (MonadIO m) =>
+    Event ->                                -- _obj
+    m (Bool,Word16)
+eventGetKeycode _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    keycode <- allocMem :: IO (Ptr Word16)
+    result <- gdk_event_get_keycode _obj' keycode
+    let result' = (/= 0) result
+    keycode' <- peek keycode
+    touchManagedPtr _obj
+    freeMem keycode
+    return (result', keycode')
+
+-- method Event::get_keyval
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_get_keyval" gdk_event_get_keyval :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    Ptr Word32 ->                           -- keyval : TBasicType TUInt32
+    IO CInt
+
+
+eventGetKeyval ::
+    (MonadIO m) =>
+    Event ->                                -- _obj
+    m (Bool,Word32)
+eventGetKeyval _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    keyval <- allocMem :: IO (Ptr Word32)
+    result <- gdk_event_get_keyval _obj' keyval
+    let result' = (/= 0) result
+    keyval' <- peek keyval
+    touchManagedPtr _obj
+    freeMem keyval
+    return (result', keyval')
+
+-- method Event::get_root_coords
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_root", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y_root", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_get_root_coords" gdk_event_get_root_coords :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    Ptr CDouble ->                          -- x_root : TBasicType TDouble
+    Ptr CDouble ->                          -- y_root : TBasicType TDouble
+    IO CInt
+
+
+eventGetRootCoords ::
+    (MonadIO m) =>
+    Event ->                                -- _obj
+    m (Bool,Double,Double)
+eventGetRootCoords _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    x_root <- allocMem :: IO (Ptr CDouble)
+    y_root <- allocMem :: IO (Ptr CDouble)
+    result <- gdk_event_get_root_coords _obj' x_root y_root
+    let result' = (/= 0) result
+    x_root' <- peek x_root
+    let x_root'' = realToFrac x_root'
+    y_root' <- peek y_root
+    let y_root'' = realToFrac y_root'
+    touchManagedPtr _obj
+    freeMem x_root
+    freeMem y_root
+    return (result', x_root'', y_root'')
+
+-- method Event::get_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Screen"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_get_screen" gdk_event_get_screen :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    IO (Ptr Screen)
+
+
+eventGetScreen ::
+    (MonadIO m) =>
+    Event ->                                -- _obj
+    m Screen
+eventGetScreen _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_event_get_screen _obj'
+    checkUnexpectedReturnNULL "gdk_event_get_screen" result
+    result' <- (newObject Screen) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Event::get_scroll_deltas
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "delta_x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "delta_y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_get_scroll_deltas" gdk_event_get_scroll_deltas :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    Ptr CDouble ->                          -- delta_x : TBasicType TDouble
+    Ptr CDouble ->                          -- delta_y : TBasicType TDouble
+    IO CInt
+
+
+eventGetScrollDeltas ::
+    (MonadIO m) =>
+    Event ->                                -- _obj
+    m (Bool,Double,Double)
+eventGetScrollDeltas _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    delta_x <- allocMem :: IO (Ptr CDouble)
+    delta_y <- allocMem :: IO (Ptr CDouble)
+    result <- gdk_event_get_scroll_deltas _obj' delta_x delta_y
+    let result' = (/= 0) result
+    delta_x' <- peek delta_x
+    let delta_x'' = realToFrac delta_x'
+    delta_y' <- peek delta_y
+    let delta_y'' = realToFrac delta_y'
+    touchManagedPtr _obj
+    freeMem delta_x
+    freeMem delta_y
+    return (result', delta_x'', delta_y'')
+
+-- method Event::get_scroll_direction
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "direction", argType = TInterface "Gdk" "ScrollDirection", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_get_scroll_direction" gdk_event_get_scroll_direction :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    Ptr CUInt ->                            -- direction : TInterface "Gdk" "ScrollDirection"
+    IO CInt
+
+
+eventGetScrollDirection ::
+    (MonadIO m) =>
+    Event ->                                -- _obj
+    m (Bool,ScrollDirection)
+eventGetScrollDirection _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    direction <- allocMem :: IO (Ptr CUInt)
+    result <- gdk_event_get_scroll_direction _obj' direction
+    let result' = (/= 0) result
+    direction' <- peek direction
+    let direction'' = (toEnum . fromIntegral) direction'
+    touchManagedPtr _obj
+    freeMem direction
+    return (result', direction'')
+
+-- method Event::get_source_device
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Device"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_get_source_device" gdk_event_get_source_device :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    IO (Ptr Device)
+
+
+eventGetSourceDevice ::
+    (MonadIO m) =>
+    Event ->                                -- _obj
+    m Device
+eventGetSourceDevice _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_event_get_source_device _obj'
+    checkUnexpectedReturnNULL "gdk_event_get_source_device" result
+    result' <- (newObject Device) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Event::get_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_get_state" gdk_event_get_state :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    Ptr CUInt ->                            -- state : TInterface "Gdk" "ModifierType"
+    IO CInt
+
+
+eventGetState ::
+    (MonadIO m) =>
+    Event ->                                -- _obj
+    m (Bool,[ModifierType])
+eventGetState _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    state <- allocMem :: IO (Ptr CUInt)
+    result <- gdk_event_get_state _obj' state
+    let result' = (/= 0) result
+    state' <- peek state
+    let state'' = wordToGFlags state'
+    touchManagedPtr _obj
+    freeMem state
+    return (result', state'')
+
+-- method Event::get_time
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_get_time" gdk_event_get_time :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    IO Word32
+
+
+eventGetTime ::
+    (MonadIO m) =>
+    Event ->                                -- _obj
+    m Word32
+eventGetTime _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_event_get_time _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method Event::get_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_get_window" gdk_event_get_window :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    IO (Ptr Window)
+
+
+eventGetWindow ::
+    (MonadIO m) =>
+    Event ->                                -- _obj
+    m Window
+eventGetWindow _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_event_get_window _obj'
+    checkUnexpectedReturnNULL "gdk_event_get_window" result
+    result' <- (newObject Window) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Event::put
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_put" gdk_event_put :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    IO ()
+
+
+eventPut ::
+    (MonadIO m) =>
+    Event ->                                -- _obj
+    m ()
+eventPut _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    gdk_event_put _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Event::set_device
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_set_device" gdk_event_set_device :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
+    IO ()
+
+
+eventSetDevice ::
+    (MonadIO m, DeviceK a) =>
+    Event ->                                -- _obj
+    a ->                                    -- device
+    m ()
+eventSetDevice _obj device = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    let device' = unsafeManagedPtrCastPtr device
+    gdk_event_set_device _obj' device'
+    touchManagedPtr _obj
+    touchManagedPtr device
+    return ()
+
+-- method Event::set_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_set_screen" gdk_event_set_screen :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    Ptr Screen ->                           -- screen : TInterface "Gdk" "Screen"
+    IO ()
+
+
+eventSetScreen ::
+    (MonadIO m, ScreenK a) =>
+    Event ->                                -- _obj
+    a ->                                    -- screen
+    m ()
+eventSetScreen _obj screen = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    let screen' = unsafeManagedPtrCastPtr screen
+    gdk_event_set_screen _obj' screen'
+    touchManagedPtr _obj
+    touchManagedPtr screen
+    return ()
+
+-- method Event::set_source_device
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_set_source_device" gdk_event_set_source_device :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
+    IO ()
+
+
+eventSetSourceDevice ::
+    (MonadIO m, DeviceK a) =>
+    Event ->                                -- _obj
+    a ->                                    -- device
+    m ()
+eventSetSourceDevice _obj device = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    let device' = unsafeManagedPtrCastPtr device
+    gdk_event_set_source_device _obj' device'
+    touchManagedPtr _obj
+    touchManagedPtr device
+    return ()
+
+-- method Event::triggers_context_menu
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_triggers_context_menu" gdk_event_triggers_context_menu :: 
+    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
+    IO CInt
+
+
+eventTriggersContextMenu ::
+    (MonadIO m) =>
+    Event ->                                -- _obj
+    m Bool
+eventTriggersContextMenu _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_event_triggers_context_menu _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- struct EventAny
+newtype EventAny = EventAny (ForeignPtr EventAny)
+noEventAny :: Maybe EventAny
+noEventAny = Nothing
+
+eventAnyReadType :: EventAny -> IO EventType
+eventAnyReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventAnyReadWindow :: EventAny -> IO Window
+eventAnyReadWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventAnyReadSendEvent :: EventAny -> IO Int8
+eventAnyReadSendEvent s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int8
+    return val
+
+-- struct EventButton
+newtype EventButton = EventButton (ForeignPtr EventButton)
+noEventButton :: Maybe EventButton
+noEventButton = Nothing
+
+eventButtonReadType :: EventButton -> IO EventType
+eventButtonReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventButtonReadWindow :: EventButton -> IO Window
+eventButtonReadWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventButtonReadSendEvent :: EventButton -> IO Int8
+eventButtonReadSendEvent s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int8
+    return val
+
+eventButtonReadTime :: EventButton -> IO Word32
+eventButtonReadTime s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 20) :: IO Word32
+    return val
+
+eventButtonReadX :: EventButton -> IO Double
+eventButtonReadX s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventButtonReadY :: EventButton -> IO Double
+eventButtonReadY s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventButtonReadAxes :: EventButton -> IO Double
+eventButtonReadAxes s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventButtonReadState :: EventButton -> IO [ModifierType]
+eventButtonReadState s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 48) :: IO CUInt
+    let val' = wordToGFlags val
+    return val'
+
+eventButtonReadButton :: EventButton -> IO Word32
+eventButtonReadButton s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 52) :: IO Word32
+    return val
+
+eventButtonReadDevice :: EventButton -> IO Device
+eventButtonReadDevice s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 56) :: IO (Ptr Device)
+    val' <- (newObject Device) val
+    return val'
+
+eventButtonReadXRoot :: EventButton -> IO Double
+eventButtonReadXRoot s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 64) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventButtonReadYRoot :: EventButton -> IO Double
+eventButtonReadYRoot s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 72) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+-- struct EventConfigure
+newtype EventConfigure = EventConfigure (ForeignPtr EventConfigure)
+noEventConfigure :: Maybe EventConfigure
+noEventConfigure = Nothing
+
+eventConfigureReadType :: EventConfigure -> IO EventType
+eventConfigureReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventConfigureReadWindow :: EventConfigure -> IO Window
+eventConfigureReadWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventConfigureReadSendEvent :: EventConfigure -> IO Int8
+eventConfigureReadSendEvent s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int8
+    return val
+
+eventConfigureReadX :: EventConfigure -> IO Int32
+eventConfigureReadX s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 20) :: IO Int32
+    return val
+
+eventConfigureReadY :: EventConfigure -> IO Int32
+eventConfigureReadY s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO Int32
+    return val
+
+eventConfigureReadWidth :: EventConfigure -> IO Int32
+eventConfigureReadWidth s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 28) :: IO Int32
+    return val
+
+eventConfigureReadHeight :: EventConfigure -> IO Int32
+eventConfigureReadHeight s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO Int32
+    return val
+
+-- struct EventCrossing
+newtype EventCrossing = EventCrossing (ForeignPtr EventCrossing)
+noEventCrossing :: Maybe EventCrossing
+noEventCrossing = Nothing
+
+eventCrossingReadType :: EventCrossing -> IO EventType
+eventCrossingReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventCrossingReadWindow :: EventCrossing -> IO Window
+eventCrossingReadWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventCrossingReadSendEvent :: EventCrossing -> IO Int8
+eventCrossingReadSendEvent s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int8
+    return val
+
+eventCrossingReadSubwindow :: EventCrossing -> IO Window
+eventCrossingReadSubwindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventCrossingReadTime :: EventCrossing -> IO Word32
+eventCrossingReadTime s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO Word32
+    return val
+
+eventCrossingReadX :: EventCrossing -> IO Double
+eventCrossingReadX s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventCrossingReadY :: EventCrossing -> IO Double
+eventCrossingReadY s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 48) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventCrossingReadXRoot :: EventCrossing -> IO Double
+eventCrossingReadXRoot s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 56) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventCrossingReadYRoot :: EventCrossing -> IO Double
+eventCrossingReadYRoot s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 64) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventCrossingReadMode :: EventCrossing -> IO CrossingMode
+eventCrossingReadMode s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 72) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventCrossingReadDetail :: EventCrossing -> IO NotifyType
+eventCrossingReadDetail s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 76) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventCrossingReadFocus :: EventCrossing -> IO Bool
+eventCrossingReadFocus s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 80) :: IO CInt
+    let val' = (/= 0) val
+    return val'
+
+eventCrossingReadState :: EventCrossing -> IO [ModifierType]
+eventCrossingReadState s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 84) :: IO CUInt
+    let val' = wordToGFlags val
+    return val'
+
+-- struct EventDND
+newtype EventDND = EventDND (ForeignPtr EventDND)
+noEventDND :: Maybe EventDND
+noEventDND = Nothing
+
+eventDNDReadType :: EventDND -> IO EventType
+eventDNDReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventDNDReadWindow :: EventDND -> IO Window
+eventDNDReadWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventDNDReadSendEvent :: EventDND -> IO Int8
+eventDNDReadSendEvent s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int8
+    return val
+
+eventDNDReadContext :: EventDND -> IO DragContext
+eventDNDReadContext s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO (Ptr DragContext)
+    val' <- (newObject DragContext) val
+    return val'
+
+eventDNDReadTime :: EventDND -> IO Word32
+eventDNDReadTime s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO Word32
+    return val
+
+eventDNDReadXRoot :: EventDND -> IO Int16
+eventDNDReadXRoot s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 36) :: IO Int16
+    return val
+
+eventDNDReadYRoot :: EventDND -> IO Int16
+eventDNDReadYRoot s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 38) :: IO Int16
+    return val
+
+-- struct EventExpose
+newtype EventExpose = EventExpose (ForeignPtr EventExpose)
+noEventExpose :: Maybe EventExpose
+noEventExpose = Nothing
+
+eventExposeReadType :: EventExpose -> IO EventType
+eventExposeReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventExposeReadWindow :: EventExpose -> IO Window
+eventExposeReadWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventExposeReadSendEvent :: EventExpose -> IO Int8
+eventExposeReadSendEvent s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int8
+    return val
+
+eventExposeReadArea :: EventExpose -> IO Rectangle
+eventExposeReadArea s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 20) :: IO (Ptr Rectangle)
+    val' <- (newBoxed Rectangle) val
+    return val'
+
+eventExposeReadRegion :: EventExpose -> IO Cairo.Region
+eventExposeReadRegion s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO (Ptr Cairo.Region)
+    val' <- (newBoxed Cairo.Region) val
+    return val'
+
+eventExposeReadCount :: EventExpose -> IO Int32
+eventExposeReadCount s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 48) :: IO Int32
+    return val
+
+-- struct EventFocus
+newtype EventFocus = EventFocus (ForeignPtr EventFocus)
+noEventFocus :: Maybe EventFocus
+noEventFocus = Nothing
+
+eventFocusReadType :: EventFocus -> IO EventType
+eventFocusReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventFocusReadWindow :: EventFocus -> IO Window
+eventFocusReadWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventFocusReadSendEvent :: EventFocus -> IO Int8
+eventFocusReadSendEvent s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int8
+    return val
+
+eventFocusReadIn :: EventFocus -> IO Int16
+eventFocusReadIn s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 18) :: IO Int16
+    return val
+
+-- callback EventFunc
+eventFuncClosure :: EventFunc -> IO Closure
+eventFuncClosure cb = newCClosure =<< mkEventFunc wrapped
+    where wrapped = eventFuncWrapper Nothing cb
+
+type EventFuncC =
+    Ptr Event ->
+    Ptr () ->
+    IO ()
+
+foreign import ccall "wrapper"
+    mkEventFunc :: EventFuncC -> IO (FunPtr EventFuncC)
+
+type EventFunc =
+    Event ->
+    IO ()
+
+noEventFunc :: Maybe EventFunc
+noEventFunc = Nothing
+
+eventFuncWrapper ::
+    Maybe (Ptr (FunPtr (EventFuncC))) ->
+    EventFunc ->
+    Ptr Event ->
+    Ptr () ->
+    IO ()
+eventFuncWrapper funptrptr _cb event _ = do
+    event' <- (newBoxed Event) event
+    _cb  event'
+    maybeReleaseFunPtr funptrptr
+
+-- struct EventGrabBroken
+newtype EventGrabBroken = EventGrabBroken (ForeignPtr EventGrabBroken)
+noEventGrabBroken :: Maybe EventGrabBroken
+noEventGrabBroken = Nothing
+
+eventGrabBrokenReadType :: EventGrabBroken -> IO EventType
+eventGrabBrokenReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventGrabBrokenReadWindow :: EventGrabBroken -> IO Window
+eventGrabBrokenReadWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventGrabBrokenReadSendEvent :: EventGrabBroken -> IO Int8
+eventGrabBrokenReadSendEvent s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int8
+    return val
+
+eventGrabBrokenReadKeyboard :: EventGrabBroken -> IO Bool
+eventGrabBrokenReadKeyboard s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 20) :: IO CInt
+    let val' = (/= 0) val
+    return val'
+
+eventGrabBrokenReadImplicit :: EventGrabBroken -> IO Bool
+eventGrabBrokenReadImplicit s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO CInt
+    let val' = (/= 0) val
+    return val'
+
+eventGrabBrokenReadGrabWindow :: EventGrabBroken -> IO Window
+eventGrabBrokenReadGrabWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+-- struct EventKey
+newtype EventKey = EventKey (ForeignPtr EventKey)
+noEventKey :: Maybe EventKey
+noEventKey = Nothing
+
+eventKeyReadType :: EventKey -> IO EventType
+eventKeyReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventKeyReadWindow :: EventKey -> IO Window
+eventKeyReadWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventKeyReadSendEvent :: EventKey -> IO Int8
+eventKeyReadSendEvent s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int8
+    return val
+
+eventKeyReadTime :: EventKey -> IO Word32
+eventKeyReadTime s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 20) :: IO Word32
+    return val
+
+eventKeyReadState :: EventKey -> IO [ModifierType]
+eventKeyReadState s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO CUInt
+    let val' = wordToGFlags val
+    return val'
+
+eventKeyReadKeyval :: EventKey -> IO Word32
+eventKeyReadKeyval s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 28) :: IO Word32
+    return val
+
+eventKeyReadLength :: EventKey -> IO Int32
+eventKeyReadLength s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO Int32
+    return val
+
+eventKeyReadString :: EventKey -> IO T.Text
+eventKeyReadString s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO CString
+    val' <- cstringToText val
+    return val'
+
+eventKeyReadHardwareKeycode :: EventKey -> IO Word16
+eventKeyReadHardwareKeycode s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 48) :: IO Word16
+    return val
+
+eventKeyReadGroup :: EventKey -> IO Word8
+eventKeyReadGroup s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 50) :: IO Word8
+    return val
+
+eventKeyReadIsModifier :: EventKey -> IO Word32
+eventKeyReadIsModifier s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 52) :: IO Word32
+    return val
+
+-- Flags EventMask
+
+data EventMask = 
+      EventMaskExposureMask
+    | EventMaskPointerMotionMask
+    | EventMaskPointerMotionHintMask
+    | EventMaskButtonMotionMask
+    | EventMaskButton1MotionMask
+    | EventMaskButton2MotionMask
+    | EventMaskButton3MotionMask
+    | EventMaskButtonPressMask
+    | EventMaskButtonReleaseMask
+    | EventMaskKeyPressMask
+    | EventMaskKeyReleaseMask
+    | EventMaskEnterNotifyMask
+    | EventMaskLeaveNotifyMask
+    | EventMaskFocusChangeMask
+    | EventMaskStructureMask
+    | EventMaskPropertyChangeMask
+    | EventMaskVisibilityNotifyMask
+    | EventMaskProximityInMask
+    | EventMaskProximityOutMask
+    | EventMaskSubstructureMask
+    | EventMaskScrollMask
+    | EventMaskTouchMask
+    | EventMaskSmoothScrollMask
+    | EventMaskTouchpadGestureMask
+    | EventMaskAllEventsMask
+    | AnotherEventMask Int
+    deriving (Show, Eq)
+
+instance Enum EventMask where
+    fromEnum EventMaskExposureMask = 2
+    fromEnum EventMaskPointerMotionMask = 4
+    fromEnum EventMaskPointerMotionHintMask = 8
+    fromEnum EventMaskButtonMotionMask = 16
+    fromEnum EventMaskButton1MotionMask = 32
+    fromEnum EventMaskButton2MotionMask = 64
+    fromEnum EventMaskButton3MotionMask = 128
+    fromEnum EventMaskButtonPressMask = 256
+    fromEnum EventMaskButtonReleaseMask = 512
+    fromEnum EventMaskKeyPressMask = 1024
+    fromEnum EventMaskKeyReleaseMask = 2048
+    fromEnum EventMaskEnterNotifyMask = 4096
+    fromEnum EventMaskLeaveNotifyMask = 8192
+    fromEnum EventMaskFocusChangeMask = 16384
+    fromEnum EventMaskStructureMask = 32768
+    fromEnum EventMaskPropertyChangeMask = 65536
+    fromEnum EventMaskVisibilityNotifyMask = 131072
+    fromEnum EventMaskProximityInMask = 262144
+    fromEnum EventMaskProximityOutMask = 524288
+    fromEnum EventMaskSubstructureMask = 1048576
+    fromEnum EventMaskScrollMask = 2097152
+    fromEnum EventMaskTouchMask = 4194304
+    fromEnum EventMaskSmoothScrollMask = 8388608
+    fromEnum EventMaskTouchpadGestureMask = 16777216
+    fromEnum EventMaskAllEventsMask = 16777214
+    fromEnum (AnotherEventMask k) = k
+
+    toEnum 2 = EventMaskExposureMask
+    toEnum 4 = EventMaskPointerMotionMask
+    toEnum 8 = EventMaskPointerMotionHintMask
+    toEnum 16 = EventMaskButtonMotionMask
+    toEnum 32 = EventMaskButton1MotionMask
+    toEnum 64 = EventMaskButton2MotionMask
+    toEnum 128 = EventMaskButton3MotionMask
+    toEnum 256 = EventMaskButtonPressMask
+    toEnum 512 = EventMaskButtonReleaseMask
+    toEnum 1024 = EventMaskKeyPressMask
+    toEnum 2048 = EventMaskKeyReleaseMask
+    toEnum 4096 = EventMaskEnterNotifyMask
+    toEnum 8192 = EventMaskLeaveNotifyMask
+    toEnum 16384 = EventMaskFocusChangeMask
+    toEnum 32768 = EventMaskStructureMask
+    toEnum 65536 = EventMaskPropertyChangeMask
+    toEnum 131072 = EventMaskVisibilityNotifyMask
+    toEnum 262144 = EventMaskProximityInMask
+    toEnum 524288 = EventMaskProximityOutMask
+    toEnum 1048576 = EventMaskSubstructureMask
+    toEnum 2097152 = EventMaskScrollMask
+    toEnum 4194304 = EventMaskTouchMask
+    toEnum 8388608 = EventMaskSmoothScrollMask
+    toEnum 16777214 = EventMaskAllEventsMask
+    toEnum 16777216 = EventMaskTouchpadGestureMask
+    toEnum k = AnotherEventMask k
+
+foreign import ccall "gdk_event_mask_get_type" c_gdk_event_mask_get_type :: 
+    IO GType
+
+instance BoxedEnum EventMask where
+    boxedEnumType _ = c_gdk_event_mask_get_type
+
+instance IsGFlag EventMask
+
+-- struct EventMotion
+newtype EventMotion = EventMotion (ForeignPtr EventMotion)
+noEventMotion :: Maybe EventMotion
+noEventMotion = Nothing
+
+eventMotionReadType :: EventMotion -> IO EventType
+eventMotionReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventMotionReadWindow :: EventMotion -> IO Window
+eventMotionReadWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventMotionReadSendEvent :: EventMotion -> IO Int8
+eventMotionReadSendEvent s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int8
+    return val
+
+eventMotionReadTime :: EventMotion -> IO Word32
+eventMotionReadTime s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 20) :: IO Word32
+    return val
+
+eventMotionReadX :: EventMotion -> IO Double
+eventMotionReadX s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventMotionReadY :: EventMotion -> IO Double
+eventMotionReadY s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventMotionReadAxes :: EventMotion -> IO Double
+eventMotionReadAxes s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventMotionReadState :: EventMotion -> IO [ModifierType]
+eventMotionReadState s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 48) :: IO CUInt
+    let val' = wordToGFlags val
+    return val'
+
+eventMotionReadIsHint :: EventMotion -> IO Int16
+eventMotionReadIsHint s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 52) :: IO Int16
+    return val
+
+eventMotionReadDevice :: EventMotion -> IO Device
+eventMotionReadDevice s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 56) :: IO (Ptr Device)
+    val' <- (newObject Device) val
+    return val'
+
+eventMotionReadXRoot :: EventMotion -> IO Double
+eventMotionReadXRoot s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 64) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventMotionReadYRoot :: EventMotion -> IO Double
+eventMotionReadYRoot s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 72) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+-- struct EventOwnerChange
+newtype EventOwnerChange = EventOwnerChange (ForeignPtr EventOwnerChange)
+noEventOwnerChange :: Maybe EventOwnerChange
+noEventOwnerChange = Nothing
+
+eventOwnerChangeReadType :: EventOwnerChange -> IO EventType
+eventOwnerChangeReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventOwnerChangeReadWindow :: EventOwnerChange -> IO Window
+eventOwnerChangeReadWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventOwnerChangeReadSendEvent :: EventOwnerChange -> IO Int8
+eventOwnerChangeReadSendEvent s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int8
+    return val
+
+eventOwnerChangeReadOwner :: EventOwnerChange -> IO Window
+eventOwnerChangeReadOwner s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventOwnerChangeReadReason :: EventOwnerChange -> IO OwnerChange
+eventOwnerChangeReadReason s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventOwnerChangeReadSelection :: EventOwnerChange -> IO Atom
+eventOwnerChangeReadSelection s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO (Ptr Atom)
+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
+    val' <- (\x -> Atom <$> newForeignPtr_ x) val
+    return val'
+
+eventOwnerChangeReadTime :: EventOwnerChange -> IO Word32
+eventOwnerChangeReadTime s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 48) :: IO Word32
+    return val
+
+eventOwnerChangeReadSelectionTime :: EventOwnerChange -> IO Word32
+eventOwnerChangeReadSelectionTime s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 52) :: IO Word32
+    return val
+
+-- struct EventProperty
+newtype EventProperty = EventProperty (ForeignPtr EventProperty)
+noEventProperty :: Maybe EventProperty
+noEventProperty = Nothing
+
+eventPropertyReadType :: EventProperty -> IO EventType
+eventPropertyReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventPropertyReadWindow :: EventProperty -> IO Window
+eventPropertyReadWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventPropertyReadSendEvent :: EventProperty -> IO Int8
+eventPropertyReadSendEvent s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int8
+    return val
+
+eventPropertyReadAtom :: EventProperty -> IO Atom
+eventPropertyReadAtom s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO (Ptr Atom)
+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
+    val' <- (\x -> Atom <$> newForeignPtr_ x) val
+    return val'
+
+eventPropertyReadTime :: EventProperty -> IO Word32
+eventPropertyReadTime s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO Word32
+    return val
+
+eventPropertyReadState :: EventProperty -> IO PropertyState
+eventPropertyReadState s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 36) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+-- struct EventProximity
+newtype EventProximity = EventProximity (ForeignPtr EventProximity)
+noEventProximity :: Maybe EventProximity
+noEventProximity = Nothing
+
+eventProximityReadType :: EventProximity -> IO EventType
+eventProximityReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventProximityReadWindow :: EventProximity -> IO Window
+eventProximityReadWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventProximityReadSendEvent :: EventProximity -> IO Int8
+eventProximityReadSendEvent s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int8
+    return val
+
+eventProximityReadTime :: EventProximity -> IO Word32
+eventProximityReadTime s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 20) :: IO Word32
+    return val
+
+eventProximityReadDevice :: EventProximity -> IO Device
+eventProximityReadDevice s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO (Ptr Device)
+    val' <- (newObject Device) val
+    return val'
+
+-- struct EventScroll
+newtype EventScroll = EventScroll (ForeignPtr EventScroll)
+noEventScroll :: Maybe EventScroll
+noEventScroll = Nothing
+
+eventScrollReadType :: EventScroll -> IO EventType
+eventScrollReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventScrollReadWindow :: EventScroll -> IO Window
+eventScrollReadWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventScrollReadSendEvent :: EventScroll -> IO Int8
+eventScrollReadSendEvent s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int8
+    return val
+
+eventScrollReadTime :: EventScroll -> IO Word32
+eventScrollReadTime s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 20) :: IO Word32
+    return val
+
+eventScrollReadX :: EventScroll -> IO Double
+eventScrollReadX s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventScrollReadY :: EventScroll -> IO Double
+eventScrollReadY s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventScrollReadState :: EventScroll -> IO [ModifierType]
+eventScrollReadState s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO CUInt
+    let val' = wordToGFlags val
+    return val'
+
+eventScrollReadDirection :: EventScroll -> IO ScrollDirection
+eventScrollReadDirection s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 44) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventScrollReadDevice :: EventScroll -> IO Device
+eventScrollReadDevice s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 48) :: IO (Ptr Device)
+    val' <- (newObject Device) val
+    return val'
+
+eventScrollReadXRoot :: EventScroll -> IO Double
+eventScrollReadXRoot s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 56) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventScrollReadYRoot :: EventScroll -> IO Double
+eventScrollReadYRoot s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 64) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventScrollReadDeltaX :: EventScroll -> IO Double
+eventScrollReadDeltaX s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 72) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventScrollReadDeltaY :: EventScroll -> IO Double
+eventScrollReadDeltaY s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 80) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+-- struct EventSelection
+newtype EventSelection = EventSelection (ForeignPtr EventSelection)
+noEventSelection :: Maybe EventSelection
+noEventSelection = Nothing
+
+eventSelectionReadType :: EventSelection -> IO EventType
+eventSelectionReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventSelectionReadWindow :: EventSelection -> IO Window
+eventSelectionReadWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventSelectionReadSendEvent :: EventSelection -> IO Int8
+eventSelectionReadSendEvent s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int8
+    return val
+
+eventSelectionReadSelection :: EventSelection -> IO Atom
+eventSelectionReadSelection s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO (Ptr Atom)
+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
+    val' <- (\x -> Atom <$> newForeignPtr_ x) val
+    return val'
+
+eventSelectionReadTarget :: EventSelection -> IO Atom
+eventSelectionReadTarget s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO (Ptr Atom)
+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
+    val' <- (\x -> Atom <$> newForeignPtr_ x) val
+    return val'
+
+eventSelectionReadProperty :: EventSelection -> IO Atom
+eventSelectionReadProperty s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO (Ptr Atom)
+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
+    val' <- (\x -> Atom <$> newForeignPtr_ x) val
+    return val'
+
+eventSelectionReadTime :: EventSelection -> IO Word32
+eventSelectionReadTime s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 48) :: IO Word32
+    return val
+
+eventSelectionReadRequestor :: EventSelection -> IO Window
+eventSelectionReadRequestor s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 56) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+-- struct EventSequence
+newtype EventSequence = EventSequence (ForeignPtr EventSequence)
+noEventSequence :: Maybe EventSequence
+noEventSequence = Nothing
+
+foreign import ccall "gdk_event_sequence_get_type" c_gdk_event_sequence_get_type :: 
+    IO GType
+
+instance BoxedObject EventSequence where
+    boxedType _ = c_gdk_event_sequence_get_type
+
+-- struct EventSetting
+newtype EventSetting = EventSetting (ForeignPtr EventSetting)
+noEventSetting :: Maybe EventSetting
+noEventSetting = Nothing
+
+eventSettingReadType :: EventSetting -> IO EventType
+eventSettingReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventSettingReadWindow :: EventSetting -> IO Window
+eventSettingReadWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventSettingReadSendEvent :: EventSetting -> IO Int8
+eventSettingReadSendEvent s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int8
+    return val
+
+eventSettingReadAction :: EventSetting -> IO SettingAction
+eventSettingReadAction s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 20) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventSettingReadName :: EventSetting -> IO T.Text
+eventSettingReadName s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO CString
+    val' <- cstringToText val
+    return val'
+
+-- struct EventTouch
+newtype EventTouch = EventTouch (ForeignPtr EventTouch)
+noEventTouch :: Maybe EventTouch
+noEventTouch = Nothing
+
+eventTouchReadType :: EventTouch -> IO EventType
+eventTouchReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventTouchReadWindow :: EventTouch -> IO Window
+eventTouchReadWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventTouchReadSendEvent :: EventTouch -> IO Int8
+eventTouchReadSendEvent s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int8
+    return val
+
+eventTouchReadTime :: EventTouch -> IO Word32
+eventTouchReadTime s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 20) :: IO Word32
+    return val
+
+eventTouchReadX :: EventTouch -> IO Double
+eventTouchReadX s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventTouchReadY :: EventTouch -> IO Double
+eventTouchReadY s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventTouchReadAxes :: EventTouch -> IO Double
+eventTouchReadAxes s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventTouchReadState :: EventTouch -> IO [ModifierType]
+eventTouchReadState s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 48) :: IO CUInt
+    let val' = wordToGFlags val
+    return val'
+
+eventTouchReadSequence :: EventTouch -> IO EventSequence
+eventTouchReadSequence s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 56) :: IO (Ptr EventSequence)
+    val' <- (newBoxed EventSequence) val
+    return val'
+
+eventTouchReadEmulatingPointer :: EventTouch -> IO Bool
+eventTouchReadEmulatingPointer s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 64) :: IO CInt
+    let val' = (/= 0) val
+    return val'
+
+eventTouchReadDevice :: EventTouch -> IO Device
+eventTouchReadDevice s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 72) :: IO (Ptr Device)
+    val' <- (newObject Device) val
+    return val'
+
+eventTouchReadXRoot :: EventTouch -> IO Double
+eventTouchReadXRoot s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 80) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventTouchReadYRoot :: EventTouch -> IO Double
+eventTouchReadYRoot s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 88) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+-- struct EventTouchpadPinch
+newtype EventTouchpadPinch = EventTouchpadPinch (ForeignPtr EventTouchpadPinch)
+noEventTouchpadPinch :: Maybe EventTouchpadPinch
+noEventTouchpadPinch = Nothing
+
+eventTouchpadPinchReadType :: EventTouchpadPinch -> IO EventType
+eventTouchpadPinchReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventTouchpadPinchReadWindow :: EventTouchpadPinch -> IO Window
+eventTouchpadPinchReadWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventTouchpadPinchReadSendEvent :: EventTouchpadPinch -> IO Int8
+eventTouchpadPinchReadSendEvent s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int8
+    return val
+
+eventTouchpadPinchReadPhase :: EventTouchpadPinch -> IO TouchpadGesturePhase
+eventTouchpadPinchReadPhase s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 20) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventTouchpadPinchReadNFingers :: EventTouchpadPinch -> IO Int8
+eventTouchpadPinchReadNFingers s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO Int8
+    return val
+
+eventTouchpadPinchReadTime :: EventTouchpadPinch -> IO Word32
+eventTouchpadPinchReadTime s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 28) :: IO Word32
+    return val
+
+eventTouchpadPinchReadX :: EventTouchpadPinch -> IO Double
+eventTouchpadPinchReadX s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventTouchpadPinchReadY :: EventTouchpadPinch -> IO Double
+eventTouchpadPinchReadY s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventTouchpadPinchReadDx :: EventTouchpadPinch -> IO Double
+eventTouchpadPinchReadDx s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 48) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventTouchpadPinchReadDy :: EventTouchpadPinch -> IO Double
+eventTouchpadPinchReadDy s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 56) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventTouchpadPinchReadAngleDelta :: EventTouchpadPinch -> IO Double
+eventTouchpadPinchReadAngleDelta s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 64) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventTouchpadPinchReadScale :: EventTouchpadPinch -> IO Double
+eventTouchpadPinchReadScale s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 72) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventTouchpadPinchReadXRoot :: EventTouchpadPinch -> IO Double
+eventTouchpadPinchReadXRoot s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 80) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventTouchpadPinchReadYRoot :: EventTouchpadPinch -> IO Double
+eventTouchpadPinchReadYRoot s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 88) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventTouchpadPinchReadState :: EventTouchpadPinch -> IO [ModifierType]
+eventTouchpadPinchReadState s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 96) :: IO CUInt
+    let val' = wordToGFlags val
+    return val'
+
+-- struct EventTouchpadSwipe
+newtype EventTouchpadSwipe = EventTouchpadSwipe (ForeignPtr EventTouchpadSwipe)
+noEventTouchpadSwipe :: Maybe EventTouchpadSwipe
+noEventTouchpadSwipe = Nothing
+
+eventTouchpadSwipeReadType :: EventTouchpadSwipe -> IO EventType
+eventTouchpadSwipeReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventTouchpadSwipeReadWindow :: EventTouchpadSwipe -> IO Window
+eventTouchpadSwipeReadWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventTouchpadSwipeReadSendEvent :: EventTouchpadSwipe -> IO Int8
+eventTouchpadSwipeReadSendEvent s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int8
+    return val
+
+eventTouchpadSwipeReadPhase :: EventTouchpadSwipe -> IO TouchpadGesturePhase
+eventTouchpadSwipeReadPhase s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 20) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventTouchpadSwipeReadNFingers :: EventTouchpadSwipe -> IO Int8
+eventTouchpadSwipeReadNFingers s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO Int8
+    return val
+
+eventTouchpadSwipeReadTime :: EventTouchpadSwipe -> IO Word32
+eventTouchpadSwipeReadTime s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 28) :: IO Word32
+    return val
+
+eventTouchpadSwipeReadX :: EventTouchpadSwipe -> IO Double
+eventTouchpadSwipeReadX s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventTouchpadSwipeReadY :: EventTouchpadSwipe -> IO Double
+eventTouchpadSwipeReadY s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventTouchpadSwipeReadDx :: EventTouchpadSwipe -> IO Double
+eventTouchpadSwipeReadDx s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 48) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventTouchpadSwipeReadDy :: EventTouchpadSwipe -> IO Double
+eventTouchpadSwipeReadDy s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 56) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventTouchpadSwipeReadXRoot :: EventTouchpadSwipe -> IO Double
+eventTouchpadSwipeReadXRoot s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 64) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventTouchpadSwipeReadYRoot :: EventTouchpadSwipe -> IO Double
+eventTouchpadSwipeReadYRoot s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 72) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+eventTouchpadSwipeReadState :: EventTouchpadSwipe -> IO [ModifierType]
+eventTouchpadSwipeReadState s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 80) :: IO CUInt
+    let val' = wordToGFlags val
+    return val'
+
+-- Enum EventType
+
+data EventType = 
+      EventTypeNothing
+    | EventTypeDelete
+    | EventTypeDestroy
+    | EventTypeExpose
+    | EventTypeMotionNotify
+    | EventTypeButtonPress
+    | EventType2buttonPress
+    | EventTypeDoubleButtonPress
+    | EventType3buttonPress
+    | EventTypeTripleButtonPress
+    | EventTypeButtonRelease
+    | EventTypeKeyPress
+    | EventTypeKeyRelease
+    | EventTypeEnterNotify
+    | EventTypeLeaveNotify
+    | EventTypeFocusChange
+    | EventTypeConfigure
+    | EventTypeMap
+    | EventTypeUnmap
+    | EventTypePropertyNotify
+    | EventTypeSelectionClear
+    | EventTypeSelectionRequest
+    | EventTypeSelectionNotify
+    | EventTypeProximityIn
+    | EventTypeProximityOut
+    | EventTypeDragEnter
+    | EventTypeDragLeave
+    | EventTypeDragMotion
+    | EventTypeDragStatus
+    | EventTypeDropStart
+    | EventTypeDropFinished
+    | EventTypeClientEvent
+    | EventTypeVisibilityNotify
+    | EventTypeScroll
+    | EventTypeWindowState
+    | EventTypeSetting
+    | EventTypeOwnerChange
+    | EventTypeGrabBroken
+    | EventTypeDamage
+    | EventTypeTouchBegin
+    | EventTypeTouchUpdate
+    | EventTypeTouchEnd
+    | EventTypeTouchCancel
+    | EventTypeTouchpadSwipe
+    | EventTypeTouchpadPinch
+    | EventTypeEventLast
+    | AnotherEventType Int
+    deriving (Show, Eq)
+
+instance Enum EventType where
+    fromEnum EventTypeNothing = -1
+    fromEnum EventTypeDelete = 0
+    fromEnum EventTypeDestroy = 1
+    fromEnum EventTypeExpose = 2
+    fromEnum EventTypeMotionNotify = 3
+    fromEnum EventTypeButtonPress = 4
+    fromEnum EventType2buttonPress = 5
+    fromEnum EventTypeDoubleButtonPress = 5
+    fromEnum EventType3buttonPress = 6
+    fromEnum EventTypeTripleButtonPress = 6
+    fromEnum EventTypeButtonRelease = 7
+    fromEnum EventTypeKeyPress = 8
+    fromEnum EventTypeKeyRelease = 9
+    fromEnum EventTypeEnterNotify = 10
+    fromEnum EventTypeLeaveNotify = 11
+    fromEnum EventTypeFocusChange = 12
+    fromEnum EventTypeConfigure = 13
+    fromEnum EventTypeMap = 14
+    fromEnum EventTypeUnmap = 15
+    fromEnum EventTypePropertyNotify = 16
+    fromEnum EventTypeSelectionClear = 17
+    fromEnum EventTypeSelectionRequest = 18
+    fromEnum EventTypeSelectionNotify = 19
+    fromEnum EventTypeProximityIn = 20
+    fromEnum EventTypeProximityOut = 21
+    fromEnum EventTypeDragEnter = 22
+    fromEnum EventTypeDragLeave = 23
+    fromEnum EventTypeDragMotion = 24
+    fromEnum EventTypeDragStatus = 25
+    fromEnum EventTypeDropStart = 26
+    fromEnum EventTypeDropFinished = 27
+    fromEnum EventTypeClientEvent = 28
+    fromEnum EventTypeVisibilityNotify = 29
+    fromEnum EventTypeScroll = 31
+    fromEnum EventTypeWindowState = 32
+    fromEnum EventTypeSetting = 33
+    fromEnum EventTypeOwnerChange = 34
+    fromEnum EventTypeGrabBroken = 35
+    fromEnum EventTypeDamage = 36
+    fromEnum EventTypeTouchBegin = 37
+    fromEnum EventTypeTouchUpdate = 38
+    fromEnum EventTypeTouchEnd = 39
+    fromEnum EventTypeTouchCancel = 40
+    fromEnum EventTypeTouchpadSwipe = 41
+    fromEnum EventTypeTouchpadPinch = 42
+    fromEnum EventTypeEventLast = 43
+    fromEnum (AnotherEventType k) = k
+
+    toEnum -1 = EventTypeNothing
+    toEnum 0 = EventTypeDelete
+    toEnum 1 = EventTypeDestroy
+    toEnum 2 = EventTypeExpose
+    toEnum 3 = EventTypeMotionNotify
+    toEnum 4 = EventTypeButtonPress
+    toEnum 5 = EventType2buttonPress
+    toEnum 6 = EventType3buttonPress
+    toEnum 7 = EventTypeButtonRelease
+    toEnum 8 = EventTypeKeyPress
+    toEnum 9 = EventTypeKeyRelease
+    toEnum 10 = EventTypeEnterNotify
+    toEnum 11 = EventTypeLeaveNotify
+    toEnum 12 = EventTypeFocusChange
+    toEnum 13 = EventTypeConfigure
+    toEnum 14 = EventTypeMap
+    toEnum 15 = EventTypeUnmap
+    toEnum 16 = EventTypePropertyNotify
+    toEnum 17 = EventTypeSelectionClear
+    toEnum 18 = EventTypeSelectionRequest
+    toEnum 19 = EventTypeSelectionNotify
+    toEnum 20 = EventTypeProximityIn
+    toEnum 21 = EventTypeProximityOut
+    toEnum 22 = EventTypeDragEnter
+    toEnum 23 = EventTypeDragLeave
+    toEnum 24 = EventTypeDragMotion
+    toEnum 25 = EventTypeDragStatus
+    toEnum 26 = EventTypeDropStart
+    toEnum 27 = EventTypeDropFinished
+    toEnum 28 = EventTypeClientEvent
+    toEnum 29 = EventTypeVisibilityNotify
+    toEnum 31 = EventTypeScroll
+    toEnum 32 = EventTypeWindowState
+    toEnum 33 = EventTypeSetting
+    toEnum 34 = EventTypeOwnerChange
+    toEnum 35 = EventTypeGrabBroken
+    toEnum 36 = EventTypeDamage
+    toEnum 37 = EventTypeTouchBegin
+    toEnum 38 = EventTypeTouchUpdate
+    toEnum 39 = EventTypeTouchEnd
+    toEnum 40 = EventTypeTouchCancel
+    toEnum 41 = EventTypeTouchpadSwipe
+    toEnum 42 = EventTypeTouchpadPinch
+    toEnum 43 = EventTypeEventLast
+    toEnum k = AnotherEventType k
+
+foreign import ccall "gdk_event_type_get_type" c_gdk_event_type_get_type :: 
+    IO GType
+
+instance BoxedEnum EventType where
+    boxedEnumType _ = c_gdk_event_type_get_type
+
+-- struct EventVisibility
+newtype EventVisibility = EventVisibility (ForeignPtr EventVisibility)
+noEventVisibility :: Maybe EventVisibility
+noEventVisibility = Nothing
+
+eventVisibilityReadType :: EventVisibility -> IO EventType
+eventVisibilityReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventVisibilityReadWindow :: EventVisibility -> IO Window
+eventVisibilityReadWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventVisibilityReadSendEvent :: EventVisibility -> IO Int8
+eventVisibilityReadSendEvent s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int8
+    return val
+
+eventVisibilityReadState :: EventVisibility -> IO VisibilityState
+eventVisibilityReadState s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 20) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+-- struct EventWindowState
+newtype EventWindowState = EventWindowState (ForeignPtr EventWindowState)
+noEventWindowState :: Maybe EventWindowState
+noEventWindowState = Nothing
+
+eventWindowStateReadType :: EventWindowState -> IO EventType
+eventWindowStateReadType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+eventWindowStateReadWindow :: EventWindowState -> IO Window
+eventWindowStateReadWindow s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
+    val' <- (newObject Window) val
+    return val'
+
+eventWindowStateReadSendEvent :: EventWindowState -> IO Int8
+eventWindowStateReadSendEvent s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int8
+    return val
+
+eventWindowStateReadChangedMask :: EventWindowState -> IO [WindowState]
+eventWindowStateReadChangedMask s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 20) :: IO CUInt
+    let val' = wordToGFlags val
+    return val'
+
+eventWindowStateReadNewWindowState :: EventWindowState -> IO [WindowState]
+eventWindowStateReadNewWindowState s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO CUInt
+    let val' = wordToGFlags val
+    return val'
+
+-- callback FilterFunc
+filterFuncClosure :: FilterFunc -> IO Closure
+filterFuncClosure cb = newCClosure =<< mkFilterFunc wrapped
+    where wrapped = filterFuncWrapper Nothing cb
+
+type FilterFuncC =
+    Ptr () ->
+    Ptr Event ->
+    Ptr () ->
+    IO CUInt
+
+foreign import ccall "wrapper"
+    mkFilterFunc :: FilterFuncC -> IO (FunPtr FilterFuncC)
+
+type FilterFunc =
+    Ptr () ->
+    Event ->
+    IO FilterReturn
+
+noFilterFunc :: Maybe FilterFunc
+noFilterFunc = Nothing
+
+filterFuncWrapper ::
+    Maybe (Ptr (FunPtr (FilterFuncC))) ->
+    FilterFunc ->
+    Ptr () ->
+    Ptr Event ->
+    Ptr () ->
+    IO CUInt
+filterFuncWrapper funptrptr _cb xevent event _ = do
+    event' <- (newBoxed Event) event
+    result <- _cb  xevent event'
+    maybeReleaseFunPtr funptrptr
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+-- Enum FilterReturn
+
+data FilterReturn = 
+      FilterReturnContinue
+    | FilterReturnTranslate
+    | FilterReturnRemove
+    | AnotherFilterReturn Int
+    deriving (Show, Eq)
+
+instance Enum FilterReturn where
+    fromEnum FilterReturnContinue = 0
+    fromEnum FilterReturnTranslate = 1
+    fromEnum FilterReturnRemove = 2
+    fromEnum (AnotherFilterReturn k) = k
+
+    toEnum 0 = FilterReturnContinue
+    toEnum 1 = FilterReturnTranslate
+    toEnum 2 = FilterReturnRemove
+    toEnum k = AnotherFilterReturn k
+
+foreign import ccall "gdk_filter_return_get_type" c_gdk_filter_return_get_type :: 
+    IO GType
+
+instance BoxedEnum FilterReturn where
+    boxedEnumType _ = c_gdk_filter_return_get_type
+
+-- object FrameClock 
+newtype FrameClock = FrameClock (ForeignPtr FrameClock)
+noFrameClock :: Maybe FrameClock
+noFrameClock = Nothing
+
+foreign import ccall "gdk_frame_clock_get_type"
+    c_gdk_frame_clock_get_type :: IO GType
+
+type instance ParentTypes FrameClock = '[GObject.Object]
+
+instance GObject FrameClock where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gdk_frame_clock_get_type
+    
+
+class GObject o => FrameClockK o
+instance (GObject o, IsDescendantOf FrameClock o) => FrameClockK o
+
+toFrameClock :: FrameClockK o => o -> IO FrameClock
+toFrameClock = unsafeCastTo FrameClock
+
+-- method FrameClock::begin_updating
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_frame_clock_begin_updating" gdk_frame_clock_begin_updating :: 
+    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"
+    IO ()
+
+
+frameClockBeginUpdating ::
+    (MonadIO m, FrameClockK a) =>
+    a ->                                    -- _obj
+    m ()
+frameClockBeginUpdating _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_frame_clock_begin_updating _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method FrameClock::end_updating
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_frame_clock_end_updating" gdk_frame_clock_end_updating :: 
+    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"
+    IO ()
+
+
+frameClockEndUpdating ::
+    (MonadIO m, FrameClockK a) =>
+    a ->                                    -- _obj
+    m ()
+frameClockEndUpdating _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_frame_clock_end_updating _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method FrameClock::get_current_timings
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "FrameTimings"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_frame_clock_get_current_timings" gdk_frame_clock_get_current_timings :: 
+    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"
+    IO (Ptr FrameTimings)
+
+
+frameClockGetCurrentTimings ::
+    (MonadIO m, FrameClockK a) =>
+    a ->                                    -- _obj
+    m FrameTimings
+frameClockGetCurrentTimings _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_frame_clock_get_current_timings _obj'
+    checkUnexpectedReturnNULL "gdk_frame_clock_get_current_timings" result
+    result' <- (wrapBoxed FrameTimings) result
+    touchManagedPtr _obj
+    return result'
+
+-- method FrameClock::get_frame_counter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt64
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_frame_clock_get_frame_counter" gdk_frame_clock_get_frame_counter :: 
+    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"
+    IO Int64
+
+
+frameClockGetFrameCounter ::
+    (MonadIO m, FrameClockK a) =>
+    a ->                                    -- _obj
+    m Int64
+frameClockGetFrameCounter _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_frame_clock_get_frame_counter _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method FrameClock::get_frame_time
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt64
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_frame_clock_get_frame_time" gdk_frame_clock_get_frame_time :: 
+    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"
+    IO Int64
+
+
+frameClockGetFrameTime ::
+    (MonadIO m, FrameClockK a) =>
+    a ->                                    -- _obj
+    m Int64
+frameClockGetFrameTime _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_frame_clock_get_frame_time _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method FrameClock::get_history_start
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt64
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_frame_clock_get_history_start" gdk_frame_clock_get_history_start :: 
+    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"
+    IO Int64
+
+
+frameClockGetHistoryStart ::
+    (MonadIO m, FrameClockK a) =>
+    a ->                                    -- _obj
+    m Int64
+frameClockGetHistoryStart _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_frame_clock_get_history_start _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method FrameClock::get_refresh_info
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_time", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "refresh_interval_return", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "presentation_time_return", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_time", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "refresh_interval_return", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "presentation_time_return", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_frame_clock_get_refresh_info" gdk_frame_clock_get_refresh_info :: 
+    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"
+    Int64 ->                                -- base_time : TBasicType TInt64
+    Int64 ->                                -- refresh_interval_return : TBasicType TInt64
+    Int64 ->                                -- presentation_time_return : TBasicType TInt64
+    IO ()
+
+
+frameClockGetRefreshInfo ::
+    (MonadIO m, FrameClockK a) =>
+    a ->                                    -- _obj
+    Int64 ->                                -- base_time
+    Int64 ->                                -- refresh_interval_return
+    Int64 ->                                -- presentation_time_return
+    m ()
+frameClockGetRefreshInfo _obj base_time refresh_interval_return presentation_time_return = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_frame_clock_get_refresh_info _obj' base_time refresh_interval_return presentation_time_return
+    touchManagedPtr _obj
+    return ()
+
+-- method FrameClock::get_timings
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "frame_counter", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "frame_counter", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "FrameTimings"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_frame_clock_get_timings" gdk_frame_clock_get_timings :: 
+    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"
+    Int64 ->                                -- frame_counter : TBasicType TInt64
+    IO (Ptr FrameTimings)
+
+
+frameClockGetTimings ::
+    (MonadIO m, FrameClockK a) =>
+    a ->                                    -- _obj
+    Int64 ->                                -- frame_counter
+    m FrameTimings
+frameClockGetTimings _obj frame_counter = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_frame_clock_get_timings _obj' frame_counter
+    checkUnexpectedReturnNULL "gdk_frame_clock_get_timings" result
+    result' <- (wrapBoxed FrameTimings) result
+    touchManagedPtr _obj
+    return result'
+
+-- method FrameClock::request_phase
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "phase", argType = TInterface "Gdk" "FrameClockPhase", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "phase", argType = TInterface "Gdk" "FrameClockPhase", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_frame_clock_request_phase" gdk_frame_clock_request_phase :: 
+    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"
+    CUInt ->                                -- phase : TInterface "Gdk" "FrameClockPhase"
+    IO ()
+
+
+frameClockRequestPhase ::
+    (MonadIO m, FrameClockK a) =>
+    a ->                                    -- _obj
+    [FrameClockPhase] ->                    -- phase
+    m ()
+frameClockRequestPhase _obj phase = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let phase' = gflagsToWord phase
+    gdk_frame_clock_request_phase _obj' phase'
+    touchManagedPtr _obj
+    return ()
+
+-- signal FrameClock::after-paint
+type FrameClockAfterPaintCallback =
+    IO ()
+
+noFrameClockAfterPaintCallback :: Maybe FrameClockAfterPaintCallback
+noFrameClockAfterPaintCallback = Nothing
+
+type FrameClockAfterPaintCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkFrameClockAfterPaintCallback :: FrameClockAfterPaintCallbackC -> IO (FunPtr FrameClockAfterPaintCallbackC)
+
+frameClockAfterPaintClosure :: FrameClockAfterPaintCallback -> IO Closure
+frameClockAfterPaintClosure cb = newCClosure =<< mkFrameClockAfterPaintCallback wrapped
+    where wrapped = frameClockAfterPaintCallbackWrapper cb
+
+frameClockAfterPaintCallbackWrapper ::
+    FrameClockAfterPaintCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+frameClockAfterPaintCallbackWrapper _cb _ _ = do
+    _cb 
+
+onFrameClockAfterPaint :: (GObject a, MonadIO m) => a -> FrameClockAfterPaintCallback -> m SignalHandlerId
+onFrameClockAfterPaint obj cb = liftIO $ connectFrameClockAfterPaint obj cb SignalConnectBefore
+afterFrameClockAfterPaint :: (GObject a, MonadIO m) => a -> FrameClockAfterPaintCallback -> m SignalHandlerId
+afterFrameClockAfterPaint obj cb = connectFrameClockAfterPaint obj cb SignalConnectAfter
+
+connectFrameClockAfterPaint :: (GObject a, MonadIO m) =>
+                               a -> FrameClockAfterPaintCallback -> SignalConnectMode -> m SignalHandlerId
+connectFrameClockAfterPaint obj cb after = liftIO $ do
+    cb' <- mkFrameClockAfterPaintCallback (frameClockAfterPaintCallbackWrapper cb)
+    connectSignalFunPtr obj "after-paint" cb' after
+
+-- signal FrameClock::before-paint
+type FrameClockBeforePaintCallback =
+    IO ()
+
+noFrameClockBeforePaintCallback :: Maybe FrameClockBeforePaintCallback
+noFrameClockBeforePaintCallback = Nothing
+
+type FrameClockBeforePaintCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkFrameClockBeforePaintCallback :: FrameClockBeforePaintCallbackC -> IO (FunPtr FrameClockBeforePaintCallbackC)
+
+frameClockBeforePaintClosure :: FrameClockBeforePaintCallback -> IO Closure
+frameClockBeforePaintClosure cb = newCClosure =<< mkFrameClockBeforePaintCallback wrapped
+    where wrapped = frameClockBeforePaintCallbackWrapper cb
+
+frameClockBeforePaintCallbackWrapper ::
+    FrameClockBeforePaintCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+frameClockBeforePaintCallbackWrapper _cb _ _ = do
+    _cb 
+
+onFrameClockBeforePaint :: (GObject a, MonadIO m) => a -> FrameClockBeforePaintCallback -> m SignalHandlerId
+onFrameClockBeforePaint obj cb = liftIO $ connectFrameClockBeforePaint obj cb SignalConnectBefore
+afterFrameClockBeforePaint :: (GObject a, MonadIO m) => a -> FrameClockBeforePaintCallback -> m SignalHandlerId
+afterFrameClockBeforePaint obj cb = connectFrameClockBeforePaint obj cb SignalConnectAfter
+
+connectFrameClockBeforePaint :: (GObject a, MonadIO m) =>
+                                a -> FrameClockBeforePaintCallback -> SignalConnectMode -> m SignalHandlerId
+connectFrameClockBeforePaint obj cb after = liftIO $ do
+    cb' <- mkFrameClockBeforePaintCallback (frameClockBeforePaintCallbackWrapper cb)
+    connectSignalFunPtr obj "before-paint" cb' after
+
+-- signal FrameClock::flush-events
+type FrameClockFlushEventsCallback =
+    IO ()
+
+noFrameClockFlushEventsCallback :: Maybe FrameClockFlushEventsCallback
+noFrameClockFlushEventsCallback = Nothing
+
+type FrameClockFlushEventsCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkFrameClockFlushEventsCallback :: FrameClockFlushEventsCallbackC -> IO (FunPtr FrameClockFlushEventsCallbackC)
+
+frameClockFlushEventsClosure :: FrameClockFlushEventsCallback -> IO Closure
+frameClockFlushEventsClosure cb = newCClosure =<< mkFrameClockFlushEventsCallback wrapped
+    where wrapped = frameClockFlushEventsCallbackWrapper cb
+
+frameClockFlushEventsCallbackWrapper ::
+    FrameClockFlushEventsCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+frameClockFlushEventsCallbackWrapper _cb _ _ = do
+    _cb 
+
+onFrameClockFlushEvents :: (GObject a, MonadIO m) => a -> FrameClockFlushEventsCallback -> m SignalHandlerId
+onFrameClockFlushEvents obj cb = liftIO $ connectFrameClockFlushEvents obj cb SignalConnectBefore
+afterFrameClockFlushEvents :: (GObject a, MonadIO m) => a -> FrameClockFlushEventsCallback -> m SignalHandlerId
+afterFrameClockFlushEvents obj cb = connectFrameClockFlushEvents obj cb SignalConnectAfter
+
+connectFrameClockFlushEvents :: (GObject a, MonadIO m) =>
+                                a -> FrameClockFlushEventsCallback -> SignalConnectMode -> m SignalHandlerId
+connectFrameClockFlushEvents obj cb after = liftIO $ do
+    cb' <- mkFrameClockFlushEventsCallback (frameClockFlushEventsCallbackWrapper cb)
+    connectSignalFunPtr obj "flush-events" cb' after
+
+-- signal FrameClock::layout
+type FrameClockLayoutCallback =
+    IO ()
+
+noFrameClockLayoutCallback :: Maybe FrameClockLayoutCallback
+noFrameClockLayoutCallback = Nothing
+
+type FrameClockLayoutCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkFrameClockLayoutCallback :: FrameClockLayoutCallbackC -> IO (FunPtr FrameClockLayoutCallbackC)
+
+frameClockLayoutClosure :: FrameClockLayoutCallback -> IO Closure
+frameClockLayoutClosure cb = newCClosure =<< mkFrameClockLayoutCallback wrapped
+    where wrapped = frameClockLayoutCallbackWrapper cb
+
+frameClockLayoutCallbackWrapper ::
+    FrameClockLayoutCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+frameClockLayoutCallbackWrapper _cb _ _ = do
+    _cb 
+
+onFrameClockLayout :: (GObject a, MonadIO m) => a -> FrameClockLayoutCallback -> m SignalHandlerId
+onFrameClockLayout obj cb = liftIO $ connectFrameClockLayout obj cb SignalConnectBefore
+afterFrameClockLayout :: (GObject a, MonadIO m) => a -> FrameClockLayoutCallback -> m SignalHandlerId
+afterFrameClockLayout obj cb = connectFrameClockLayout obj cb SignalConnectAfter
+
+connectFrameClockLayout :: (GObject a, MonadIO m) =>
+                           a -> FrameClockLayoutCallback -> SignalConnectMode -> m SignalHandlerId
+connectFrameClockLayout obj cb after = liftIO $ do
+    cb' <- mkFrameClockLayoutCallback (frameClockLayoutCallbackWrapper cb)
+    connectSignalFunPtr obj "layout" cb' after
+
+-- signal FrameClock::paint
+type FrameClockPaintCallback =
+    IO ()
+
+noFrameClockPaintCallback :: Maybe FrameClockPaintCallback
+noFrameClockPaintCallback = Nothing
+
+type FrameClockPaintCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkFrameClockPaintCallback :: FrameClockPaintCallbackC -> IO (FunPtr FrameClockPaintCallbackC)
+
+frameClockPaintClosure :: FrameClockPaintCallback -> IO Closure
+frameClockPaintClosure cb = newCClosure =<< mkFrameClockPaintCallback wrapped
+    where wrapped = frameClockPaintCallbackWrapper cb
+
+frameClockPaintCallbackWrapper ::
+    FrameClockPaintCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+frameClockPaintCallbackWrapper _cb _ _ = do
+    _cb 
+
+onFrameClockPaint :: (GObject a, MonadIO m) => a -> FrameClockPaintCallback -> m SignalHandlerId
+onFrameClockPaint obj cb = liftIO $ connectFrameClockPaint obj cb SignalConnectBefore
+afterFrameClockPaint :: (GObject a, MonadIO m) => a -> FrameClockPaintCallback -> m SignalHandlerId
+afterFrameClockPaint obj cb = connectFrameClockPaint obj cb SignalConnectAfter
+
+connectFrameClockPaint :: (GObject a, MonadIO m) =>
+                          a -> FrameClockPaintCallback -> SignalConnectMode -> m SignalHandlerId
+connectFrameClockPaint obj cb after = liftIO $ do
+    cb' <- mkFrameClockPaintCallback (frameClockPaintCallbackWrapper cb)
+    connectSignalFunPtr obj "paint" cb' after
+
+-- signal FrameClock::resume-events
+type FrameClockResumeEventsCallback =
+    IO ()
+
+noFrameClockResumeEventsCallback :: Maybe FrameClockResumeEventsCallback
+noFrameClockResumeEventsCallback = Nothing
+
+type FrameClockResumeEventsCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkFrameClockResumeEventsCallback :: FrameClockResumeEventsCallbackC -> IO (FunPtr FrameClockResumeEventsCallbackC)
+
+frameClockResumeEventsClosure :: FrameClockResumeEventsCallback -> IO Closure
+frameClockResumeEventsClosure cb = newCClosure =<< mkFrameClockResumeEventsCallback wrapped
+    where wrapped = frameClockResumeEventsCallbackWrapper cb
+
+frameClockResumeEventsCallbackWrapper ::
+    FrameClockResumeEventsCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+frameClockResumeEventsCallbackWrapper _cb _ _ = do
+    _cb 
+
+onFrameClockResumeEvents :: (GObject a, MonadIO m) => a -> FrameClockResumeEventsCallback -> m SignalHandlerId
+onFrameClockResumeEvents obj cb = liftIO $ connectFrameClockResumeEvents obj cb SignalConnectBefore
+afterFrameClockResumeEvents :: (GObject a, MonadIO m) => a -> FrameClockResumeEventsCallback -> m SignalHandlerId
+afterFrameClockResumeEvents obj cb = connectFrameClockResumeEvents obj cb SignalConnectAfter
+
+connectFrameClockResumeEvents :: (GObject a, MonadIO m) =>
+                                 a -> FrameClockResumeEventsCallback -> SignalConnectMode -> m SignalHandlerId
+connectFrameClockResumeEvents obj cb after = liftIO $ do
+    cb' <- mkFrameClockResumeEventsCallback (frameClockResumeEventsCallbackWrapper cb)
+    connectSignalFunPtr obj "resume-events" cb' after
+
+-- signal FrameClock::update
+type FrameClockUpdateCallback =
+    IO ()
+
+noFrameClockUpdateCallback :: Maybe FrameClockUpdateCallback
+noFrameClockUpdateCallback = Nothing
+
+type FrameClockUpdateCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkFrameClockUpdateCallback :: FrameClockUpdateCallbackC -> IO (FunPtr FrameClockUpdateCallbackC)
+
+frameClockUpdateClosure :: FrameClockUpdateCallback -> IO Closure
+frameClockUpdateClosure cb = newCClosure =<< mkFrameClockUpdateCallback wrapped
+    where wrapped = frameClockUpdateCallbackWrapper cb
+
+frameClockUpdateCallbackWrapper ::
+    FrameClockUpdateCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+frameClockUpdateCallbackWrapper _cb _ _ = do
+    _cb 
+
+onFrameClockUpdate :: (GObject a, MonadIO m) => a -> FrameClockUpdateCallback -> m SignalHandlerId
+onFrameClockUpdate obj cb = liftIO $ connectFrameClockUpdate obj cb SignalConnectBefore
+afterFrameClockUpdate :: (GObject a, MonadIO m) => a -> FrameClockUpdateCallback -> m SignalHandlerId
+afterFrameClockUpdate obj cb = connectFrameClockUpdate obj cb SignalConnectAfter
+
+connectFrameClockUpdate :: (GObject a, MonadIO m) =>
+                           a -> FrameClockUpdateCallback -> SignalConnectMode -> m SignalHandlerId
+connectFrameClockUpdate obj cb after = liftIO $ do
+    cb' <- mkFrameClockUpdateCallback (frameClockUpdateCallbackWrapper cb)
+    connectSignalFunPtr obj "update" cb' after
+
+-- Flags FrameClockPhase
+
+data FrameClockPhase = 
+      FrameClockPhaseNone
+    | FrameClockPhaseFlushEvents
+    | FrameClockPhaseBeforePaint
+    | FrameClockPhaseUpdate
+    | FrameClockPhaseLayout
+    | FrameClockPhasePaint
+    | FrameClockPhaseResumeEvents
+    | FrameClockPhaseAfterPaint
+    | AnotherFrameClockPhase Int
+    deriving (Show, Eq)
+
+instance Enum FrameClockPhase where
+    fromEnum FrameClockPhaseNone = 0
+    fromEnum FrameClockPhaseFlushEvents = 1
+    fromEnum FrameClockPhaseBeforePaint = 2
+    fromEnum FrameClockPhaseUpdate = 4
+    fromEnum FrameClockPhaseLayout = 8
+    fromEnum FrameClockPhasePaint = 16
+    fromEnum FrameClockPhaseResumeEvents = 32
+    fromEnum FrameClockPhaseAfterPaint = 64
+    fromEnum (AnotherFrameClockPhase k) = k
+
+    toEnum 0 = FrameClockPhaseNone
+    toEnum 1 = FrameClockPhaseFlushEvents
+    toEnum 2 = FrameClockPhaseBeforePaint
+    toEnum 4 = FrameClockPhaseUpdate
+    toEnum 8 = FrameClockPhaseLayout
+    toEnum 16 = FrameClockPhasePaint
+    toEnum 32 = FrameClockPhaseResumeEvents
+    toEnum 64 = FrameClockPhaseAfterPaint
+    toEnum k = AnotherFrameClockPhase k
+
+foreign import ccall "gdk_frame_clock_phase_get_type" c_gdk_frame_clock_phase_get_type :: 
+    IO GType
+
+instance BoxedEnum FrameClockPhase where
+    boxedEnumType _ = c_gdk_frame_clock_phase_get_type
+
+instance IsGFlag FrameClockPhase
+
+-- struct FrameTimings
+newtype FrameTimings = FrameTimings (ForeignPtr FrameTimings)
+noFrameTimings :: Maybe FrameTimings
+noFrameTimings = Nothing
+
+foreign import ccall "gdk_frame_timings_get_type" c_gdk_frame_timings_get_type :: 
+    IO GType
+
+instance BoxedObject FrameTimings where
+    boxedType _ = c_gdk_frame_timings_get_type
+
+-- method FrameTimings::get_complete
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_frame_timings_get_complete" gdk_frame_timings_get_complete :: 
+    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"
+    IO CInt
+
+
+frameTimingsGetComplete ::
+    (MonadIO m) =>
+    FrameTimings ->                         -- _obj
+    m Bool
+frameTimingsGetComplete _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_frame_timings_get_complete _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method FrameTimings::get_frame_counter
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt64
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_frame_timings_get_frame_counter" gdk_frame_timings_get_frame_counter :: 
+    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"
+    IO Int64
+
+
+frameTimingsGetFrameCounter ::
+    (MonadIO m) =>
+    FrameTimings ->                         -- _obj
+    m Int64
+frameTimingsGetFrameCounter _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_frame_timings_get_frame_counter _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method FrameTimings::get_frame_time
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt64
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_frame_timings_get_frame_time" gdk_frame_timings_get_frame_time :: 
+    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"
+    IO Int64
+
+
+frameTimingsGetFrameTime ::
+    (MonadIO m) =>
+    FrameTimings ->                         -- _obj
+    m Int64
+frameTimingsGetFrameTime _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_frame_timings_get_frame_time _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method FrameTimings::get_predicted_presentation_time
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt64
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_frame_timings_get_predicted_presentation_time" gdk_frame_timings_get_predicted_presentation_time :: 
+    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"
+    IO Int64
+
+
+frameTimingsGetPredictedPresentationTime ::
+    (MonadIO m) =>
+    FrameTimings ->                         -- _obj
+    m Int64
+frameTimingsGetPredictedPresentationTime _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_frame_timings_get_predicted_presentation_time _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method FrameTimings::get_presentation_time
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt64
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_frame_timings_get_presentation_time" gdk_frame_timings_get_presentation_time :: 
+    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"
+    IO Int64
+
+
+frameTimingsGetPresentationTime ::
+    (MonadIO m) =>
+    FrameTimings ->                         -- _obj
+    m Int64
+frameTimingsGetPresentationTime _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_frame_timings_get_presentation_time _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method FrameTimings::get_refresh_interval
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt64
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_frame_timings_get_refresh_interval" gdk_frame_timings_get_refresh_interval :: 
+    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"
+    IO Int64
+
+
+frameTimingsGetRefreshInterval ::
+    (MonadIO m) =>
+    FrameTimings ->                         -- _obj
+    m Int64
+frameTimingsGetRefreshInterval _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_frame_timings_get_refresh_interval _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method FrameTimings::ref
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "FrameTimings"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_frame_timings_ref" gdk_frame_timings_ref :: 
+    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"
+    IO (Ptr FrameTimings)
+
+
+frameTimingsRef ::
+    (MonadIO m) =>
+    FrameTimings ->                         -- _obj
+    m FrameTimings
+frameTimingsRef _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_frame_timings_ref _obj'
+    checkUnexpectedReturnNULL "gdk_frame_timings_ref" result
+    result' <- (wrapBoxed FrameTimings) result
+    touchManagedPtr _obj
+    return result'
+
+-- method FrameTimings::unref
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_frame_timings_unref" gdk_frame_timings_unref :: 
+    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"
+    IO ()
+
+
+frameTimingsUnref ::
+    (MonadIO m) =>
+    FrameTimings ->                         -- _obj
+    m ()
+frameTimingsUnref _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    gdk_frame_timings_unref _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- Enum FullscreenMode
+
+data FullscreenMode = 
+      FullscreenModeCurrentMonitor
+    | FullscreenModeAllMonitors
+    | AnotherFullscreenMode Int
+    deriving (Show, Eq)
+
+instance Enum FullscreenMode where
+    fromEnum FullscreenModeCurrentMonitor = 0
+    fromEnum FullscreenModeAllMonitors = 1
+    fromEnum (AnotherFullscreenMode k) = k
+
+    toEnum 0 = FullscreenModeCurrentMonitor
+    toEnum 1 = FullscreenModeAllMonitors
+    toEnum k = AnotherFullscreenMode k
+
+foreign import ccall "gdk_fullscreen_mode_get_type" c_gdk_fullscreen_mode_get_type :: 
+    IO GType
+
+instance BoxedEnum FullscreenMode where
+    boxedEnumType _ = c_gdk_fullscreen_mode_get_type
+
+-- object GLContext 
+newtype GLContext = GLContext (ForeignPtr GLContext)
+noGLContext :: Maybe GLContext
+noGLContext = Nothing
+
+foreign import ccall "gdk_gl_context_get_type"
+    c_gdk_gl_context_get_type :: IO GType
+
+type instance ParentTypes GLContext = '[GObject.Object]
+
+instance GObject GLContext where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gdk_gl_context_get_type
+    
+
+class GObject o => GLContextK o
+instance (GObject o, IsDescendantOf GLContext o) => GLContextK o
+
+toGLContext :: GLContextK o => o -> IO GLContext
+toGLContext = unsafeCastTo GLContext
+
+-- method GLContext::get_debug_enabled
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_gl_context_get_debug_enabled" gdk_gl_context_get_debug_enabled :: 
+    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
+    IO CInt
+
+
+gLContextGetDebugEnabled ::
+    (MonadIO m, GLContextK a) =>
+    a ->                                    -- _obj
+    m Bool
+gLContextGetDebugEnabled _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_gl_context_get_debug_enabled _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method GLContext::get_display
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Display"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_gl_context_get_display" gdk_gl_context_get_display :: 
+    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
+    IO (Ptr Display)
+
+
+gLContextGetDisplay ::
+    (MonadIO m, GLContextK a) =>
+    a ->                                    -- _obj
+    m Display
+gLContextGetDisplay _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_gl_context_get_display _obj'
+    checkUnexpectedReturnNULL "gdk_gl_context_get_display" result
+    result' <- (newObject Display) result
+    touchManagedPtr _obj
+    return result'
+
+-- method GLContext::get_forward_compatible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_gl_context_get_forward_compatible" gdk_gl_context_get_forward_compatible :: 
+    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
+    IO CInt
+
+
+gLContextGetForwardCompatible ::
+    (MonadIO m, GLContextK a) =>
+    a ->                                    -- _obj
+    m Bool
+gLContextGetForwardCompatible _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_gl_context_get_forward_compatible _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- XXX Could not generate method GLContext::get_required_version
+-- Error was : Bad introspection data: "argument \"major\" is not of nullable type (TBasicType TInt32), but it is marked as such."
+-- method GLContext::get_shared_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "GLContext"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_gl_context_get_shared_context" gdk_gl_context_get_shared_context :: 
+    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
+    IO (Ptr GLContext)
+
+
+gLContextGetSharedContext ::
+    (MonadIO m, GLContextK a) =>
+    a ->                                    -- _obj
+    m GLContext
+gLContextGetSharedContext _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_gl_context_get_shared_context _obj'
+    checkUnexpectedReturnNULL "gdk_gl_context_get_shared_context" result
+    result' <- (newObject GLContext) result
+    touchManagedPtr _obj
+    return result'
+
+-- method GLContext::get_version
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "major", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "minor", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_gl_context_get_version" gdk_gl_context_get_version :: 
+    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
+    Ptr Int32 ->                            -- major : TBasicType TInt32
+    Ptr Int32 ->                            -- minor : TBasicType TInt32
+    IO ()
+
+
+gLContextGetVersion ::
+    (MonadIO m, GLContextK a) =>
+    a ->                                    -- _obj
+    m (Int32,Int32)
+gLContextGetVersion _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    major <- allocMem :: IO (Ptr Int32)
+    minor <- allocMem :: IO (Ptr Int32)
+    gdk_gl_context_get_version _obj' major minor
+    major' <- peek major
+    minor' <- peek minor
+    touchManagedPtr _obj
+    freeMem major
+    freeMem minor
+    return (major', minor')
+
+-- method GLContext::get_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_gl_context_get_window" gdk_gl_context_get_window :: 
+    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
+    IO (Ptr Window)
+
+
+gLContextGetWindow ::
+    (MonadIO m, GLContextK a) =>
+    a ->                                    -- _obj
+    m Window
+gLContextGetWindow _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_gl_context_get_window _obj'
+    checkUnexpectedReturnNULL "gdk_gl_context_get_window" result
+    result' <- (newObject Window) result
+    touchManagedPtr _obj
+    return result'
+
+-- method GLContext::make_current
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_gl_context_make_current" gdk_gl_context_make_current :: 
+    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
+    IO ()
+
+
+gLContextMakeCurrent ::
+    (MonadIO m, GLContextK a) =>
+    a ->                                    -- _obj
+    m ()
+gLContextMakeCurrent _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_gl_context_make_current _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method GLContext::realize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gdk_gl_context_realize" gdk_gl_context_realize :: 
+    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+
+gLContextRealize ::
+    (MonadIO m, GLContextK a) =>
+    a ->                                    -- _obj
+    m ()
+gLContextRealize _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    onException (do
+        _ <- propagateGError $ gdk_gl_context_realize _obj'
+        touchManagedPtr _obj
+        return ()
+     ) (do
+        return ()
+     )
+
+-- method GLContext::set_debug_enabled
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_gl_context_set_debug_enabled" gdk_gl_context_set_debug_enabled :: 
+    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
+    CInt ->                                 -- enabled : TBasicType TBoolean
+    IO ()
+
+
+gLContextSetDebugEnabled ::
+    (MonadIO m, GLContextK a) =>
+    a ->                                    -- _obj
+    Bool ->                                 -- enabled
+    m ()
+gLContextSetDebugEnabled _obj enabled = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let enabled' = (fromIntegral . fromEnum) enabled
+    gdk_gl_context_set_debug_enabled _obj' enabled'
+    touchManagedPtr _obj
+    return ()
+
+-- method GLContext::set_forward_compatible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "compatible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "compatible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_gl_context_set_forward_compatible" gdk_gl_context_set_forward_compatible :: 
+    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
+    CInt ->                                 -- compatible : TBasicType TBoolean
+    IO ()
+
+
+gLContextSetForwardCompatible ::
+    (MonadIO m, GLContextK a) =>
+    a ->                                    -- _obj
+    Bool ->                                 -- compatible
+    m ()
+gLContextSetForwardCompatible _obj compatible = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let compatible' = (fromIntegral . fromEnum) compatible
+    gdk_gl_context_set_forward_compatible _obj' compatible'
+    touchManagedPtr _obj
+    return ()
+
+-- method GLContext::set_required_version
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "major", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minor", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "major", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minor", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_gl_context_set_required_version" gdk_gl_context_set_required_version :: 
+    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
+    Int32 ->                                -- major : TBasicType TInt32
+    Int32 ->                                -- minor : TBasicType TInt32
+    IO ()
+
+
+gLContextSetRequiredVersion ::
+    (MonadIO m, GLContextK a) =>
+    a ->                                    -- _obj
+    Int32 ->                                -- major
+    Int32 ->                                -- minor
+    m ()
+gLContextSetRequiredVersion _obj major minor = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_gl_context_set_required_version _obj' major minor
+    touchManagedPtr _obj
+    return ()
+
+-- method GLContext::clear_current
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_gl_context_clear_current" gdk_gl_context_clear_current :: 
+    IO ()
+
+
+gLContextClearCurrent ::
+    (MonadIO m) =>
+    m ()
+gLContextClearCurrent  = liftIO $ do
+    gdk_gl_context_clear_current
+    return ()
+
+-- method GLContext::get_current
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TInterface "Gdk" "GLContext"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_gl_context_get_current" gdk_gl_context_get_current :: 
+    IO (Ptr GLContext)
+
+
+gLContextGetCurrent ::
+    (MonadIO m) =>
+    m GLContext
+gLContextGetCurrent  = liftIO $ do
+    result <- gdk_gl_context_get_current
+    checkUnexpectedReturnNULL "gdk_gl_context_get_current" result
+    result' <- (newObject GLContext) result
+    return result'
+
+-- Enum GLError
+
+data GLError = 
+      GLErrorNotAvailable
+    | GLErrorUnsupportedFormat
+    | GLErrorUnsupportedProfile
+    | AnotherGLError Int
+    deriving (Show, Eq)
+
+instance Enum GLError where
+    fromEnum GLErrorNotAvailable = 0
+    fromEnum GLErrorUnsupportedFormat = 1
+    fromEnum GLErrorUnsupportedProfile = 2
+    fromEnum (AnotherGLError k) = k
+
+    toEnum 0 = GLErrorNotAvailable
+    toEnum 1 = GLErrorUnsupportedFormat
+    toEnum 2 = GLErrorUnsupportedProfile
+    toEnum k = AnotherGLError k
+
+instance GErrorClass GLError where
+    gerrorClassDomain _ = "gdk-gl-error-quark"
+
+catchGLError ::
+    IO a ->
+    (GLError -> GErrorMessage -> IO a) ->
+    IO a
+catchGLError = catchGErrorJustDomain
+
+handleGLError ::
+    (GLError -> GErrorMessage -> IO a) ->
+    IO a ->
+    IO a
+handleGLError = handleGErrorJustDomain
+
+foreign import ccall "gdk_gl_error_get_type" c_gdk_gl_error_get_type :: 
+    IO GType
+
+instance BoxedEnum GLError where
+    boxedEnumType _ = c_gdk_gl_error_get_type
+
+-- struct Geometry
+newtype Geometry = Geometry (ForeignPtr Geometry)
+noGeometry :: Maybe Geometry
+noGeometry = Nothing
+
+geometryReadMinWidth :: Geometry -> IO Int32
+geometryReadMinWidth s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO Int32
+    return val
+
+geometryReadMinHeight :: Geometry -> IO Int32
+geometryReadMinHeight s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 4) :: IO Int32
+    return val
+
+geometryReadMaxWidth :: Geometry -> IO Int32
+geometryReadMaxWidth s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO Int32
+    return val
+
+geometryReadMaxHeight :: Geometry -> IO Int32
+geometryReadMaxHeight s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 12) :: IO Int32
+    return val
+
+geometryReadBaseWidth :: Geometry -> IO Int32
+geometryReadBaseWidth s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int32
+    return val
+
+geometryReadBaseHeight :: Geometry -> IO Int32
+geometryReadBaseHeight s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 20) :: IO Int32
+    return val
+
+geometryReadWidthInc :: Geometry -> IO Int32
+geometryReadWidthInc s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO Int32
+    return val
+
+geometryReadHeightInc :: Geometry -> IO Int32
+geometryReadHeightInc s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 28) :: IO Int32
+    return val
+
+geometryReadMinAspect :: Geometry -> IO Double
+geometryReadMinAspect s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+geometryReadMaxAspect :: Geometry -> IO Double
+geometryReadMaxAspect s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+geometryReadWinGravity :: Geometry -> IO Gravity
+geometryReadWinGravity s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 48) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+-- Enum GrabOwnership
+
+data GrabOwnership = 
+      GrabOwnershipNone
+    | GrabOwnershipWindow
+    | GrabOwnershipApplication
+    | AnotherGrabOwnership Int
+    deriving (Show, Eq)
+
+instance Enum GrabOwnership where
+    fromEnum GrabOwnershipNone = 0
+    fromEnum GrabOwnershipWindow = 1
+    fromEnum GrabOwnershipApplication = 2
+    fromEnum (AnotherGrabOwnership k) = k
+
+    toEnum 0 = GrabOwnershipNone
+    toEnum 1 = GrabOwnershipWindow
+    toEnum 2 = GrabOwnershipApplication
+    toEnum k = AnotherGrabOwnership k
+
+foreign import ccall "gdk_grab_ownership_get_type" c_gdk_grab_ownership_get_type :: 
+    IO GType
+
+instance BoxedEnum GrabOwnership where
+    boxedEnumType _ = c_gdk_grab_ownership_get_type
+
+-- Enum GrabStatus
+
+data GrabStatus = 
+      GrabStatusSuccess
+    | GrabStatusAlreadyGrabbed
+    | GrabStatusInvalidTime
+    | GrabStatusNotViewable
+    | GrabStatusFrozen
+    | GrabStatusFailed
+    | AnotherGrabStatus Int
+    deriving (Show, Eq)
+
+instance Enum GrabStatus where
+    fromEnum GrabStatusSuccess = 0
+    fromEnum GrabStatusAlreadyGrabbed = 1
+    fromEnum GrabStatusInvalidTime = 2
+    fromEnum GrabStatusNotViewable = 3
+    fromEnum GrabStatusFrozen = 4
+    fromEnum GrabStatusFailed = 5
+    fromEnum (AnotherGrabStatus k) = k
+
+    toEnum 0 = GrabStatusSuccess
+    toEnum 1 = GrabStatusAlreadyGrabbed
+    toEnum 2 = GrabStatusInvalidTime
+    toEnum 3 = GrabStatusNotViewable
+    toEnum 4 = GrabStatusFrozen
+    toEnum 5 = GrabStatusFailed
+    toEnum k = AnotherGrabStatus k
+
+foreign import ccall "gdk_grab_status_get_type" c_gdk_grab_status_get_type :: 
+    IO GType
+
+instance BoxedEnum GrabStatus where
+    boxedEnumType _ = c_gdk_grab_status_get_type
+
+-- Enum Gravity
+
+data Gravity = 
+      GravityNorthWest
+    | GravityNorth
+    | GravityNorthEast
+    | GravityWest
+    | GravityCenter
+    | GravityEast
+    | GravitySouthWest
+    | GravitySouth
+    | GravitySouthEast
+    | GravityStatic
+    | AnotherGravity Int
+    deriving (Show, Eq)
+
+instance Enum Gravity where
+    fromEnum GravityNorthWest = 1
+    fromEnum GravityNorth = 2
+    fromEnum GravityNorthEast = 3
+    fromEnum GravityWest = 4
+    fromEnum GravityCenter = 5
+    fromEnum GravityEast = 6
+    fromEnum GravitySouthWest = 7
+    fromEnum GravitySouth = 8
+    fromEnum GravitySouthEast = 9
+    fromEnum GravityStatic = 10
+    fromEnum (AnotherGravity k) = k
+
+    toEnum 1 = GravityNorthWest
+    toEnum 2 = GravityNorth
+    toEnum 3 = GravityNorthEast
+    toEnum 4 = GravityWest
+    toEnum 5 = GravityCenter
+    toEnum 6 = GravityEast
+    toEnum 7 = GravitySouthWest
+    toEnum 8 = GravitySouth
+    toEnum 9 = GravitySouthEast
+    toEnum 10 = GravityStatic
+    toEnum k = AnotherGravity k
+
+foreign import ccall "gdk_gravity_get_type" c_gdk_gravity_get_type :: 
+    IO GType
+
+instance BoxedEnum Gravity where
+    boxedEnumType _ = c_gdk_gravity_get_type
+
+-- Enum InputMode
+
+data InputMode = 
+      InputModeDisabled
+    | InputModeScreen
+    | InputModeWindow
+    | AnotherInputMode Int
+    deriving (Show, Eq)
+
+instance Enum InputMode where
+    fromEnum InputModeDisabled = 0
+    fromEnum InputModeScreen = 1
+    fromEnum InputModeWindow = 2
+    fromEnum (AnotherInputMode k) = k
+
+    toEnum 0 = InputModeDisabled
+    toEnum 1 = InputModeScreen
+    toEnum 2 = InputModeWindow
+    toEnum k = AnotherInputMode k
+
+foreign import ccall "gdk_input_mode_get_type" c_gdk_input_mode_get_type :: 
+    IO GType
+
+instance BoxedEnum InputMode where
+    boxedEnumType _ = c_gdk_input_mode_get_type
+
+-- Enum InputSource
+
+data InputSource = 
+      InputSourceMouse
+    | InputSourcePen
+    | InputSourceEraser
+    | InputSourceCursor
+    | InputSourceKeyboard
+    | InputSourceTouchscreen
+    | InputSourceTouchpad
+    | AnotherInputSource Int
+    deriving (Show, Eq)
+
+instance Enum InputSource where
+    fromEnum InputSourceMouse = 0
+    fromEnum InputSourcePen = 1
+    fromEnum InputSourceEraser = 2
+    fromEnum InputSourceCursor = 3
+    fromEnum InputSourceKeyboard = 4
+    fromEnum InputSourceTouchscreen = 5
+    fromEnum InputSourceTouchpad = 6
+    fromEnum (AnotherInputSource k) = k
+
+    toEnum 0 = InputSourceMouse
+    toEnum 1 = InputSourcePen
+    toEnum 2 = InputSourceEraser
+    toEnum 3 = InputSourceCursor
+    toEnum 4 = InputSourceKeyboard
+    toEnum 5 = InputSourceTouchscreen
+    toEnum 6 = InputSourceTouchpad
+    toEnum k = AnotherInputSource k
+
+foreign import ccall "gdk_input_source_get_type" c_gdk_input_source_get_type :: 
+    IO GType
+
+instance BoxedEnum InputSource where
+    boxedEnumType _ = c_gdk_input_source_get_type
+
+-- object Keymap 
+newtype Keymap = Keymap (ForeignPtr Keymap)
+noKeymap :: Maybe Keymap
+noKeymap = Nothing
+
+foreign import ccall "gdk_keymap_get_type"
+    c_gdk_keymap_get_type :: IO GType
+
+type instance ParentTypes Keymap = '[GObject.Object]
+
+instance GObject Keymap where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gdk_keymap_get_type
+    
+
+class GObject o => KeymapK o
+instance (GObject o, IsDescendantOf Keymap o) => KeymapK o
+
+toKeymap :: KeymapK o => o -> IO Keymap
+toKeymap = unsafeCastTo Keymap
+
+-- method Keymap::add_virtual_modifiers
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TInterface "Gdk" "ModifierType", direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TInterface "Gdk" "ModifierType", direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keymap_add_virtual_modifiers" gdk_keymap_add_virtual_modifiers :: 
+    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
+    Ptr CUInt ->                            -- state : TInterface "Gdk" "ModifierType"
+    IO ()
+
+
+keymapAddVirtualModifiers ::
+    (MonadIO m, KeymapK a) =>
+    a ->                                    -- _obj
+    [ModifierType] ->                       -- state
+    m ([ModifierType])
+keymapAddVirtualModifiers _obj state = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let state' = gflagsToWord state
+    state'' <- allocMem :: IO (Ptr CUInt)
+    poke state'' state'
+    gdk_keymap_add_virtual_modifiers _obj' state''
+    state''' <- peek state''
+    let state'''' = wordToGFlags state'''
+    touchManagedPtr _obj
+    freeMem state''
+    return state''''
+
+-- method Keymap::get_caps_lock_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keymap_get_caps_lock_state" gdk_keymap_get_caps_lock_state :: 
+    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
+    IO CInt
+
+
+keymapGetCapsLockState ::
+    (MonadIO m, KeymapK a) =>
+    a ->                                    -- _obj
+    m Bool
+keymapGetCapsLockState _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_keymap_get_caps_lock_state _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Keymap::get_direction
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Pango" "Direction"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keymap_get_direction" gdk_keymap_get_direction :: 
+    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
+    IO CUInt
+
+
+keymapGetDirection ::
+    (MonadIO m, KeymapK a) =>
+    a ->                                    -- _obj
+    m Pango.Direction
+keymapGetDirection _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_keymap_get_direction _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Keymap::get_entries_for_keycode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hardware_keycode", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keys", argType = TCArray False (-1) 4 (TInterface "Gdk" "KeymapKey"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "keyvals", argType = TCArray False (-1) 4 (TBasicType TUInt32), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_entries", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : [Arg {argName = "n_entries", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_entries", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hardware_keycode", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keymap_get_entries_for_keycode" gdk_keymap_get_entries_for_keycode :: 
+    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
+    Word32 ->                               -- hardware_keycode : TBasicType TUInt32
+    Ptr (Ptr KeymapKey) ->                  -- keys : TCArray False (-1) 4 (TInterface "Gdk" "KeymapKey")
+    Ptr (Ptr Word32) ->                     -- keyvals : TCArray False (-1) 4 (TBasicType TUInt32)
+    Ptr Int32 ->                            -- n_entries : TBasicType TInt32
+    IO CInt
+
+
+keymapGetEntriesForKeycode ::
+    (MonadIO m, KeymapK a) =>
+    a ->                                    -- _obj
+    Word32 ->                               -- hardware_keycode
+    m (Bool,[KeymapKey],[Word32])
+keymapGetEntriesForKeycode _obj hardware_keycode = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    keys <- allocMem :: IO (Ptr (Ptr KeymapKey))
+    keyvals <- allocMem :: IO (Ptr (Ptr Word32))
+    n_entries <- allocMem :: IO (Ptr Int32)
+    result <- gdk_keymap_get_entries_for_keycode _obj' hardware_keycode keys keyvals n_entries
+    n_entries' <- peek n_entries
+    let result' = (/= 0) result
+    keys' <- peek keys
+    keys'' <- (unpackBlockArrayWithLength 12 n_entries') keys'
+    keys''' <- mapM (wrapPtr KeymapKey) keys''
+    freeMem keys'
+    keyvals' <- peek keyvals
+    keyvals'' <- (unpackStorableArrayWithLength n_entries') keyvals'
+    freeMem keyvals'
+    touchManagedPtr _obj
+    freeMem keys
+    freeMem keyvals
+    freeMem n_entries
+    return (result', keys''', keyvals'')
+
+-- method Keymap::get_entries_for_keyval
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keys", argType = TCArray False (-1) 3 (TInterface "Gdk" "KeymapKey"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_keys", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : [Arg {argName = "n_keys", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keymap_get_entries_for_keyval" gdk_keymap_get_entries_for_keyval :: 
+    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
+    Word32 ->                               -- keyval : TBasicType TUInt32
+    Ptr (Ptr KeymapKey) ->                  -- keys : TCArray False (-1) 3 (TInterface "Gdk" "KeymapKey")
+    Ptr Int32 ->                            -- n_keys : TBasicType TInt32
+    IO CInt
+
+
+keymapGetEntriesForKeyval ::
+    (MonadIO m, KeymapK a) =>
+    a ->                                    -- _obj
+    Word32 ->                               -- keyval
+    m (Bool,[KeymapKey])
+keymapGetEntriesForKeyval _obj keyval = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    keys <- allocMem :: IO (Ptr (Ptr KeymapKey))
+    n_keys <- allocMem :: IO (Ptr Int32)
+    result <- gdk_keymap_get_entries_for_keyval _obj' keyval keys n_keys
+    n_keys' <- peek n_keys
+    let result' = (/= 0) result
+    keys' <- peek keys
+    keys'' <- (unpackBlockArrayWithLength 12 n_keys') keys'
+    keys''' <- mapM (wrapPtr KeymapKey) keys''
+    freeMem keys'
+    touchManagedPtr _obj
+    freeMem keys
+    freeMem n_keys
+    return (result', keys''')
+
+-- method Keymap::get_modifier_mask
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "intent", argType = TInterface "Gdk" "ModifierIntent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "intent", argType = TInterface "Gdk" "ModifierIntent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "ModifierType"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keymap_get_modifier_mask" gdk_keymap_get_modifier_mask :: 
+    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
+    CUInt ->                                -- intent : TInterface "Gdk" "ModifierIntent"
+    IO CUInt
+
+
+keymapGetModifierMask ::
+    (MonadIO m, KeymapK a) =>
+    a ->                                    -- _obj
+    ModifierIntent ->                       -- intent
+    m [ModifierType]
+keymapGetModifierMask _obj intent = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let intent' = (fromIntegral . fromEnum) intent
+    result <- gdk_keymap_get_modifier_mask _obj' intent'
+    let result' = wordToGFlags result
+    touchManagedPtr _obj
+    return result'
+
+-- method Keymap::get_modifier_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keymap_get_modifier_state" gdk_keymap_get_modifier_state :: 
+    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
+    IO Word32
+
+
+keymapGetModifierState ::
+    (MonadIO m, KeymapK a) =>
+    a ->                                    -- _obj
+    m Word32
+keymapGetModifierState _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_keymap_get_modifier_state _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method Keymap::get_num_lock_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keymap_get_num_lock_state" gdk_keymap_get_num_lock_state :: 
+    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
+    IO CInt
+
+
+keymapGetNumLockState ::
+    (MonadIO m, KeymapK a) =>
+    a ->                                    -- _obj
+    m Bool
+keymapGetNumLockState _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_keymap_get_num_lock_state _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Keymap::get_scroll_lock_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keymap_get_scroll_lock_state" gdk_keymap_get_scroll_lock_state :: 
+    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
+    IO CInt
+
+
+keymapGetScrollLockState ::
+    (MonadIO m, KeymapK a) =>
+    a ->                                    -- _obj
+    m Bool
+keymapGetScrollLockState _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_keymap_get_scroll_lock_state _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Keymap::have_bidi_layouts
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keymap_have_bidi_layouts" gdk_keymap_have_bidi_layouts :: 
+    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
+    IO CInt
+
+
+keymapHaveBidiLayouts ::
+    (MonadIO m, KeymapK a) =>
+    a ->                                    -- _obj
+    m Bool
+keymapHaveBidiLayouts _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_keymap_have_bidi_layouts _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Keymap::lookup_key
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TInterface "Gdk" "KeymapKey", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TInterface "Gdk" "KeymapKey", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keymap_lookup_key" gdk_keymap_lookup_key :: 
+    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
+    Ptr KeymapKey ->                        -- key : TInterface "Gdk" "KeymapKey"
+    IO Word32
+
+
+keymapLookupKey ::
+    (MonadIO m, KeymapK a) =>
+    a ->                                    -- _obj
+    KeymapKey ->                            -- key
+    m Word32
+keymapLookupKey _obj key = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let key' = unsafeManagedPtrGetPtr key
+    result <- gdk_keymap_lookup_key _obj' key'
+    touchManagedPtr _obj
+    touchManagedPtr key
+    return result
+
+-- method Keymap::map_virtual_modifiers
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TInterface "Gdk" "ModifierType", direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TInterface "Gdk" "ModifierType", direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keymap_map_virtual_modifiers" gdk_keymap_map_virtual_modifiers :: 
+    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
+    Ptr CUInt ->                            -- state : TInterface "Gdk" "ModifierType"
+    IO CInt
+
+
+keymapMapVirtualModifiers ::
+    (MonadIO m, KeymapK a) =>
+    a ->                                    -- _obj
+    [ModifierType] ->                       -- state
+    m (Bool,[ModifierType])
+keymapMapVirtualModifiers _obj state = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let state' = gflagsToWord state
+    state'' <- allocMem :: IO (Ptr CUInt)
+    poke state'' state'
+    result <- gdk_keymap_map_virtual_modifiers _obj' state''
+    let result' = (/= 0) result
+    state''' <- peek state''
+    let state'''' = wordToGFlags state'''
+    touchManagedPtr _obj
+    freeMem state''
+    return (result', state'''')
+
+-- method Keymap::translate_keyboard_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hardware_keycode", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "group", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "effective_group", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "level", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "consumed_modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hardware_keycode", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "group", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keymap_translate_keyboard_state" gdk_keymap_translate_keyboard_state :: 
+    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
+    Word32 ->                               -- hardware_keycode : TBasicType TUInt32
+    CUInt ->                                -- state : TInterface "Gdk" "ModifierType"
+    Int32 ->                                -- group : TBasicType TInt32
+    Ptr Word32 ->                           -- keyval : TBasicType TUInt32
+    Ptr Int32 ->                            -- effective_group : TBasicType TInt32
+    Ptr Int32 ->                            -- level : TBasicType TInt32
+    Ptr CUInt ->                            -- consumed_modifiers : TInterface "Gdk" "ModifierType"
+    IO CInt
+
+
+keymapTranslateKeyboardState ::
+    (MonadIO m, KeymapK a) =>
+    a ->                                    -- _obj
+    Word32 ->                               -- hardware_keycode
+    [ModifierType] ->                       -- state
+    Int32 ->                                -- group
+    m (Bool,Word32,Int32,Int32,[ModifierType])
+keymapTranslateKeyboardState _obj hardware_keycode state group = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let state' = gflagsToWord state
+    keyval <- allocMem :: IO (Ptr Word32)
+    effective_group <- allocMem :: IO (Ptr Int32)
+    level <- allocMem :: IO (Ptr Int32)
+    consumed_modifiers <- allocMem :: IO (Ptr CUInt)
+    result <- gdk_keymap_translate_keyboard_state _obj' hardware_keycode state' group keyval effective_group level consumed_modifiers
+    let result' = (/= 0) result
+    keyval' <- peek keyval
+    effective_group' <- peek effective_group
+    level' <- peek level
+    consumed_modifiers' <- peek consumed_modifiers
+    let consumed_modifiers'' = wordToGFlags consumed_modifiers'
+    touchManagedPtr _obj
+    freeMem keyval
+    freeMem effective_group
+    freeMem level
+    freeMem consumed_modifiers
+    return (result', keyval', effective_group', level', consumed_modifiers'')
+
+-- method Keymap::get_default
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TInterface "Gdk" "Keymap"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keymap_get_default" gdk_keymap_get_default :: 
+    IO (Ptr Keymap)
+
+
+keymapGetDefault ::
+    (MonadIO m) =>
+    m Keymap
+keymapGetDefault  = liftIO $ do
+    result <- gdk_keymap_get_default
+    checkUnexpectedReturnNULL "gdk_keymap_get_default" result
+    result' <- (newObject Keymap) result
+    return result'
+
+-- method Keymap::get_for_display
+-- method type : MemberFunction
+-- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Keymap"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keymap_get_for_display" gdk_keymap_get_for_display :: 
+    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
+    IO (Ptr Keymap)
+
+
+keymapGetForDisplay ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- display
+    m Keymap
+keymapGetForDisplay display = liftIO $ do
+    let display' = unsafeManagedPtrCastPtr display
+    result <- gdk_keymap_get_for_display display'
+    checkUnexpectedReturnNULL "gdk_keymap_get_for_display" result
+    result' <- (newObject Keymap) result
+    touchManagedPtr display
+    return result'
+
+-- signal Keymap::direction-changed
+type KeymapDirectionChangedCallback =
+    IO ()
+
+noKeymapDirectionChangedCallback :: Maybe KeymapDirectionChangedCallback
+noKeymapDirectionChangedCallback = Nothing
+
+type KeymapDirectionChangedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkKeymapDirectionChangedCallback :: KeymapDirectionChangedCallbackC -> IO (FunPtr KeymapDirectionChangedCallbackC)
+
+keymapDirectionChangedClosure :: KeymapDirectionChangedCallback -> IO Closure
+keymapDirectionChangedClosure cb = newCClosure =<< mkKeymapDirectionChangedCallback wrapped
+    where wrapped = keymapDirectionChangedCallbackWrapper cb
+
+keymapDirectionChangedCallbackWrapper ::
+    KeymapDirectionChangedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+keymapDirectionChangedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onKeymapDirectionChanged :: (GObject a, MonadIO m) => a -> KeymapDirectionChangedCallback -> m SignalHandlerId
+onKeymapDirectionChanged obj cb = liftIO $ connectKeymapDirectionChanged obj cb SignalConnectBefore
+afterKeymapDirectionChanged :: (GObject a, MonadIO m) => a -> KeymapDirectionChangedCallback -> m SignalHandlerId
+afterKeymapDirectionChanged obj cb = connectKeymapDirectionChanged obj cb SignalConnectAfter
+
+connectKeymapDirectionChanged :: (GObject a, MonadIO m) =>
+                                 a -> KeymapDirectionChangedCallback -> SignalConnectMode -> m SignalHandlerId
+connectKeymapDirectionChanged obj cb after = liftIO $ do
+    cb' <- mkKeymapDirectionChangedCallback (keymapDirectionChangedCallbackWrapper cb)
+    connectSignalFunPtr obj "direction-changed" cb' after
+
+-- signal Keymap::keys-changed
+type KeymapKeysChangedCallback =
+    IO ()
+
+noKeymapKeysChangedCallback :: Maybe KeymapKeysChangedCallback
+noKeymapKeysChangedCallback = Nothing
+
+type KeymapKeysChangedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkKeymapKeysChangedCallback :: KeymapKeysChangedCallbackC -> IO (FunPtr KeymapKeysChangedCallbackC)
+
+keymapKeysChangedClosure :: KeymapKeysChangedCallback -> IO Closure
+keymapKeysChangedClosure cb = newCClosure =<< mkKeymapKeysChangedCallback wrapped
+    where wrapped = keymapKeysChangedCallbackWrapper cb
+
+keymapKeysChangedCallbackWrapper ::
+    KeymapKeysChangedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+keymapKeysChangedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onKeymapKeysChanged :: (GObject a, MonadIO m) => a -> KeymapKeysChangedCallback -> m SignalHandlerId
+onKeymapKeysChanged obj cb = liftIO $ connectKeymapKeysChanged obj cb SignalConnectBefore
+afterKeymapKeysChanged :: (GObject a, MonadIO m) => a -> KeymapKeysChangedCallback -> m SignalHandlerId
+afterKeymapKeysChanged obj cb = connectKeymapKeysChanged obj cb SignalConnectAfter
+
+connectKeymapKeysChanged :: (GObject a, MonadIO m) =>
+                            a -> KeymapKeysChangedCallback -> SignalConnectMode -> m SignalHandlerId
+connectKeymapKeysChanged obj cb after = liftIO $ do
+    cb' <- mkKeymapKeysChangedCallback (keymapKeysChangedCallbackWrapper cb)
+    connectSignalFunPtr obj "keys-changed" cb' after
+
+-- signal Keymap::state-changed
+type KeymapStateChangedCallback =
+    IO ()
+
+noKeymapStateChangedCallback :: Maybe KeymapStateChangedCallback
+noKeymapStateChangedCallback = Nothing
+
+type KeymapStateChangedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkKeymapStateChangedCallback :: KeymapStateChangedCallbackC -> IO (FunPtr KeymapStateChangedCallbackC)
+
+keymapStateChangedClosure :: KeymapStateChangedCallback -> IO Closure
+keymapStateChangedClosure cb = newCClosure =<< mkKeymapStateChangedCallback wrapped
+    where wrapped = keymapStateChangedCallbackWrapper cb
+
+keymapStateChangedCallbackWrapper ::
+    KeymapStateChangedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+keymapStateChangedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onKeymapStateChanged :: (GObject a, MonadIO m) => a -> KeymapStateChangedCallback -> m SignalHandlerId
+onKeymapStateChanged obj cb = liftIO $ connectKeymapStateChanged obj cb SignalConnectBefore
+afterKeymapStateChanged :: (GObject a, MonadIO m) => a -> KeymapStateChangedCallback -> m SignalHandlerId
+afterKeymapStateChanged obj cb = connectKeymapStateChanged obj cb SignalConnectAfter
+
+connectKeymapStateChanged :: (GObject a, MonadIO m) =>
+                             a -> KeymapStateChangedCallback -> SignalConnectMode -> m SignalHandlerId
+connectKeymapStateChanged obj cb after = liftIO $ do
+    cb' <- mkKeymapStateChangedCallback (keymapStateChangedCallbackWrapper cb)
+    connectSignalFunPtr obj "state-changed" cb' after
+
+-- struct KeymapKey
+newtype KeymapKey = KeymapKey (ForeignPtr KeymapKey)
+noKeymapKey :: Maybe KeymapKey
+noKeymapKey = Nothing
+
+keymapKeyReadKeycode :: KeymapKey -> IO Word32
+keymapKeyReadKeycode s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO Word32
+    return val
+
+keymapKeyReadGroup :: KeymapKey -> IO Int32
+keymapKeyReadGroup s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 4) :: IO Int32
+    return val
+
+keymapKeyReadLevel :: KeymapKey -> IO Int32
+keymapKeyReadLevel s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO Int32
+    return val
+
+-- Enum ModifierIntent
+
+data ModifierIntent = 
+      ModifierIntentPrimaryAccelerator
+    | ModifierIntentContextMenu
+    | ModifierIntentExtendSelection
+    | ModifierIntentModifySelection
+    | ModifierIntentNoTextInput
+    | ModifierIntentShiftGroup
+    | ModifierIntentDefaultModMask
+    | AnotherModifierIntent Int
+    deriving (Show, Eq)
+
+instance Enum ModifierIntent where
+    fromEnum ModifierIntentPrimaryAccelerator = 0
+    fromEnum ModifierIntentContextMenu = 1
+    fromEnum ModifierIntentExtendSelection = 2
+    fromEnum ModifierIntentModifySelection = 3
+    fromEnum ModifierIntentNoTextInput = 4
+    fromEnum ModifierIntentShiftGroup = 5
+    fromEnum ModifierIntentDefaultModMask = 6
+    fromEnum (AnotherModifierIntent k) = k
+
+    toEnum 0 = ModifierIntentPrimaryAccelerator
+    toEnum 1 = ModifierIntentContextMenu
+    toEnum 2 = ModifierIntentExtendSelection
+    toEnum 3 = ModifierIntentModifySelection
+    toEnum 4 = ModifierIntentNoTextInput
+    toEnum 5 = ModifierIntentShiftGroup
+    toEnum 6 = ModifierIntentDefaultModMask
+    toEnum k = AnotherModifierIntent k
+
+foreign import ccall "gdk_modifier_intent_get_type" c_gdk_modifier_intent_get_type :: 
+    IO GType
+
+instance BoxedEnum ModifierIntent where
+    boxedEnumType _ = c_gdk_modifier_intent_get_type
+
+-- Flags ModifierType
+
+data ModifierType = 
+      ModifierTypeShiftMask
+    | ModifierTypeLockMask
+    | ModifierTypeControlMask
+    | ModifierTypeMod1Mask
+    | ModifierTypeMod2Mask
+    | ModifierTypeMod3Mask
+    | ModifierTypeMod4Mask
+    | ModifierTypeMod5Mask
+    | ModifierTypeButton1Mask
+    | ModifierTypeButton2Mask
+    | ModifierTypeButton3Mask
+    | ModifierTypeButton4Mask
+    | ModifierTypeButton5Mask
+    | ModifierTypeModifierReserved13Mask
+    | ModifierTypeModifierReserved14Mask
+    | ModifierTypeModifierReserved15Mask
+    | ModifierTypeModifierReserved16Mask
+    | ModifierTypeModifierReserved17Mask
+    | ModifierTypeModifierReserved18Mask
+    | ModifierTypeModifierReserved19Mask
+    | ModifierTypeModifierReserved20Mask
+    | ModifierTypeModifierReserved21Mask
+    | ModifierTypeModifierReserved22Mask
+    | ModifierTypeModifierReserved23Mask
+    | ModifierTypeModifierReserved24Mask
+    | ModifierTypeModifierReserved25Mask
+    | ModifierTypeSuperMask
+    | ModifierTypeHyperMask
+    | ModifierTypeMetaMask
+    | ModifierTypeModifierReserved29Mask
+    | ModifierTypeReleaseMask
+    | ModifierTypeModifierMask
+    | AnotherModifierType Int
+    deriving (Show, Eq)
+
+instance Enum ModifierType where
+    fromEnum ModifierTypeShiftMask = 1
+    fromEnum ModifierTypeLockMask = 2
+    fromEnum ModifierTypeControlMask = 4
+    fromEnum ModifierTypeMod1Mask = 8
+    fromEnum ModifierTypeMod2Mask = 16
+    fromEnum ModifierTypeMod3Mask = 32
+    fromEnum ModifierTypeMod4Mask = 64
+    fromEnum ModifierTypeMod5Mask = 128
+    fromEnum ModifierTypeButton1Mask = 256
+    fromEnum ModifierTypeButton2Mask = 512
+    fromEnum ModifierTypeButton3Mask = 1024
+    fromEnum ModifierTypeButton4Mask = 2048
+    fromEnum ModifierTypeButton5Mask = 4096
+    fromEnum ModifierTypeModifierReserved13Mask = 8192
+    fromEnum ModifierTypeModifierReserved14Mask = 16384
+    fromEnum ModifierTypeModifierReserved15Mask = 32768
+    fromEnum ModifierTypeModifierReserved16Mask = 65536
+    fromEnum ModifierTypeModifierReserved17Mask = 131072
+    fromEnum ModifierTypeModifierReserved18Mask = 262144
+    fromEnum ModifierTypeModifierReserved19Mask = 524288
+    fromEnum ModifierTypeModifierReserved20Mask = 1048576
+    fromEnum ModifierTypeModifierReserved21Mask = 2097152
+    fromEnum ModifierTypeModifierReserved22Mask = 4194304
+    fromEnum ModifierTypeModifierReserved23Mask = 8388608
+    fromEnum ModifierTypeModifierReserved24Mask = 16777216
+    fromEnum ModifierTypeModifierReserved25Mask = 33554432
+    fromEnum ModifierTypeSuperMask = 67108864
+    fromEnum ModifierTypeHyperMask = 134217728
+    fromEnum ModifierTypeMetaMask = 268435456
+    fromEnum ModifierTypeModifierReserved29Mask = 536870912
+    fromEnum ModifierTypeReleaseMask = 1073741824
+    fromEnum ModifierTypeModifierMask = 1543512063
+    fromEnum (AnotherModifierType k) = k
+
+    toEnum 1 = ModifierTypeShiftMask
+    toEnum 2 = ModifierTypeLockMask
+    toEnum 4 = ModifierTypeControlMask
+    toEnum 8 = ModifierTypeMod1Mask
+    toEnum 16 = ModifierTypeMod2Mask
+    toEnum 32 = ModifierTypeMod3Mask
+    toEnum 64 = ModifierTypeMod4Mask
+    toEnum 128 = ModifierTypeMod5Mask
+    toEnum 256 = ModifierTypeButton1Mask
+    toEnum 512 = ModifierTypeButton2Mask
+    toEnum 1024 = ModifierTypeButton3Mask
+    toEnum 2048 = ModifierTypeButton4Mask
+    toEnum 4096 = ModifierTypeButton5Mask
+    toEnum 8192 = ModifierTypeModifierReserved13Mask
+    toEnum 16384 = ModifierTypeModifierReserved14Mask
+    toEnum 32768 = ModifierTypeModifierReserved15Mask
+    toEnum 65536 = ModifierTypeModifierReserved16Mask
+    toEnum 131072 = ModifierTypeModifierReserved17Mask
+    toEnum 262144 = ModifierTypeModifierReserved18Mask
+    toEnum 524288 = ModifierTypeModifierReserved19Mask
+    toEnum 1048576 = ModifierTypeModifierReserved20Mask
+    toEnum 2097152 = ModifierTypeModifierReserved21Mask
+    toEnum 4194304 = ModifierTypeModifierReserved22Mask
+    toEnum 8388608 = ModifierTypeModifierReserved23Mask
+    toEnum 16777216 = ModifierTypeModifierReserved24Mask
+    toEnum 33554432 = ModifierTypeModifierReserved25Mask
+    toEnum 67108864 = ModifierTypeSuperMask
+    toEnum 134217728 = ModifierTypeHyperMask
+    toEnum 268435456 = ModifierTypeMetaMask
+    toEnum 536870912 = ModifierTypeModifierReserved29Mask
+    toEnum 1073741824 = ModifierTypeReleaseMask
+    toEnum 1543512063 = ModifierTypeModifierMask
+    toEnum k = AnotherModifierType k
+
+foreign import ccall "gdk_modifier_type_get_type" c_gdk_modifier_type_get_type :: 
+    IO GType
+
+instance BoxedEnum ModifierType where
+    boxedEnumType _ = c_gdk_modifier_type_get_type
+
+instance IsGFlag ModifierType
+
+-- Enum NotifyType
+
+data NotifyType = 
+      NotifyTypeAncestor
+    | NotifyTypeVirtual
+    | NotifyTypeInferior
+    | NotifyTypeNonlinear
+    | NotifyTypeNonlinearVirtual
+    | NotifyTypeUnknown
+    | AnotherNotifyType Int
+    deriving (Show, Eq)
+
+instance Enum NotifyType where
+    fromEnum NotifyTypeAncestor = 0
+    fromEnum NotifyTypeVirtual = 1
+    fromEnum NotifyTypeInferior = 2
+    fromEnum NotifyTypeNonlinear = 3
+    fromEnum NotifyTypeNonlinearVirtual = 4
+    fromEnum NotifyTypeUnknown = 5
+    fromEnum (AnotherNotifyType k) = k
+
+    toEnum 0 = NotifyTypeAncestor
+    toEnum 1 = NotifyTypeVirtual
+    toEnum 2 = NotifyTypeInferior
+    toEnum 3 = NotifyTypeNonlinear
+    toEnum 4 = NotifyTypeNonlinearVirtual
+    toEnum 5 = NotifyTypeUnknown
+    toEnum k = AnotherNotifyType k
+
+foreign import ccall "gdk_notify_type_get_type" c_gdk_notify_type_get_type :: 
+    IO GType
+
+instance BoxedEnum NotifyType where
+    boxedEnumType _ = c_gdk_notify_type_get_type
+
+-- Enum OwnerChange
+
+data OwnerChange = 
+      OwnerChangeNewOwner
+    | OwnerChangeDestroy
+    | OwnerChangeClose
+    | AnotherOwnerChange Int
+    deriving (Show, Eq)
+
+instance Enum OwnerChange where
+    fromEnum OwnerChangeNewOwner = 0
+    fromEnum OwnerChangeDestroy = 1
+    fromEnum OwnerChangeClose = 2
+    fromEnum (AnotherOwnerChange k) = k
+
+    toEnum 0 = OwnerChangeNewOwner
+    toEnum 1 = OwnerChangeDestroy
+    toEnum 2 = OwnerChangeClose
+    toEnum k = AnotherOwnerChange k
+
+foreign import ccall "gdk_owner_change_get_type" c_gdk_owner_change_get_type :: 
+    IO GType
+
+instance BoxedEnum OwnerChange where
+    boxedEnumType _ = c_gdk_owner_change_get_type
+
+-- struct Point
+newtype Point = Point (ForeignPtr Point)
+noPoint :: Maybe Point
+noPoint = Nothing
+
+pointReadX :: Point -> IO Int32
+pointReadX s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO Int32
+    return val
+
+pointReadY :: Point -> IO Int32
+pointReadY s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 4) :: IO Int32
+    return val
+
+-- Enum PropMode
+
+data PropMode = 
+      PropModeReplace
+    | PropModePrepend
+    | PropModeAppend
+    | AnotherPropMode Int
+    deriving (Show, Eq)
+
+instance Enum PropMode where
+    fromEnum PropModeReplace = 0
+    fromEnum PropModePrepend = 1
+    fromEnum PropModeAppend = 2
+    fromEnum (AnotherPropMode k) = k
+
+    toEnum 0 = PropModeReplace
+    toEnum 1 = PropModePrepend
+    toEnum 2 = PropModeAppend
+    toEnum k = AnotherPropMode k
+
+foreign import ccall "gdk_prop_mode_get_type" c_gdk_prop_mode_get_type :: 
+    IO GType
+
+instance BoxedEnum PropMode where
+    boxedEnumType _ = c_gdk_prop_mode_get_type
+
+-- Enum PropertyState
+
+data PropertyState = 
+      PropertyStateNewValue
+    | PropertyStateDelete
+    | AnotherPropertyState Int
+    deriving (Show, Eq)
+
+instance Enum PropertyState where
+    fromEnum PropertyStateNewValue = 0
+    fromEnum PropertyStateDelete = 1
+    fromEnum (AnotherPropertyState k) = k
+
+    toEnum 0 = PropertyStateNewValue
+    toEnum 1 = PropertyStateDelete
+    toEnum k = AnotherPropertyState k
+
+foreign import ccall "gdk_property_state_get_type" c_gdk_property_state_get_type :: 
+    IO GType
+
+instance BoxedEnum PropertyState where
+    boxedEnumType _ = c_gdk_property_state_get_type
+
+-- struct RGBA
+newtype RGBA = RGBA (ForeignPtr RGBA)
+noRGBA :: Maybe RGBA
+noRGBA = Nothing
+
+foreign import ccall "gdk_rgba_get_type" c_gdk_rgba_get_type :: 
+    IO GType
+
+instance BoxedObject RGBA where
+    boxedType _ = c_gdk_rgba_get_type
+
+rGBAReadRed :: RGBA -> IO Double
+rGBAReadRed s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+rGBAReadGreen :: RGBA -> IO Double
+rGBAReadGreen s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+rGBAReadBlue :: RGBA -> IO Double
+rGBAReadBlue s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+rGBAReadAlpha :: RGBA -> IO Double
+rGBAReadAlpha s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO CDouble
+    let val' = realToFrac val
+    return val'
+
+-- method RGBA::copy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "RGBA"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_rgba_copy" gdk_rgba_copy :: 
+    Ptr RGBA ->                             -- _obj : TInterface "Gdk" "RGBA"
+    IO (Ptr RGBA)
+
+
+rGBACopy ::
+    (MonadIO m) =>
+    RGBA ->                                 -- _obj
+    m RGBA
+rGBACopy _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_rgba_copy _obj'
+    checkUnexpectedReturnNULL "gdk_rgba_copy" result
+    result' <- (wrapBoxed RGBA) result
+    touchManagedPtr _obj
+    return result'
+
+-- method RGBA::equal
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "p2", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "p2", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_rgba_equal" gdk_rgba_equal :: 
+    Ptr RGBA ->                             -- _obj : TInterface "Gdk" "RGBA"
+    Ptr RGBA ->                             -- p2 : TInterface "Gdk" "RGBA"
+    IO CInt
+
+
+rGBAEqual ::
+    (MonadIO m) =>
+    RGBA ->                                 -- _obj
+    RGBA ->                                 -- p2
+    m Bool
+rGBAEqual _obj p2 = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    let p2' = unsafeManagedPtrGetPtr p2
+    result <- gdk_rgba_equal _obj' p2'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    touchManagedPtr p2
+    return result'
+
+-- method RGBA::free
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_rgba_free" gdk_rgba_free :: 
+    Ptr RGBA ->                             -- _obj : TInterface "Gdk" "RGBA"
+    IO ()
+
+
+rGBAFree ::
+    (MonadIO m) =>
+    RGBA ->                                 -- _obj
+    m ()
+rGBAFree _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    gdk_rgba_free _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method RGBA::hash
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_rgba_hash" gdk_rgba_hash :: 
+    Ptr RGBA ->                             -- _obj : TInterface "Gdk" "RGBA"
+    IO Word32
+
+
+rGBAHash ::
+    (MonadIO m) =>
+    RGBA ->                                 -- _obj
+    m Word32
+rGBAHash _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_rgba_hash _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method RGBA::parse
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_rgba_parse" gdk_rgba_parse :: 
+    Ptr RGBA ->                             -- _obj : TInterface "Gdk" "RGBA"
+    CString ->                              -- spec : TBasicType TUTF8
+    IO CInt
+
+
+rGBAParse ::
+    (MonadIO m) =>
+    RGBA ->                                 -- _obj
+    T.Text ->                               -- spec
+    m Bool
+rGBAParse _obj spec = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    spec' <- textToCString spec
+    result <- gdk_rgba_parse _obj' spec'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    freeMem spec'
+    return result'
+
+-- method RGBA::to_string
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_rgba_to_string" gdk_rgba_to_string :: 
+    Ptr RGBA ->                             -- _obj : TInterface "Gdk" "RGBA"
+    IO CString
+
+
+rGBAToString ::
+    (MonadIO m) =>
+    RGBA ->                                 -- _obj
+    m T.Text
+rGBAToString _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    result <- gdk_rgba_to_string _obj'
+    checkUnexpectedReturnNULL "gdk_rgba_to_string" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr _obj
+    return result'
+
+-- struct Rectangle
+newtype Rectangle = Rectangle (ForeignPtr Rectangle)
+noRectangle :: Maybe Rectangle
+noRectangle = Nothing
+
+foreign import ccall "gdk_rectangle_get_type" c_gdk_rectangle_get_type :: 
+    IO GType
+
+instance BoxedObject Rectangle where
+    boxedType _ = c_gdk_rectangle_get_type
+
+rectangleReadX :: Rectangle -> IO Int32
+rectangleReadX s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO Int32
+    return val
+
+rectangleReadY :: Rectangle -> IO Int32
+rectangleReadY s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 4) :: IO Int32
+    return val
+
+rectangleReadWidth :: Rectangle -> IO Int32
+rectangleReadWidth s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO Int32
+    return val
+
+rectangleReadHeight :: Rectangle -> IO Int32
+rectangleReadHeight s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 12) :: IO Int32
+    return val
+
+-- method Rectangle::intersect
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Rectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src2", argType = TInterface "Gdk" "Rectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest", argType = TInterface "Gdk" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Rectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src2", argType = TInterface "Gdk" "Rectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_rectangle_intersect" gdk_rectangle_intersect :: 
+    Ptr Rectangle ->                        -- _obj : TInterface "Gdk" "Rectangle"
+    Ptr Rectangle ->                        -- src2 : TInterface "Gdk" "Rectangle"
+    Ptr Rectangle ->                        -- dest : TInterface "Gdk" "Rectangle"
+    IO CInt
+
+
+rectangleIntersect ::
+    (MonadIO m) =>
+    Rectangle ->                            -- _obj
+    Rectangle ->                            -- src2
+    m (Bool,Rectangle)
+rectangleIntersect _obj src2 = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    let src2' = unsafeManagedPtrGetPtr src2
+    dest <- callocBoxedBytes 16 :: IO (Ptr Rectangle)
+    result <- gdk_rectangle_intersect _obj' src2' dest
+    let result' = (/= 0) result
+    dest' <- (wrapBoxed Rectangle) dest
+    touchManagedPtr _obj
+    touchManagedPtr src2
+    return (result', dest')
+
+-- method Rectangle::union
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Rectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src2", argType = TInterface "Gdk" "Rectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest", argType = TInterface "Gdk" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Rectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src2", argType = TInterface "Gdk" "Rectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_rectangle_union" gdk_rectangle_union :: 
+    Ptr Rectangle ->                        -- _obj : TInterface "Gdk" "Rectangle"
+    Ptr Rectangle ->                        -- src2 : TInterface "Gdk" "Rectangle"
+    Ptr Rectangle ->                        -- dest : TInterface "Gdk" "Rectangle"
+    IO ()
+
+
+rectangleUnion ::
+    (MonadIO m) =>
+    Rectangle ->                            -- _obj
+    Rectangle ->                            -- src2
+    m (Rectangle)
+rectangleUnion _obj src2 = liftIO $ do
+    let _obj' = unsafeManagedPtrGetPtr _obj
+    let src2' = unsafeManagedPtrGetPtr src2
+    dest <- callocBoxedBytes 16 :: IO (Ptr Rectangle)
+    gdk_rectangle_union _obj' src2' dest
+    dest' <- (wrapBoxed Rectangle) dest
+    touchManagedPtr _obj
+    touchManagedPtr src2
+    return dest'
+
+-- object Screen 
+newtype Screen = Screen (ForeignPtr Screen)
+noScreen :: Maybe Screen
+noScreen = Nothing
+
+foreign import ccall "gdk_screen_get_type"
+    c_gdk_screen_get_type :: IO GType
+
+type instance ParentTypes Screen = '[GObject.Object]
+
+instance GObject Screen where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gdk_screen_get_type
+    
+
+class GObject o => ScreenK o
+instance (GObject o, IsDescendantOf Screen o) => ScreenK o
+
+toScreen :: ScreenK o => o -> IO Screen
+toScreen = unsafeCastTo Screen
+
+-- method Screen::get_active_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_active_window" gdk_screen_get_active_window :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    IO (Ptr Window)
+
+
+screenGetActiveWindow ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    m Window
+screenGetActiveWindow _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_get_active_window _obj'
+    checkUnexpectedReturnNULL "gdk_screen_get_active_window" result
+    result' <- (wrapObject Window) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Screen::get_display
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Display"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_display" gdk_screen_get_display :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    IO (Ptr Display)
+
+
+screenGetDisplay ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    m Display
+screenGetDisplay _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_get_display _obj'
+    checkUnexpectedReturnNULL "gdk_screen_get_display" result
+    result' <- (newObject Display) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Screen::get_font_options
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "cairo" "FontOptions"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_font_options" gdk_screen_get_font_options :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    IO (Ptr Cairo.FontOptions)
+
+
+screenGetFontOptions ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    m Cairo.FontOptions
+screenGetFontOptions _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_get_font_options _obj'
+    checkUnexpectedReturnNULL "gdk_screen_get_font_options" result
+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
+    result' <- (\x -> Cairo.FontOptions <$> newForeignPtr_ x) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Screen::get_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_height" gdk_screen_get_height :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    IO Int32
+
+
+screenGetHeight ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    m Int32
+screenGetHeight _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_get_height _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method Screen::get_height_mm
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_height_mm" gdk_screen_get_height_mm :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    IO Int32
+
+
+screenGetHeightMm ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    m Int32
+screenGetHeightMm _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_get_height_mm _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method Screen::get_monitor_at_point
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_monitor_at_point" gdk_screen_get_monitor_at_point :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    Int32 ->                                -- x : TBasicType TInt32
+    Int32 ->                                -- y : TBasicType TInt32
+    IO Int32
+
+
+screenGetMonitorAtPoint ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    Int32 ->                                -- x
+    Int32 ->                                -- y
+    m Int32
+screenGetMonitorAtPoint _obj x y = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_get_monitor_at_point _obj' x y
+    touchManagedPtr _obj
+    return result
+
+-- method Screen::get_monitor_at_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_monitor_at_window" gdk_screen_get_monitor_at_window :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
+    IO Int32
+
+
+screenGetMonitorAtWindow ::
+    (MonadIO m, ScreenK a, WindowK b) =>
+    a ->                                    -- _obj
+    b ->                                    -- window
+    m Int32
+screenGetMonitorAtWindow _obj window = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let window' = unsafeManagedPtrCastPtr window
+    result <- gdk_screen_get_monitor_at_window _obj' window'
+    touchManagedPtr _obj
+    touchManagedPtr window
+    return result
+
+-- method Screen::get_monitor_geometry
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest", argType = TInterface "Gdk" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_monitor_geometry" gdk_screen_get_monitor_geometry :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    Int32 ->                                -- monitor_num : TBasicType TInt32
+    Ptr Rectangle ->                        -- dest : TInterface "Gdk" "Rectangle"
+    IO ()
+
+
+screenGetMonitorGeometry ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    Int32 ->                                -- monitor_num
+    m (Rectangle)
+screenGetMonitorGeometry _obj monitor_num = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    dest <- callocBoxedBytes 16 :: IO (Ptr Rectangle)
+    gdk_screen_get_monitor_geometry _obj' monitor_num dest
+    dest' <- (wrapBoxed Rectangle) dest
+    touchManagedPtr _obj
+    return dest'
+
+-- method Screen::get_monitor_height_mm
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_monitor_height_mm" gdk_screen_get_monitor_height_mm :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    Int32 ->                                -- monitor_num : TBasicType TInt32
+    IO Int32
+
+
+screenGetMonitorHeightMm ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    Int32 ->                                -- monitor_num
+    m Int32
+screenGetMonitorHeightMm _obj monitor_num = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_get_monitor_height_mm _obj' monitor_num
+    touchManagedPtr _obj
+    return result
+
+-- method Screen::get_monitor_plug_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_monitor_plug_name" gdk_screen_get_monitor_plug_name :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    Int32 ->                                -- monitor_num : TBasicType TInt32
+    IO CString
+
+
+screenGetMonitorPlugName ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    Int32 ->                                -- monitor_num
+    m T.Text
+screenGetMonitorPlugName _obj monitor_num = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_get_monitor_plug_name _obj' monitor_num
+    checkUnexpectedReturnNULL "gdk_screen_get_monitor_plug_name" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr _obj
+    return result'
+
+-- method Screen::get_monitor_scale_factor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_monitor_scale_factor" gdk_screen_get_monitor_scale_factor :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    Int32 ->                                -- monitor_num : TBasicType TInt32
+    IO Int32
+
+
+screenGetMonitorScaleFactor ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    Int32 ->                                -- monitor_num
+    m Int32
+screenGetMonitorScaleFactor _obj monitor_num = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_get_monitor_scale_factor _obj' monitor_num
+    touchManagedPtr _obj
+    return result
+
+-- method Screen::get_monitor_width_mm
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_monitor_width_mm" gdk_screen_get_monitor_width_mm :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    Int32 ->                                -- monitor_num : TBasicType TInt32
+    IO Int32
+
+
+screenGetMonitorWidthMm ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    Int32 ->                                -- monitor_num
+    m Int32
+screenGetMonitorWidthMm _obj monitor_num = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_get_monitor_width_mm _obj' monitor_num
+    touchManagedPtr _obj
+    return result
+
+-- method Screen::get_monitor_workarea
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest", argType = TInterface "Gdk" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_monitor_workarea" gdk_screen_get_monitor_workarea :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    Int32 ->                                -- monitor_num : TBasicType TInt32
+    Ptr Rectangle ->                        -- dest : TInterface "Gdk" "Rectangle"
+    IO ()
+
+
+screenGetMonitorWorkarea ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    Int32 ->                                -- monitor_num
+    m (Rectangle)
+screenGetMonitorWorkarea _obj monitor_num = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    dest <- callocBoxedBytes 16 :: IO (Ptr Rectangle)
+    gdk_screen_get_monitor_workarea _obj' monitor_num dest
+    dest' <- (wrapBoxed Rectangle) dest
+    touchManagedPtr _obj
+    return dest'
+
+-- method Screen::get_n_monitors
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_n_monitors" gdk_screen_get_n_monitors :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    IO Int32
+
+
+screenGetNMonitors ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    m Int32
+screenGetNMonitors _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_get_n_monitors _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method Screen::get_number
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_number" gdk_screen_get_number :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    IO Int32
+
+
+screenGetNumber ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    m Int32
+screenGetNumber _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_get_number _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method Screen::get_primary_monitor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_primary_monitor" gdk_screen_get_primary_monitor :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    IO Int32
+
+
+screenGetPrimaryMonitor ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    m Int32
+screenGetPrimaryMonitor _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_get_primary_monitor _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method Screen::get_resolution
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TDouble
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_resolution" gdk_screen_get_resolution :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    IO CDouble
+
+
+screenGetResolution ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    m Double
+screenGetResolution _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_get_resolution _obj'
+    let result' = realToFrac result
+    touchManagedPtr _obj
+    return result'
+
+-- method Screen::get_rgba_visual
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Visual"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_rgba_visual" gdk_screen_get_rgba_visual :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    IO (Ptr Visual)
+
+
+screenGetRgbaVisual ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    m Visual
+screenGetRgbaVisual _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_get_rgba_visual _obj'
+    checkUnexpectedReturnNULL "gdk_screen_get_rgba_visual" result
+    result' <- (newObject Visual) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Screen::get_root_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_root_window" gdk_screen_get_root_window :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    IO (Ptr Window)
+
+
+screenGetRootWindow ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    m Window
+screenGetRootWindow _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_get_root_window _obj'
+    checkUnexpectedReturnNULL "gdk_screen_get_root_window" result
+    result' <- (newObject Window) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Screen::get_setting
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", 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 = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", 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 = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_setting" gdk_screen_get_setting :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    CString ->                              -- name : TBasicType TUTF8
+    Ptr GValue ->                           -- value : TInterface "GObject" "Value"
+    IO CInt
+
+
+screenGetSetting ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    T.Text ->                               -- name
+    GValue ->                               -- value
+    m Bool
+screenGetSetting _obj name value = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    name' <- textToCString name
+    let value' = unsafeManagedPtrGetPtr value
+    result <- gdk_screen_get_setting _obj' name' value'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    touchManagedPtr value
+    freeMem name'
+    return result'
+
+-- method Screen::get_system_visual
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Visual"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_system_visual" gdk_screen_get_system_visual :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    IO (Ptr Visual)
+
+
+screenGetSystemVisual ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    m Visual
+screenGetSystemVisual _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_get_system_visual _obj'
+    checkUnexpectedReturnNULL "gdk_screen_get_system_visual" result
+    result' <- (newObject Visual) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Screen::get_toplevel_windows
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TGList (TInterface "Gdk" "Window")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_toplevel_windows" gdk_screen_get_toplevel_windows :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    IO (Ptr (GList (Ptr Window)))
+
+
+screenGetToplevelWindows ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    m [Window]
+screenGetToplevelWindows _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_get_toplevel_windows _obj'
+    checkUnexpectedReturnNULL "gdk_screen_get_toplevel_windows" result
+    result' <- unpackGList result
+    result'' <- mapM (newObject Window) result'
+    g_list_free result
+    touchManagedPtr _obj
+    return result''
+
+-- method Screen::get_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_width" gdk_screen_get_width :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    IO Int32
+
+
+screenGetWidth ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    m Int32
+screenGetWidth _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_get_width _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method Screen::get_width_mm
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_width_mm" gdk_screen_get_width_mm :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    IO Int32
+
+
+screenGetWidthMm ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    m Int32
+screenGetWidthMm _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_get_width_mm _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method Screen::get_window_stack
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TGList (TInterface "Gdk" "Window")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_window_stack" gdk_screen_get_window_stack :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    IO (Ptr (GList (Ptr Window)))
+
+
+screenGetWindowStack ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    m [Window]
+screenGetWindowStack _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_get_window_stack _obj'
+    checkUnexpectedReturnNULL "gdk_screen_get_window_stack" result
+    result' <- unpackGList result
+    result'' <- mapM (wrapObject Window) result'
+    g_list_free result
+    touchManagedPtr _obj
+    return result''
+
+-- method Screen::is_composited
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_is_composited" gdk_screen_is_composited :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    IO CInt
+
+
+screenIsComposited ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    m Bool
+screenIsComposited _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_is_composited _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Screen::list_visuals
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TGList (TInterface "Gdk" "Visual")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_list_visuals" gdk_screen_list_visuals :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    IO (Ptr (GList (Ptr Visual)))
+
+
+screenListVisuals ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    m [Visual]
+screenListVisuals _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_list_visuals _obj'
+    checkUnexpectedReturnNULL "gdk_screen_list_visuals" result
+    result' <- unpackGList result
+    result'' <- mapM (newObject Visual) result'
+    g_list_free result
+    touchManagedPtr _obj
+    return result''
+
+-- method Screen::make_display_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_make_display_name" gdk_screen_make_display_name :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    IO CString
+
+
+screenMakeDisplayName ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    m T.Text
+screenMakeDisplayName _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_screen_make_display_name _obj'
+    checkUnexpectedReturnNULL "gdk_screen_make_display_name" result
+    result' <- cstringToText result
+    freeMem result
+    touchManagedPtr _obj
+    return result'
+
+-- method Screen::set_font_options
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "cairo" "FontOptions", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "cairo" "FontOptions", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_set_font_options" gdk_screen_set_font_options :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    Ptr Cairo.FontOptions ->                -- options : TInterface "cairo" "FontOptions"
+    IO ()
+
+
+screenSetFontOptions ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    Maybe (Cairo.FontOptions) ->            -- options
+    m ()
+screenSetFontOptions _obj options = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeOptions <- case options of
+        Nothing -> return nullPtr
+        Just jOptions -> do
+            let jOptions' = unsafeManagedPtrGetPtr jOptions
+            return jOptions'
+    gdk_screen_set_font_options _obj' maybeOptions
+    touchManagedPtr _obj
+    whenJust options touchManagedPtr
+    return ()
+
+-- method Screen::set_resolution
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dpi", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dpi", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_set_resolution" gdk_screen_set_resolution :: 
+    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
+    CDouble ->                              -- dpi : TBasicType TDouble
+    IO ()
+
+
+screenSetResolution ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- _obj
+    Double ->                               -- dpi
+    m ()
+screenSetResolution _obj dpi = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let dpi' = realToFrac dpi
+    gdk_screen_set_resolution _obj' dpi'
+    touchManagedPtr _obj
+    return ()
+
+-- method Screen::get_default
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TInterface "Gdk" "Screen"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_get_default" gdk_screen_get_default :: 
+    IO (Ptr Screen)
+
+
+screenGetDefault ::
+    (MonadIO m) =>
+    m Screen
+screenGetDefault  = liftIO $ do
+    result <- gdk_screen_get_default
+    checkUnexpectedReturnNULL "gdk_screen_get_default" result
+    result' <- (newObject Screen) result
+    return result'
+
+-- method Screen::height
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_height" gdk_screen_height :: 
+    IO Int32
+
+
+screenHeight ::
+    (MonadIO m) =>
+    m Int32
+screenHeight  = liftIO $ do
+    result <- gdk_screen_height
+    return result
+
+-- method Screen::height_mm
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_height_mm" gdk_screen_height_mm :: 
+    IO Int32
+
+
+screenHeightMm ::
+    (MonadIO m) =>
+    m Int32
+screenHeightMm  = liftIO $ do
+    result <- gdk_screen_height_mm
+    return result
+
+-- method Screen::width
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_width" gdk_screen_width :: 
+    IO Int32
+
+
+screenWidth ::
+    (MonadIO m) =>
+    m Int32
+screenWidth  = liftIO $ do
+    result <- gdk_screen_width
+    return result
+
+-- method Screen::width_mm
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_screen_width_mm" gdk_screen_width_mm :: 
+    IO Int32
+
+
+screenWidthMm ::
+    (MonadIO m) =>
+    m Int32
+screenWidthMm  = liftIO $ do
+    result <- gdk_screen_width_mm
+    return result
+
+-- signal Screen::composited-changed
+type ScreenCompositedChangedCallback =
+    IO ()
+
+noScreenCompositedChangedCallback :: Maybe ScreenCompositedChangedCallback
+noScreenCompositedChangedCallback = Nothing
+
+type ScreenCompositedChangedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkScreenCompositedChangedCallback :: ScreenCompositedChangedCallbackC -> IO (FunPtr ScreenCompositedChangedCallbackC)
+
+screenCompositedChangedClosure :: ScreenCompositedChangedCallback -> IO Closure
+screenCompositedChangedClosure cb = newCClosure =<< mkScreenCompositedChangedCallback wrapped
+    where wrapped = screenCompositedChangedCallbackWrapper cb
+
+screenCompositedChangedCallbackWrapper ::
+    ScreenCompositedChangedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+screenCompositedChangedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onScreenCompositedChanged :: (GObject a, MonadIO m) => a -> ScreenCompositedChangedCallback -> m SignalHandlerId
+onScreenCompositedChanged obj cb = liftIO $ connectScreenCompositedChanged obj cb SignalConnectBefore
+afterScreenCompositedChanged :: (GObject a, MonadIO m) => a -> ScreenCompositedChangedCallback -> m SignalHandlerId
+afterScreenCompositedChanged obj cb = connectScreenCompositedChanged obj cb SignalConnectAfter
+
+connectScreenCompositedChanged :: (GObject a, MonadIO m) =>
+                                  a -> ScreenCompositedChangedCallback -> SignalConnectMode -> m SignalHandlerId
+connectScreenCompositedChanged obj cb after = liftIO $ do
+    cb' <- mkScreenCompositedChangedCallback (screenCompositedChangedCallbackWrapper cb)
+    connectSignalFunPtr obj "composited-changed" cb' after
+
+-- signal Screen::monitors-changed
+type ScreenMonitorsChangedCallback =
+    IO ()
+
+noScreenMonitorsChangedCallback :: Maybe ScreenMonitorsChangedCallback
+noScreenMonitorsChangedCallback = Nothing
+
+type ScreenMonitorsChangedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkScreenMonitorsChangedCallback :: ScreenMonitorsChangedCallbackC -> IO (FunPtr ScreenMonitorsChangedCallbackC)
+
+screenMonitorsChangedClosure :: ScreenMonitorsChangedCallback -> IO Closure
+screenMonitorsChangedClosure cb = newCClosure =<< mkScreenMonitorsChangedCallback wrapped
+    where wrapped = screenMonitorsChangedCallbackWrapper cb
+
+screenMonitorsChangedCallbackWrapper ::
+    ScreenMonitorsChangedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+screenMonitorsChangedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onScreenMonitorsChanged :: (GObject a, MonadIO m) => a -> ScreenMonitorsChangedCallback -> m SignalHandlerId
+onScreenMonitorsChanged obj cb = liftIO $ connectScreenMonitorsChanged obj cb SignalConnectBefore
+afterScreenMonitorsChanged :: (GObject a, MonadIO m) => a -> ScreenMonitorsChangedCallback -> m SignalHandlerId
+afterScreenMonitorsChanged obj cb = connectScreenMonitorsChanged obj cb SignalConnectAfter
+
+connectScreenMonitorsChanged :: (GObject a, MonadIO m) =>
+                                a -> ScreenMonitorsChangedCallback -> SignalConnectMode -> m SignalHandlerId
+connectScreenMonitorsChanged obj cb after = liftIO $ do
+    cb' <- mkScreenMonitorsChangedCallback (screenMonitorsChangedCallbackWrapper cb)
+    connectSignalFunPtr obj "monitors-changed" cb' after
+
+-- signal Screen::size-changed
+type ScreenSizeChangedCallback =
+    IO ()
+
+noScreenSizeChangedCallback :: Maybe ScreenSizeChangedCallback
+noScreenSizeChangedCallback = Nothing
+
+type ScreenSizeChangedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkScreenSizeChangedCallback :: ScreenSizeChangedCallbackC -> IO (FunPtr ScreenSizeChangedCallbackC)
+
+screenSizeChangedClosure :: ScreenSizeChangedCallback -> IO Closure
+screenSizeChangedClosure cb = newCClosure =<< mkScreenSizeChangedCallback wrapped
+    where wrapped = screenSizeChangedCallbackWrapper cb
+
+screenSizeChangedCallbackWrapper ::
+    ScreenSizeChangedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+screenSizeChangedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onScreenSizeChanged :: (GObject a, MonadIO m) => a -> ScreenSizeChangedCallback -> m SignalHandlerId
+onScreenSizeChanged obj cb = liftIO $ connectScreenSizeChanged obj cb SignalConnectBefore
+afterScreenSizeChanged :: (GObject a, MonadIO m) => a -> ScreenSizeChangedCallback -> m SignalHandlerId
+afterScreenSizeChanged obj cb = connectScreenSizeChanged obj cb SignalConnectAfter
+
+connectScreenSizeChanged :: (GObject a, MonadIO m) =>
+                            a -> ScreenSizeChangedCallback -> SignalConnectMode -> m SignalHandlerId
+connectScreenSizeChanged obj cb after = liftIO $ do
+    cb' <- mkScreenSizeChangedCallback (screenSizeChangedCallbackWrapper cb)
+    connectSignalFunPtr obj "size-changed" cb' after
+
+-- Enum ScrollDirection
+
+data ScrollDirection = 
+      ScrollDirectionUp
+    | ScrollDirectionDown
+    | ScrollDirectionLeft
+    | ScrollDirectionRight
+    | ScrollDirectionSmooth
+    | AnotherScrollDirection Int
+    deriving (Show, Eq)
+
+instance Enum ScrollDirection where
+    fromEnum ScrollDirectionUp = 0
+    fromEnum ScrollDirectionDown = 1
+    fromEnum ScrollDirectionLeft = 2
+    fromEnum ScrollDirectionRight = 3
+    fromEnum ScrollDirectionSmooth = 4
+    fromEnum (AnotherScrollDirection k) = k
+
+    toEnum 0 = ScrollDirectionUp
+    toEnum 1 = ScrollDirectionDown
+    toEnum 2 = ScrollDirectionLeft
+    toEnum 3 = ScrollDirectionRight
+    toEnum 4 = ScrollDirectionSmooth
+    toEnum k = AnotherScrollDirection k
+
+foreign import ccall "gdk_scroll_direction_get_type" c_gdk_scroll_direction_get_type :: 
+    IO GType
+
+instance BoxedEnum ScrollDirection where
+    boxedEnumType _ = c_gdk_scroll_direction_get_type
+
+-- Enum SettingAction
+
+data SettingAction = 
+      SettingActionNew
+    | SettingActionChanged
+    | SettingActionDeleted
+    | AnotherSettingAction Int
+    deriving (Show, Eq)
+
+instance Enum SettingAction where
+    fromEnum SettingActionNew = 0
+    fromEnum SettingActionChanged = 1
+    fromEnum SettingActionDeleted = 2
+    fromEnum (AnotherSettingAction k) = k
+
+    toEnum 0 = SettingActionNew
+    toEnum 1 = SettingActionChanged
+    toEnum 2 = SettingActionDeleted
+    toEnum k = AnotherSettingAction k
+
+foreign import ccall "gdk_setting_action_get_type" c_gdk_setting_action_get_type :: 
+    IO GType
+
+instance BoxedEnum SettingAction where
+    boxedEnumType _ = c_gdk_setting_action_get_type
+
+-- Enum Status
+
+data Status = 
+      StatusOk
+    | StatusError
+    | StatusErrorParam
+    | StatusErrorFile
+    | StatusErrorMem
+    | AnotherStatus Int
+    deriving (Show, Eq)
+
+instance Enum Status where
+    fromEnum StatusOk = 0
+    fromEnum StatusError = -1
+    fromEnum StatusErrorParam = -2
+    fromEnum StatusErrorFile = -3
+    fromEnum StatusErrorMem = -4
+    fromEnum (AnotherStatus k) = k
+
+    toEnum -4 = StatusErrorMem
+    toEnum -3 = StatusErrorFile
+    toEnum -2 = StatusErrorParam
+    toEnum -1 = StatusError
+    toEnum 0 = StatusOk
+    toEnum k = AnotherStatus k
+
+foreign import ccall "gdk_status_get_type" c_gdk_status_get_type :: 
+    IO GType
+
+instance BoxedEnum Status where
+    boxedEnumType _ = c_gdk_status_get_type
+
+-- struct TimeCoord
+newtype TimeCoord = TimeCoord (ForeignPtr TimeCoord)
+noTimeCoord :: Maybe TimeCoord
+noTimeCoord = Nothing
+
+timeCoordReadTime :: TimeCoord -> IO Word32
+timeCoordReadTime s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO Word32
+    return val
+
+-- XXX Skipped getter for "TimeCoord:axes" :: Not implemented: "Don't know how to unpack C array of type TCArray False 128 (-1) (TBasicType TDouble)"
+
+-- Enum TouchpadGesturePhase
+
+data TouchpadGesturePhase = 
+      TouchpadGesturePhaseBegin
+    | TouchpadGesturePhaseUpdate
+    | TouchpadGesturePhaseEnd
+    | TouchpadGesturePhaseCancel
+    | AnotherTouchpadGesturePhase Int
+    deriving (Show, Eq)
+
+instance Enum TouchpadGesturePhase where
+    fromEnum TouchpadGesturePhaseBegin = 0
+    fromEnum TouchpadGesturePhaseUpdate = 1
+    fromEnum TouchpadGesturePhaseEnd = 2
+    fromEnum TouchpadGesturePhaseCancel = 3
+    fromEnum (AnotherTouchpadGesturePhase k) = k
+
+    toEnum 0 = TouchpadGesturePhaseBegin
+    toEnum 1 = TouchpadGesturePhaseUpdate
+    toEnum 2 = TouchpadGesturePhaseEnd
+    toEnum 3 = TouchpadGesturePhaseCancel
+    toEnum k = AnotherTouchpadGesturePhase k
+
+foreign import ccall "gdk_touchpad_gesture_phase_get_type" c_gdk_touchpad_gesture_phase_get_type :: 
+    IO GType
+
+instance BoxedEnum TouchpadGesturePhase where
+    boxedEnumType _ = c_gdk_touchpad_gesture_phase_get_type
+
+-- Enum VisibilityState
+
+data VisibilityState = 
+      VisibilityStateUnobscured
+    | VisibilityStatePartial
+    | VisibilityStateFullyObscured
+    | AnotherVisibilityState Int
+    deriving (Show, Eq)
+
+instance Enum VisibilityState where
+    fromEnum VisibilityStateUnobscured = 0
+    fromEnum VisibilityStatePartial = 1
+    fromEnum VisibilityStateFullyObscured = 2
+    fromEnum (AnotherVisibilityState k) = k
+
+    toEnum 0 = VisibilityStateUnobscured
+    toEnum 1 = VisibilityStatePartial
+    toEnum 2 = VisibilityStateFullyObscured
+    toEnum k = AnotherVisibilityState k
+
+foreign import ccall "gdk_visibility_state_get_type" c_gdk_visibility_state_get_type :: 
+    IO GType
+
+instance BoxedEnum VisibilityState where
+    boxedEnumType _ = c_gdk_visibility_state_get_type
+
+-- object Visual 
+newtype Visual = Visual (ForeignPtr Visual)
+noVisual :: Maybe Visual
+noVisual = Nothing
+
+foreign import ccall "gdk_visual_get_type"
+    c_gdk_visual_get_type :: IO GType
+
+type instance ParentTypes Visual = '[GObject.Object]
+
+instance GObject Visual where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gdk_visual_get_type
+    
+
+class GObject o => VisualK o
+instance (GObject o, IsDescendantOf Visual o) => VisualK o
+
+toVisual :: VisualK o => o -> IO Visual
+toVisual = unsafeCastTo Visual
+
+-- method Visual::get_bits_per_rgb
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_visual_get_bits_per_rgb" gdk_visual_get_bits_per_rgb :: 
+    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"
+    IO Int32
+
+
+visualGetBitsPerRgb ::
+    (MonadIO m, VisualK a) =>
+    a ->                                    -- _obj
+    m Int32
+visualGetBitsPerRgb _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_visual_get_bits_per_rgb _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method Visual::get_blue_pixel_details
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mask", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "shift", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "precision", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_visual_get_blue_pixel_details" gdk_visual_get_blue_pixel_details :: 
+    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"
+    Ptr Word32 ->                           -- mask : TBasicType TUInt32
+    Ptr Int32 ->                            -- shift : TBasicType TInt32
+    Ptr Int32 ->                            -- precision : TBasicType TInt32
+    IO ()
+
+
+visualGetBluePixelDetails ::
+    (MonadIO m, VisualK a) =>
+    a ->                                    -- _obj
+    m (Word32,Int32,Int32)
+visualGetBluePixelDetails _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    mask <- allocMem :: IO (Ptr Word32)
+    shift <- allocMem :: IO (Ptr Int32)
+    precision <- allocMem :: IO (Ptr Int32)
+    gdk_visual_get_blue_pixel_details _obj' mask shift precision
+    mask' <- peek mask
+    shift' <- peek shift
+    precision' <- peek precision
+    touchManagedPtr _obj
+    freeMem mask
+    freeMem shift
+    freeMem precision
+    return (mask', shift', precision')
+
+-- method Visual::get_byte_order
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "ByteOrder"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_visual_get_byte_order" gdk_visual_get_byte_order :: 
+    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"
+    IO CUInt
+
+
+visualGetByteOrder ::
+    (MonadIO m, VisualK a) =>
+    a ->                                    -- _obj
+    m ByteOrder
+visualGetByteOrder _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_visual_get_byte_order _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Visual::get_colormap_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_visual_get_colormap_size" gdk_visual_get_colormap_size :: 
+    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"
+    IO Int32
+
+
+visualGetColormapSize ::
+    (MonadIO m, VisualK a) =>
+    a ->                                    -- _obj
+    m Int32
+visualGetColormapSize _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_visual_get_colormap_size _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method Visual::get_depth
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_visual_get_depth" gdk_visual_get_depth :: 
+    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"
+    IO Int32
+
+
+visualGetDepth ::
+    (MonadIO m, VisualK a) =>
+    a ->                                    -- _obj
+    m Int32
+visualGetDepth _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_visual_get_depth _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method Visual::get_green_pixel_details
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mask", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "shift", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "precision", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_visual_get_green_pixel_details" gdk_visual_get_green_pixel_details :: 
+    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"
+    Ptr Word32 ->                           -- mask : TBasicType TUInt32
+    Ptr Int32 ->                            -- shift : TBasicType TInt32
+    Ptr Int32 ->                            -- precision : TBasicType TInt32
+    IO ()
+
+
+visualGetGreenPixelDetails ::
+    (MonadIO m, VisualK a) =>
+    a ->                                    -- _obj
+    m (Word32,Int32,Int32)
+visualGetGreenPixelDetails _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    mask <- allocMem :: IO (Ptr Word32)
+    shift <- allocMem :: IO (Ptr Int32)
+    precision <- allocMem :: IO (Ptr Int32)
+    gdk_visual_get_green_pixel_details _obj' mask shift precision
+    mask' <- peek mask
+    shift' <- peek shift
+    precision' <- peek precision
+    touchManagedPtr _obj
+    freeMem mask
+    freeMem shift
+    freeMem precision
+    return (mask', shift', precision')
+
+-- method Visual::get_red_pixel_details
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mask", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "shift", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "precision", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_visual_get_red_pixel_details" gdk_visual_get_red_pixel_details :: 
+    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"
+    Ptr Word32 ->                           -- mask : TBasicType TUInt32
+    Ptr Int32 ->                            -- shift : TBasicType TInt32
+    Ptr Int32 ->                            -- precision : TBasicType TInt32
+    IO ()
+
+
+visualGetRedPixelDetails ::
+    (MonadIO m, VisualK a) =>
+    a ->                                    -- _obj
+    m (Word32,Int32,Int32)
+visualGetRedPixelDetails _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    mask <- allocMem :: IO (Ptr Word32)
+    shift <- allocMem :: IO (Ptr Int32)
+    precision <- allocMem :: IO (Ptr Int32)
+    gdk_visual_get_red_pixel_details _obj' mask shift precision
+    mask' <- peek mask
+    shift' <- peek shift
+    precision' <- peek precision
+    touchManagedPtr _obj
+    freeMem mask
+    freeMem shift
+    freeMem precision
+    return (mask', shift', precision')
+
+-- method Visual::get_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Screen"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_visual_get_screen" gdk_visual_get_screen :: 
+    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"
+    IO (Ptr Screen)
+
+
+visualGetScreen ::
+    (MonadIO m, VisualK a) =>
+    a ->                                    -- _obj
+    m Screen
+visualGetScreen _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_visual_get_screen _obj'
+    checkUnexpectedReturnNULL "gdk_visual_get_screen" result
+    result' <- (newObject Screen) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Visual::get_visual_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "VisualType"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_visual_get_visual_type" gdk_visual_get_visual_type :: 
+    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"
+    IO CUInt
+
+
+visualGetVisualType ::
+    (MonadIO m, VisualK a) =>
+    a ->                                    -- _obj
+    m VisualType
+visualGetVisualType _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_visual_get_visual_type _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Visual::get_best
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TInterface "Gdk" "Visual"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_visual_get_best" gdk_visual_get_best :: 
+    IO (Ptr Visual)
+
+
+visualGetBest ::
+    (MonadIO m) =>
+    m Visual
+visualGetBest  = liftIO $ do
+    result <- gdk_visual_get_best
+    checkUnexpectedReturnNULL "gdk_visual_get_best" result
+    result' <- (newObject Visual) result
+    return result'
+
+-- method Visual::get_best_depth
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_visual_get_best_depth" gdk_visual_get_best_depth :: 
+    IO Int32
+
+
+visualGetBestDepth ::
+    (MonadIO m) =>
+    m Int32
+visualGetBestDepth  = liftIO $ do
+    result <- gdk_visual_get_best_depth
+    return result
+
+-- method Visual::get_best_type
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TInterface "Gdk" "VisualType"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_visual_get_best_type" gdk_visual_get_best_type :: 
+    IO CUInt
+
+
+visualGetBestType ::
+    (MonadIO m) =>
+    m VisualType
+visualGetBestType  = liftIO $ do
+    result <- gdk_visual_get_best_type
+    let result' = (toEnum . fromIntegral) result
+    return result'
+
+-- method Visual::get_best_with_both
+-- method type : MemberFunction
+-- Args : [Arg {argName = "depth", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "visual_type", argType = TInterface "Gdk" "VisualType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "depth", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "visual_type", argType = TInterface "Gdk" "VisualType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Visual"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_visual_get_best_with_both" gdk_visual_get_best_with_both :: 
+    Int32 ->                                -- depth : TBasicType TInt32
+    CUInt ->                                -- visual_type : TInterface "Gdk" "VisualType"
+    IO (Ptr Visual)
+
+
+visualGetBestWithBoth ::
+    (MonadIO m) =>
+    Int32 ->                                -- depth
+    VisualType ->                           -- visual_type
+    m Visual
+visualGetBestWithBoth depth visual_type = liftIO $ do
+    let visual_type' = (fromIntegral . fromEnum) visual_type
+    result <- gdk_visual_get_best_with_both depth visual_type'
+    checkUnexpectedReturnNULL "gdk_visual_get_best_with_both" result
+    result' <- (newObject Visual) result
+    return result'
+
+-- method Visual::get_best_with_depth
+-- method type : MemberFunction
+-- Args : [Arg {argName = "depth", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "depth", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Visual"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_visual_get_best_with_depth" gdk_visual_get_best_with_depth :: 
+    Int32 ->                                -- depth : TBasicType TInt32
+    IO (Ptr Visual)
+
+
+visualGetBestWithDepth ::
+    (MonadIO m) =>
+    Int32 ->                                -- depth
+    m Visual
+visualGetBestWithDepth depth = liftIO $ do
+    result <- gdk_visual_get_best_with_depth depth
+    checkUnexpectedReturnNULL "gdk_visual_get_best_with_depth" result
+    result' <- (newObject Visual) result
+    return result'
+
+-- method Visual::get_best_with_type
+-- method type : MemberFunction
+-- Args : [Arg {argName = "visual_type", argType = TInterface "Gdk" "VisualType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "visual_type", argType = TInterface "Gdk" "VisualType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Visual"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_visual_get_best_with_type" gdk_visual_get_best_with_type :: 
+    CUInt ->                                -- visual_type : TInterface "Gdk" "VisualType"
+    IO (Ptr Visual)
+
+
+visualGetBestWithType ::
+    (MonadIO m) =>
+    VisualType ->                           -- visual_type
+    m Visual
+visualGetBestWithType visual_type = liftIO $ do
+    let visual_type' = (fromIntegral . fromEnum) visual_type
+    result <- gdk_visual_get_best_with_type visual_type'
+    checkUnexpectedReturnNULL "gdk_visual_get_best_with_type" result
+    result' <- (newObject Visual) result
+    return result'
+
+-- method Visual::get_system
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TInterface "Gdk" "Visual"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_visual_get_system" gdk_visual_get_system :: 
+    IO (Ptr Visual)
+
+
+visualGetSystem ::
+    (MonadIO m) =>
+    m Visual
+visualGetSystem  = liftIO $ do
+    result <- gdk_visual_get_system
+    checkUnexpectedReturnNULL "gdk_visual_get_system" result
+    result' <- (newObject Visual) result
+    return result'
+
+-- Enum VisualType
+
+data VisualType = 
+      VisualTypeStaticGray
+    | VisualTypeGrayscale
+    | VisualTypeStaticColor
+    | VisualTypePseudoColor
+    | VisualTypeTrueColor
+    | VisualTypeDirectColor
+    | AnotherVisualType Int
+    deriving (Show, Eq)
+
+instance Enum VisualType where
+    fromEnum VisualTypeStaticGray = 0
+    fromEnum VisualTypeGrayscale = 1
+    fromEnum VisualTypeStaticColor = 2
+    fromEnum VisualTypePseudoColor = 3
+    fromEnum VisualTypeTrueColor = 4
+    fromEnum VisualTypeDirectColor = 5
+    fromEnum (AnotherVisualType k) = k
+
+    toEnum 0 = VisualTypeStaticGray
+    toEnum 1 = VisualTypeGrayscale
+    toEnum 2 = VisualTypeStaticColor
+    toEnum 3 = VisualTypePseudoColor
+    toEnum 4 = VisualTypeTrueColor
+    toEnum 5 = VisualTypeDirectColor
+    toEnum k = AnotherVisualType k
+
+foreign import ccall "gdk_visual_type_get_type" c_gdk_visual_type_get_type :: 
+    IO GType
+
+instance BoxedEnum VisualType where
+    boxedEnumType _ = c_gdk_visual_type_get_type
+
+-- Flags WMDecoration
+
+data WMDecoration = 
+      WMDecorationAll
+    | WMDecorationBorder
+    | WMDecorationResizeh
+    | WMDecorationTitle
+    | WMDecorationMenu
+    | WMDecorationMinimize
+    | WMDecorationMaximize
+    | AnotherWMDecoration Int
+    deriving (Show, Eq)
+
+instance Enum WMDecoration where
+    fromEnum WMDecorationAll = 1
+    fromEnum WMDecorationBorder = 2
+    fromEnum WMDecorationResizeh = 4
+    fromEnum WMDecorationTitle = 8
+    fromEnum WMDecorationMenu = 16
+    fromEnum WMDecorationMinimize = 32
+    fromEnum WMDecorationMaximize = 64
+    fromEnum (AnotherWMDecoration k) = k
+
+    toEnum 1 = WMDecorationAll
+    toEnum 2 = WMDecorationBorder
+    toEnum 4 = WMDecorationResizeh
+    toEnum 8 = WMDecorationTitle
+    toEnum 16 = WMDecorationMenu
+    toEnum 32 = WMDecorationMinimize
+    toEnum 64 = WMDecorationMaximize
+    toEnum k = AnotherWMDecoration k
+
+foreign import ccall "gdk_wm_decoration_get_type" c_gdk_wm_decoration_get_type :: 
+    IO GType
+
+instance BoxedEnum WMDecoration where
+    boxedEnumType _ = c_gdk_wm_decoration_get_type
+
+instance IsGFlag WMDecoration
+
+-- Flags WMFunction
+
+data WMFunction = 
+      WMFunctionAll
+    | WMFunctionResize
+    | WMFunctionMove
+    | WMFunctionMinimize
+    | WMFunctionMaximize
+    | WMFunctionClose
+    | AnotherWMFunction Int
+    deriving (Show, Eq)
+
+instance Enum WMFunction where
+    fromEnum WMFunctionAll = 1
+    fromEnum WMFunctionResize = 2
+    fromEnum WMFunctionMove = 4
+    fromEnum WMFunctionMinimize = 8
+    fromEnum WMFunctionMaximize = 16
+    fromEnum WMFunctionClose = 32
+    fromEnum (AnotherWMFunction k) = k
+
+    toEnum 1 = WMFunctionAll
+    toEnum 2 = WMFunctionResize
+    toEnum 4 = WMFunctionMove
+    toEnum 8 = WMFunctionMinimize
+    toEnum 16 = WMFunctionMaximize
+    toEnum 32 = WMFunctionClose
+    toEnum k = AnotherWMFunction k
+
+foreign import ccall "gdk_wm_function_get_type" c_gdk_wm_function_get_type :: 
+    IO GType
+
+instance BoxedEnum WMFunction where
+    boxedEnumType _ = c_gdk_wm_function_get_type
+
+instance IsGFlag WMFunction
+
+-- object Window 
+newtype Window = Window (ForeignPtr Window)
+noWindow :: Maybe Window
+noWindow = Nothing
+
+foreign import ccall "gdk_window_get_type"
+    c_gdk_window_get_type :: IO GType
+
+type instance ParentTypes Window = '[GObject.Object]
+
+instance GObject Window where
+    gobjectIsInitiallyUnowned _ = False
+    gobjectType _ = c_gdk_window_get_type
+    
+
+class GObject o => WindowK o
+instance (GObject o, IsDescendantOf Window o) => WindowK o
+
+toWindow :: WindowK o => o -> IO Window
+toWindow = unsafeCastTo Window
+
+-- method Window::new
+-- method type : Constructor
+-- Args : [Arg {argName = "parent", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attributes", argType = TInterface "Gdk" "WindowAttr", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attributes_mask", argType = TInterface "Gdk" "WindowAttributesType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "parent", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attributes", argType = TInterface "Gdk" "WindowAttr", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attributes_mask", argType = TInterface "Gdk" "WindowAttributesType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_new" gdk_window_new :: 
+    Ptr Window ->                           -- parent : TInterface "Gdk" "Window"
+    Ptr WindowAttr ->                       -- attributes : TInterface "Gdk" "WindowAttr"
+    CUInt ->                                -- attributes_mask : TInterface "Gdk" "WindowAttributesType"
+    IO (Ptr Window)
+
+
+windowNew ::
+    (MonadIO m, WindowK a) =>
+    Maybe (a) ->                            -- parent
+    WindowAttr ->                           -- attributes
+    [WindowAttributesType] ->               -- attributes_mask
+    m Window
+windowNew parent attributes attributes_mask = liftIO $ do
+    maybeParent <- case parent of
+        Nothing -> return nullPtr
+        Just jParent -> do
+            let jParent' = unsafeManagedPtrCastPtr jParent
+            return jParent'
+    let attributes' = unsafeManagedPtrGetPtr attributes
+    let attributes_mask' = gflagsToWord attributes_mask
+    result <- gdk_window_new maybeParent attributes' attributes_mask'
+    checkUnexpectedReturnNULL "gdk_window_new" result
+    result' <- (wrapObject Window) result
+    whenJust parent touchManagedPtr
+    touchManagedPtr attributes
+    return result'
+
+-- method Window::beep
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_beep" gdk_window_beep :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowBeep ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowBeep _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_beep _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::begin_move_drag
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_begin_move_drag" gdk_window_begin_move_drag :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Int32 ->                                -- button : TBasicType TInt32
+    Int32 ->                                -- root_x : TBasicType TInt32
+    Int32 ->                                -- root_y : TBasicType TInt32
+    Word32 ->                               -- timestamp : TBasicType TUInt32
+    IO ()
+
+
+windowBeginMoveDrag ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Int32 ->                                -- button
+    Int32 ->                                -- root_x
+    Int32 ->                                -- root_y
+    Word32 ->                               -- timestamp
+    m ()
+windowBeginMoveDrag _obj button root_x root_y timestamp = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_begin_move_drag _obj' button root_x root_y timestamp
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::begin_move_drag_for_device
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_begin_move_drag_for_device" gdk_window_begin_move_drag_for_device :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
+    Int32 ->                                -- button : TBasicType TInt32
+    Int32 ->                                -- root_x : TBasicType TInt32
+    Int32 ->                                -- root_y : TBasicType TInt32
+    Word32 ->                               -- timestamp : TBasicType TUInt32
+    IO ()
+
+
+windowBeginMoveDragForDevice ::
+    (MonadIO m, WindowK a, DeviceK b) =>
+    a ->                                    -- _obj
+    b ->                                    -- device
+    Int32 ->                                -- button
+    Int32 ->                                -- root_x
+    Int32 ->                                -- root_y
+    Word32 ->                               -- timestamp
+    m ()
+windowBeginMoveDragForDevice _obj device button root_x root_y timestamp = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let device' = unsafeManagedPtrCastPtr device
+    gdk_window_begin_move_drag_for_device _obj' device' button root_x root_y timestamp
+    touchManagedPtr _obj
+    touchManagedPtr device
+    return ()
+
+-- method Window::begin_paint_rect
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rectangle", argType = TInterface "Gdk" "Rectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rectangle", argType = TInterface "Gdk" "Rectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_begin_paint_rect" gdk_window_begin_paint_rect :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Rectangle ->                        -- rectangle : TInterface "Gdk" "Rectangle"
+    IO ()
+
+
+windowBeginPaintRect ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Rectangle ->                            -- rectangle
+    m ()
+windowBeginPaintRect _obj rectangle = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let rectangle' = unsafeManagedPtrGetPtr rectangle
+    gdk_window_begin_paint_rect _obj' rectangle'
+    touchManagedPtr _obj
+    touchManagedPtr rectangle
+    return ()
+
+-- method Window::begin_paint_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_begin_paint_region" gdk_window_begin_paint_region :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Cairo.Region ->                     -- region : TInterface "cairo" "Region"
+    IO ()
+
+
+windowBeginPaintRegion ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Cairo.Region ->                         -- region
+    m ()
+windowBeginPaintRegion _obj region = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let region' = unsafeManagedPtrGetPtr region
+    gdk_window_begin_paint_region _obj' region'
+    touchManagedPtr _obj
+    touchManagedPtr region
+    return ()
+
+-- method Window::begin_resize_drag
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "edge", argType = TInterface "Gdk" "WindowEdge", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "edge", argType = TInterface "Gdk" "WindowEdge", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_begin_resize_drag" gdk_window_begin_resize_drag :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CUInt ->                                -- edge : TInterface "Gdk" "WindowEdge"
+    Int32 ->                                -- button : TBasicType TInt32
+    Int32 ->                                -- root_x : TBasicType TInt32
+    Int32 ->                                -- root_y : TBasicType TInt32
+    Word32 ->                               -- timestamp : TBasicType TUInt32
+    IO ()
+
+
+windowBeginResizeDrag ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    WindowEdge ->                           -- edge
+    Int32 ->                                -- button
+    Int32 ->                                -- root_x
+    Int32 ->                                -- root_y
+    Word32 ->                               -- timestamp
+    m ()
+windowBeginResizeDrag _obj edge button root_x root_y timestamp = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let edge' = (fromIntegral . fromEnum) edge
+    gdk_window_begin_resize_drag _obj' edge' button root_x root_y timestamp
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::begin_resize_drag_for_device
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "edge", argType = TInterface "Gdk" "WindowEdge", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "edge", argType = TInterface "Gdk" "WindowEdge", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_begin_resize_drag_for_device" gdk_window_begin_resize_drag_for_device :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CUInt ->                                -- edge : TInterface "Gdk" "WindowEdge"
+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
+    Int32 ->                                -- button : TBasicType TInt32
+    Int32 ->                                -- root_x : TBasicType TInt32
+    Int32 ->                                -- root_y : TBasicType TInt32
+    Word32 ->                               -- timestamp : TBasicType TUInt32
+    IO ()
+
+
+windowBeginResizeDragForDevice ::
+    (MonadIO m, WindowK a, DeviceK b) =>
+    a ->                                    -- _obj
+    WindowEdge ->                           -- edge
+    b ->                                    -- device
+    Int32 ->                                -- button
+    Int32 ->                                -- root_x
+    Int32 ->                                -- root_y
+    Word32 ->                               -- timestamp
+    m ()
+windowBeginResizeDragForDevice _obj edge device button root_x root_y timestamp = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let edge' = (fromIntegral . fromEnum) edge
+    let device' = unsafeManagedPtrCastPtr device
+    gdk_window_begin_resize_drag_for_device _obj' edge' device' button root_x root_y timestamp
+    touchManagedPtr _obj
+    touchManagedPtr device
+    return ()
+
+-- method Window::configure_finished
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_configure_finished" gdk_window_configure_finished :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+{-# DEPRECATED windowConfigureFinished ["(Since version 3.8)","this function is no longer needed"]#-}
+windowConfigureFinished ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowConfigureFinished _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_configure_finished _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::coords_from_parent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent_y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent_y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_coords_from_parent" gdk_window_coords_from_parent :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CDouble ->                              -- parent_x : TBasicType TDouble
+    CDouble ->                              -- parent_y : TBasicType TDouble
+    Ptr CDouble ->                          -- x : TBasicType TDouble
+    Ptr CDouble ->                          -- y : TBasicType TDouble
+    IO ()
+
+
+windowCoordsFromParent ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Double ->                               -- parent_x
+    Double ->                               -- parent_y
+    m (Double,Double)
+windowCoordsFromParent _obj parent_x parent_y = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let parent_x' = realToFrac parent_x
+    let parent_y' = realToFrac parent_y
+    x <- allocMem :: IO (Ptr CDouble)
+    y <- allocMem :: IO (Ptr CDouble)
+    gdk_window_coords_from_parent _obj' parent_x' parent_y' x y
+    x' <- peek x
+    let x'' = realToFrac x'
+    y' <- peek y
+    let y'' = realToFrac y'
+    touchManagedPtr _obj
+    freeMem x
+    freeMem y
+    return (x'', y'')
+
+-- method Window::coords_to_parent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent_x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "parent_y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_coords_to_parent" gdk_window_coords_to_parent :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CDouble ->                              -- x : TBasicType TDouble
+    CDouble ->                              -- y : TBasicType TDouble
+    Ptr CDouble ->                          -- parent_x : TBasicType TDouble
+    Ptr CDouble ->                          -- parent_y : TBasicType TDouble
+    IO ()
+
+
+windowCoordsToParent ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Double ->                               -- x
+    Double ->                               -- y
+    m (Double,Double)
+windowCoordsToParent _obj x y = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let x' = realToFrac x
+    let y' = realToFrac y
+    parent_x <- allocMem :: IO (Ptr CDouble)
+    parent_y <- allocMem :: IO (Ptr CDouble)
+    gdk_window_coords_to_parent _obj' x' y' parent_x parent_y
+    parent_x' <- peek parent_x
+    let parent_x'' = realToFrac parent_x'
+    parent_y' <- peek parent_y
+    let parent_y'' = realToFrac parent_y'
+    touchManagedPtr _obj
+    freeMem parent_x
+    freeMem parent_y
+    return (parent_x'', parent_y'')
+
+-- method Window::create_gl_context
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "GLContext"
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "gdk_window_create_gl_context" gdk_window_create_gl_context :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr GLContext)
+
+
+windowCreateGlContext ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m GLContext
+windowCreateGlContext _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    onException (do
+        result <- propagateGError $ gdk_window_create_gl_context _obj'
+        checkUnexpectedReturnNULL "gdk_window_create_gl_context" result
+        result' <- (wrapObject GLContext) result
+        touchManagedPtr _obj
+        return result'
+     ) (do
+        return ()
+     )
+
+-- method Window::create_similar_image_surface
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "format", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "format", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "cairo" "Surface"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_create_similar_image_surface" gdk_window_create_similar_image_surface :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Int32 ->                                -- format : TBasicType TInt32
+    Int32 ->                                -- width : TBasicType TInt32
+    Int32 ->                                -- height : TBasicType TInt32
+    Int32 ->                                -- scale : TBasicType TInt32
+    IO (Ptr Cairo.Surface)
+
+
+windowCreateSimilarImageSurface ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Int32 ->                                -- format
+    Int32 ->                                -- width
+    Int32 ->                                -- height
+    Int32 ->                                -- scale
+    m Cairo.Surface
+windowCreateSimilarImageSurface _obj format width height scale = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_create_similar_image_surface _obj' format width height scale
+    checkUnexpectedReturnNULL "gdk_window_create_similar_image_surface" result
+    result' <- (wrapBoxed Cairo.Surface) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::create_similar_surface
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content", argType = TInterface "cairo" "Content", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content", argType = TInterface "cairo" "Content", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "cairo" "Surface"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_create_similar_surface" gdk_window_create_similar_surface :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CUInt ->                                -- content : TInterface "cairo" "Content"
+    Int32 ->                                -- width : TBasicType TInt32
+    Int32 ->                                -- height : TBasicType TInt32
+    IO (Ptr Cairo.Surface)
+
+
+windowCreateSimilarSurface ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Cairo.Content ->                        -- content
+    Int32 ->                                -- width
+    Int32 ->                                -- height
+    m Cairo.Surface
+windowCreateSimilarSurface _obj content width height = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let content' = (fromIntegral . fromEnum) content
+    result <- gdk_window_create_similar_surface _obj' content' width height
+    checkUnexpectedReturnNULL "gdk_window_create_similar_surface" result
+    result' <- (wrapBoxed Cairo.Surface) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::deiconify
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_deiconify" gdk_window_deiconify :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowDeiconify ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowDeiconify _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_deiconify _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::destroy
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_destroy" gdk_window_destroy :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowDestroy ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowDestroy _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_destroy _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::destroy_notify
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_destroy_notify" gdk_window_destroy_notify :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowDestroyNotify ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowDestroyNotify _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_destroy_notify _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::enable_synchronized_configure
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_enable_synchronized_configure" gdk_window_enable_synchronized_configure :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+{-# DEPRECATED windowEnableSynchronizedConfigure ["(Since version 3.8)","this function is no longer needed"]#-}
+windowEnableSynchronizedConfigure ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowEnableSynchronizedConfigure _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_enable_synchronized_configure _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::end_paint
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_end_paint" gdk_window_end_paint :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowEndPaint ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowEndPaint _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_end_paint _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::ensure_native
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_ensure_native" gdk_window_ensure_native :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO CInt
+
+
+windowEnsureNative ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Bool
+windowEnsureNative _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_ensure_native _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::flush
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_flush" gdk_window_flush :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+{-# DEPRECATED windowFlush ["(Since version 3.14)"]#-}
+windowFlush ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowFlush _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_flush _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::focus
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_focus" gdk_window_focus :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Word32 ->                               -- timestamp : TBasicType TUInt32
+    IO ()
+
+
+windowFocus ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Word32 ->                               -- timestamp
+    m ()
+windowFocus _obj timestamp = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_focus _obj' timestamp
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::freeze_toplevel_updates_libgtk_only
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_freeze_toplevel_updates_libgtk_only" gdk_window_freeze_toplevel_updates_libgtk_only :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+{-# DEPRECATED windowFreezeToplevelUpdatesLibgtkOnly ["(Since version 3.16)","This symbol was never meant to be used outside of GTK+"]#-}
+windowFreezeToplevelUpdatesLibgtkOnly ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowFreezeToplevelUpdatesLibgtkOnly _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_freeze_toplevel_updates_libgtk_only _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::freeze_updates
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_freeze_updates" gdk_window_freeze_updates :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowFreezeUpdates ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowFreezeUpdates _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_freeze_updates _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::fullscreen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_fullscreen" gdk_window_fullscreen :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowFullscreen ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowFullscreen _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_fullscreen _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::fullscreen_on_monitor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_fullscreen_on_monitor" gdk_window_fullscreen_on_monitor :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Int32 ->                                -- monitor : TBasicType TInt32
+    IO ()
+
+
+windowFullscreenOnMonitor ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Int32 ->                                -- monitor
+    m ()
+windowFullscreenOnMonitor _obj monitor = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_fullscreen_on_monitor _obj' monitor
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::geometry_changed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_geometry_changed" gdk_window_geometry_changed :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowGeometryChanged ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowGeometryChanged _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_geometry_changed _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::get_accept_focus
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_accept_focus" gdk_window_get_accept_focus :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO CInt
+
+
+windowGetAcceptFocus ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Bool
+windowGetAcceptFocus _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_accept_focus _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_background_pattern
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "cairo" "Pattern"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_background_pattern" gdk_window_get_background_pattern :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO (Ptr Cairo.Pattern)
+
+
+windowGetBackgroundPattern ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Cairo.Pattern
+windowGetBackgroundPattern _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_background_pattern _obj'
+    checkUnexpectedReturnNULL "gdk_window_get_background_pattern" result
+    result' <- (newBoxed Cairo.Pattern) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_children
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TGList (TInterface "Gdk" "Window")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_children" gdk_window_get_children :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO (Ptr (GList (Ptr Window)))
+
+
+windowGetChildren ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m [Window]
+windowGetChildren _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_children _obj'
+    checkUnexpectedReturnNULL "gdk_window_get_children" result
+    result' <- unpackGList result
+    result'' <- mapM (newObject Window) result'
+    g_list_free result
+    touchManagedPtr _obj
+    return result''
+
+-- method Window::get_children_with_user_data
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TGList (TInterface "Gdk" "Window")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_children_with_user_data" gdk_window_get_children_with_user_data :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr () ->                               -- user_data : TBasicType TVoid
+    IO (Ptr (GList (Ptr Window)))
+
+
+windowGetChildrenWithUserData ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Ptr () ->                               -- user_data
+    m [Window]
+windowGetChildrenWithUserData _obj user_data = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_children_with_user_data _obj' user_data
+    checkUnexpectedReturnNULL "gdk_window_get_children_with_user_data" result
+    result' <- unpackGList result
+    result'' <- mapM (newObject Window) result'
+    g_list_free result
+    touchManagedPtr _obj
+    return result''
+
+-- method Window::get_clip_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "cairo" "Region"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_clip_region" gdk_window_get_clip_region :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO (Ptr Cairo.Region)
+
+
+windowGetClipRegion ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Cairo.Region
+windowGetClipRegion _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_clip_region _obj'
+    checkUnexpectedReturnNULL "gdk_window_get_clip_region" result
+    result' <- (wrapBoxed Cairo.Region) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_composited
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_composited" gdk_window_get_composited :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO CInt
+
+{-# DEPRECATED windowGetComposited ["(Since version 3.16)","Compositing is an outdated technology that","  only ever worked on X11."]#-}
+windowGetComposited ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Bool
+windowGetComposited _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_composited _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_cursor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Cursor"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_cursor" gdk_window_get_cursor :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO (Ptr Cursor)
+
+
+windowGetCursor ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Cursor
+windowGetCursor _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_cursor _obj'
+    checkUnexpectedReturnNULL "gdk_window_get_cursor" result
+    result' <- (newObject Cursor) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_decorations
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "decorations", argType = TInterface "Gdk" "WMDecoration", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_decorations" gdk_window_get_decorations :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr CUInt ->                            -- decorations : TInterface "Gdk" "WMDecoration"
+    IO CInt
+
+
+windowGetDecorations ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m (Bool,[WMDecoration])
+windowGetDecorations _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    decorations <- allocMem :: IO (Ptr CUInt)
+    result <- gdk_window_get_decorations _obj' decorations
+    let result' = (/= 0) result
+    decorations' <- peek decorations
+    let decorations'' = wordToGFlags decorations'
+    touchManagedPtr _obj
+    freeMem decorations
+    return (result', decorations'')
+
+-- method Window::get_device_cursor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Cursor"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_device_cursor" gdk_window_get_device_cursor :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
+    IO (Ptr Cursor)
+
+
+windowGetDeviceCursor ::
+    (MonadIO m, WindowK a, DeviceK b) =>
+    a ->                                    -- _obj
+    b ->                                    -- device
+    m Cursor
+windowGetDeviceCursor _obj device = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let device' = unsafeManagedPtrCastPtr device
+    result <- gdk_window_get_device_cursor _obj' device'
+    checkUnexpectedReturnNULL "gdk_window_get_device_cursor" result
+    result' <- (newObject Cursor) result
+    touchManagedPtr _obj
+    touchManagedPtr device
+    return result'
+
+-- method Window::get_device_events
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "EventMask"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_device_events" gdk_window_get_device_events :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
+    IO CUInt
+
+
+windowGetDeviceEvents ::
+    (MonadIO m, WindowK a, DeviceK b) =>
+    a ->                                    -- _obj
+    b ->                                    -- device
+    m [EventMask]
+windowGetDeviceEvents _obj device = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let device' = unsafeManagedPtrCastPtr device
+    result <- gdk_window_get_device_events _obj' device'
+    let result' = wordToGFlags result
+    touchManagedPtr _obj
+    touchManagedPtr device
+    return result'
+
+-- method Window::get_device_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "mask", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_device_position" gdk_window_get_device_position :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
+    Ptr Int32 ->                            -- x : TBasicType TInt32
+    Ptr Int32 ->                            -- y : TBasicType TInt32
+    Ptr CUInt ->                            -- mask : TInterface "Gdk" "ModifierType"
+    IO (Ptr Window)
+
+
+windowGetDevicePosition ::
+    (MonadIO m, WindowK a, DeviceK b) =>
+    a ->                                    -- _obj
+    b ->                                    -- device
+    m (Window,Int32,Int32,[ModifierType])
+windowGetDevicePosition _obj device = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let device' = unsafeManagedPtrCastPtr device
+    x <- allocMem :: IO (Ptr Int32)
+    y <- allocMem :: IO (Ptr Int32)
+    mask <- allocMem :: IO (Ptr CUInt)
+    result <- gdk_window_get_device_position _obj' device' x y mask
+    checkUnexpectedReturnNULL "gdk_window_get_device_position" result
+    result' <- (newObject Window) result
+    x' <- peek x
+    y' <- peek y
+    mask' <- peek mask
+    let mask'' = wordToGFlags mask'
+    touchManagedPtr _obj
+    touchManagedPtr device
+    freeMem x
+    freeMem y
+    freeMem mask
+    return (result', x', y', mask'')
+
+-- method Window::get_device_position_double
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "mask", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_device_position_double" gdk_window_get_device_position_double :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
+    Ptr CDouble ->                          -- x : TBasicType TDouble
+    Ptr CDouble ->                          -- y : TBasicType TDouble
+    Ptr CUInt ->                            -- mask : TInterface "Gdk" "ModifierType"
+    IO (Ptr Window)
+
+
+windowGetDevicePositionDouble ::
+    (MonadIO m, WindowK a, DeviceK b) =>
+    a ->                                    -- _obj
+    b ->                                    -- device
+    m (Window,Double,Double,[ModifierType])
+windowGetDevicePositionDouble _obj device = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let device' = unsafeManagedPtrCastPtr device
+    x <- allocMem :: IO (Ptr CDouble)
+    y <- allocMem :: IO (Ptr CDouble)
+    mask <- allocMem :: IO (Ptr CUInt)
+    result <- gdk_window_get_device_position_double _obj' device' x y mask
+    checkUnexpectedReturnNULL "gdk_window_get_device_position_double" result
+    result' <- (newObject Window) result
+    x' <- peek x
+    let x'' = realToFrac x'
+    y' <- peek y
+    let y'' = realToFrac y'
+    mask' <- peek mask
+    let mask'' = wordToGFlags mask'
+    touchManagedPtr _obj
+    touchManagedPtr device
+    freeMem x
+    freeMem y
+    freeMem mask
+    return (result', x'', y'', mask'')
+
+-- method Window::get_display
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Display"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_display" gdk_window_get_display :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO (Ptr Display)
+
+
+windowGetDisplay ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Display
+windowGetDisplay _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_display _obj'
+    checkUnexpectedReturnNULL "gdk_window_get_display" result
+    result' <- (newObject Display) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_drag_protocol
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Window", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "DragProtocol"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_drag_protocol" gdk_window_get_drag_protocol :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr (Ptr Window) ->                     -- target : TInterface "Gdk" "Window"
+    IO CUInt
+
+
+windowGetDragProtocol ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m (DragProtocol,Window)
+windowGetDragProtocol _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    target <- allocMem :: IO (Ptr (Ptr Window))
+    result <- gdk_window_get_drag_protocol _obj' target
+    let result' = (toEnum . fromIntegral) result
+    target' <- peek target
+    target'' <- (wrapObject Window) target'
+    touchManagedPtr _obj
+    freeMem target
+    return (result', target'')
+
+-- method Window::get_effective_parent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_effective_parent" gdk_window_get_effective_parent :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO (Ptr Window)
+
+
+windowGetEffectiveParent ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Window
+windowGetEffectiveParent _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_effective_parent _obj'
+    checkUnexpectedReturnNULL "gdk_window_get_effective_parent" result
+    result' <- (newObject Window) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_effective_toplevel
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_effective_toplevel" gdk_window_get_effective_toplevel :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO (Ptr Window)
+
+
+windowGetEffectiveToplevel ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Window
+windowGetEffectiveToplevel _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_effective_toplevel _obj'
+    checkUnexpectedReturnNULL "gdk_window_get_effective_toplevel" result
+    result' <- (newObject Window) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_event_compression
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_event_compression" gdk_window_get_event_compression :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO CInt
+
+
+windowGetEventCompression ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Bool
+windowGetEventCompression _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_event_compression _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_events
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "EventMask"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_events" gdk_window_get_events :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO CUInt
+
+
+windowGetEvents ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m [EventMask]
+windowGetEvents _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_events _obj'
+    let result' = wordToGFlags result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_focus_on_map
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_focus_on_map" gdk_window_get_focus_on_map :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO CInt
+
+
+windowGetFocusOnMap ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Bool
+windowGetFocusOnMap _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_focus_on_map _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_frame_clock
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "FrameClock"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_frame_clock" gdk_window_get_frame_clock :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO (Ptr FrameClock)
+
+
+windowGetFrameClock ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m FrameClock
+windowGetFrameClock _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_frame_clock _obj'
+    checkUnexpectedReturnNULL "gdk_window_get_frame_clock" result
+    result' <- (newObject FrameClock) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_frame_extents
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rect", argType = TInterface "Gdk" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_frame_extents" gdk_window_get_frame_extents :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Rectangle ->                        -- rect : TInterface "Gdk" "Rectangle"
+    IO ()
+
+
+windowGetFrameExtents ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m (Rectangle)
+windowGetFrameExtents _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    rect <- callocBoxedBytes 16 :: IO (Ptr Rectangle)
+    gdk_window_get_frame_extents _obj' rect
+    rect' <- (wrapBoxed Rectangle) rect
+    touchManagedPtr _obj
+    return rect'
+
+-- method Window::get_fullscreen_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "FullscreenMode"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_fullscreen_mode" gdk_window_get_fullscreen_mode :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO CUInt
+
+
+windowGetFullscreenMode ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m FullscreenMode
+windowGetFullscreenMode _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_fullscreen_mode _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_geometry
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_geometry" gdk_window_get_geometry :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Int32 ->                            -- x : TBasicType TInt32
+    Ptr Int32 ->                            -- y : TBasicType TInt32
+    Ptr Int32 ->                            -- width : TBasicType TInt32
+    Ptr Int32 ->                            -- height : TBasicType TInt32
+    IO ()
+
+
+windowGetGeometry ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m (Int32,Int32,Int32,Int32)
+windowGetGeometry _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    x <- allocMem :: IO (Ptr Int32)
+    y <- allocMem :: IO (Ptr Int32)
+    width <- allocMem :: IO (Ptr Int32)
+    height <- allocMem :: IO (Ptr Int32)
+    gdk_window_get_geometry _obj' x y width height
+    x' <- peek x
+    y' <- peek y
+    width' <- peek width
+    height' <- peek height
+    touchManagedPtr _obj
+    freeMem x
+    freeMem y
+    freeMem width
+    freeMem height
+    return (x', y', width', height')
+
+-- method Window::get_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_group" gdk_window_get_group :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO (Ptr Window)
+
+
+windowGetGroup ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Window
+windowGetGroup _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_group _obj'
+    checkUnexpectedReturnNULL "gdk_window_get_group" result
+    result' <- (newObject Window) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_height" gdk_window_get_height :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO Int32
+
+
+windowGetHeight ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Int32
+windowGetHeight _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_height _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method Window::get_modal_hint
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_modal_hint" gdk_window_get_modal_hint :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO CInt
+
+
+windowGetModalHint ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Bool
+windowGetModalHint _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_modal_hint _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_origin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_origin" gdk_window_get_origin :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Int32 ->                            -- x : TBasicType TInt32
+    Ptr Int32 ->                            -- y : TBasicType TInt32
+    IO Int32
+
+
+windowGetOrigin ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m (Int32,Int32,Int32)
+windowGetOrigin _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    x <- allocMem :: IO (Ptr Int32)
+    y <- allocMem :: IO (Ptr Int32)
+    result <- gdk_window_get_origin _obj' x y
+    x' <- peek x
+    y' <- peek y
+    touchManagedPtr _obj
+    freeMem x
+    freeMem y
+    return (result, x', y')
+
+-- method Window::get_parent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_parent" gdk_window_get_parent :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO (Ptr Window)
+
+
+windowGetParent ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Window
+windowGetParent _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_parent _obj'
+    checkUnexpectedReturnNULL "gdk_window_get_parent" result
+    result' <- (newObject Window) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_pass_through
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_pass_through" gdk_window_get_pass_through :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO CInt
+
+
+windowGetPassThrough ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Bool
+windowGetPassThrough _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_pass_through _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_pointer
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "mask", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_pointer" gdk_window_get_pointer :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Int32 ->                            -- x : TBasicType TInt32
+    Ptr Int32 ->                            -- y : TBasicType TInt32
+    Ptr CUInt ->                            -- mask : TInterface "Gdk" "ModifierType"
+    IO (Ptr Window)
+
+{-# DEPRECATED windowGetPointer ["(Since version 3.0)","Use gdk_window_get_device_position() instead."]#-}
+windowGetPointer ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m (Window,Int32,Int32,[ModifierType])
+windowGetPointer _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    x <- allocMem :: IO (Ptr Int32)
+    y <- allocMem :: IO (Ptr Int32)
+    mask <- allocMem :: IO (Ptr CUInt)
+    result <- gdk_window_get_pointer _obj' x y mask
+    checkUnexpectedReturnNULL "gdk_window_get_pointer" result
+    result' <- (newObject Window) result
+    x' <- peek x
+    y' <- peek y
+    mask' <- peek mask
+    let mask'' = wordToGFlags mask'
+    touchManagedPtr _obj
+    freeMem x
+    freeMem y
+    freeMem mask
+    return (result', x', y', mask'')
+
+-- method Window::get_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_position" gdk_window_get_position :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Int32 ->                            -- x : TBasicType TInt32
+    Ptr Int32 ->                            -- y : TBasicType TInt32
+    IO ()
+
+
+windowGetPosition ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m (Int32,Int32)
+windowGetPosition _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    x <- allocMem :: IO (Ptr Int32)
+    y <- allocMem :: IO (Ptr Int32)
+    gdk_window_get_position _obj' x y
+    x' <- peek x
+    y' <- peek y
+    touchManagedPtr _obj
+    freeMem x
+    freeMem y
+    return (x', y')
+
+-- method Window::get_root_coords
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_root_coords" gdk_window_get_root_coords :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Int32 ->                                -- x : TBasicType TInt32
+    Int32 ->                                -- y : TBasicType TInt32
+    Ptr Int32 ->                            -- root_x : TBasicType TInt32
+    Ptr Int32 ->                            -- root_y : TBasicType TInt32
+    IO ()
+
+
+windowGetRootCoords ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Int32 ->                                -- x
+    Int32 ->                                -- y
+    m (Int32,Int32)
+windowGetRootCoords _obj x y = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    root_x <- allocMem :: IO (Ptr Int32)
+    root_y <- allocMem :: IO (Ptr Int32)
+    gdk_window_get_root_coords _obj' x y root_x root_y
+    root_x' <- peek root_x
+    root_y' <- peek root_y
+    touchManagedPtr _obj
+    freeMem root_x
+    freeMem root_y
+    return (root_x', root_y')
+
+-- method Window::get_root_origin
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_root_origin" gdk_window_get_root_origin :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Int32 ->                            -- x : TBasicType TInt32
+    Ptr Int32 ->                            -- y : TBasicType TInt32
+    IO ()
+
+
+windowGetRootOrigin ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m (Int32,Int32)
+windowGetRootOrigin _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    x <- allocMem :: IO (Ptr Int32)
+    y <- allocMem :: IO (Ptr Int32)
+    gdk_window_get_root_origin _obj' x y
+    x' <- peek x
+    y' <- peek y
+    touchManagedPtr _obj
+    freeMem x
+    freeMem y
+    return (x', y')
+
+-- method Window::get_scale_factor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_scale_factor" gdk_window_get_scale_factor :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO Int32
+
+
+windowGetScaleFactor ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Int32
+windowGetScaleFactor _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_scale_factor _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method Window::get_screen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Screen"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_screen" gdk_window_get_screen :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO (Ptr Screen)
+
+
+windowGetScreen ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Screen
+windowGetScreen _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_screen _obj'
+    checkUnexpectedReturnNULL "gdk_window_get_screen" result
+    result' <- (newObject Screen) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_source_events
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source", argType = TInterface "Gdk" "InputSource", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source", argType = TInterface "Gdk" "InputSource", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "EventMask"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_source_events" gdk_window_get_source_events :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CUInt ->                                -- source : TInterface "Gdk" "InputSource"
+    IO CUInt
+
+
+windowGetSourceEvents ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    InputSource ->                          -- source
+    m [EventMask]
+windowGetSourceEvents _obj source = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let source' = (fromIntegral . fromEnum) source
+    result <- gdk_window_get_source_events _obj' source'
+    let result' = wordToGFlags result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_state
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "WindowState"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_state" gdk_window_get_state :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO CUInt
+
+
+windowGetState ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m [WindowState]
+windowGetState _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_state _obj'
+    let result' = wordToGFlags result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_support_multidevice
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_support_multidevice" gdk_window_get_support_multidevice :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO CInt
+
+
+windowGetSupportMultidevice ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Bool
+windowGetSupportMultidevice _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_support_multidevice _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_toplevel
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_toplevel" gdk_window_get_toplevel :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO (Ptr Window)
+
+
+windowGetToplevel ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Window
+windowGetToplevel _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_toplevel _obj'
+    checkUnexpectedReturnNULL "gdk_window_get_toplevel" result
+    result' <- (newObject Window) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_type_hint
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "WindowTypeHint"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_type_hint" gdk_window_get_type_hint :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO CUInt
+
+
+windowGetTypeHint ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m WindowTypeHint
+windowGetTypeHint _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_type_hint _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_update_area
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "cairo" "Region"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_update_area" gdk_window_get_update_area :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO (Ptr Cairo.Region)
+
+
+windowGetUpdateArea ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Cairo.Region
+windowGetUpdateArea _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_update_area _obj'
+    checkUnexpectedReturnNULL "gdk_window_get_update_area" result
+    result' <- (wrapBoxed Cairo.Region) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_user_data
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_user_data" gdk_window_get_user_data :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr (Ptr ()) ->                         -- data : TBasicType TVoid
+    IO ()
+
+
+windowGetUserData ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ((Ptr ()))
+windowGetUserData _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    data_ <- allocMem :: IO (Ptr (Ptr ()))
+    gdk_window_get_user_data _obj' data_
+    data_' <- peek data_
+    touchManagedPtr _obj
+    freeMem data_
+    return data_'
+
+-- method Window::get_visible_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "cairo" "Region"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_visible_region" gdk_window_get_visible_region :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO (Ptr Cairo.Region)
+
+
+windowGetVisibleRegion ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Cairo.Region
+windowGetVisibleRegion _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_visible_region _obj'
+    checkUnexpectedReturnNULL "gdk_window_get_visible_region" result
+    result' <- (wrapBoxed Cairo.Region) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_visual
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Visual"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_visual" gdk_window_get_visual :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO (Ptr Visual)
+
+
+windowGetVisual ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Visual
+windowGetVisual _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_visual _obj'
+    checkUnexpectedReturnNULL "gdk_window_get_visual" result
+    result' <- (newObject Visual) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::get_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_width" gdk_window_get_width :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO Int32
+
+
+windowGetWidth ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Int32
+windowGetWidth _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_width _obj'
+    touchManagedPtr _obj
+    return result
+
+-- method Window::get_window_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "WindowType"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_get_window_type" gdk_window_get_window_type :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO CUInt
+
+
+windowGetWindowType ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m WindowType
+windowGetWindowType _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_get_window_type _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::has_native
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_has_native" gdk_window_has_native :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO CInt
+
+
+windowHasNative ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Bool
+windowHasNative _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_has_native _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::hide
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_hide" gdk_window_hide :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowHide ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowHide _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_hide _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::iconify
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_iconify" gdk_window_iconify :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowIconify ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowIconify _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_iconify _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::input_shape_combine_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "shape_region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "shape_region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_input_shape_combine_region" gdk_window_input_shape_combine_region :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Cairo.Region ->                     -- shape_region : TInterface "cairo" "Region"
+    Int32 ->                                -- offset_x : TBasicType TInt32
+    Int32 ->                                -- offset_y : TBasicType TInt32
+    IO ()
+
+
+windowInputShapeCombineRegion ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Cairo.Region ->                         -- shape_region
+    Int32 ->                                -- offset_x
+    Int32 ->                                -- offset_y
+    m ()
+windowInputShapeCombineRegion _obj shape_region offset_x offset_y = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let shape_region' = unsafeManagedPtrGetPtr shape_region
+    gdk_window_input_shape_combine_region _obj' shape_region' offset_x offset_y
+    touchManagedPtr _obj
+    touchManagedPtr shape_region
+    return ()
+
+-- method Window::invalidate_maybe_recurse
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "child_func", argType = TInterface "Gdk" "WindowChildFunc", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeCall, argClosure = 3, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "child_func", argType = TInterface "Gdk" "WindowChildFunc", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeCall, argClosure = 3, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_invalidate_maybe_recurse" gdk_window_invalidate_maybe_recurse :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Cairo.Region ->                     -- region : TInterface "cairo" "Region"
+    FunPtr WindowChildFuncC ->              -- child_func : TInterface "Gdk" "WindowChildFunc"
+    Ptr () ->                               -- user_data : TBasicType TVoid
+    IO ()
+
+
+windowInvalidateMaybeRecurse ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Cairo.Region ->                         -- region
+    Maybe (WindowChildFunc) ->              -- child_func
+    m ()
+windowInvalidateMaybeRecurse _obj region child_func = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let region' = unsafeManagedPtrGetPtr region
+    maybeChild_func <- case child_func of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jChild_func -> do
+            jChild_func' <- mkWindowChildFunc (windowChildFuncWrapper Nothing jChild_func)
+            return jChild_func'
+    let user_data = nullPtr
+    gdk_window_invalidate_maybe_recurse _obj' region' maybeChild_func user_data
+    safeFreeFunPtr $ castFunPtrToPtr maybeChild_func
+    touchManagedPtr _obj
+    touchManagedPtr region
+    return ()
+
+-- method Window::invalidate_rect
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rect", argType = TInterface "Gdk" "Rectangle", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invalidate_children", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rect", argType = TInterface "Gdk" "Rectangle", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invalidate_children", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_invalidate_rect" gdk_window_invalidate_rect :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Rectangle ->                        -- rect : TInterface "Gdk" "Rectangle"
+    CInt ->                                 -- invalidate_children : TBasicType TBoolean
+    IO ()
+
+
+windowInvalidateRect ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Maybe (Rectangle) ->                    -- rect
+    Bool ->                                 -- invalidate_children
+    m ()
+windowInvalidateRect _obj rect invalidate_children = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeRect <- case rect of
+        Nothing -> return nullPtr
+        Just jRect -> do
+            let jRect' = unsafeManagedPtrGetPtr jRect
+            return jRect'
+    let invalidate_children' = (fromIntegral . fromEnum) invalidate_children
+    gdk_window_invalidate_rect _obj' maybeRect invalidate_children'
+    touchManagedPtr _obj
+    whenJust rect touchManagedPtr
+    return ()
+
+-- method Window::invalidate_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invalidate_children", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invalidate_children", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_invalidate_region" gdk_window_invalidate_region :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Cairo.Region ->                     -- region : TInterface "cairo" "Region"
+    CInt ->                                 -- invalidate_children : TBasicType TBoolean
+    IO ()
+
+
+windowInvalidateRegion ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Cairo.Region ->                         -- region
+    Bool ->                                 -- invalidate_children
+    m ()
+windowInvalidateRegion _obj region invalidate_children = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let region' = unsafeManagedPtrGetPtr region
+    let invalidate_children' = (fromIntegral . fromEnum) invalidate_children
+    gdk_window_invalidate_region _obj' region' invalidate_children'
+    touchManagedPtr _obj
+    touchManagedPtr region
+    return ()
+
+-- method Window::is_destroyed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_is_destroyed" gdk_window_is_destroyed :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO CInt
+
+
+windowIsDestroyed ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Bool
+windowIsDestroyed _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_is_destroyed _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::is_input_only
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_is_input_only" gdk_window_is_input_only :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO CInt
+
+
+windowIsInputOnly ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Bool
+windowIsInputOnly _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_is_input_only _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::is_shaped
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_is_shaped" gdk_window_is_shaped :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO CInt
+
+
+windowIsShaped ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Bool
+windowIsShaped _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_is_shaped _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::is_viewable
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_is_viewable" gdk_window_is_viewable :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO CInt
+
+
+windowIsViewable ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Bool
+windowIsViewable _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_is_viewable _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::is_visible
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_is_visible" gdk_window_is_visible :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO CInt
+
+
+windowIsVisible ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m Bool
+windowIsVisible _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_is_visible _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::lower
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_lower" gdk_window_lower :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowLower ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowLower _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_lower _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::mark_paint_from_clip
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_mark_paint_from_clip" gdk_window_mark_paint_from_clip :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"
+    IO ()
+
+
+windowMarkPaintFromClip ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Cairo.Context ->                        -- cr
+    m ()
+windowMarkPaintFromClip _obj cr = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let cr' = unsafeManagedPtrGetPtr cr
+    gdk_window_mark_paint_from_clip _obj' cr'
+    touchManagedPtr _obj
+    touchManagedPtr cr
+    return ()
+
+-- method Window::maximize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_maximize" gdk_window_maximize :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowMaximize ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowMaximize _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_maximize _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::merge_child_input_shapes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_merge_child_input_shapes" gdk_window_merge_child_input_shapes :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowMergeChildInputShapes ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowMergeChildInputShapes _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_merge_child_input_shapes _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::merge_child_shapes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_merge_child_shapes" gdk_window_merge_child_shapes :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowMergeChildShapes ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowMergeChildShapes _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_merge_child_shapes _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::move
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_move" gdk_window_move :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Int32 ->                                -- x : TBasicType TInt32
+    Int32 ->                                -- y : TBasicType TInt32
+    IO ()
+
+
+windowMove ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Int32 ->                                -- x
+    Int32 ->                                -- y
+    m ()
+windowMove _obj x y = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_move _obj' x y
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::move_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dx", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dy", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dx", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dy", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_move_region" gdk_window_move_region :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Cairo.Region ->                     -- region : TInterface "cairo" "Region"
+    Int32 ->                                -- dx : TBasicType TInt32
+    Int32 ->                                -- dy : TBasicType TInt32
+    IO ()
+
+
+windowMoveRegion ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Cairo.Region ->                         -- region
+    Int32 ->                                -- dx
+    Int32 ->                                -- dy
+    m ()
+windowMoveRegion _obj region dx dy = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let region' = unsafeManagedPtrGetPtr region
+    gdk_window_move_region _obj' region' dx dy
+    touchManagedPtr _obj
+    touchManagedPtr region
+    return ()
+
+-- method Window::move_resize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_move_resize" gdk_window_move_resize :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Int32 ->                                -- x : TBasicType TInt32
+    Int32 ->                                -- y : TBasicType TInt32
+    Int32 ->                                -- width : TBasicType TInt32
+    Int32 ->                                -- height : TBasicType TInt32
+    IO ()
+
+
+windowMoveResize ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Int32 ->                                -- x
+    Int32 ->                                -- y
+    Int32 ->                                -- width
+    Int32 ->                                -- height
+    m ()
+windowMoveResize _obj x y width height = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_move_resize _obj' x y width height
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::peek_children
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TGList (TInterface "Gdk" "Window")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_peek_children" gdk_window_peek_children :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO (Ptr (GList (Ptr Window)))
+
+
+windowPeekChildren ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m [Window]
+windowPeekChildren _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- gdk_window_peek_children _obj'
+    checkUnexpectedReturnNULL "gdk_window_peek_children" result
+    result' <- unpackGList result
+    result'' <- mapM (newObject Window) result'
+    touchManagedPtr _obj
+    return result''
+
+-- method Window::process_updates
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "update_children", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "update_children", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_process_updates" gdk_window_process_updates :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CInt ->                                 -- update_children : TBasicType TBoolean
+    IO ()
+
+
+windowProcessUpdates ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Bool ->                                 -- update_children
+    m ()
+windowProcessUpdates _obj update_children = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let update_children' = (fromIntegral . fromEnum) update_children
+    gdk_window_process_updates _obj' update_children'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::raise
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_raise" gdk_window_raise :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowRaise ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowRaise _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_raise _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::register_dnd
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_register_dnd" gdk_window_register_dnd :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowRegisterDnd ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowRegisterDnd _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_register_dnd _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::reparent
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_parent", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_parent", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_reparent" gdk_window_reparent :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Window ->                           -- new_parent : TInterface "Gdk" "Window"
+    Int32 ->                                -- x : TBasicType TInt32
+    Int32 ->                                -- y : TBasicType TInt32
+    IO ()
+
+
+windowReparent ::
+    (MonadIO m, WindowK a, WindowK b) =>
+    a ->                                    -- _obj
+    b ->                                    -- new_parent
+    Int32 ->                                -- x
+    Int32 ->                                -- y
+    m ()
+windowReparent _obj new_parent x y = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let new_parent' = unsafeManagedPtrCastPtr new_parent
+    gdk_window_reparent _obj' new_parent' x y
+    touchManagedPtr _obj
+    touchManagedPtr new_parent
+    return ()
+
+-- method Window::resize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_resize" gdk_window_resize :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Int32 ->                                -- width : TBasicType TInt32
+    Int32 ->                                -- height : TBasicType TInt32
+    IO ()
+
+
+windowResize ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Int32 ->                                -- width
+    Int32 ->                                -- height
+    m ()
+windowResize _obj width height = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_resize _obj' width height
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::restack
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "sibling", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "above", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "sibling", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "above", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_restack" gdk_window_restack :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Window ->                           -- sibling : TInterface "Gdk" "Window"
+    CInt ->                                 -- above : TBasicType TBoolean
+    IO ()
+
+
+windowRestack ::
+    (MonadIO m, WindowK a, WindowK b) =>
+    a ->                                    -- _obj
+    Maybe (b) ->                            -- sibling
+    Bool ->                                 -- above
+    m ()
+windowRestack _obj sibling above = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeSibling <- case sibling of
+        Nothing -> return nullPtr
+        Just jSibling -> do
+            let jSibling' = unsafeManagedPtrCastPtr jSibling
+            return jSibling'
+    let above' = (fromIntegral . fromEnum) above
+    gdk_window_restack _obj' maybeSibling above'
+    touchManagedPtr _obj
+    whenJust sibling touchManagedPtr
+    return ()
+
+-- method Window::scroll
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dx", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dy", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dx", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dy", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_scroll" gdk_window_scroll :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Int32 ->                                -- dx : TBasicType TInt32
+    Int32 ->                                -- dy : TBasicType TInt32
+    IO ()
+
+
+windowScroll ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Int32 ->                                -- dx
+    Int32 ->                                -- dy
+    m ()
+windowScroll _obj dx dy = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_scroll _obj' dx dy
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_accept_focus
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accept_focus", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accept_focus", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_accept_focus" gdk_window_set_accept_focus :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CInt ->                                 -- accept_focus : TBasicType TBoolean
+    IO ()
+
+
+windowSetAcceptFocus ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Bool ->                                 -- accept_focus
+    m ()
+windowSetAcceptFocus _obj accept_focus = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let accept_focus' = (fromIntegral . fromEnum) accept_focus
+    gdk_window_set_accept_focus _obj' accept_focus'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_background
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "color", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "color", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_background" gdk_window_set_background :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Color ->                            -- color : TInterface "Gdk" "Color"
+    IO ()
+
+{-# DEPRECATED windowSetBackground ["(Since version 3.4)","Use gdk_window_set_background_rgba() instead."]#-}
+windowSetBackground ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Color ->                                -- color
+    m ()
+windowSetBackground _obj color = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let color' = unsafeManagedPtrGetPtr color
+    gdk_window_set_background _obj' color'
+    touchManagedPtr _obj
+    touchManagedPtr color
+    return ()
+
+-- method Window::set_background_pattern
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pattern", argType = TInterface "cairo" "Pattern", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pattern", argType = TInterface "cairo" "Pattern", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_background_pattern" gdk_window_set_background_pattern :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Cairo.Pattern ->                    -- pattern : TInterface "cairo" "Pattern"
+    IO ()
+
+
+windowSetBackgroundPattern ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Maybe (Cairo.Pattern) ->                -- pattern
+    m ()
+windowSetBackgroundPattern _obj pattern = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybePattern <- case pattern of
+        Nothing -> return nullPtr
+        Just jPattern -> do
+            let jPattern' = unsafeManagedPtrGetPtr jPattern
+            return jPattern'
+    gdk_window_set_background_pattern _obj' maybePattern
+    touchManagedPtr _obj
+    whenJust pattern touchManagedPtr
+    return ()
+
+-- method Window::set_background_rgba
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rgba", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rgba", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_background_rgba" gdk_window_set_background_rgba :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr RGBA ->                             -- rgba : TInterface "Gdk" "RGBA"
+    IO ()
+
+
+windowSetBackgroundRgba ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    RGBA ->                                 -- rgba
+    m ()
+windowSetBackgroundRgba _obj rgba = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let rgba' = unsafeManagedPtrGetPtr rgba
+    gdk_window_set_background_rgba _obj' rgba'
+    touchManagedPtr _obj
+    touchManagedPtr rgba
+    return ()
+
+-- method Window::set_child_input_shapes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_child_input_shapes" gdk_window_set_child_input_shapes :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowSetChildInputShapes ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowSetChildInputShapes _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_set_child_input_shapes _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_child_shapes
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_child_shapes" gdk_window_set_child_shapes :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowSetChildShapes ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowSetChildShapes _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_set_child_shapes _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_composited
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "composited", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "composited", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_composited" gdk_window_set_composited :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CInt ->                                 -- composited : TBasicType TBoolean
+    IO ()
+
+{-# DEPRECATED windowSetComposited ["(Since version 3.16)","Compositing is an outdated technology that","  only ever worked on X11."]#-}
+windowSetComposited ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Bool ->                                 -- composited
+    m ()
+windowSetComposited _obj composited = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let composited' = (fromIntegral . fromEnum) composited
+    gdk_window_set_composited _obj' composited'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_cursor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_cursor" gdk_window_set_cursor :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Cursor ->                           -- cursor : TInterface "Gdk" "Cursor"
+    IO ()
+
+
+windowSetCursor ::
+    (MonadIO m, WindowK a, CursorK b) =>
+    a ->                                    -- _obj
+    Maybe (b) ->                            -- cursor
+    m ()
+windowSetCursor _obj cursor = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeCursor <- case cursor of
+        Nothing -> return nullPtr
+        Just jCursor -> do
+            let jCursor' = unsafeManagedPtrCastPtr jCursor
+            return jCursor'
+    gdk_window_set_cursor _obj' maybeCursor
+    touchManagedPtr _obj
+    whenJust cursor touchManagedPtr
+    return ()
+
+-- method Window::set_decorations
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "decorations", argType = TInterface "Gdk" "WMDecoration", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "decorations", argType = TInterface "Gdk" "WMDecoration", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_decorations" gdk_window_set_decorations :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CUInt ->                                -- decorations : TInterface "Gdk" "WMDecoration"
+    IO ()
+
+
+windowSetDecorations ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    [WMDecoration] ->                       -- decorations
+    m ()
+windowSetDecorations _obj decorations = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let decorations' = gflagsToWord decorations
+    gdk_window_set_decorations _obj' decorations'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_device_cursor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_device_cursor" gdk_window_set_device_cursor :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
+    Ptr Cursor ->                           -- cursor : TInterface "Gdk" "Cursor"
+    IO ()
+
+
+windowSetDeviceCursor ::
+    (MonadIO m, WindowK a, DeviceK b, CursorK c) =>
+    a ->                                    -- _obj
+    b ->                                    -- device
+    c ->                                    -- cursor
+    m ()
+windowSetDeviceCursor _obj device cursor = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let device' = unsafeManagedPtrCastPtr device
+    let cursor' = unsafeManagedPtrCastPtr cursor
+    gdk_window_set_device_cursor _obj' device' cursor'
+    touchManagedPtr _obj
+    touchManagedPtr device
+    touchManagedPtr cursor
+    return ()
+
+-- method Window::set_device_events
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_device_events" gdk_window_set_device_events :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
+    CUInt ->                                -- event_mask : TInterface "Gdk" "EventMask"
+    IO ()
+
+
+windowSetDeviceEvents ::
+    (MonadIO m, WindowK a, DeviceK b) =>
+    a ->                                    -- _obj
+    b ->                                    -- device
+    [EventMask] ->                          -- event_mask
+    m ()
+windowSetDeviceEvents _obj device event_mask = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let device' = unsafeManagedPtrCastPtr device
+    let event_mask' = gflagsToWord event_mask
+    gdk_window_set_device_events _obj' device' event_mask'
+    touchManagedPtr _obj
+    touchManagedPtr device
+    return ()
+
+-- method Window::set_event_compression
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_compression", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_compression", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_event_compression" gdk_window_set_event_compression :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CInt ->                                 -- event_compression : TBasicType TBoolean
+    IO ()
+
+
+windowSetEventCompression ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Bool ->                                 -- event_compression
+    m ()
+windowSetEventCompression _obj event_compression = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let event_compression' = (fromIntegral . fromEnum) event_compression
+    gdk_window_set_event_compression _obj' event_compression'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_events
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_events" gdk_window_set_events :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CUInt ->                                -- event_mask : TInterface "Gdk" "EventMask"
+    IO ()
+
+
+windowSetEvents ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    [EventMask] ->                          -- event_mask
+    m ()
+windowSetEvents _obj event_mask = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let event_mask' = gflagsToWord event_mask
+    gdk_window_set_events _obj' event_mask'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_focus_on_map
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "focus_on_map", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "focus_on_map", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_focus_on_map" gdk_window_set_focus_on_map :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CInt ->                                 -- focus_on_map : TBasicType TBoolean
+    IO ()
+
+
+windowSetFocusOnMap ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Bool ->                                 -- focus_on_map
+    m ()
+windowSetFocusOnMap _obj focus_on_map = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let focus_on_map' = (fromIntegral . fromEnum) focus_on_map
+    gdk_window_set_focus_on_map _obj' focus_on_map'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_fullscreen_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mode", argType = TInterface "Gdk" "FullscreenMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mode", argType = TInterface "Gdk" "FullscreenMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_fullscreen_mode" gdk_window_set_fullscreen_mode :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CUInt ->                                -- mode : TInterface "Gdk" "FullscreenMode"
+    IO ()
+
+
+windowSetFullscreenMode ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    FullscreenMode ->                       -- mode
+    m ()
+windowSetFullscreenMode _obj mode = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let mode' = (fromIntegral . fromEnum) mode
+    gdk_window_set_fullscreen_mode _obj' mode'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_functions
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "functions", argType = TInterface "Gdk" "WMFunction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "functions", argType = TInterface "Gdk" "WMFunction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_functions" gdk_window_set_functions :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CUInt ->                                -- functions : TInterface "Gdk" "WMFunction"
+    IO ()
+
+
+windowSetFunctions ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    [WMFunction] ->                         -- functions
+    m ()
+windowSetFunctions _obj functions = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let functions' = gflagsToWord functions
+    gdk_window_set_functions _obj' functions'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_geometry_hints
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "geometry", argType = TInterface "Gdk" "Geometry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "geom_mask", argType = TInterface "Gdk" "WindowHints", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "geometry", argType = TInterface "Gdk" "Geometry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "geom_mask", argType = TInterface "Gdk" "WindowHints", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_geometry_hints" gdk_window_set_geometry_hints :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Geometry ->                         -- geometry : TInterface "Gdk" "Geometry"
+    CUInt ->                                -- geom_mask : TInterface "Gdk" "WindowHints"
+    IO ()
+
+
+windowSetGeometryHints ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Geometry ->                             -- geometry
+    [WindowHints] ->                        -- geom_mask
+    m ()
+windowSetGeometryHints _obj geometry geom_mask = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let geometry' = unsafeManagedPtrGetPtr geometry
+    let geom_mask' = gflagsToWord geom_mask
+    gdk_window_set_geometry_hints _obj' geometry' geom_mask'
+    touchManagedPtr _obj
+    touchManagedPtr geometry
+    return ()
+
+-- method Window::set_group
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "leader", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "leader", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_group" gdk_window_set_group :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Window ->                           -- leader : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowSetGroup ::
+    (MonadIO m, WindowK a, WindowK b) =>
+    a ->                                    -- _obj
+    Maybe (b) ->                            -- leader
+    m ()
+windowSetGroup _obj leader = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeLeader <- case leader of
+        Nothing -> return nullPtr
+        Just jLeader -> do
+            let jLeader' = unsafeManagedPtrCastPtr jLeader
+            return jLeader'
+    gdk_window_set_group _obj' maybeLeader
+    touchManagedPtr _obj
+    whenJust leader touchManagedPtr
+    return ()
+
+-- method Window::set_icon_list
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbufs", argType = TGList (TInterface "GdkPixbuf" "Pixbuf"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbufs", argType = TGList (TInterface "GdkPixbuf" "Pixbuf"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_icon_list" gdk_window_set_icon_list :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr (GList (Ptr GdkPixbuf.Pixbuf)) ->   -- pixbufs : TGList (TInterface "GdkPixbuf" "Pixbuf")
+    IO ()
+
+
+windowSetIconList ::
+    (MonadIO m, WindowK a, GdkPixbuf.PixbufK b) =>
+    a ->                                    -- _obj
+    [b] ->                                  -- pixbufs
+    m ()
+windowSetIconList _obj pixbufs = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let pixbufs' = map unsafeManagedPtrCastPtr pixbufs
+    pixbufs'' <- packGList pixbufs'
+    gdk_window_set_icon_list _obj' pixbufs''
+    touchManagedPtr _obj
+    mapM_ touchManagedPtr pixbufs
+    g_list_free pixbufs''
+    return ()
+
+-- method Window::set_icon_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_icon_name" gdk_window_set_icon_name :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CString ->                              -- name : TBasicType TUTF8
+    IO ()
+
+
+windowSetIconName ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Maybe (T.Text) ->                       -- name
+    m ()
+windowSetIconName _obj name = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeName <- case name of
+        Nothing -> return nullPtr
+        Just jName -> do
+            jName' <- textToCString jName
+            return jName'
+    gdk_window_set_icon_name _obj' maybeName
+    touchManagedPtr _obj
+    freeMem maybeName
+    return ()
+
+-- method Window::set_keep_above
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_keep_above" gdk_window_set_keep_above :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+
+windowSetKeepAbove ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Bool ->                                 -- setting
+    m ()
+windowSetKeepAbove _obj setting = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let setting' = (fromIntegral . fromEnum) setting
+    gdk_window_set_keep_above _obj' setting'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_keep_below
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_keep_below" gdk_window_set_keep_below :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+
+windowSetKeepBelow ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Bool ->                                 -- setting
+    m ()
+windowSetKeepBelow _obj setting = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let setting' = (fromIntegral . fromEnum) setting
+    gdk_window_set_keep_below _obj' setting'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_modal_hint
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modal", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modal", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_modal_hint" gdk_window_set_modal_hint :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CInt ->                                 -- modal : TBasicType TBoolean
+    IO ()
+
+
+windowSetModalHint ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Bool ->                                 -- modal
+    m ()
+windowSetModalHint _obj modal = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let modal' = (fromIntegral . fromEnum) modal
+    gdk_window_set_modal_hint _obj' modal'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_opacity
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "opacity", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "opacity", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_opacity" gdk_window_set_opacity :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CDouble ->                              -- opacity : TBasicType TDouble
+    IO ()
+
+
+windowSetOpacity ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Double ->                               -- opacity
+    m ()
+windowSetOpacity _obj opacity = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let opacity' = realToFrac opacity
+    gdk_window_set_opacity _obj' opacity'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_opaque_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_opaque_region" gdk_window_set_opaque_region :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Cairo.Region ->                     -- region : TInterface "cairo" "Region"
+    IO ()
+
+
+windowSetOpaqueRegion ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Maybe (Cairo.Region) ->                 -- region
+    m ()
+windowSetOpaqueRegion _obj region = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeRegion <- case region of
+        Nothing -> return nullPtr
+        Just jRegion -> do
+            let jRegion' = unsafeManagedPtrGetPtr jRegion
+            return jRegion'
+    gdk_window_set_opaque_region _obj' maybeRegion
+    touchManagedPtr _obj
+    whenJust region touchManagedPtr
+    return ()
+
+-- method Window::set_override_redirect
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "override_redirect", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "override_redirect", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_override_redirect" gdk_window_set_override_redirect :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CInt ->                                 -- override_redirect : TBasicType TBoolean
+    IO ()
+
+
+windowSetOverrideRedirect ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Bool ->                                 -- override_redirect
+    m ()
+windowSetOverrideRedirect _obj override_redirect = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let override_redirect' = (fromIntegral . fromEnum) override_redirect
+    gdk_window_set_override_redirect _obj' override_redirect'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_pass_through
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pass_through", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pass_through", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_pass_through" gdk_window_set_pass_through :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CInt ->                                 -- pass_through : TBasicType TBoolean
+    IO ()
+
+
+windowSetPassThrough ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Bool ->                                 -- pass_through
+    m ()
+windowSetPassThrough _obj pass_through = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let pass_through' = (fromIntegral . fromEnum) pass_through
+    gdk_window_set_pass_through _obj' pass_through'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_role
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "role", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "role", 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 "gdk_window_set_role" gdk_window_set_role :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CString ->                              -- role : TBasicType TUTF8
+    IO ()
+
+
+windowSetRole ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    T.Text ->                               -- role
+    m ()
+windowSetRole _obj role = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    role' <- textToCString role
+    gdk_window_set_role _obj' role'
+    touchManagedPtr _obj
+    freeMem role'
+    return ()
+
+-- method Window::set_shadow_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "left", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "right", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "top", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "bottom", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "left", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "right", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "top", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "bottom", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_shadow_width" gdk_window_set_shadow_width :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Int32 ->                                -- left : TBasicType TInt32
+    Int32 ->                                -- right : TBasicType TInt32
+    Int32 ->                                -- top : TBasicType TInt32
+    Int32 ->                                -- bottom : TBasicType TInt32
+    IO ()
+
+
+windowSetShadowWidth ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Int32 ->                                -- left
+    Int32 ->                                -- right
+    Int32 ->                                -- top
+    Int32 ->                                -- bottom
+    m ()
+windowSetShadowWidth _obj left right top bottom = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_set_shadow_width _obj' left right top bottom
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_skip_pager_hint
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "skips_pager", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "skips_pager", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_skip_pager_hint" gdk_window_set_skip_pager_hint :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CInt ->                                 -- skips_pager : TBasicType TBoolean
+    IO ()
+
+
+windowSetSkipPagerHint ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Bool ->                                 -- skips_pager
+    m ()
+windowSetSkipPagerHint _obj skips_pager = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let skips_pager' = (fromIntegral . fromEnum) skips_pager
+    gdk_window_set_skip_pager_hint _obj' skips_pager'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_skip_taskbar_hint
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "skips_taskbar", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "skips_taskbar", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_skip_taskbar_hint" gdk_window_set_skip_taskbar_hint :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CInt ->                                 -- skips_taskbar : TBasicType TBoolean
+    IO ()
+
+
+windowSetSkipTaskbarHint ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Bool ->                                 -- skips_taskbar
+    m ()
+windowSetSkipTaskbarHint _obj skips_taskbar = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let skips_taskbar' = (fromIntegral . fromEnum) skips_taskbar
+    gdk_window_set_skip_taskbar_hint _obj' skips_taskbar'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_source_events
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source", argType = TInterface "Gdk" "InputSource", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source", argType = TInterface "Gdk" "InputSource", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_source_events" gdk_window_set_source_events :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CUInt ->                                -- source : TInterface "Gdk" "InputSource"
+    CUInt ->                                -- event_mask : TInterface "Gdk" "EventMask"
+    IO ()
+
+
+windowSetSourceEvents ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    InputSource ->                          -- source
+    [EventMask] ->                          -- event_mask
+    m ()
+windowSetSourceEvents _obj source event_mask = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let source' = (fromIntegral . fromEnum) source
+    let event_mask' = gflagsToWord event_mask
+    gdk_window_set_source_events _obj' source' event_mask'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_startup_id
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "startup_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "startup_id", 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 "gdk_window_set_startup_id" gdk_window_set_startup_id :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CString ->                              -- startup_id : TBasicType TUTF8
+    IO ()
+
+
+windowSetStartupId ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    T.Text ->                               -- startup_id
+    m ()
+windowSetStartupId _obj startup_id = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    startup_id' <- textToCString startup_id
+    gdk_window_set_startup_id _obj' startup_id'
+    touchManagedPtr _obj
+    freeMem startup_id'
+    return ()
+
+-- method Window::set_static_gravities
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "use_static", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "use_static", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_static_gravities" gdk_window_set_static_gravities :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CInt ->                                 -- use_static : TBasicType TBoolean
+    IO CInt
+
+{-# DEPRECATED windowSetStaticGravities ["(Since version 3.16)","static gravities haven't worked on anything but X11","  for a long time."]#-}
+windowSetStaticGravities ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Bool ->                                 -- use_static
+    m Bool
+windowSetStaticGravities _obj use_static = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let use_static' = (fromIntegral . fromEnum) use_static
+    result <- gdk_window_set_static_gravities _obj' use_static'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+-- method Window::set_support_multidevice
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "support_multidevice", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "support_multidevice", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_support_multidevice" gdk_window_set_support_multidevice :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CInt ->                                 -- support_multidevice : TBasicType TBoolean
+    IO ()
+
+
+windowSetSupportMultidevice ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Bool ->                                 -- support_multidevice
+    m ()
+windowSetSupportMultidevice _obj support_multidevice = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let support_multidevice' = (fromIntegral . fromEnum) support_multidevice
+    gdk_window_set_support_multidevice _obj' support_multidevice'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "title", 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 "gdk_window_set_title" gdk_window_set_title :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CString ->                              -- title : TBasicType TUTF8
+    IO ()
+
+
+windowSetTitle ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    T.Text ->                               -- title
+    m ()
+windowSetTitle _obj title = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    title' <- textToCString title
+    gdk_window_set_title _obj' title'
+    touchManagedPtr _obj
+    freeMem title'
+    return ()
+
+-- method Window::set_transient_for
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_transient_for" gdk_window_set_transient_for :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Window ->                           -- parent : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowSetTransientFor ::
+    (MonadIO m, WindowK a, WindowK b) =>
+    a ->                                    -- _obj
+    b ->                                    -- parent
+    m ()
+windowSetTransientFor _obj parent = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let parent' = unsafeManagedPtrCastPtr parent
+    gdk_window_set_transient_for _obj' parent'
+    touchManagedPtr _obj
+    touchManagedPtr parent
+    return ()
+
+-- method Window::set_type_hint
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Gdk" "WindowTypeHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Gdk" "WindowTypeHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_type_hint" gdk_window_set_type_hint :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CUInt ->                                -- hint : TInterface "Gdk" "WindowTypeHint"
+    IO ()
+
+
+windowSetTypeHint ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    WindowTypeHint ->                       -- hint
+    m ()
+windowSetTypeHint _obj hint = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let hint' = (fromIntegral . fromEnum) hint
+    gdk_window_set_type_hint _obj' hint'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_urgency_hint
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "urgent", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "urgent", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_urgency_hint" gdk_window_set_urgency_hint :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    CInt ->                                 -- urgent : TBasicType TBoolean
+    IO ()
+
+
+windowSetUrgencyHint ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Bool ->                                 -- urgent
+    m ()
+windowSetUrgencyHint _obj urgent = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let urgent' = (fromIntegral . fromEnum) urgent
+    gdk_window_set_urgency_hint _obj' urgent'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::set_user_data
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_user_data" gdk_window_set_user_data :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr GObject.Object ->                   -- user_data : TInterface "GObject" "Object"
+    IO ()
+
+
+windowSetUserData ::
+    (MonadIO m, WindowK a, GObject.ObjectK b) =>
+    a ->                                    -- _obj
+    Maybe (b) ->                            -- user_data
+    m ()
+windowSetUserData _obj user_data = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeUser_data <- case user_data of
+        Nothing -> return nullPtr
+        Just jUser_data -> do
+            let jUser_data' = unsafeManagedPtrCastPtr jUser_data
+            return jUser_data'
+    gdk_window_set_user_data _obj' maybeUser_data
+    touchManagedPtr _obj
+    whenJust user_data touchManagedPtr
+    return ()
+
+-- method Window::shape_combine_region
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "shape_region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "shape_region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_shape_combine_region" gdk_window_shape_combine_region :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Cairo.Region ->                     -- shape_region : TInterface "cairo" "Region"
+    Int32 ->                                -- offset_x : TBasicType TInt32
+    Int32 ->                                -- offset_y : TBasicType TInt32
+    IO ()
+
+
+windowShapeCombineRegion ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Maybe (Cairo.Region) ->                 -- shape_region
+    Int32 ->                                -- offset_x
+    Int32 ->                                -- offset_y
+    m ()
+windowShapeCombineRegion _obj shape_region offset_x offset_y = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeShape_region <- case shape_region of
+        Nothing -> return nullPtr
+        Just jShape_region -> do
+            let jShape_region' = unsafeManagedPtrGetPtr jShape_region
+            return jShape_region'
+    gdk_window_shape_combine_region _obj' maybeShape_region offset_x offset_y
+    touchManagedPtr _obj
+    whenJust shape_region touchManagedPtr
+    return ()
+
+-- method Window::show
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_show" gdk_window_show :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowShow ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowShow _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_show _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::show_unraised
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_show_unraised" gdk_window_show_unraised :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowShowUnraised ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowShowUnraised _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_show_unraised _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::show_window_menu
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_show_window_menu" gdk_window_show_window_menu :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    Ptr Event ->                            -- event : TInterface "Gdk" "Event"
+    IO CInt
+
+
+windowShowWindowMenu ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    Event ->                                -- event
+    m Bool
+windowShowWindowMenu _obj event = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let event' = unsafeManagedPtrGetPtr event
+    result <- gdk_window_show_window_menu _obj' event'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    touchManagedPtr event
+    return result'
+
+-- method Window::stick
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_stick" gdk_window_stick :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowStick ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowStick _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_stick _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::thaw_toplevel_updates_libgtk_only
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_thaw_toplevel_updates_libgtk_only" gdk_window_thaw_toplevel_updates_libgtk_only :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+{-# DEPRECATED windowThawToplevelUpdatesLibgtkOnly ["(Since version 3.16)","This symbol was never meant to be used outside of GTK+"]#-}
+windowThawToplevelUpdatesLibgtkOnly ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowThawToplevelUpdatesLibgtkOnly _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_thaw_toplevel_updates_libgtk_only _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::thaw_updates
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_thaw_updates" gdk_window_thaw_updates :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowThawUpdates ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowThawUpdates _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_thaw_updates _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::unfullscreen
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_unfullscreen" gdk_window_unfullscreen :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowUnfullscreen ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowUnfullscreen _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_unfullscreen _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::unmaximize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_unmaximize" gdk_window_unmaximize :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowUnmaximize ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowUnmaximize _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_unmaximize _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::unstick
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_unstick" gdk_window_unstick :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowUnstick ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowUnstick _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_unstick _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::withdraw
+-- method type : OrdinaryMethod
+-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_withdraw" gdk_window_withdraw :: 
+    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
+    IO ()
+
+
+windowWithdraw ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- _obj
+    m ()
+windowWithdraw _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    gdk_window_withdraw _obj'
+    touchManagedPtr _obj
+    return ()
+
+-- method Window::at_pointer
+-- method type : MemberFunction
+-- Args : [Arg {argName = "win_x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "win_y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_at_pointer" gdk_window_at_pointer :: 
+    Ptr Int32 ->                            -- win_x : TBasicType TInt32
+    Ptr Int32 ->                            -- win_y : TBasicType TInt32
+    IO (Ptr Window)
+
+{-# DEPRECATED windowAtPointer ["(Since version 3.0)","Use gdk_device_get_window_at_position() instead."]#-}
+windowAtPointer ::
+    (MonadIO m) =>
+    m (Window,Int32,Int32)
+windowAtPointer  = liftIO $ do
+    win_x <- allocMem :: IO (Ptr Int32)
+    win_y <- allocMem :: IO (Ptr Int32)
+    result <- gdk_window_at_pointer win_x win_y
+    checkUnexpectedReturnNULL "gdk_window_at_pointer" result
+    result' <- (newObject Window) result
+    win_x' <- peek win_x
+    win_y' <- peek win_y
+    freeMem win_x
+    freeMem win_y
+    return (result', win_x', win_y')
+
+-- method Window::constrain_size
+-- method type : MemberFunction
+-- Args : [Arg {argName = "geometry", argType = TInterface "Gdk" "Geometry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "Gdk" "WindowHints", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_width", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "new_height", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "geometry", argType = TInterface "Gdk" "Geometry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "Gdk" "WindowHints", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_constrain_size" gdk_window_constrain_size :: 
+    Ptr Geometry ->                         -- geometry : TInterface "Gdk" "Geometry"
+    CUInt ->                                -- flags : TInterface "Gdk" "WindowHints"
+    Int32 ->                                -- width : TBasicType TInt32
+    Int32 ->                                -- height : TBasicType TInt32
+    Ptr Int32 ->                            -- new_width : TBasicType TInt32
+    Ptr Int32 ->                            -- new_height : TBasicType TInt32
+    IO ()
+
+
+windowConstrainSize ::
+    (MonadIO m) =>
+    Geometry ->                             -- geometry
+    [WindowHints] ->                        -- flags
+    Int32 ->                                -- width
+    Int32 ->                                -- height
+    m (Int32,Int32)
+windowConstrainSize geometry flags width height = liftIO $ do
+    let geometry' = unsafeManagedPtrGetPtr geometry
+    let flags' = gflagsToWord flags
+    new_width <- allocMem :: IO (Ptr Int32)
+    new_height <- allocMem :: IO (Ptr Int32)
+    gdk_window_constrain_size geometry' flags' width height new_width new_height
+    new_width' <- peek new_width
+    new_height' <- peek new_height
+    touchManagedPtr geometry
+    freeMem new_width
+    freeMem new_height
+    return (new_width', new_height')
+
+-- method Window::process_all_updates
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_process_all_updates" gdk_window_process_all_updates :: 
+    IO ()
+
+
+windowProcessAllUpdates ::
+    (MonadIO m) =>
+    m ()
+windowProcessAllUpdates  = liftIO $ do
+    gdk_window_process_all_updates
+    return ()
+
+-- method Window::set_debug_updates
+-- method type : MemberFunction
+-- Args : [Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_window_set_debug_updates" gdk_window_set_debug_updates :: 
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+
+windowSetDebugUpdates ::
+    (MonadIO m) =>
+    Bool ->                                 -- setting
+    m ()
+windowSetDebugUpdates setting = liftIO $ do
+    let setting' = (fromIntegral . fromEnum) setting
+    gdk_window_set_debug_updates setting'
+    return ()
+
+-- signal Window::create-surface
+type WindowCreateSurfaceCallback =
+    Int32 ->
+    Int32 ->
+    IO Cairo.Surface
+
+noWindowCreateSurfaceCallback :: Maybe WindowCreateSurfaceCallback
+noWindowCreateSurfaceCallback = Nothing
+
+type WindowCreateSurfaceCallbackC =
+    Ptr () ->                               -- object
+    Int32 ->
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO (Ptr Cairo.Surface)
+
+foreign import ccall "wrapper"
+    mkWindowCreateSurfaceCallback :: WindowCreateSurfaceCallbackC -> IO (FunPtr WindowCreateSurfaceCallbackC)
+
+windowCreateSurfaceClosure :: WindowCreateSurfaceCallback -> IO Closure
+windowCreateSurfaceClosure cb = newCClosure =<< mkWindowCreateSurfaceCallback wrapped
+    where wrapped = windowCreateSurfaceCallbackWrapper cb
+
+windowCreateSurfaceCallbackWrapper ::
+    WindowCreateSurfaceCallback ->
+    Ptr () ->
+    Int32 ->
+    Int32 ->
+    Ptr () ->
+    IO (Ptr Cairo.Surface)
+windowCreateSurfaceCallbackWrapper _cb _ width height _ = do
+    result <- _cb  width height
+    result' <- copyBoxed result
+    return result'
+
+onWindowCreateSurface :: (GObject a, MonadIO m) => a -> WindowCreateSurfaceCallback -> m SignalHandlerId
+onWindowCreateSurface obj cb = liftIO $ connectWindowCreateSurface obj cb SignalConnectBefore
+afterWindowCreateSurface :: (GObject a, MonadIO m) => a -> WindowCreateSurfaceCallback -> m SignalHandlerId
+afterWindowCreateSurface obj cb = connectWindowCreateSurface obj cb SignalConnectAfter
+
+connectWindowCreateSurface :: (GObject a, MonadIO m) =>
+                              a -> WindowCreateSurfaceCallback -> SignalConnectMode -> m SignalHandlerId
+connectWindowCreateSurface obj cb after = liftIO $ do
+    cb' <- mkWindowCreateSurfaceCallback (windowCreateSurfaceCallbackWrapper cb)
+    connectSignalFunPtr obj "create-surface" cb' after
+
+-- signal Window::from-embedder
+type WindowFromEmbedderCallback =
+    Double ->
+    Double ->
+    IO (Double,Double)
+
+noWindowFromEmbedderCallback :: Maybe WindowFromEmbedderCallback
+noWindowFromEmbedderCallback = Nothing
+
+type WindowFromEmbedderCallbackC =
+    Ptr () ->                               -- object
+    CDouble ->
+    CDouble ->
+    Ptr CDouble ->
+    Ptr CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkWindowFromEmbedderCallback :: WindowFromEmbedderCallbackC -> IO (FunPtr WindowFromEmbedderCallbackC)
+
+windowFromEmbedderClosure :: WindowFromEmbedderCallback -> IO Closure
+windowFromEmbedderClosure cb = newCClosure =<< mkWindowFromEmbedderCallback wrapped
+    where wrapped = windowFromEmbedderCallbackWrapper cb
+
+windowFromEmbedderCallbackWrapper ::
+    WindowFromEmbedderCallback ->
+    Ptr () ->
+    CDouble ->
+    CDouble ->
+    Ptr CDouble ->
+    Ptr CDouble ->
+    Ptr () ->
+    IO ()
+windowFromEmbedderCallbackWrapper _cb _ embedder_x embedder_y offscreen_x offscreen_y _ = do
+    let embedder_x' = realToFrac embedder_x
+    let embedder_y' = realToFrac embedder_y
+    (outoffscreen_x, outoffscreen_y) <- _cb  embedder_x' embedder_y'
+    let outoffscreen_x' = realToFrac outoffscreen_x
+    poke offscreen_x outoffscreen_x'
+    let outoffscreen_y' = realToFrac outoffscreen_y
+    poke offscreen_y outoffscreen_y'
+
+onWindowFromEmbedder :: (GObject a, MonadIO m) => a -> WindowFromEmbedderCallback -> m SignalHandlerId
+onWindowFromEmbedder obj cb = liftIO $ connectWindowFromEmbedder obj cb SignalConnectBefore
+afterWindowFromEmbedder :: (GObject a, MonadIO m) => a -> WindowFromEmbedderCallback -> m SignalHandlerId
+afterWindowFromEmbedder obj cb = connectWindowFromEmbedder obj cb SignalConnectAfter
+
+connectWindowFromEmbedder :: (GObject a, MonadIO m) =>
+                             a -> WindowFromEmbedderCallback -> SignalConnectMode -> m SignalHandlerId
+connectWindowFromEmbedder obj cb after = liftIO $ do
+    cb' <- mkWindowFromEmbedderCallback (windowFromEmbedderCallbackWrapper cb)
+    connectSignalFunPtr obj "from-embedder" cb' after
+
+-- signal Window::pick-embedded-child
+type WindowPickEmbeddedChildCallback =
+    Double ->
+    Double ->
+    IO Window
+
+noWindowPickEmbeddedChildCallback :: Maybe WindowPickEmbeddedChildCallback
+noWindowPickEmbeddedChildCallback = Nothing
+
+type WindowPickEmbeddedChildCallbackC =
+    Ptr () ->                               -- object
+    CDouble ->
+    CDouble ->
+    Ptr () ->                               -- user_data
+    IO (Ptr Window)
+
+foreign import ccall "wrapper"
+    mkWindowPickEmbeddedChildCallback :: WindowPickEmbeddedChildCallbackC -> IO (FunPtr WindowPickEmbeddedChildCallbackC)
+
+windowPickEmbeddedChildClosure :: WindowPickEmbeddedChildCallback -> IO Closure
+windowPickEmbeddedChildClosure cb = newCClosure =<< mkWindowPickEmbeddedChildCallback wrapped
+    where wrapped = windowPickEmbeddedChildCallbackWrapper cb
+
+windowPickEmbeddedChildCallbackWrapper ::
+    WindowPickEmbeddedChildCallback ->
+    Ptr () ->
+    CDouble ->
+    CDouble ->
+    Ptr () ->
+    IO (Ptr Window)
+windowPickEmbeddedChildCallbackWrapper _cb _ x y _ = do
+    let x' = realToFrac x
+    let y' = realToFrac y
+    result <- _cb  x' y'
+    let result' = unsafeManagedPtrCastPtr result
+    return result'
+
+onWindowPickEmbeddedChild :: (GObject a, MonadIO m) => a -> WindowPickEmbeddedChildCallback -> m SignalHandlerId
+onWindowPickEmbeddedChild obj cb = liftIO $ connectWindowPickEmbeddedChild obj cb SignalConnectBefore
+afterWindowPickEmbeddedChild :: (GObject a, MonadIO m) => a -> WindowPickEmbeddedChildCallback -> m SignalHandlerId
+afterWindowPickEmbeddedChild obj cb = connectWindowPickEmbeddedChild obj cb SignalConnectAfter
+
+connectWindowPickEmbeddedChild :: (GObject a, MonadIO m) =>
+                                  a -> WindowPickEmbeddedChildCallback -> SignalConnectMode -> m SignalHandlerId
+connectWindowPickEmbeddedChild obj cb after = liftIO $ do
+    cb' <- mkWindowPickEmbeddedChildCallback (windowPickEmbeddedChildCallbackWrapper cb)
+    connectSignalFunPtr obj "pick-embedded-child" cb' after
+
+-- signal Window::to-embedder
+type WindowToEmbedderCallback =
+    Double ->
+    Double ->
+    IO (Double,Double)
+
+noWindowToEmbedderCallback :: Maybe WindowToEmbedderCallback
+noWindowToEmbedderCallback = Nothing
+
+type WindowToEmbedderCallbackC =
+    Ptr () ->                               -- object
+    CDouble ->
+    CDouble ->
+    Ptr CDouble ->
+    Ptr CDouble ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkWindowToEmbedderCallback :: WindowToEmbedderCallbackC -> IO (FunPtr WindowToEmbedderCallbackC)
+
+windowToEmbedderClosure :: WindowToEmbedderCallback -> IO Closure
+windowToEmbedderClosure cb = newCClosure =<< mkWindowToEmbedderCallback wrapped
+    where wrapped = windowToEmbedderCallbackWrapper cb
+
+windowToEmbedderCallbackWrapper ::
+    WindowToEmbedderCallback ->
+    Ptr () ->
+    CDouble ->
+    CDouble ->
+    Ptr CDouble ->
+    Ptr CDouble ->
+    Ptr () ->
+    IO ()
+windowToEmbedderCallbackWrapper _cb _ offscreen_x offscreen_y embedder_x embedder_y _ = do
+    let offscreen_x' = realToFrac offscreen_x
+    let offscreen_y' = realToFrac offscreen_y
+    (outembedder_x, outembedder_y) <- _cb  offscreen_x' offscreen_y'
+    let outembedder_x' = realToFrac outembedder_x
+    poke embedder_x outembedder_x'
+    let outembedder_y' = realToFrac outembedder_y
+    poke embedder_y outembedder_y'
+
+onWindowToEmbedder :: (GObject a, MonadIO m) => a -> WindowToEmbedderCallback -> m SignalHandlerId
+onWindowToEmbedder obj cb = liftIO $ connectWindowToEmbedder obj cb SignalConnectBefore
+afterWindowToEmbedder :: (GObject a, MonadIO m) => a -> WindowToEmbedderCallback -> m SignalHandlerId
+afterWindowToEmbedder obj cb = connectWindowToEmbedder obj cb SignalConnectAfter
+
+connectWindowToEmbedder :: (GObject a, MonadIO m) =>
+                           a -> WindowToEmbedderCallback -> SignalConnectMode -> m SignalHandlerId
+connectWindowToEmbedder obj cb after = liftIO $ do
+    cb' <- mkWindowToEmbedderCallback (windowToEmbedderCallbackWrapper cb)
+    connectSignalFunPtr obj "to-embedder" cb' after
+
+-- struct WindowAttr
+newtype WindowAttr = WindowAttr (ForeignPtr WindowAttr)
+noWindowAttr :: Maybe WindowAttr
+noWindowAttr = Nothing
+
+windowAttrReadTitle :: WindowAttr -> IO T.Text
+windowAttrReadTitle s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 0) :: IO CString
+    val' <- cstringToText val
+    return val'
+
+windowAttrReadEventMask :: WindowAttr -> IO Int32
+windowAttrReadEventMask s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 8) :: IO Int32
+    return val
+
+windowAttrReadX :: WindowAttr -> IO Int32
+windowAttrReadX s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 12) :: IO Int32
+    return val
+
+windowAttrReadY :: WindowAttr -> IO Int32
+windowAttrReadY s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 16) :: IO Int32
+    return val
+
+windowAttrReadWidth :: WindowAttr -> IO Int32
+windowAttrReadWidth s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 20) :: IO Int32
+    return val
+
+windowAttrReadHeight :: WindowAttr -> IO Int32
+windowAttrReadHeight s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 24) :: IO Int32
+    return val
+
+windowAttrReadWclass :: WindowAttr -> IO WindowWindowClass
+windowAttrReadWclass s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 28) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+windowAttrReadVisual :: WindowAttr -> IO Visual
+windowAttrReadVisual s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 32) :: IO (Ptr Visual)
+    val' <- (newObject Visual) val
+    return val'
+
+windowAttrReadWindowType :: WindowAttr -> IO WindowType
+windowAttrReadWindowType s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 40) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+windowAttrReadCursor :: WindowAttr -> IO Cursor
+windowAttrReadCursor s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 48) :: IO (Ptr Cursor)
+    val' <- (newObject Cursor) val
+    return val'
+
+windowAttrReadWmclassName :: WindowAttr -> IO T.Text
+windowAttrReadWmclassName s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 56) :: IO CString
+    val' <- cstringToText val
+    return val'
+
+windowAttrReadWmclassClass :: WindowAttr -> IO T.Text
+windowAttrReadWmclassClass s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 64) :: IO CString
+    val' <- cstringToText val
+    return val'
+
+windowAttrReadOverrideRedirect :: WindowAttr -> IO Bool
+windowAttrReadOverrideRedirect s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 72) :: IO CInt
+    let val' = (/= 0) val
+    return val'
+
+windowAttrReadTypeHint :: WindowAttr -> IO WindowTypeHint
+windowAttrReadTypeHint s = withManagedPtr s $ \ptr -> do
+    val <- peek (ptr `plusPtr` 76) :: IO CUInt
+    let val' = (toEnum . fromIntegral) val
+    return val'
+
+-- Flags WindowAttributesType
+
+data WindowAttributesType = 
+      WindowAttributesTypeTitle
+    | WindowAttributesTypeX
+    | WindowAttributesTypeY
+    | WindowAttributesTypeCursor
+    | WindowAttributesTypeVisual
+    | WindowAttributesTypeWmclass
+    | WindowAttributesTypeNoredir
+    | WindowAttributesTypeTypeHint
+    | AnotherWindowAttributesType Int
+    deriving (Show, Eq)
+
+instance Enum WindowAttributesType where
+    fromEnum WindowAttributesTypeTitle = 2
+    fromEnum WindowAttributesTypeX = 4
+    fromEnum WindowAttributesTypeY = 8
+    fromEnum WindowAttributesTypeCursor = 16
+    fromEnum WindowAttributesTypeVisual = 32
+    fromEnum WindowAttributesTypeWmclass = 64
+    fromEnum WindowAttributesTypeNoredir = 128
+    fromEnum WindowAttributesTypeTypeHint = 256
+    fromEnum (AnotherWindowAttributesType k) = k
+
+    toEnum 2 = WindowAttributesTypeTitle
+    toEnum 4 = WindowAttributesTypeX
+    toEnum 8 = WindowAttributesTypeY
+    toEnum 16 = WindowAttributesTypeCursor
+    toEnum 32 = WindowAttributesTypeVisual
+    toEnum 64 = WindowAttributesTypeWmclass
+    toEnum 128 = WindowAttributesTypeNoredir
+    toEnum 256 = WindowAttributesTypeTypeHint
+    toEnum k = AnotherWindowAttributesType k
+
+foreign import ccall "gdk_window_attributes_type_get_type" c_gdk_window_attributes_type_get_type :: 
+    IO GType
+
+instance BoxedEnum WindowAttributesType where
+    boxedEnumType _ = c_gdk_window_attributes_type_get_type
+
+instance IsGFlag WindowAttributesType
+
+-- callback WindowChildFunc
+windowChildFuncClosure :: WindowChildFunc -> IO Closure
+windowChildFuncClosure cb = newCClosure =<< mkWindowChildFunc wrapped
+    where wrapped = windowChildFuncWrapper Nothing cb
+
+type WindowChildFuncC =
+    Ptr Window ->
+    Ptr () ->
+    IO CInt
+
+foreign import ccall "wrapper"
+    mkWindowChildFunc :: WindowChildFuncC -> IO (FunPtr WindowChildFuncC)
+
+type WindowChildFunc =
+    Window ->
+    IO Bool
+
+noWindowChildFunc :: Maybe WindowChildFunc
+noWindowChildFunc = Nothing
+
+windowChildFuncWrapper ::
+    Maybe (Ptr (FunPtr (WindowChildFuncC))) ->
+    WindowChildFunc ->
+    Ptr Window ->
+    Ptr () ->
+    IO CInt
+windowChildFuncWrapper funptrptr _cb window _ = do
+    window' <- (newObject Window) window
+    result <- _cb  window'
+    maybeReleaseFunPtr funptrptr
+    let result' = (fromIntegral . fromEnum) result
+    return result'
+
+-- Enum WindowEdge
+
+data WindowEdge = 
+      WindowEdgeNorthWest
+    | WindowEdgeNorth
+    | WindowEdgeNorthEast
+    | WindowEdgeWest
+    | WindowEdgeEast
+    | WindowEdgeSouthWest
+    | WindowEdgeSouth
+    | WindowEdgeSouthEast
+    | AnotherWindowEdge Int
+    deriving (Show, Eq)
+
+instance Enum WindowEdge where
+    fromEnum WindowEdgeNorthWest = 0
+    fromEnum WindowEdgeNorth = 1
+    fromEnum WindowEdgeNorthEast = 2
+    fromEnum WindowEdgeWest = 3
+    fromEnum WindowEdgeEast = 4
+    fromEnum WindowEdgeSouthWest = 5
+    fromEnum WindowEdgeSouth = 6
+    fromEnum WindowEdgeSouthEast = 7
+    fromEnum (AnotherWindowEdge k) = k
+
+    toEnum 0 = WindowEdgeNorthWest
+    toEnum 1 = WindowEdgeNorth
+    toEnum 2 = WindowEdgeNorthEast
+    toEnum 3 = WindowEdgeWest
+    toEnum 4 = WindowEdgeEast
+    toEnum 5 = WindowEdgeSouthWest
+    toEnum 6 = WindowEdgeSouth
+    toEnum 7 = WindowEdgeSouthEast
+    toEnum k = AnotherWindowEdge k
+
+foreign import ccall "gdk_window_edge_get_type" c_gdk_window_edge_get_type :: 
+    IO GType
+
+instance BoxedEnum WindowEdge where
+    boxedEnumType _ = c_gdk_window_edge_get_type
+
+-- Flags WindowHints
+
+data WindowHints = 
+      WindowHintsPos
+    | WindowHintsMinSize
+    | WindowHintsMaxSize
+    | WindowHintsBaseSize
+    | WindowHintsAspect
+    | WindowHintsResizeInc
+    | WindowHintsWinGravity
+    | WindowHintsUserPos
+    | WindowHintsUserSize
+    | AnotherWindowHints Int
+    deriving (Show, Eq)
+
+instance Enum WindowHints where
+    fromEnum WindowHintsPos = 1
+    fromEnum WindowHintsMinSize = 2
+    fromEnum WindowHintsMaxSize = 4
+    fromEnum WindowHintsBaseSize = 8
+    fromEnum WindowHintsAspect = 16
+    fromEnum WindowHintsResizeInc = 32
+    fromEnum WindowHintsWinGravity = 64
+    fromEnum WindowHintsUserPos = 128
+    fromEnum WindowHintsUserSize = 256
+    fromEnum (AnotherWindowHints k) = k
+
+    toEnum 1 = WindowHintsPos
+    toEnum 2 = WindowHintsMinSize
+    toEnum 4 = WindowHintsMaxSize
+    toEnum 8 = WindowHintsBaseSize
+    toEnum 16 = WindowHintsAspect
+    toEnum 32 = WindowHintsResizeInc
+    toEnum 64 = WindowHintsWinGravity
+    toEnum 128 = WindowHintsUserPos
+    toEnum 256 = WindowHintsUserSize
+    toEnum k = AnotherWindowHints k
+
+foreign import ccall "gdk_window_hints_get_type" c_gdk_window_hints_get_type :: 
+    IO GType
+
+instance BoxedEnum WindowHints where
+    boxedEnumType _ = c_gdk_window_hints_get_type
+
+instance IsGFlag WindowHints
+
+-- callback WindowInvalidateHandlerFunc
+windowInvalidateHandlerFuncClosure :: WindowInvalidateHandlerFunc -> IO Closure
+windowInvalidateHandlerFuncClosure cb = newCClosure =<< mkWindowInvalidateHandlerFunc wrapped
+    where wrapped = windowInvalidateHandlerFuncWrapper Nothing cb
+
+type WindowInvalidateHandlerFuncC =
+    Ptr Window ->
+    Ptr Cairo.Region ->
+    IO ()
+
+foreign import ccall "wrapper"
+    mkWindowInvalidateHandlerFunc :: WindowInvalidateHandlerFuncC -> IO (FunPtr WindowInvalidateHandlerFuncC)
+
+type WindowInvalidateHandlerFunc =
+    Window ->
+    Cairo.Region ->
+    IO ()
+
+noWindowInvalidateHandlerFunc :: Maybe WindowInvalidateHandlerFunc
+noWindowInvalidateHandlerFunc = Nothing
+
+windowInvalidateHandlerFuncWrapper ::
+    Maybe (Ptr (FunPtr (WindowInvalidateHandlerFuncC))) ->
+    WindowInvalidateHandlerFunc ->
+    Ptr Window ->
+    Ptr Cairo.Region ->
+    IO ()
+windowInvalidateHandlerFuncWrapper funptrptr _cb window region = do
+    window' <- (newObject Window) window
+    region' <- (newBoxed Cairo.Region) region
+    _cb  window' region'
+    maybeReleaseFunPtr funptrptr
+
+-- struct WindowRedirect
+newtype WindowRedirect = WindowRedirect (ForeignPtr WindowRedirect)
+noWindowRedirect :: Maybe WindowRedirect
+noWindowRedirect = Nothing
+
+-- Flags WindowState
+
+data WindowState = 
+      WindowStateWithdrawn
+    | WindowStateIconified
+    | WindowStateMaximized
+    | WindowStateSticky
+    | WindowStateFullscreen
+    | WindowStateAbove
+    | WindowStateBelow
+    | WindowStateFocused
+    | WindowStateTiled
+    | AnotherWindowState Int
+    deriving (Show, Eq)
+
+instance Enum WindowState where
+    fromEnum WindowStateWithdrawn = 1
+    fromEnum WindowStateIconified = 2
+    fromEnum WindowStateMaximized = 4
+    fromEnum WindowStateSticky = 8
+    fromEnum WindowStateFullscreen = 16
+    fromEnum WindowStateAbove = 32
+    fromEnum WindowStateBelow = 64
+    fromEnum WindowStateFocused = 128
+    fromEnum WindowStateTiled = 256
+    fromEnum (AnotherWindowState k) = k
+
+    toEnum 1 = WindowStateWithdrawn
+    toEnum 2 = WindowStateIconified
+    toEnum 4 = WindowStateMaximized
+    toEnum 8 = WindowStateSticky
+    toEnum 16 = WindowStateFullscreen
+    toEnum 32 = WindowStateAbove
+    toEnum 64 = WindowStateBelow
+    toEnum 128 = WindowStateFocused
+    toEnum 256 = WindowStateTiled
+    toEnum k = AnotherWindowState k
+
+foreign import ccall "gdk_window_state_get_type" c_gdk_window_state_get_type :: 
+    IO GType
+
+instance BoxedEnum WindowState where
+    boxedEnumType _ = c_gdk_window_state_get_type
+
+instance IsGFlag WindowState
+
+-- Enum WindowType
+
+data WindowType = 
+      WindowTypeRoot
+    | WindowTypeToplevel
+    | WindowTypeChild
+    | WindowTypeTemp
+    | WindowTypeForeign
+    | WindowTypeOffscreen
+    | WindowTypeSubsurface
+    | AnotherWindowType Int
+    deriving (Show, Eq)
+
+instance Enum WindowType where
+    fromEnum WindowTypeRoot = 0
+    fromEnum WindowTypeToplevel = 1
+    fromEnum WindowTypeChild = 2
+    fromEnum WindowTypeTemp = 3
+    fromEnum WindowTypeForeign = 4
+    fromEnum WindowTypeOffscreen = 5
+    fromEnum WindowTypeSubsurface = 6
+    fromEnum (AnotherWindowType k) = k
+
+    toEnum 0 = WindowTypeRoot
+    toEnum 1 = WindowTypeToplevel
+    toEnum 2 = WindowTypeChild
+    toEnum 3 = WindowTypeTemp
+    toEnum 4 = WindowTypeForeign
+    toEnum 5 = WindowTypeOffscreen
+    toEnum 6 = WindowTypeSubsurface
+    toEnum k = AnotherWindowType k
+
+foreign import ccall "gdk_window_type_get_type" c_gdk_window_type_get_type :: 
+    IO GType
+
+instance BoxedEnum WindowType where
+    boxedEnumType _ = c_gdk_window_type_get_type
+
+-- Enum WindowTypeHint
+
+data WindowTypeHint = 
+      WindowTypeHintNormal
+    | WindowTypeHintDialog
+    | WindowTypeHintMenu
+    | WindowTypeHintToolbar
+    | WindowTypeHintSplashscreen
+    | WindowTypeHintUtility
+    | WindowTypeHintDock
+    | WindowTypeHintDesktop
+    | WindowTypeHintDropdownMenu
+    | WindowTypeHintPopupMenu
+    | WindowTypeHintTooltip
+    | WindowTypeHintNotification
+    | WindowTypeHintCombo
+    | WindowTypeHintDnd
+    | AnotherWindowTypeHint Int
+    deriving (Show, Eq)
+
+instance Enum WindowTypeHint where
+    fromEnum WindowTypeHintNormal = 0
+    fromEnum WindowTypeHintDialog = 1
+    fromEnum WindowTypeHintMenu = 2
+    fromEnum WindowTypeHintToolbar = 3
+    fromEnum WindowTypeHintSplashscreen = 4
+    fromEnum WindowTypeHintUtility = 5
+    fromEnum WindowTypeHintDock = 6
+    fromEnum WindowTypeHintDesktop = 7
+    fromEnum WindowTypeHintDropdownMenu = 8
+    fromEnum WindowTypeHintPopupMenu = 9
+    fromEnum WindowTypeHintTooltip = 10
+    fromEnum WindowTypeHintNotification = 11
+    fromEnum WindowTypeHintCombo = 12
+    fromEnum WindowTypeHintDnd = 13
+    fromEnum (AnotherWindowTypeHint k) = k
+
+    toEnum 0 = WindowTypeHintNormal
+    toEnum 1 = WindowTypeHintDialog
+    toEnum 2 = WindowTypeHintMenu
+    toEnum 3 = WindowTypeHintToolbar
+    toEnum 4 = WindowTypeHintSplashscreen
+    toEnum 5 = WindowTypeHintUtility
+    toEnum 6 = WindowTypeHintDock
+    toEnum 7 = WindowTypeHintDesktop
+    toEnum 8 = WindowTypeHintDropdownMenu
+    toEnum 9 = WindowTypeHintPopupMenu
+    toEnum 10 = WindowTypeHintTooltip
+    toEnum 11 = WindowTypeHintNotification
+    toEnum 12 = WindowTypeHintCombo
+    toEnum 13 = WindowTypeHintDnd
+    toEnum k = AnotherWindowTypeHint k
+
+foreign import ccall "gdk_window_type_hint_get_type" c_gdk_window_type_hint_get_type :: 
+    IO GType
+
+instance BoxedEnum WindowTypeHint where
+    boxedEnumType _ = c_gdk_window_type_hint_get_type
+
+-- Enum WindowWindowClass
+
+data WindowWindowClass = 
+      WindowWindowClassInputOutput
+    | WindowWindowClassInputOnly
+    | AnotherWindowWindowClass Int
+    deriving (Show, Eq)
+
+instance Enum WindowWindowClass where
+    fromEnum WindowWindowClassInputOutput = 0
+    fromEnum WindowWindowClassInputOnly = 1
+    fromEnum (AnotherWindowWindowClass k) = k
+
+    toEnum 0 = WindowWindowClassInputOutput
+    toEnum 1 = WindowWindowClassInputOnly
+    toEnum k = AnotherWindowWindowClass k
+
+foreign import ccall "gdk_window_window_class_get_type" c_gdk_window_window_class_get_type :: 
+    IO GType
+
+instance BoxedEnum WindowWindowClass where
+    boxedEnumType _ = c_gdk_window_window_class_get_type
+
+-- constant _BUTTON_MIDDLE
+
+_BUTTON_MIDDLE :: Int32
+_BUTTON_MIDDLE = 2
+-- constant _BUTTON_PRIMARY
+
+_BUTTON_PRIMARY :: Int32
+_BUTTON_PRIMARY = 1
+-- constant _BUTTON_SECONDARY
+
+_BUTTON_SECONDARY :: Int32
+_BUTTON_SECONDARY = 3
+-- constant _CURRENT_TIME
+
+_CURRENT_TIME :: Int32
+_CURRENT_TIME = 0
+-- constant _EVENT_PROPAGATE
+
+_EVENT_PROPAGATE :: Bool
+_EVENT_PROPAGATE = False
+-- constant _EVENT_STOP
+
+_EVENT_STOP :: Bool
+_EVENT_STOP = True
+-- constant _KEY_0
+
+_KEY_0 :: Int32
+_KEY_0 = 48
+-- constant _KEY_1
+
+_KEY_1 :: Int32
+_KEY_1 = 49
+-- constant _KEY_2
+
+_KEY_2 :: Int32
+_KEY_2 = 50
+-- constant _KEY_3
+
+_KEY_3 :: Int32
+_KEY_3 = 51
+-- constant _KEY_3270_AltCursor
+
+_KEY_3270_AltCursor :: Int32
+_KEY_3270_AltCursor = 64784
+-- constant _KEY_3270_Attn
+
+_KEY_3270_Attn :: Int32
+_KEY_3270_Attn = 64782
+-- constant _KEY_3270_BackTab
+
+_KEY_3270_BackTab :: Int32
+_KEY_3270_BackTab = 64773
+-- constant _KEY_3270_ChangeScreen
+
+_KEY_3270_ChangeScreen :: Int32
+_KEY_3270_ChangeScreen = 64793
+-- constant _KEY_3270_Copy
+
+_KEY_3270_Copy :: Int32
+_KEY_3270_Copy = 64789
+-- constant _KEY_3270_CursorBlink
+
+_KEY_3270_CursorBlink :: Int32
+_KEY_3270_CursorBlink = 64783
+-- constant _KEY_3270_CursorSelect
+
+_KEY_3270_CursorSelect :: Int32
+_KEY_3270_CursorSelect = 64796
+-- constant _KEY_3270_DeleteWord
+
+_KEY_3270_DeleteWord :: Int32
+_KEY_3270_DeleteWord = 64794
+-- constant _KEY_3270_Duplicate
+
+_KEY_3270_Duplicate :: Int32
+_KEY_3270_Duplicate = 64769
+-- constant _KEY_3270_Enter
+
+_KEY_3270_Enter :: Int32
+_KEY_3270_Enter = 64798
+-- constant _KEY_3270_EraseEOF
+
+_KEY_3270_EraseEOF :: Int32
+_KEY_3270_EraseEOF = 64774
+-- constant _KEY_3270_EraseInput
+
+_KEY_3270_EraseInput :: Int32
+_KEY_3270_EraseInput = 64775
+-- constant _KEY_3270_ExSelect
+
+_KEY_3270_ExSelect :: Int32
+_KEY_3270_ExSelect = 64795
+-- constant _KEY_3270_FieldMark
+
+_KEY_3270_FieldMark :: Int32
+_KEY_3270_FieldMark = 64770
+-- constant _KEY_3270_Ident
+
+_KEY_3270_Ident :: Int32
+_KEY_3270_Ident = 64787
+-- constant _KEY_3270_Jump
+
+_KEY_3270_Jump :: Int32
+_KEY_3270_Jump = 64786
+-- constant _KEY_3270_KeyClick
+
+_KEY_3270_KeyClick :: Int32
+_KEY_3270_KeyClick = 64785
+-- constant _KEY_3270_Left2
+
+_KEY_3270_Left2 :: Int32
+_KEY_3270_Left2 = 64772
+-- constant _KEY_3270_PA1
+
+_KEY_3270_PA1 :: Int32
+_KEY_3270_PA1 = 64778
+-- constant _KEY_3270_PA2
+
+_KEY_3270_PA2 :: Int32
+_KEY_3270_PA2 = 64779
+-- constant _KEY_3270_PA3
+
+_KEY_3270_PA3 :: Int32
+_KEY_3270_PA3 = 64780
+-- constant _KEY_3270_Play
+
+_KEY_3270_Play :: Int32
+_KEY_3270_Play = 64790
+-- constant _KEY_3270_PrintScreen
+
+_KEY_3270_PrintScreen :: Int32
+_KEY_3270_PrintScreen = 64797
+-- constant _KEY_3270_Quit
+
+_KEY_3270_Quit :: Int32
+_KEY_3270_Quit = 64777
+-- constant _KEY_3270_Record
+
+_KEY_3270_Record :: Int32
+_KEY_3270_Record = 64792
+-- constant _KEY_3270_Reset
+
+_KEY_3270_Reset :: Int32
+_KEY_3270_Reset = 64776
+-- constant _KEY_3270_Right2
+
+_KEY_3270_Right2 :: Int32
+_KEY_3270_Right2 = 64771
+-- constant _KEY_3270_Rule
+
+_KEY_3270_Rule :: Int32
+_KEY_3270_Rule = 64788
+-- constant _KEY_3270_Setup
+
+_KEY_3270_Setup :: Int32
+_KEY_3270_Setup = 64791
+-- constant _KEY_3270_Test
+
+_KEY_3270_Test :: Int32
+_KEY_3270_Test = 64781
+-- constant _KEY_4
+
+_KEY_4 :: Int32
+_KEY_4 = 52
+-- constant _KEY_5
+
+_KEY_5 :: Int32
+_KEY_5 = 53
+-- constant _KEY_6
+
+_KEY_6 :: Int32
+_KEY_6 = 54
+-- constant _KEY_7
+
+_KEY_7 :: Int32
+_KEY_7 = 55
+-- constant _KEY_8
+
+_KEY_8 :: Int32
+_KEY_8 = 56
+-- constant _KEY_9
+
+_KEY_9 :: Int32
+_KEY_9 = 57
+-- constant _KEY_A
+
+_KEY_A :: Int32
+_KEY_A = 65
+-- constant _KEY_AE
+
+_KEY_AE :: Int32
+_KEY_AE = 198
+-- constant _KEY_Aacute
+
+_KEY_Aacute :: Int32
+_KEY_Aacute = 193
+-- constant _KEY_Abelowdot
+
+_KEY_Abelowdot :: Int32
+_KEY_Abelowdot = 16785056
+-- constant _KEY_Abreve
+
+_KEY_Abreve :: Int32
+_KEY_Abreve = 451
+-- constant _KEY_Abreveacute
+
+_KEY_Abreveacute :: Int32
+_KEY_Abreveacute = 16785070
+-- constant _KEY_Abrevebelowdot
+
+_KEY_Abrevebelowdot :: Int32
+_KEY_Abrevebelowdot = 16785078
+-- constant _KEY_Abrevegrave
+
+_KEY_Abrevegrave :: Int32
+_KEY_Abrevegrave = 16785072
+-- constant _KEY_Abrevehook
+
+_KEY_Abrevehook :: Int32
+_KEY_Abrevehook = 16785074
+-- constant _KEY_Abrevetilde
+
+_KEY_Abrevetilde :: Int32
+_KEY_Abrevetilde = 16785076
+-- constant _KEY_AccessX_Enable
+
+_KEY_AccessX_Enable :: Int32
+_KEY_AccessX_Enable = 65136
+-- constant _KEY_AccessX_Feedback_Enable
+
+_KEY_AccessX_Feedback_Enable :: Int32
+_KEY_AccessX_Feedback_Enable = 65137
+-- constant _KEY_Acircumflex
+
+_KEY_Acircumflex :: Int32
+_KEY_Acircumflex = 194
+-- constant _KEY_Acircumflexacute
+
+_KEY_Acircumflexacute :: Int32
+_KEY_Acircumflexacute = 16785060
+-- constant _KEY_Acircumflexbelowdot
+
+_KEY_Acircumflexbelowdot :: Int32
+_KEY_Acircumflexbelowdot = 16785068
+-- constant _KEY_Acircumflexgrave
+
+_KEY_Acircumflexgrave :: Int32
+_KEY_Acircumflexgrave = 16785062
+-- constant _KEY_Acircumflexhook
+
+_KEY_Acircumflexhook :: Int32
+_KEY_Acircumflexhook = 16785064
+-- constant _KEY_Acircumflextilde
+
+_KEY_Acircumflextilde :: Int32
+_KEY_Acircumflextilde = 16785066
+-- constant _KEY_AddFavorite
+
+_KEY_AddFavorite :: Int32
+_KEY_AddFavorite = 269025081
+-- constant _KEY_Adiaeresis
+
+_KEY_Adiaeresis :: Int32
+_KEY_Adiaeresis = 196
+-- constant _KEY_Agrave
+
+_KEY_Agrave :: Int32
+_KEY_Agrave = 192
+-- constant _KEY_Ahook
+
+_KEY_Ahook :: Int32
+_KEY_Ahook = 16785058
+-- constant _KEY_Alt_L
+
+_KEY_Alt_L :: Int32
+_KEY_Alt_L = 65513
+-- constant _KEY_Alt_R
+
+_KEY_Alt_R :: Int32
+_KEY_Alt_R = 65514
+-- constant _KEY_Amacron
+
+_KEY_Amacron :: Int32
+_KEY_Amacron = 960
+-- constant _KEY_Aogonek
+
+_KEY_Aogonek :: Int32
+_KEY_Aogonek = 417
+-- constant _KEY_ApplicationLeft
+
+_KEY_ApplicationLeft :: Int32
+_KEY_ApplicationLeft = 269025104
+-- constant _KEY_ApplicationRight
+
+_KEY_ApplicationRight :: Int32
+_KEY_ApplicationRight = 269025105
+-- constant _KEY_Arabic_0
+
+_KEY_Arabic_0 :: Int32
+_KEY_Arabic_0 = 16778848
+-- constant _KEY_Arabic_1
+
+_KEY_Arabic_1 :: Int32
+_KEY_Arabic_1 = 16778849
+-- constant _KEY_Arabic_2
+
+_KEY_Arabic_2 :: Int32
+_KEY_Arabic_2 = 16778850
+-- constant _KEY_Arabic_3
+
+_KEY_Arabic_3 :: Int32
+_KEY_Arabic_3 = 16778851
+-- constant _KEY_Arabic_4
+
+_KEY_Arabic_4 :: Int32
+_KEY_Arabic_4 = 16778852
+-- constant _KEY_Arabic_5
+
+_KEY_Arabic_5 :: Int32
+_KEY_Arabic_5 = 16778853
+-- constant _KEY_Arabic_6
+
+_KEY_Arabic_6 :: Int32
+_KEY_Arabic_6 = 16778854
+-- constant _KEY_Arabic_7
+
+_KEY_Arabic_7 :: Int32
+_KEY_Arabic_7 = 16778855
+-- constant _KEY_Arabic_8
+
+_KEY_Arabic_8 :: Int32
+_KEY_Arabic_8 = 16778856
+-- constant _KEY_Arabic_9
+
+_KEY_Arabic_9 :: Int32
+_KEY_Arabic_9 = 16778857
+-- constant _KEY_Arabic_ain
+
+_KEY_Arabic_ain :: Int32
+_KEY_Arabic_ain = 1497
+-- constant _KEY_Arabic_alef
+
+_KEY_Arabic_alef :: Int32
+_KEY_Arabic_alef = 1479
+-- constant _KEY_Arabic_alefmaksura
+
+_KEY_Arabic_alefmaksura :: Int32
+_KEY_Arabic_alefmaksura = 1513
+-- constant _KEY_Arabic_beh
+
+_KEY_Arabic_beh :: Int32
+_KEY_Arabic_beh = 1480
+-- constant _KEY_Arabic_comma
+
+_KEY_Arabic_comma :: Int32
+_KEY_Arabic_comma = 1452
+-- constant _KEY_Arabic_dad
+
+_KEY_Arabic_dad :: Int32
+_KEY_Arabic_dad = 1494
+-- constant _KEY_Arabic_dal
+
+_KEY_Arabic_dal :: Int32
+_KEY_Arabic_dal = 1487
+-- constant _KEY_Arabic_damma
+
+_KEY_Arabic_damma :: Int32
+_KEY_Arabic_damma = 1519
+-- constant _KEY_Arabic_dammatan
+
+_KEY_Arabic_dammatan :: Int32
+_KEY_Arabic_dammatan = 1516
+-- constant _KEY_Arabic_ddal
+
+_KEY_Arabic_ddal :: Int32
+_KEY_Arabic_ddal = 16778888
+-- constant _KEY_Arabic_farsi_yeh
+
+_KEY_Arabic_farsi_yeh :: Int32
+_KEY_Arabic_farsi_yeh = 16778956
+-- constant _KEY_Arabic_fatha
+
+_KEY_Arabic_fatha :: Int32
+_KEY_Arabic_fatha = 1518
+-- constant _KEY_Arabic_fathatan
+
+_KEY_Arabic_fathatan :: Int32
+_KEY_Arabic_fathatan = 1515
+-- constant _KEY_Arabic_feh
+
+_KEY_Arabic_feh :: Int32
+_KEY_Arabic_feh = 1505
+-- constant _KEY_Arabic_fullstop
+
+_KEY_Arabic_fullstop :: Int32
+_KEY_Arabic_fullstop = 16778964
+-- constant _KEY_Arabic_gaf
+
+_KEY_Arabic_gaf :: Int32
+_KEY_Arabic_gaf = 16778927
+-- constant _KEY_Arabic_ghain
+
+_KEY_Arabic_ghain :: Int32
+_KEY_Arabic_ghain = 1498
+-- constant _KEY_Arabic_ha
+
+_KEY_Arabic_ha :: Int32
+_KEY_Arabic_ha = 1511
+-- constant _KEY_Arabic_hah
+
+_KEY_Arabic_hah :: Int32
+_KEY_Arabic_hah = 1485
+-- constant _KEY_Arabic_hamza
+
+_KEY_Arabic_hamza :: Int32
+_KEY_Arabic_hamza = 1473
+-- constant _KEY_Arabic_hamza_above
+
+_KEY_Arabic_hamza_above :: Int32
+_KEY_Arabic_hamza_above = 16778836
+-- constant _KEY_Arabic_hamza_below
+
+_KEY_Arabic_hamza_below :: Int32
+_KEY_Arabic_hamza_below = 16778837
+-- constant _KEY_Arabic_hamzaonalef
+
+_KEY_Arabic_hamzaonalef :: Int32
+_KEY_Arabic_hamzaonalef = 1475
+-- constant _KEY_Arabic_hamzaonwaw
+
+_KEY_Arabic_hamzaonwaw :: Int32
+_KEY_Arabic_hamzaonwaw = 1476
+-- constant _KEY_Arabic_hamzaonyeh
+
+_KEY_Arabic_hamzaonyeh :: Int32
+_KEY_Arabic_hamzaonyeh = 1478
+-- constant _KEY_Arabic_hamzaunderalef
+
+_KEY_Arabic_hamzaunderalef :: Int32
+_KEY_Arabic_hamzaunderalef = 1477
+-- constant _KEY_Arabic_heh
+
+_KEY_Arabic_heh :: Int32
+_KEY_Arabic_heh = 1511
+-- constant _KEY_Arabic_heh_doachashmee
+
+_KEY_Arabic_heh_doachashmee :: Int32
+_KEY_Arabic_heh_doachashmee = 16778942
+-- constant _KEY_Arabic_heh_goal
+
+_KEY_Arabic_heh_goal :: Int32
+_KEY_Arabic_heh_goal = 16778945
+-- constant _KEY_Arabic_jeem
+
+_KEY_Arabic_jeem :: Int32
+_KEY_Arabic_jeem = 1484
+-- constant _KEY_Arabic_jeh
+
+_KEY_Arabic_jeh :: Int32
+_KEY_Arabic_jeh = 16778904
+-- constant _KEY_Arabic_kaf
+
+_KEY_Arabic_kaf :: Int32
+_KEY_Arabic_kaf = 1507
+-- constant _KEY_Arabic_kasra
+
+_KEY_Arabic_kasra :: Int32
+_KEY_Arabic_kasra = 1520
+-- constant _KEY_Arabic_kasratan
+
+_KEY_Arabic_kasratan :: Int32
+_KEY_Arabic_kasratan = 1517
+-- constant _KEY_Arabic_keheh
+
+_KEY_Arabic_keheh :: Int32
+_KEY_Arabic_keheh = 16778921
+-- constant _KEY_Arabic_khah
+
+_KEY_Arabic_khah :: Int32
+_KEY_Arabic_khah = 1486
+-- constant _KEY_Arabic_lam
+
+_KEY_Arabic_lam :: Int32
+_KEY_Arabic_lam = 1508
+-- constant _KEY_Arabic_madda_above
+
+_KEY_Arabic_madda_above :: Int32
+_KEY_Arabic_madda_above = 16778835
+-- constant _KEY_Arabic_maddaonalef
+
+_KEY_Arabic_maddaonalef :: Int32
+_KEY_Arabic_maddaonalef = 1474
+-- constant _KEY_Arabic_meem
+
+_KEY_Arabic_meem :: Int32
+_KEY_Arabic_meem = 1509
+-- constant _KEY_Arabic_noon
+
+_KEY_Arabic_noon :: Int32
+_KEY_Arabic_noon = 1510
+-- constant _KEY_Arabic_noon_ghunna
+
+_KEY_Arabic_noon_ghunna :: Int32
+_KEY_Arabic_noon_ghunna = 16778938
+-- constant _KEY_Arabic_peh
+
+_KEY_Arabic_peh :: Int32
+_KEY_Arabic_peh = 16778878
+-- constant _KEY_Arabic_percent
+
+_KEY_Arabic_percent :: Int32
+_KEY_Arabic_percent = 16778858
+-- constant _KEY_Arabic_qaf
+
+_KEY_Arabic_qaf :: Int32
+_KEY_Arabic_qaf = 1506
+-- constant _KEY_Arabic_question_mark
+
+_KEY_Arabic_question_mark :: Int32
+_KEY_Arabic_question_mark = 1471
+-- constant _KEY_Arabic_ra
+
+_KEY_Arabic_ra :: Int32
+_KEY_Arabic_ra = 1489
+-- constant _KEY_Arabic_rreh
+
+_KEY_Arabic_rreh :: Int32
+_KEY_Arabic_rreh = 16778897
+-- constant _KEY_Arabic_sad
+
+_KEY_Arabic_sad :: Int32
+_KEY_Arabic_sad = 1493
+-- constant _KEY_Arabic_seen
+
+_KEY_Arabic_seen :: Int32
+_KEY_Arabic_seen = 1491
+-- constant _KEY_Arabic_semicolon
+
+_KEY_Arabic_semicolon :: Int32
+_KEY_Arabic_semicolon = 1467
+-- constant _KEY_Arabic_shadda
+
+_KEY_Arabic_shadda :: Int32
+_KEY_Arabic_shadda = 1521
+-- constant _KEY_Arabic_sheen
+
+_KEY_Arabic_sheen :: Int32
+_KEY_Arabic_sheen = 1492
+-- constant _KEY_Arabic_sukun
+
+_KEY_Arabic_sukun :: Int32
+_KEY_Arabic_sukun = 1522
+-- constant _KEY_Arabic_superscript_alef
+
+_KEY_Arabic_superscript_alef :: Int32
+_KEY_Arabic_superscript_alef = 16778864
+-- constant _KEY_Arabic_switch
+
+_KEY_Arabic_switch :: Int32
+_KEY_Arabic_switch = 65406
+-- constant _KEY_Arabic_tah
+
+_KEY_Arabic_tah :: Int32
+_KEY_Arabic_tah = 1495
+-- constant _KEY_Arabic_tatweel
+
+_KEY_Arabic_tatweel :: Int32
+_KEY_Arabic_tatweel = 1504
+-- constant _KEY_Arabic_tcheh
+
+_KEY_Arabic_tcheh :: Int32
+_KEY_Arabic_tcheh = 16778886
+-- constant _KEY_Arabic_teh
+
+_KEY_Arabic_teh :: Int32
+_KEY_Arabic_teh = 1482
+-- constant _KEY_Arabic_tehmarbuta
+
+_KEY_Arabic_tehmarbuta :: Int32
+_KEY_Arabic_tehmarbuta = 1481
+-- constant _KEY_Arabic_thal
+
+_KEY_Arabic_thal :: Int32
+_KEY_Arabic_thal = 1488
+-- constant _KEY_Arabic_theh
+
+_KEY_Arabic_theh :: Int32
+_KEY_Arabic_theh = 1483
+-- constant _KEY_Arabic_tteh
+
+_KEY_Arabic_tteh :: Int32
+_KEY_Arabic_tteh = 16778873
+-- constant _KEY_Arabic_veh
+
+_KEY_Arabic_veh :: Int32
+_KEY_Arabic_veh = 16778916
+-- constant _KEY_Arabic_waw
+
+_KEY_Arabic_waw :: Int32
+_KEY_Arabic_waw = 1512
+-- constant _KEY_Arabic_yeh
+
+_KEY_Arabic_yeh :: Int32
+_KEY_Arabic_yeh = 1514
+-- constant _KEY_Arabic_yeh_baree
+
+_KEY_Arabic_yeh_baree :: Int32
+_KEY_Arabic_yeh_baree = 16778962
+-- constant _KEY_Arabic_zah
+
+_KEY_Arabic_zah :: Int32
+_KEY_Arabic_zah = 1496
+-- constant _KEY_Arabic_zain
+
+_KEY_Arabic_zain :: Int32
+_KEY_Arabic_zain = 1490
+-- constant _KEY_Aring
+
+_KEY_Aring :: Int32
+_KEY_Aring = 197
+-- constant _KEY_Armenian_AT
+
+_KEY_Armenian_AT :: Int32
+_KEY_Armenian_AT = 16778552
+-- constant _KEY_Armenian_AYB
+
+_KEY_Armenian_AYB :: Int32
+_KEY_Armenian_AYB = 16778545
+-- constant _KEY_Armenian_BEN
+
+_KEY_Armenian_BEN :: Int32
+_KEY_Armenian_BEN = 16778546
+-- constant _KEY_Armenian_CHA
+
+_KEY_Armenian_CHA :: Int32
+_KEY_Armenian_CHA = 16778569
+-- constant _KEY_Armenian_DA
+
+_KEY_Armenian_DA :: Int32
+_KEY_Armenian_DA = 16778548
+-- constant _KEY_Armenian_DZA
+
+_KEY_Armenian_DZA :: Int32
+_KEY_Armenian_DZA = 16778561
+-- constant _KEY_Armenian_E
+
+_KEY_Armenian_E :: Int32
+_KEY_Armenian_E = 16778551
+-- constant _KEY_Armenian_FE
+
+_KEY_Armenian_FE :: Int32
+_KEY_Armenian_FE = 16778582
+-- constant _KEY_Armenian_GHAT
+
+_KEY_Armenian_GHAT :: Int32
+_KEY_Armenian_GHAT = 16778562
+-- constant _KEY_Armenian_GIM
+
+_KEY_Armenian_GIM :: Int32
+_KEY_Armenian_GIM = 16778547
+-- constant _KEY_Armenian_HI
+
+_KEY_Armenian_HI :: Int32
+_KEY_Armenian_HI = 16778565
+-- constant _KEY_Armenian_HO
+
+_KEY_Armenian_HO :: Int32
+_KEY_Armenian_HO = 16778560
+-- constant _KEY_Armenian_INI
+
+_KEY_Armenian_INI :: Int32
+_KEY_Armenian_INI = 16778555
+-- constant _KEY_Armenian_JE
+
+_KEY_Armenian_JE :: Int32
+_KEY_Armenian_JE = 16778571
+-- constant _KEY_Armenian_KE
+
+_KEY_Armenian_KE :: Int32
+_KEY_Armenian_KE = 16778580
+-- constant _KEY_Armenian_KEN
+
+_KEY_Armenian_KEN :: Int32
+_KEY_Armenian_KEN = 16778559
+-- constant _KEY_Armenian_KHE
+
+_KEY_Armenian_KHE :: Int32
+_KEY_Armenian_KHE = 16778557
+-- constant _KEY_Armenian_LYUN
+
+_KEY_Armenian_LYUN :: Int32
+_KEY_Armenian_LYUN = 16778556
+-- constant _KEY_Armenian_MEN
+
+_KEY_Armenian_MEN :: Int32
+_KEY_Armenian_MEN = 16778564
+-- constant _KEY_Armenian_NU
+
+_KEY_Armenian_NU :: Int32
+_KEY_Armenian_NU = 16778566
+-- constant _KEY_Armenian_O
+
+_KEY_Armenian_O :: Int32
+_KEY_Armenian_O = 16778581
+-- constant _KEY_Armenian_PE
+
+_KEY_Armenian_PE :: Int32
+_KEY_Armenian_PE = 16778570
+-- constant _KEY_Armenian_PYUR
+
+_KEY_Armenian_PYUR :: Int32
+_KEY_Armenian_PYUR = 16778579
+-- constant _KEY_Armenian_RA
+
+_KEY_Armenian_RA :: Int32
+_KEY_Armenian_RA = 16778572
+-- constant _KEY_Armenian_RE
+
+_KEY_Armenian_RE :: Int32
+_KEY_Armenian_RE = 16778576
+-- constant _KEY_Armenian_SE
+
+_KEY_Armenian_SE :: Int32
+_KEY_Armenian_SE = 16778573
+-- constant _KEY_Armenian_SHA
+
+_KEY_Armenian_SHA :: Int32
+_KEY_Armenian_SHA = 16778567
+-- constant _KEY_Armenian_TCHE
+
+_KEY_Armenian_TCHE :: Int32
+_KEY_Armenian_TCHE = 16778563
+-- constant _KEY_Armenian_TO
+
+_KEY_Armenian_TO :: Int32
+_KEY_Armenian_TO = 16778553
+-- constant _KEY_Armenian_TSA
+
+_KEY_Armenian_TSA :: Int32
+_KEY_Armenian_TSA = 16778558
+-- constant _KEY_Armenian_TSO
+
+_KEY_Armenian_TSO :: Int32
+_KEY_Armenian_TSO = 16778577
+-- constant _KEY_Armenian_TYUN
+
+_KEY_Armenian_TYUN :: Int32
+_KEY_Armenian_TYUN = 16778575
+-- constant _KEY_Armenian_VEV
+
+_KEY_Armenian_VEV :: Int32
+_KEY_Armenian_VEV = 16778574
+-- constant _KEY_Armenian_VO
+
+_KEY_Armenian_VO :: Int32
+_KEY_Armenian_VO = 16778568
+-- constant _KEY_Armenian_VYUN
+
+_KEY_Armenian_VYUN :: Int32
+_KEY_Armenian_VYUN = 16778578
+-- constant _KEY_Armenian_YECH
+
+_KEY_Armenian_YECH :: Int32
+_KEY_Armenian_YECH = 16778549
+-- constant _KEY_Armenian_ZA
+
+_KEY_Armenian_ZA :: Int32
+_KEY_Armenian_ZA = 16778550
+-- constant _KEY_Armenian_ZHE
+
+_KEY_Armenian_ZHE :: Int32
+_KEY_Armenian_ZHE = 16778554
+-- constant _KEY_Armenian_accent
+
+_KEY_Armenian_accent :: Int32
+_KEY_Armenian_accent = 16778587
+-- constant _KEY_Armenian_amanak
+
+_KEY_Armenian_amanak :: Int32
+_KEY_Armenian_amanak = 16778588
+-- constant _KEY_Armenian_apostrophe
+
+_KEY_Armenian_apostrophe :: Int32
+_KEY_Armenian_apostrophe = 16778586
+-- constant _KEY_Armenian_at
+
+_KEY_Armenian_at :: Int32
+_KEY_Armenian_at = 16778600
+-- constant _KEY_Armenian_ayb
+
+_KEY_Armenian_ayb :: Int32
+_KEY_Armenian_ayb = 16778593
+-- constant _KEY_Armenian_ben
+
+_KEY_Armenian_ben :: Int32
+_KEY_Armenian_ben = 16778594
+-- constant _KEY_Armenian_but
+
+_KEY_Armenian_but :: Int32
+_KEY_Armenian_but = 16778589
+-- constant _KEY_Armenian_cha
+
+_KEY_Armenian_cha :: Int32
+_KEY_Armenian_cha = 16778617
+-- constant _KEY_Armenian_da
+
+_KEY_Armenian_da :: Int32
+_KEY_Armenian_da = 16778596
+-- constant _KEY_Armenian_dza
+
+_KEY_Armenian_dza :: Int32
+_KEY_Armenian_dza = 16778609
+-- constant _KEY_Armenian_e
+
+_KEY_Armenian_e :: Int32
+_KEY_Armenian_e = 16778599
+-- constant _KEY_Armenian_exclam
+
+_KEY_Armenian_exclam :: Int32
+_KEY_Armenian_exclam = 16778588
+-- constant _KEY_Armenian_fe
+
+_KEY_Armenian_fe :: Int32
+_KEY_Armenian_fe = 16778630
+-- constant _KEY_Armenian_full_stop
+
+_KEY_Armenian_full_stop :: Int32
+_KEY_Armenian_full_stop = 16778633
+-- constant _KEY_Armenian_ghat
+
+_KEY_Armenian_ghat :: Int32
+_KEY_Armenian_ghat = 16778610
+-- constant _KEY_Armenian_gim
+
+_KEY_Armenian_gim :: Int32
+_KEY_Armenian_gim = 16778595
+-- constant _KEY_Armenian_hi
+
+_KEY_Armenian_hi :: Int32
+_KEY_Armenian_hi = 16778613
+-- constant _KEY_Armenian_ho
+
+_KEY_Armenian_ho :: Int32
+_KEY_Armenian_ho = 16778608
+-- constant _KEY_Armenian_hyphen
+
+_KEY_Armenian_hyphen :: Int32
+_KEY_Armenian_hyphen = 16778634
+-- constant _KEY_Armenian_ini
+
+_KEY_Armenian_ini :: Int32
+_KEY_Armenian_ini = 16778603
+-- constant _KEY_Armenian_je
+
+_KEY_Armenian_je :: Int32
+_KEY_Armenian_je = 16778619
+-- constant _KEY_Armenian_ke
+
+_KEY_Armenian_ke :: Int32
+_KEY_Armenian_ke = 16778628
+-- constant _KEY_Armenian_ken
+
+_KEY_Armenian_ken :: Int32
+_KEY_Armenian_ken = 16778607
+-- constant _KEY_Armenian_khe
+
+_KEY_Armenian_khe :: Int32
+_KEY_Armenian_khe = 16778605
+-- constant _KEY_Armenian_ligature_ew
+
+_KEY_Armenian_ligature_ew :: Int32
+_KEY_Armenian_ligature_ew = 16778631
+-- constant _KEY_Armenian_lyun
+
+_KEY_Armenian_lyun :: Int32
+_KEY_Armenian_lyun = 16778604
+-- constant _KEY_Armenian_men
+
+_KEY_Armenian_men :: Int32
+_KEY_Armenian_men = 16778612
+-- constant _KEY_Armenian_nu
+
+_KEY_Armenian_nu :: Int32
+_KEY_Armenian_nu = 16778614
+-- constant _KEY_Armenian_o
+
+_KEY_Armenian_o :: Int32
+_KEY_Armenian_o = 16778629
+-- constant _KEY_Armenian_paruyk
+
+_KEY_Armenian_paruyk :: Int32
+_KEY_Armenian_paruyk = 16778590
+-- constant _KEY_Armenian_pe
+
+_KEY_Armenian_pe :: Int32
+_KEY_Armenian_pe = 16778618
+-- constant _KEY_Armenian_pyur
+
+_KEY_Armenian_pyur :: Int32
+_KEY_Armenian_pyur = 16778627
+-- constant _KEY_Armenian_question
+
+_KEY_Armenian_question :: Int32
+_KEY_Armenian_question = 16778590
+-- constant _KEY_Armenian_ra
+
+_KEY_Armenian_ra :: Int32
+_KEY_Armenian_ra = 16778620
+-- constant _KEY_Armenian_re
+
+_KEY_Armenian_re :: Int32
+_KEY_Armenian_re = 16778624
+-- constant _KEY_Armenian_se
+
+_KEY_Armenian_se :: Int32
+_KEY_Armenian_se = 16778621
+-- constant _KEY_Armenian_separation_mark
+
+_KEY_Armenian_separation_mark :: Int32
+_KEY_Armenian_separation_mark = 16778589
+-- constant _KEY_Armenian_sha
+
+_KEY_Armenian_sha :: Int32
+_KEY_Armenian_sha = 16778615
+-- constant _KEY_Armenian_shesht
+
+_KEY_Armenian_shesht :: Int32
+_KEY_Armenian_shesht = 16778587
+-- constant _KEY_Armenian_tche
+
+_KEY_Armenian_tche :: Int32
+_KEY_Armenian_tche = 16778611
+-- constant _KEY_Armenian_to
+
+_KEY_Armenian_to :: Int32
+_KEY_Armenian_to = 16778601
+-- constant _KEY_Armenian_tsa
+
+_KEY_Armenian_tsa :: Int32
+_KEY_Armenian_tsa = 16778606
+-- constant _KEY_Armenian_tso
+
+_KEY_Armenian_tso :: Int32
+_KEY_Armenian_tso = 16778625
+-- constant _KEY_Armenian_tyun
+
+_KEY_Armenian_tyun :: Int32
+_KEY_Armenian_tyun = 16778623
+-- constant _KEY_Armenian_verjaket
+
+_KEY_Armenian_verjaket :: Int32
+_KEY_Armenian_verjaket = 16778633
+-- constant _KEY_Armenian_vev
+
+_KEY_Armenian_vev :: Int32
+_KEY_Armenian_vev = 16778622
+-- constant _KEY_Armenian_vo
+
+_KEY_Armenian_vo :: Int32
+_KEY_Armenian_vo = 16778616
+-- constant _KEY_Armenian_vyun
+
+_KEY_Armenian_vyun :: Int32
+_KEY_Armenian_vyun = 16778626
+-- constant _KEY_Armenian_yech
+
+_KEY_Armenian_yech :: Int32
+_KEY_Armenian_yech = 16778597
+-- constant _KEY_Armenian_yentamna
+
+_KEY_Armenian_yentamna :: Int32
+_KEY_Armenian_yentamna = 16778634
+-- constant _KEY_Armenian_za
+
+_KEY_Armenian_za :: Int32
+_KEY_Armenian_za = 16778598
+-- constant _KEY_Armenian_zhe
+
+_KEY_Armenian_zhe :: Int32
+_KEY_Armenian_zhe = 16778602
+-- constant _KEY_Atilde
+
+_KEY_Atilde :: Int32
+_KEY_Atilde = 195
+-- constant _KEY_AudibleBell_Enable
+
+_KEY_AudibleBell_Enable :: Int32
+_KEY_AudibleBell_Enable = 65146
+-- constant _KEY_AudioCycleTrack
+
+_KEY_AudioCycleTrack :: Int32
+_KEY_AudioCycleTrack = 269025179
+-- constant _KEY_AudioForward
+
+_KEY_AudioForward :: Int32
+_KEY_AudioForward = 269025175
+-- constant _KEY_AudioLowerVolume
+
+_KEY_AudioLowerVolume :: Int32
+_KEY_AudioLowerVolume = 269025041
+-- constant _KEY_AudioMedia
+
+_KEY_AudioMedia :: Int32
+_KEY_AudioMedia = 269025074
+-- constant _KEY_AudioMicMute
+
+_KEY_AudioMicMute :: Int32
+_KEY_AudioMicMute = 269025202
+-- constant _KEY_AudioMute
+
+_KEY_AudioMute :: Int32
+_KEY_AudioMute = 269025042
+-- constant _KEY_AudioNext
+
+_KEY_AudioNext :: Int32
+_KEY_AudioNext = 269025047
+-- constant _KEY_AudioPause
+
+_KEY_AudioPause :: Int32
+_KEY_AudioPause = 269025073
+-- constant _KEY_AudioPlay
+
+_KEY_AudioPlay :: Int32
+_KEY_AudioPlay = 269025044
+-- constant _KEY_AudioPrev
+
+_KEY_AudioPrev :: Int32
+_KEY_AudioPrev = 269025046
+-- constant _KEY_AudioRaiseVolume
+
+_KEY_AudioRaiseVolume :: Int32
+_KEY_AudioRaiseVolume = 269025043
+-- constant _KEY_AudioRandomPlay
+
+_KEY_AudioRandomPlay :: Int32
+_KEY_AudioRandomPlay = 269025177
+-- constant _KEY_AudioRecord
+
+_KEY_AudioRecord :: Int32
+_KEY_AudioRecord = 269025052
+-- constant _KEY_AudioRepeat
+
+_KEY_AudioRepeat :: Int32
+_KEY_AudioRepeat = 269025176
+-- constant _KEY_AudioRewind
+
+_KEY_AudioRewind :: Int32
+_KEY_AudioRewind = 269025086
+-- constant _KEY_AudioStop
+
+_KEY_AudioStop :: Int32
+_KEY_AudioStop = 269025045
+-- constant _KEY_Away
+
+_KEY_Away :: Int32
+_KEY_Away = 269025165
+-- constant _KEY_B
+
+_KEY_B :: Int32
+_KEY_B = 66
+-- constant _KEY_Babovedot
+
+_KEY_Babovedot :: Int32
+_KEY_Babovedot = 16784898
+-- constant _KEY_Back
+
+_KEY_Back :: Int32
+_KEY_Back = 269025062
+-- constant _KEY_BackForward
+
+_KEY_BackForward :: Int32
+_KEY_BackForward = 269025087
+-- constant _KEY_BackSpace
+
+_KEY_BackSpace :: Int32
+_KEY_BackSpace = 65288
+-- constant _KEY_Battery
+
+_KEY_Battery :: Int32
+_KEY_Battery = 269025171
+-- constant _KEY_Begin
+
+_KEY_Begin :: Int32
+_KEY_Begin = 65368
+-- constant _KEY_Blue
+
+_KEY_Blue :: Int32
+_KEY_Blue = 269025190
+-- constant _KEY_Bluetooth
+
+_KEY_Bluetooth :: Int32
+_KEY_Bluetooth = 269025172
+-- constant _KEY_Book
+
+_KEY_Book :: Int32
+_KEY_Book = 269025106
+-- constant _KEY_BounceKeys_Enable
+
+_KEY_BounceKeys_Enable :: Int32
+_KEY_BounceKeys_Enable = 65140
+-- constant _KEY_Break
+
+_KEY_Break :: Int32
+_KEY_Break = 65387
+-- constant _KEY_BrightnessAdjust
+
+_KEY_BrightnessAdjust :: Int32
+_KEY_BrightnessAdjust = 269025083
+-- constant _KEY_Byelorussian_SHORTU
+
+_KEY_Byelorussian_SHORTU :: Int32
+_KEY_Byelorussian_SHORTU = 1726
+-- constant _KEY_Byelorussian_shortu
+
+_KEY_Byelorussian_shortu :: Int32
+_KEY_Byelorussian_shortu = 1710
+-- constant _KEY_C
+
+_KEY_C :: Int32
+_KEY_C = 67
+-- constant _KEY_CD
+
+_KEY_CD :: Int32
+_KEY_CD = 269025107
+-- constant _KEY_CH
+
+_KEY_CH :: Int32
+_KEY_CH = 65186
+-- constant _KEY_C_H
+
+_KEY_C_H :: Int32
+_KEY_C_H = 65189
+-- constant _KEY_C_h
+
+_KEY_C_h :: Int32
+_KEY_C_h = 65188
+-- constant _KEY_Cabovedot
+
+_KEY_Cabovedot :: Int32
+_KEY_Cabovedot = 709
+-- constant _KEY_Cacute
+
+_KEY_Cacute :: Int32
+_KEY_Cacute = 454
+-- constant _KEY_Calculator
+
+_KEY_Calculator :: Int32
+_KEY_Calculator = 269025053
+-- constant _KEY_Calendar
+
+_KEY_Calendar :: Int32
+_KEY_Calendar = 269025056
+-- constant _KEY_Cancel
+
+_KEY_Cancel :: Int32
+_KEY_Cancel = 65385
+-- constant _KEY_Caps_Lock
+
+_KEY_Caps_Lock :: Int32
+_KEY_Caps_Lock = 65509
+-- constant _KEY_Ccaron
+
+_KEY_Ccaron :: Int32
+_KEY_Ccaron = 456
+-- constant _KEY_Ccedilla
+
+_KEY_Ccedilla :: Int32
+_KEY_Ccedilla = 199
+-- constant _KEY_Ccircumflex
+
+_KEY_Ccircumflex :: Int32
+_KEY_Ccircumflex = 710
+-- constant _KEY_Ch
+
+_KEY_Ch :: Int32
+_KEY_Ch = 65185
+-- constant _KEY_Clear
+
+_KEY_Clear :: Int32
+_KEY_Clear = 65291
+-- constant _KEY_ClearGrab
+
+_KEY_ClearGrab :: Int32
+_KEY_ClearGrab = 269024801
+-- constant _KEY_Close
+
+_KEY_Close :: Int32
+_KEY_Close = 269025110
+-- constant _KEY_Codeinput
+
+_KEY_Codeinput :: Int32
+_KEY_Codeinput = 65335
+-- constant _KEY_ColonSign
+
+_KEY_ColonSign :: Int32
+_KEY_ColonSign = 16785569
+-- constant _KEY_Community
+
+_KEY_Community :: Int32
+_KEY_Community = 269025085
+-- constant _KEY_ContrastAdjust
+
+_KEY_ContrastAdjust :: Int32
+_KEY_ContrastAdjust = 269025058
+-- constant _KEY_Control_L
+
+_KEY_Control_L :: Int32
+_KEY_Control_L = 65507
+-- constant _KEY_Control_R
+
+_KEY_Control_R :: Int32
+_KEY_Control_R = 65508
+-- constant _KEY_Copy
+
+_KEY_Copy :: Int32
+_KEY_Copy = 269025111
+-- constant _KEY_CruzeiroSign
+
+_KEY_CruzeiroSign :: Int32
+_KEY_CruzeiroSign = 16785570
+-- constant _KEY_Cut
+
+_KEY_Cut :: Int32
+_KEY_Cut = 269025112
+-- constant _KEY_CycleAngle
+
+_KEY_CycleAngle :: Int32
+_KEY_CycleAngle = 269025180
+-- constant _KEY_Cyrillic_A
+
+_KEY_Cyrillic_A :: Int32
+_KEY_Cyrillic_A = 1761
+-- constant _KEY_Cyrillic_BE
+
+_KEY_Cyrillic_BE :: Int32
+_KEY_Cyrillic_BE = 1762
+-- constant _KEY_Cyrillic_CHE
+
+_KEY_Cyrillic_CHE :: Int32
+_KEY_Cyrillic_CHE = 1790
+-- constant _KEY_Cyrillic_CHE_descender
+
+_KEY_Cyrillic_CHE_descender :: Int32
+_KEY_Cyrillic_CHE_descender = 16778422
+-- constant _KEY_Cyrillic_CHE_vertstroke
+
+_KEY_Cyrillic_CHE_vertstroke :: Int32
+_KEY_Cyrillic_CHE_vertstroke = 16778424
+-- constant _KEY_Cyrillic_DE
+
+_KEY_Cyrillic_DE :: Int32
+_KEY_Cyrillic_DE = 1764
+-- constant _KEY_Cyrillic_DZHE
+
+_KEY_Cyrillic_DZHE :: Int32
+_KEY_Cyrillic_DZHE = 1727
+-- constant _KEY_Cyrillic_E
+
+_KEY_Cyrillic_E :: Int32
+_KEY_Cyrillic_E = 1788
+-- constant _KEY_Cyrillic_EF
+
+_KEY_Cyrillic_EF :: Int32
+_KEY_Cyrillic_EF = 1766
+-- constant _KEY_Cyrillic_EL
+
+_KEY_Cyrillic_EL :: Int32
+_KEY_Cyrillic_EL = 1772
+-- constant _KEY_Cyrillic_EM
+
+_KEY_Cyrillic_EM :: Int32
+_KEY_Cyrillic_EM = 1773
+-- constant _KEY_Cyrillic_EN
+
+_KEY_Cyrillic_EN :: Int32
+_KEY_Cyrillic_EN = 1774
+-- constant _KEY_Cyrillic_EN_descender
+
+_KEY_Cyrillic_EN_descender :: Int32
+_KEY_Cyrillic_EN_descender = 16778402
+-- constant _KEY_Cyrillic_ER
+
+_KEY_Cyrillic_ER :: Int32
+_KEY_Cyrillic_ER = 1778
+-- constant _KEY_Cyrillic_ES
+
+_KEY_Cyrillic_ES :: Int32
+_KEY_Cyrillic_ES = 1779
+-- constant _KEY_Cyrillic_GHE
+
+_KEY_Cyrillic_GHE :: Int32
+_KEY_Cyrillic_GHE = 1767
+-- constant _KEY_Cyrillic_GHE_bar
+
+_KEY_Cyrillic_GHE_bar :: Int32
+_KEY_Cyrillic_GHE_bar = 16778386
+-- constant _KEY_Cyrillic_HA
+
+_KEY_Cyrillic_HA :: Int32
+_KEY_Cyrillic_HA = 1768
+-- constant _KEY_Cyrillic_HARDSIGN
+
+_KEY_Cyrillic_HARDSIGN :: Int32
+_KEY_Cyrillic_HARDSIGN = 1791
+-- constant _KEY_Cyrillic_HA_descender
+
+_KEY_Cyrillic_HA_descender :: Int32
+_KEY_Cyrillic_HA_descender = 16778418
+-- constant _KEY_Cyrillic_I
+
+_KEY_Cyrillic_I :: Int32
+_KEY_Cyrillic_I = 1769
+-- constant _KEY_Cyrillic_IE
+
+_KEY_Cyrillic_IE :: Int32
+_KEY_Cyrillic_IE = 1765
+-- constant _KEY_Cyrillic_IO
+
+_KEY_Cyrillic_IO :: Int32
+_KEY_Cyrillic_IO = 1715
+-- constant _KEY_Cyrillic_I_macron
+
+_KEY_Cyrillic_I_macron :: Int32
+_KEY_Cyrillic_I_macron = 16778466
+-- constant _KEY_Cyrillic_JE
+
+_KEY_Cyrillic_JE :: Int32
+_KEY_Cyrillic_JE = 1720
+-- constant _KEY_Cyrillic_KA
+
+_KEY_Cyrillic_KA :: Int32
+_KEY_Cyrillic_KA = 1771
+-- constant _KEY_Cyrillic_KA_descender
+
+_KEY_Cyrillic_KA_descender :: Int32
+_KEY_Cyrillic_KA_descender = 16778394
+-- constant _KEY_Cyrillic_KA_vertstroke
+
+_KEY_Cyrillic_KA_vertstroke :: Int32
+_KEY_Cyrillic_KA_vertstroke = 16778396
+-- constant _KEY_Cyrillic_LJE
+
+_KEY_Cyrillic_LJE :: Int32
+_KEY_Cyrillic_LJE = 1721
+-- constant _KEY_Cyrillic_NJE
+
+_KEY_Cyrillic_NJE :: Int32
+_KEY_Cyrillic_NJE = 1722
+-- constant _KEY_Cyrillic_O
+
+_KEY_Cyrillic_O :: Int32
+_KEY_Cyrillic_O = 1775
+-- constant _KEY_Cyrillic_O_bar
+
+_KEY_Cyrillic_O_bar :: Int32
+_KEY_Cyrillic_O_bar = 16778472
+-- constant _KEY_Cyrillic_PE
+
+_KEY_Cyrillic_PE :: Int32
+_KEY_Cyrillic_PE = 1776
+-- constant _KEY_Cyrillic_SCHWA
+
+_KEY_Cyrillic_SCHWA :: Int32
+_KEY_Cyrillic_SCHWA = 16778456
+-- constant _KEY_Cyrillic_SHA
+
+_KEY_Cyrillic_SHA :: Int32
+_KEY_Cyrillic_SHA = 1787
+-- constant _KEY_Cyrillic_SHCHA
+
+_KEY_Cyrillic_SHCHA :: Int32
+_KEY_Cyrillic_SHCHA = 1789
+-- constant _KEY_Cyrillic_SHHA
+
+_KEY_Cyrillic_SHHA :: Int32
+_KEY_Cyrillic_SHHA = 16778426
+-- constant _KEY_Cyrillic_SHORTI
+
+_KEY_Cyrillic_SHORTI :: Int32
+_KEY_Cyrillic_SHORTI = 1770
+-- constant _KEY_Cyrillic_SOFTSIGN
+
+_KEY_Cyrillic_SOFTSIGN :: Int32
+_KEY_Cyrillic_SOFTSIGN = 1784
+-- constant _KEY_Cyrillic_TE
+
+_KEY_Cyrillic_TE :: Int32
+_KEY_Cyrillic_TE = 1780
+-- constant _KEY_Cyrillic_TSE
+
+_KEY_Cyrillic_TSE :: Int32
+_KEY_Cyrillic_TSE = 1763
+-- constant _KEY_Cyrillic_U
+
+_KEY_Cyrillic_U :: Int32
+_KEY_Cyrillic_U = 1781
+-- constant _KEY_Cyrillic_U_macron
+
+_KEY_Cyrillic_U_macron :: Int32
+_KEY_Cyrillic_U_macron = 16778478
+-- constant _KEY_Cyrillic_U_straight
+
+_KEY_Cyrillic_U_straight :: Int32
+_KEY_Cyrillic_U_straight = 16778414
+-- constant _KEY_Cyrillic_U_straight_bar
+
+_KEY_Cyrillic_U_straight_bar :: Int32
+_KEY_Cyrillic_U_straight_bar = 16778416
+-- constant _KEY_Cyrillic_VE
+
+_KEY_Cyrillic_VE :: Int32
+_KEY_Cyrillic_VE = 1783
+-- constant _KEY_Cyrillic_YA
+
+_KEY_Cyrillic_YA :: Int32
+_KEY_Cyrillic_YA = 1777
+-- constant _KEY_Cyrillic_YERU
+
+_KEY_Cyrillic_YERU :: Int32
+_KEY_Cyrillic_YERU = 1785
+-- constant _KEY_Cyrillic_YU
+
+_KEY_Cyrillic_YU :: Int32
+_KEY_Cyrillic_YU = 1760
+-- constant _KEY_Cyrillic_ZE
+
+_KEY_Cyrillic_ZE :: Int32
+_KEY_Cyrillic_ZE = 1786
+-- constant _KEY_Cyrillic_ZHE
+
+_KEY_Cyrillic_ZHE :: Int32
+_KEY_Cyrillic_ZHE = 1782
+-- constant _KEY_Cyrillic_ZHE_descender
+
+_KEY_Cyrillic_ZHE_descender :: Int32
+_KEY_Cyrillic_ZHE_descender = 16778390
+-- constant _KEY_Cyrillic_a
+
+_KEY_Cyrillic_a :: Int32
+_KEY_Cyrillic_a = 1729
+-- constant _KEY_Cyrillic_be
+
+_KEY_Cyrillic_be :: Int32
+_KEY_Cyrillic_be = 1730
+-- constant _KEY_Cyrillic_che
+
+_KEY_Cyrillic_che :: Int32
+_KEY_Cyrillic_che = 1758
+-- constant _KEY_Cyrillic_che_descender
+
+_KEY_Cyrillic_che_descender :: Int32
+_KEY_Cyrillic_che_descender = 16778423
+-- constant _KEY_Cyrillic_che_vertstroke
+
+_KEY_Cyrillic_che_vertstroke :: Int32
+_KEY_Cyrillic_che_vertstroke = 16778425
+-- constant _KEY_Cyrillic_de
+
+_KEY_Cyrillic_de :: Int32
+_KEY_Cyrillic_de = 1732
+-- constant _KEY_Cyrillic_dzhe
+
+_KEY_Cyrillic_dzhe :: Int32
+_KEY_Cyrillic_dzhe = 1711
+-- constant _KEY_Cyrillic_e
+
+_KEY_Cyrillic_e :: Int32
+_KEY_Cyrillic_e = 1756
+-- constant _KEY_Cyrillic_ef
+
+_KEY_Cyrillic_ef :: Int32
+_KEY_Cyrillic_ef = 1734
+-- constant _KEY_Cyrillic_el
+
+_KEY_Cyrillic_el :: Int32
+_KEY_Cyrillic_el = 1740
+-- constant _KEY_Cyrillic_em
+
+_KEY_Cyrillic_em :: Int32
+_KEY_Cyrillic_em = 1741
+-- constant _KEY_Cyrillic_en
+
+_KEY_Cyrillic_en :: Int32
+_KEY_Cyrillic_en = 1742
+-- constant _KEY_Cyrillic_en_descender
+
+_KEY_Cyrillic_en_descender :: Int32
+_KEY_Cyrillic_en_descender = 16778403
+-- constant _KEY_Cyrillic_er
+
+_KEY_Cyrillic_er :: Int32
+_KEY_Cyrillic_er = 1746
+-- constant _KEY_Cyrillic_es
+
+_KEY_Cyrillic_es :: Int32
+_KEY_Cyrillic_es = 1747
+-- constant _KEY_Cyrillic_ghe
+
+_KEY_Cyrillic_ghe :: Int32
+_KEY_Cyrillic_ghe = 1735
+-- constant _KEY_Cyrillic_ghe_bar
+
+_KEY_Cyrillic_ghe_bar :: Int32
+_KEY_Cyrillic_ghe_bar = 16778387
+-- constant _KEY_Cyrillic_ha
+
+_KEY_Cyrillic_ha :: Int32
+_KEY_Cyrillic_ha = 1736
+-- constant _KEY_Cyrillic_ha_descender
+
+_KEY_Cyrillic_ha_descender :: Int32
+_KEY_Cyrillic_ha_descender = 16778419
+-- constant _KEY_Cyrillic_hardsign
+
+_KEY_Cyrillic_hardsign :: Int32
+_KEY_Cyrillic_hardsign = 1759
+-- constant _KEY_Cyrillic_i
+
+_KEY_Cyrillic_i :: Int32
+_KEY_Cyrillic_i = 1737
+-- constant _KEY_Cyrillic_i_macron
+
+_KEY_Cyrillic_i_macron :: Int32
+_KEY_Cyrillic_i_macron = 16778467
+-- constant _KEY_Cyrillic_ie
+
+_KEY_Cyrillic_ie :: Int32
+_KEY_Cyrillic_ie = 1733
+-- constant _KEY_Cyrillic_io
+
+_KEY_Cyrillic_io :: Int32
+_KEY_Cyrillic_io = 1699
+-- constant _KEY_Cyrillic_je
+
+_KEY_Cyrillic_je :: Int32
+_KEY_Cyrillic_je = 1704
+-- constant _KEY_Cyrillic_ka
+
+_KEY_Cyrillic_ka :: Int32
+_KEY_Cyrillic_ka = 1739
+-- constant _KEY_Cyrillic_ka_descender
+
+_KEY_Cyrillic_ka_descender :: Int32
+_KEY_Cyrillic_ka_descender = 16778395
+-- constant _KEY_Cyrillic_ka_vertstroke
+
+_KEY_Cyrillic_ka_vertstroke :: Int32
+_KEY_Cyrillic_ka_vertstroke = 16778397
+-- constant _KEY_Cyrillic_lje
+
+_KEY_Cyrillic_lje :: Int32
+_KEY_Cyrillic_lje = 1705
+-- constant _KEY_Cyrillic_nje
+
+_KEY_Cyrillic_nje :: Int32
+_KEY_Cyrillic_nje = 1706
+-- constant _KEY_Cyrillic_o
+
+_KEY_Cyrillic_o :: Int32
+_KEY_Cyrillic_o = 1743
+-- constant _KEY_Cyrillic_o_bar
+
+_KEY_Cyrillic_o_bar :: Int32
+_KEY_Cyrillic_o_bar = 16778473
+-- constant _KEY_Cyrillic_pe
+
+_KEY_Cyrillic_pe :: Int32
+_KEY_Cyrillic_pe = 1744
+-- constant _KEY_Cyrillic_schwa
+
+_KEY_Cyrillic_schwa :: Int32
+_KEY_Cyrillic_schwa = 16778457
+-- constant _KEY_Cyrillic_sha
+
+_KEY_Cyrillic_sha :: Int32
+_KEY_Cyrillic_sha = 1755
+-- constant _KEY_Cyrillic_shcha
+
+_KEY_Cyrillic_shcha :: Int32
+_KEY_Cyrillic_shcha = 1757
+-- constant _KEY_Cyrillic_shha
+
+_KEY_Cyrillic_shha :: Int32
+_KEY_Cyrillic_shha = 16778427
+-- constant _KEY_Cyrillic_shorti
+
+_KEY_Cyrillic_shorti :: Int32
+_KEY_Cyrillic_shorti = 1738
+-- constant _KEY_Cyrillic_softsign
+
+_KEY_Cyrillic_softsign :: Int32
+_KEY_Cyrillic_softsign = 1752
+-- constant _KEY_Cyrillic_te
+
+_KEY_Cyrillic_te :: Int32
+_KEY_Cyrillic_te = 1748
+-- constant _KEY_Cyrillic_tse
+
+_KEY_Cyrillic_tse :: Int32
+_KEY_Cyrillic_tse = 1731
+-- constant _KEY_Cyrillic_u
+
+_KEY_Cyrillic_u :: Int32
+_KEY_Cyrillic_u = 1749
+-- constant _KEY_Cyrillic_u_macron
+
+_KEY_Cyrillic_u_macron :: Int32
+_KEY_Cyrillic_u_macron = 16778479
+-- constant _KEY_Cyrillic_u_straight
+
+_KEY_Cyrillic_u_straight :: Int32
+_KEY_Cyrillic_u_straight = 16778415
+-- constant _KEY_Cyrillic_u_straight_bar
+
+_KEY_Cyrillic_u_straight_bar :: Int32
+_KEY_Cyrillic_u_straight_bar = 16778417
+-- constant _KEY_Cyrillic_ve
+
+_KEY_Cyrillic_ve :: Int32
+_KEY_Cyrillic_ve = 1751
+-- constant _KEY_Cyrillic_ya
+
+_KEY_Cyrillic_ya :: Int32
+_KEY_Cyrillic_ya = 1745
+-- constant _KEY_Cyrillic_yeru
+
+_KEY_Cyrillic_yeru :: Int32
+_KEY_Cyrillic_yeru = 1753
+-- constant _KEY_Cyrillic_yu
+
+_KEY_Cyrillic_yu :: Int32
+_KEY_Cyrillic_yu = 1728
+-- constant _KEY_Cyrillic_ze
+
+_KEY_Cyrillic_ze :: Int32
+_KEY_Cyrillic_ze = 1754
+-- constant _KEY_Cyrillic_zhe
+
+_KEY_Cyrillic_zhe :: Int32
+_KEY_Cyrillic_zhe = 1750
+-- constant _KEY_Cyrillic_zhe_descender
+
+_KEY_Cyrillic_zhe_descender :: Int32
+_KEY_Cyrillic_zhe_descender = 16778391
+-- constant _KEY_D
+
+_KEY_D :: Int32
+_KEY_D = 68
+-- constant _KEY_DOS
+
+_KEY_DOS :: Int32
+_KEY_DOS = 269025114
+-- constant _KEY_Dabovedot
+
+_KEY_Dabovedot :: Int32
+_KEY_Dabovedot = 16784906
+-- constant _KEY_Dcaron
+
+_KEY_Dcaron :: Int32
+_KEY_Dcaron = 463
+-- constant _KEY_Delete
+
+_KEY_Delete :: Int32
+_KEY_Delete = 65535
+-- constant _KEY_Display
+
+_KEY_Display :: Int32
+_KEY_Display = 269025113
+-- constant _KEY_Documents
+
+_KEY_Documents :: Int32
+_KEY_Documents = 269025115
+-- constant _KEY_DongSign
+
+_KEY_DongSign :: Int32
+_KEY_DongSign = 16785579
+-- constant _KEY_Down
+
+_KEY_Down :: Int32
+_KEY_Down = 65364
+-- constant _KEY_Dstroke
+
+_KEY_Dstroke :: Int32
+_KEY_Dstroke = 464
+-- constant _KEY_E
+
+_KEY_E :: Int32
+_KEY_E = 69
+-- constant _KEY_ENG
+
+_KEY_ENG :: Int32
+_KEY_ENG = 957
+-- constant _KEY_ETH
+
+_KEY_ETH :: Int32
+_KEY_ETH = 208
+-- constant _KEY_EZH
+
+_KEY_EZH :: Int32
+_KEY_EZH = 16777655
+-- constant _KEY_Eabovedot
+
+_KEY_Eabovedot :: Int32
+_KEY_Eabovedot = 972
+-- constant _KEY_Eacute
+
+_KEY_Eacute :: Int32
+_KEY_Eacute = 201
+-- constant _KEY_Ebelowdot
+
+_KEY_Ebelowdot :: Int32
+_KEY_Ebelowdot = 16785080
+-- constant _KEY_Ecaron
+
+_KEY_Ecaron :: Int32
+_KEY_Ecaron = 460
+-- constant _KEY_Ecircumflex
+
+_KEY_Ecircumflex :: Int32
+_KEY_Ecircumflex = 202
+-- constant _KEY_Ecircumflexacute
+
+_KEY_Ecircumflexacute :: Int32
+_KEY_Ecircumflexacute = 16785086
+-- constant _KEY_Ecircumflexbelowdot
+
+_KEY_Ecircumflexbelowdot :: Int32
+_KEY_Ecircumflexbelowdot = 16785094
+-- constant _KEY_Ecircumflexgrave
+
+_KEY_Ecircumflexgrave :: Int32
+_KEY_Ecircumflexgrave = 16785088
+-- constant _KEY_Ecircumflexhook
+
+_KEY_Ecircumflexhook :: Int32
+_KEY_Ecircumflexhook = 16785090
+-- constant _KEY_Ecircumflextilde
+
+_KEY_Ecircumflextilde :: Int32
+_KEY_Ecircumflextilde = 16785092
+-- constant _KEY_EcuSign
+
+_KEY_EcuSign :: Int32
+_KEY_EcuSign = 16785568
+-- constant _KEY_Ediaeresis
+
+_KEY_Ediaeresis :: Int32
+_KEY_Ediaeresis = 203
+-- constant _KEY_Egrave
+
+_KEY_Egrave :: Int32
+_KEY_Egrave = 200
+-- constant _KEY_Ehook
+
+_KEY_Ehook :: Int32
+_KEY_Ehook = 16785082
+-- constant _KEY_Eisu_Shift
+
+_KEY_Eisu_Shift :: Int32
+_KEY_Eisu_Shift = 65327
+-- constant _KEY_Eisu_toggle
+
+_KEY_Eisu_toggle :: Int32
+_KEY_Eisu_toggle = 65328
+-- constant _KEY_Eject
+
+_KEY_Eject :: Int32
+_KEY_Eject = 269025068
+-- constant _KEY_Emacron
+
+_KEY_Emacron :: Int32
+_KEY_Emacron = 938
+-- constant _KEY_End
+
+_KEY_End :: Int32
+_KEY_End = 65367
+-- constant _KEY_Eogonek
+
+_KEY_Eogonek :: Int32
+_KEY_Eogonek = 458
+-- constant _KEY_Escape
+
+_KEY_Escape :: Int32
+_KEY_Escape = 65307
+-- constant _KEY_Eth
+
+_KEY_Eth :: Int32
+_KEY_Eth = 208
+-- constant _KEY_Etilde
+
+_KEY_Etilde :: Int32
+_KEY_Etilde = 16785084
+-- constant _KEY_EuroSign
+
+_KEY_EuroSign :: Int32
+_KEY_EuroSign = 8364
+-- constant _KEY_Excel
+
+_KEY_Excel :: Int32
+_KEY_Excel = 269025116
+-- constant _KEY_Execute
+
+_KEY_Execute :: Int32
+_KEY_Execute = 65378
+-- constant _KEY_Explorer
+
+_KEY_Explorer :: Int32
+_KEY_Explorer = 269025117
+-- constant _KEY_F
+
+_KEY_F :: Int32
+_KEY_F = 70
+-- constant _KEY_F1
+
+_KEY_F1 :: Int32
+_KEY_F1 = 65470
+-- constant _KEY_F10
+
+_KEY_F10 :: Int32
+_KEY_F10 = 65479
+-- constant _KEY_F11
+
+_KEY_F11 :: Int32
+_KEY_F11 = 65480
+-- constant _KEY_F12
+
+_KEY_F12 :: Int32
+_KEY_F12 = 65481
+-- constant _KEY_F13
+
+_KEY_F13 :: Int32
+_KEY_F13 = 65482
+-- constant _KEY_F14
+
+_KEY_F14 :: Int32
+_KEY_F14 = 65483
+-- constant _KEY_F15
+
+_KEY_F15 :: Int32
+_KEY_F15 = 65484
+-- constant _KEY_F16
+
+_KEY_F16 :: Int32
+_KEY_F16 = 65485
+-- constant _KEY_F17
+
+_KEY_F17 :: Int32
+_KEY_F17 = 65486
+-- constant _KEY_F18
+
+_KEY_F18 :: Int32
+_KEY_F18 = 65487
+-- constant _KEY_F19
+
+_KEY_F19 :: Int32
+_KEY_F19 = 65488
+-- constant _KEY_F2
+
+_KEY_F2 :: Int32
+_KEY_F2 = 65471
+-- constant _KEY_F20
+
+_KEY_F20 :: Int32
+_KEY_F20 = 65489
+-- constant _KEY_F21
+
+_KEY_F21 :: Int32
+_KEY_F21 = 65490
+-- constant _KEY_F22
+
+_KEY_F22 :: Int32
+_KEY_F22 = 65491
+-- constant _KEY_F23
+
+_KEY_F23 :: Int32
+_KEY_F23 = 65492
+-- constant _KEY_F24
+
+_KEY_F24 :: Int32
+_KEY_F24 = 65493
+-- constant _KEY_F25
+
+_KEY_F25 :: Int32
+_KEY_F25 = 65494
+-- constant _KEY_F26
+
+_KEY_F26 :: Int32
+_KEY_F26 = 65495
+-- constant _KEY_F27
+
+_KEY_F27 :: Int32
+_KEY_F27 = 65496
+-- constant _KEY_F28
+
+_KEY_F28 :: Int32
+_KEY_F28 = 65497
+-- constant _KEY_F29
+
+_KEY_F29 :: Int32
+_KEY_F29 = 65498
+-- constant _KEY_F3
+
+_KEY_F3 :: Int32
+_KEY_F3 = 65472
+-- constant _KEY_F30
+
+_KEY_F30 :: Int32
+_KEY_F30 = 65499
+-- constant _KEY_F31
+
+_KEY_F31 :: Int32
+_KEY_F31 = 65500
+-- constant _KEY_F32
+
+_KEY_F32 :: Int32
+_KEY_F32 = 65501
+-- constant _KEY_F33
+
+_KEY_F33 :: Int32
+_KEY_F33 = 65502
+-- constant _KEY_F34
+
+_KEY_F34 :: Int32
+_KEY_F34 = 65503
+-- constant _KEY_F35
+
+_KEY_F35 :: Int32
+_KEY_F35 = 65504
+-- constant _KEY_F4
+
+_KEY_F4 :: Int32
+_KEY_F4 = 65473
+-- constant _KEY_F5
+
+_KEY_F5 :: Int32
+_KEY_F5 = 65474
+-- constant _KEY_F6
+
+_KEY_F6 :: Int32
+_KEY_F6 = 65475
+-- constant _KEY_F7
+
+_KEY_F7 :: Int32
+_KEY_F7 = 65476
+-- constant _KEY_F8
+
+_KEY_F8 :: Int32
+_KEY_F8 = 65477
+-- constant _KEY_F9
+
+_KEY_F9 :: Int32
+_KEY_F9 = 65478
+-- constant _KEY_FFrancSign
+
+_KEY_FFrancSign :: Int32
+_KEY_FFrancSign = 16785571
+-- constant _KEY_Fabovedot
+
+_KEY_Fabovedot :: Int32
+_KEY_Fabovedot = 16784926
+-- constant _KEY_Farsi_0
+
+_KEY_Farsi_0 :: Int32
+_KEY_Farsi_0 = 16778992
+-- constant _KEY_Farsi_1
+
+_KEY_Farsi_1 :: Int32
+_KEY_Farsi_1 = 16778993
+-- constant _KEY_Farsi_2
+
+_KEY_Farsi_2 :: Int32
+_KEY_Farsi_2 = 16778994
+-- constant _KEY_Farsi_3
+
+_KEY_Farsi_3 :: Int32
+_KEY_Farsi_3 = 16778995
+-- constant _KEY_Farsi_4
+
+_KEY_Farsi_4 :: Int32
+_KEY_Farsi_4 = 16778996
+-- constant _KEY_Farsi_5
+
+_KEY_Farsi_5 :: Int32
+_KEY_Farsi_5 = 16778997
+-- constant _KEY_Farsi_6
+
+_KEY_Farsi_6 :: Int32
+_KEY_Farsi_6 = 16778998
+-- constant _KEY_Farsi_7
+
+_KEY_Farsi_7 :: Int32
+_KEY_Farsi_7 = 16778999
+-- constant _KEY_Farsi_8
+
+_KEY_Farsi_8 :: Int32
+_KEY_Farsi_8 = 16779000
+-- constant _KEY_Farsi_9
+
+_KEY_Farsi_9 :: Int32
+_KEY_Farsi_9 = 16779001
+-- constant _KEY_Farsi_yeh
+
+_KEY_Farsi_yeh :: Int32
+_KEY_Farsi_yeh = 16778956
+-- constant _KEY_Favorites
+
+_KEY_Favorites :: Int32
+_KEY_Favorites = 269025072
+-- constant _KEY_Finance
+
+_KEY_Finance :: Int32
+_KEY_Finance = 269025084
+-- constant _KEY_Find
+
+_KEY_Find :: Int32
+_KEY_Find = 65384
+-- constant _KEY_First_Virtual_Screen
+
+_KEY_First_Virtual_Screen :: Int32
+_KEY_First_Virtual_Screen = 65232
+-- constant _KEY_Forward
+
+_KEY_Forward :: Int32
+_KEY_Forward = 269025063
+-- constant _KEY_FrameBack
+
+_KEY_FrameBack :: Int32
+_KEY_FrameBack = 269025181
+-- constant _KEY_FrameForward
+
+_KEY_FrameForward :: Int32
+_KEY_FrameForward = 269025182
+-- constant _KEY_G
+
+_KEY_G :: Int32
+_KEY_G = 71
+-- constant _KEY_Gabovedot
+
+_KEY_Gabovedot :: Int32
+_KEY_Gabovedot = 725
+-- constant _KEY_Game
+
+_KEY_Game :: Int32
+_KEY_Game = 269025118
+-- constant _KEY_Gbreve
+
+_KEY_Gbreve :: Int32
+_KEY_Gbreve = 683
+-- constant _KEY_Gcaron
+
+_KEY_Gcaron :: Int32
+_KEY_Gcaron = 16777702
+-- constant _KEY_Gcedilla
+
+_KEY_Gcedilla :: Int32
+_KEY_Gcedilla = 939
+-- constant _KEY_Gcircumflex
+
+_KEY_Gcircumflex :: Int32
+_KEY_Gcircumflex = 728
+-- constant _KEY_Georgian_an
+
+_KEY_Georgian_an :: Int32
+_KEY_Georgian_an = 16781520
+-- constant _KEY_Georgian_ban
+
+_KEY_Georgian_ban :: Int32
+_KEY_Georgian_ban = 16781521
+-- constant _KEY_Georgian_can
+
+_KEY_Georgian_can :: Int32
+_KEY_Georgian_can = 16781546
+-- constant _KEY_Georgian_char
+
+_KEY_Georgian_char :: Int32
+_KEY_Georgian_char = 16781549
+-- constant _KEY_Georgian_chin
+
+_KEY_Georgian_chin :: Int32
+_KEY_Georgian_chin = 16781545
+-- constant _KEY_Georgian_cil
+
+_KEY_Georgian_cil :: Int32
+_KEY_Georgian_cil = 16781548
+-- constant _KEY_Georgian_don
+
+_KEY_Georgian_don :: Int32
+_KEY_Georgian_don = 16781523
+-- constant _KEY_Georgian_en
+
+_KEY_Georgian_en :: Int32
+_KEY_Georgian_en = 16781524
+-- constant _KEY_Georgian_fi
+
+_KEY_Georgian_fi :: Int32
+_KEY_Georgian_fi = 16781558
+-- constant _KEY_Georgian_gan
+
+_KEY_Georgian_gan :: Int32
+_KEY_Georgian_gan = 16781522
+-- constant _KEY_Georgian_ghan
+
+_KEY_Georgian_ghan :: Int32
+_KEY_Georgian_ghan = 16781542
+-- constant _KEY_Georgian_hae
+
+_KEY_Georgian_hae :: Int32
+_KEY_Georgian_hae = 16781552
+-- constant _KEY_Georgian_har
+
+_KEY_Georgian_har :: Int32
+_KEY_Georgian_har = 16781556
+-- constant _KEY_Georgian_he
+
+_KEY_Georgian_he :: Int32
+_KEY_Georgian_he = 16781553
+-- constant _KEY_Georgian_hie
+
+_KEY_Georgian_hie :: Int32
+_KEY_Georgian_hie = 16781554
+-- constant _KEY_Georgian_hoe
+
+_KEY_Georgian_hoe :: Int32
+_KEY_Georgian_hoe = 16781557
+-- constant _KEY_Georgian_in
+
+_KEY_Georgian_in :: Int32
+_KEY_Georgian_in = 16781528
+-- constant _KEY_Georgian_jhan
+
+_KEY_Georgian_jhan :: Int32
+_KEY_Georgian_jhan = 16781551
+-- constant _KEY_Georgian_jil
+
+_KEY_Georgian_jil :: Int32
+_KEY_Georgian_jil = 16781547
+-- constant _KEY_Georgian_kan
+
+_KEY_Georgian_kan :: Int32
+_KEY_Georgian_kan = 16781529
+-- constant _KEY_Georgian_khar
+
+_KEY_Georgian_khar :: Int32
+_KEY_Georgian_khar = 16781541
+-- constant _KEY_Georgian_las
+
+_KEY_Georgian_las :: Int32
+_KEY_Georgian_las = 16781530
+-- constant _KEY_Georgian_man
+
+_KEY_Georgian_man :: Int32
+_KEY_Georgian_man = 16781531
+-- constant _KEY_Georgian_nar
+
+_KEY_Georgian_nar :: Int32
+_KEY_Georgian_nar = 16781532
+-- constant _KEY_Georgian_on
+
+_KEY_Georgian_on :: Int32
+_KEY_Georgian_on = 16781533
+-- constant _KEY_Georgian_par
+
+_KEY_Georgian_par :: Int32
+_KEY_Georgian_par = 16781534
+-- constant _KEY_Georgian_phar
+
+_KEY_Georgian_phar :: Int32
+_KEY_Georgian_phar = 16781540
+-- constant _KEY_Georgian_qar
+
+_KEY_Georgian_qar :: Int32
+_KEY_Georgian_qar = 16781543
+-- constant _KEY_Georgian_rae
+
+_KEY_Georgian_rae :: Int32
+_KEY_Georgian_rae = 16781536
+-- constant _KEY_Georgian_san
+
+_KEY_Georgian_san :: Int32
+_KEY_Georgian_san = 16781537
+-- constant _KEY_Georgian_shin
+
+_KEY_Georgian_shin :: Int32
+_KEY_Georgian_shin = 16781544
+-- constant _KEY_Georgian_tan
+
+_KEY_Georgian_tan :: Int32
+_KEY_Georgian_tan = 16781527
+-- constant _KEY_Georgian_tar
+
+_KEY_Georgian_tar :: Int32
+_KEY_Georgian_tar = 16781538
+-- constant _KEY_Georgian_un
+
+_KEY_Georgian_un :: Int32
+_KEY_Georgian_un = 16781539
+-- constant _KEY_Georgian_vin
+
+_KEY_Georgian_vin :: Int32
+_KEY_Georgian_vin = 16781525
+-- constant _KEY_Georgian_we
+
+_KEY_Georgian_we :: Int32
+_KEY_Georgian_we = 16781555
+-- constant _KEY_Georgian_xan
+
+_KEY_Georgian_xan :: Int32
+_KEY_Georgian_xan = 16781550
+-- constant _KEY_Georgian_zen
+
+_KEY_Georgian_zen :: Int32
+_KEY_Georgian_zen = 16781526
+-- constant _KEY_Georgian_zhar
+
+_KEY_Georgian_zhar :: Int32
+_KEY_Georgian_zhar = 16781535
+-- constant _KEY_Go
+
+_KEY_Go :: Int32
+_KEY_Go = 269025119
+-- constant _KEY_Greek_ALPHA
+
+_KEY_Greek_ALPHA :: Int32
+_KEY_Greek_ALPHA = 1985
+-- constant _KEY_Greek_ALPHAaccent
+
+_KEY_Greek_ALPHAaccent :: Int32
+_KEY_Greek_ALPHAaccent = 1953
+-- constant _KEY_Greek_BETA
+
+_KEY_Greek_BETA :: Int32
+_KEY_Greek_BETA = 1986
+-- constant _KEY_Greek_CHI
+
+_KEY_Greek_CHI :: Int32
+_KEY_Greek_CHI = 2007
+-- constant _KEY_Greek_DELTA
+
+_KEY_Greek_DELTA :: Int32
+_KEY_Greek_DELTA = 1988
+-- constant _KEY_Greek_EPSILON
+
+_KEY_Greek_EPSILON :: Int32
+_KEY_Greek_EPSILON = 1989
+-- constant _KEY_Greek_EPSILONaccent
+
+_KEY_Greek_EPSILONaccent :: Int32
+_KEY_Greek_EPSILONaccent = 1954
+-- constant _KEY_Greek_ETA
+
+_KEY_Greek_ETA :: Int32
+_KEY_Greek_ETA = 1991
+-- constant _KEY_Greek_ETAaccent
+
+_KEY_Greek_ETAaccent :: Int32
+_KEY_Greek_ETAaccent = 1955
+-- constant _KEY_Greek_GAMMA
+
+_KEY_Greek_GAMMA :: Int32
+_KEY_Greek_GAMMA = 1987
+-- constant _KEY_Greek_IOTA
+
+_KEY_Greek_IOTA :: Int32
+_KEY_Greek_IOTA = 1993
+-- constant _KEY_Greek_IOTAaccent
+
+_KEY_Greek_IOTAaccent :: Int32
+_KEY_Greek_IOTAaccent = 1956
+-- constant _KEY_Greek_IOTAdiaeresis
+
+_KEY_Greek_IOTAdiaeresis :: Int32
+_KEY_Greek_IOTAdiaeresis = 1957
+-- constant _KEY_Greek_IOTAdieresis
+
+_KEY_Greek_IOTAdieresis :: Int32
+_KEY_Greek_IOTAdieresis = 1957
+-- constant _KEY_Greek_KAPPA
+
+_KEY_Greek_KAPPA :: Int32
+_KEY_Greek_KAPPA = 1994
+-- constant _KEY_Greek_LAMBDA
+
+_KEY_Greek_LAMBDA :: Int32
+_KEY_Greek_LAMBDA = 1995
+-- constant _KEY_Greek_LAMDA
+
+_KEY_Greek_LAMDA :: Int32
+_KEY_Greek_LAMDA = 1995
+-- constant _KEY_Greek_MU
+
+_KEY_Greek_MU :: Int32
+_KEY_Greek_MU = 1996
+-- constant _KEY_Greek_NU
+
+_KEY_Greek_NU :: Int32
+_KEY_Greek_NU = 1997
+-- constant _KEY_Greek_OMEGA
+
+_KEY_Greek_OMEGA :: Int32
+_KEY_Greek_OMEGA = 2009
+-- constant _KEY_Greek_OMEGAaccent
+
+_KEY_Greek_OMEGAaccent :: Int32
+_KEY_Greek_OMEGAaccent = 1963
+-- constant _KEY_Greek_OMICRON
+
+_KEY_Greek_OMICRON :: Int32
+_KEY_Greek_OMICRON = 1999
+-- constant _KEY_Greek_OMICRONaccent
+
+_KEY_Greek_OMICRONaccent :: Int32
+_KEY_Greek_OMICRONaccent = 1959
+-- constant _KEY_Greek_PHI
+
+_KEY_Greek_PHI :: Int32
+_KEY_Greek_PHI = 2006
+-- constant _KEY_Greek_PI
+
+_KEY_Greek_PI :: Int32
+_KEY_Greek_PI = 2000
+-- constant _KEY_Greek_PSI
+
+_KEY_Greek_PSI :: Int32
+_KEY_Greek_PSI = 2008
+-- constant _KEY_Greek_RHO
+
+_KEY_Greek_RHO :: Int32
+_KEY_Greek_RHO = 2001
+-- constant _KEY_Greek_SIGMA
+
+_KEY_Greek_SIGMA :: Int32
+_KEY_Greek_SIGMA = 2002
+-- constant _KEY_Greek_TAU
+
+_KEY_Greek_TAU :: Int32
+_KEY_Greek_TAU = 2004
+-- constant _KEY_Greek_THETA
+
+_KEY_Greek_THETA :: Int32
+_KEY_Greek_THETA = 1992
+-- constant _KEY_Greek_UPSILON
+
+_KEY_Greek_UPSILON :: Int32
+_KEY_Greek_UPSILON = 2005
+-- constant _KEY_Greek_UPSILONaccent
+
+_KEY_Greek_UPSILONaccent :: Int32
+_KEY_Greek_UPSILONaccent = 1960
+-- constant _KEY_Greek_UPSILONdieresis
+
+_KEY_Greek_UPSILONdieresis :: Int32
+_KEY_Greek_UPSILONdieresis = 1961
+-- constant _KEY_Greek_XI
+
+_KEY_Greek_XI :: Int32
+_KEY_Greek_XI = 1998
+-- constant _KEY_Greek_ZETA
+
+_KEY_Greek_ZETA :: Int32
+_KEY_Greek_ZETA = 1990
+-- constant _KEY_Greek_accentdieresis
+
+_KEY_Greek_accentdieresis :: Int32
+_KEY_Greek_accentdieresis = 1966
+-- constant _KEY_Greek_alpha
+
+_KEY_Greek_alpha :: Int32
+_KEY_Greek_alpha = 2017
+-- constant _KEY_Greek_alphaaccent
+
+_KEY_Greek_alphaaccent :: Int32
+_KEY_Greek_alphaaccent = 1969
+-- constant _KEY_Greek_beta
+
+_KEY_Greek_beta :: Int32
+_KEY_Greek_beta = 2018
+-- constant _KEY_Greek_chi
+
+_KEY_Greek_chi :: Int32
+_KEY_Greek_chi = 2039
+-- constant _KEY_Greek_delta
+
+_KEY_Greek_delta :: Int32
+_KEY_Greek_delta = 2020
+-- constant _KEY_Greek_epsilon
+
+_KEY_Greek_epsilon :: Int32
+_KEY_Greek_epsilon = 2021
+-- constant _KEY_Greek_epsilonaccent
+
+_KEY_Greek_epsilonaccent :: Int32
+_KEY_Greek_epsilonaccent = 1970
+-- constant _KEY_Greek_eta
+
+_KEY_Greek_eta :: Int32
+_KEY_Greek_eta = 2023
+-- constant _KEY_Greek_etaaccent
+
+_KEY_Greek_etaaccent :: Int32
+_KEY_Greek_etaaccent = 1971
+-- constant _KEY_Greek_finalsmallsigma
+
+_KEY_Greek_finalsmallsigma :: Int32
+_KEY_Greek_finalsmallsigma = 2035
+-- constant _KEY_Greek_gamma
+
+_KEY_Greek_gamma :: Int32
+_KEY_Greek_gamma = 2019
+-- constant _KEY_Greek_horizbar
+
+_KEY_Greek_horizbar :: Int32
+_KEY_Greek_horizbar = 1967
+-- constant _KEY_Greek_iota
+
+_KEY_Greek_iota :: Int32
+_KEY_Greek_iota = 2025
+-- constant _KEY_Greek_iotaaccent
+
+_KEY_Greek_iotaaccent :: Int32
+_KEY_Greek_iotaaccent = 1972
+-- constant _KEY_Greek_iotaaccentdieresis
+
+_KEY_Greek_iotaaccentdieresis :: Int32
+_KEY_Greek_iotaaccentdieresis = 1974
+-- constant _KEY_Greek_iotadieresis
+
+_KEY_Greek_iotadieresis :: Int32
+_KEY_Greek_iotadieresis = 1973
+-- constant _KEY_Greek_kappa
+
+_KEY_Greek_kappa :: Int32
+_KEY_Greek_kappa = 2026
+-- constant _KEY_Greek_lambda
+
+_KEY_Greek_lambda :: Int32
+_KEY_Greek_lambda = 2027
+-- constant _KEY_Greek_lamda
+
+_KEY_Greek_lamda :: Int32
+_KEY_Greek_lamda = 2027
+-- constant _KEY_Greek_mu
+
+_KEY_Greek_mu :: Int32
+_KEY_Greek_mu = 2028
+-- constant _KEY_Greek_nu
+
+_KEY_Greek_nu :: Int32
+_KEY_Greek_nu = 2029
+-- constant _KEY_Greek_omega
+
+_KEY_Greek_omega :: Int32
+_KEY_Greek_omega = 2041
+-- constant _KEY_Greek_omegaaccent
+
+_KEY_Greek_omegaaccent :: Int32
+_KEY_Greek_omegaaccent = 1979
+-- constant _KEY_Greek_omicron
+
+_KEY_Greek_omicron :: Int32
+_KEY_Greek_omicron = 2031
+-- constant _KEY_Greek_omicronaccent
+
+_KEY_Greek_omicronaccent :: Int32
+_KEY_Greek_omicronaccent = 1975
+-- constant _KEY_Greek_phi
+
+_KEY_Greek_phi :: Int32
+_KEY_Greek_phi = 2038
+-- constant _KEY_Greek_pi
+
+_KEY_Greek_pi :: Int32
+_KEY_Greek_pi = 2032
+-- constant _KEY_Greek_psi
+
+_KEY_Greek_psi :: Int32
+_KEY_Greek_psi = 2040
+-- constant _KEY_Greek_rho
+
+_KEY_Greek_rho :: Int32
+_KEY_Greek_rho = 2033
+-- constant _KEY_Greek_sigma
+
+_KEY_Greek_sigma :: Int32
+_KEY_Greek_sigma = 2034
+-- constant _KEY_Greek_switch
+
+_KEY_Greek_switch :: Int32
+_KEY_Greek_switch = 65406
+-- constant _KEY_Greek_tau
+
+_KEY_Greek_tau :: Int32
+_KEY_Greek_tau = 2036
+-- constant _KEY_Greek_theta
+
+_KEY_Greek_theta :: Int32
+_KEY_Greek_theta = 2024
+-- constant _KEY_Greek_upsilon
+
+_KEY_Greek_upsilon :: Int32
+_KEY_Greek_upsilon = 2037
+-- constant _KEY_Greek_upsilonaccent
+
+_KEY_Greek_upsilonaccent :: Int32
+_KEY_Greek_upsilonaccent = 1976
+-- constant _KEY_Greek_upsilonaccentdieresis
+
+_KEY_Greek_upsilonaccentdieresis :: Int32
+_KEY_Greek_upsilonaccentdieresis = 1978
+-- constant _KEY_Greek_upsilondieresis
+
+_KEY_Greek_upsilondieresis :: Int32
+_KEY_Greek_upsilondieresis = 1977
+-- constant _KEY_Greek_xi
+
+_KEY_Greek_xi :: Int32
+_KEY_Greek_xi = 2030
+-- constant _KEY_Greek_zeta
+
+_KEY_Greek_zeta :: Int32
+_KEY_Greek_zeta = 2022
+-- constant _KEY_Green
+
+_KEY_Green :: Int32
+_KEY_Green = 269025188
+-- constant _KEY_H
+
+_KEY_H :: Int32
+_KEY_H = 72
+-- constant _KEY_Hangul
+
+_KEY_Hangul :: Int32
+_KEY_Hangul = 65329
+-- constant _KEY_Hangul_A
+
+_KEY_Hangul_A :: Int32
+_KEY_Hangul_A = 3775
+-- constant _KEY_Hangul_AE
+
+_KEY_Hangul_AE :: Int32
+_KEY_Hangul_AE = 3776
+-- constant _KEY_Hangul_AraeA
+
+_KEY_Hangul_AraeA :: Int32
+_KEY_Hangul_AraeA = 3830
+-- constant _KEY_Hangul_AraeAE
+
+_KEY_Hangul_AraeAE :: Int32
+_KEY_Hangul_AraeAE = 3831
+-- constant _KEY_Hangul_Banja
+
+_KEY_Hangul_Banja :: Int32
+_KEY_Hangul_Banja = 65337
+-- constant _KEY_Hangul_Cieuc
+
+_KEY_Hangul_Cieuc :: Int32
+_KEY_Hangul_Cieuc = 3770
+-- constant _KEY_Hangul_Codeinput
+
+_KEY_Hangul_Codeinput :: Int32
+_KEY_Hangul_Codeinput = 65335
+-- constant _KEY_Hangul_Dikeud
+
+_KEY_Hangul_Dikeud :: Int32
+_KEY_Hangul_Dikeud = 3751
+-- constant _KEY_Hangul_E
+
+_KEY_Hangul_E :: Int32
+_KEY_Hangul_E = 3780
+-- constant _KEY_Hangul_EO
+
+_KEY_Hangul_EO :: Int32
+_KEY_Hangul_EO = 3779
+-- constant _KEY_Hangul_EU
+
+_KEY_Hangul_EU :: Int32
+_KEY_Hangul_EU = 3793
+-- constant _KEY_Hangul_End
+
+_KEY_Hangul_End :: Int32
+_KEY_Hangul_End = 65331
+-- constant _KEY_Hangul_Hanja
+
+_KEY_Hangul_Hanja :: Int32
+_KEY_Hangul_Hanja = 65332
+-- constant _KEY_Hangul_Hieuh
+
+_KEY_Hangul_Hieuh :: Int32
+_KEY_Hangul_Hieuh = 3774
+-- constant _KEY_Hangul_I
+
+_KEY_Hangul_I :: Int32
+_KEY_Hangul_I = 3795
+-- constant _KEY_Hangul_Ieung
+
+_KEY_Hangul_Ieung :: Int32
+_KEY_Hangul_Ieung = 3767
+-- constant _KEY_Hangul_J_Cieuc
+
+_KEY_Hangul_J_Cieuc :: Int32
+_KEY_Hangul_J_Cieuc = 3818
+-- constant _KEY_Hangul_J_Dikeud
+
+_KEY_Hangul_J_Dikeud :: Int32
+_KEY_Hangul_J_Dikeud = 3802
+-- constant _KEY_Hangul_J_Hieuh
+
+_KEY_Hangul_J_Hieuh :: Int32
+_KEY_Hangul_J_Hieuh = 3822
+-- constant _KEY_Hangul_J_Ieung
+
+_KEY_Hangul_J_Ieung :: Int32
+_KEY_Hangul_J_Ieung = 3816
+-- constant _KEY_Hangul_J_Jieuj
+
+_KEY_Hangul_J_Jieuj :: Int32
+_KEY_Hangul_J_Jieuj = 3817
+-- constant _KEY_Hangul_J_Khieuq
+
+_KEY_Hangul_J_Khieuq :: Int32
+_KEY_Hangul_J_Khieuq = 3819
+-- constant _KEY_Hangul_J_Kiyeog
+
+_KEY_Hangul_J_Kiyeog :: Int32
+_KEY_Hangul_J_Kiyeog = 3796
+-- constant _KEY_Hangul_J_KiyeogSios
+
+_KEY_Hangul_J_KiyeogSios :: Int32
+_KEY_Hangul_J_KiyeogSios = 3798
+-- constant _KEY_Hangul_J_KkogjiDalrinIeung
+
+_KEY_Hangul_J_KkogjiDalrinIeung :: Int32
+_KEY_Hangul_J_KkogjiDalrinIeung = 3833
+-- constant _KEY_Hangul_J_Mieum
+
+_KEY_Hangul_J_Mieum :: Int32
+_KEY_Hangul_J_Mieum = 3811
+-- constant _KEY_Hangul_J_Nieun
+
+_KEY_Hangul_J_Nieun :: Int32
+_KEY_Hangul_J_Nieun = 3799
+-- constant _KEY_Hangul_J_NieunHieuh
+
+_KEY_Hangul_J_NieunHieuh :: Int32
+_KEY_Hangul_J_NieunHieuh = 3801
+-- constant _KEY_Hangul_J_NieunJieuj
+
+_KEY_Hangul_J_NieunJieuj :: Int32
+_KEY_Hangul_J_NieunJieuj = 3800
+-- constant _KEY_Hangul_J_PanSios
+
+_KEY_Hangul_J_PanSios :: Int32
+_KEY_Hangul_J_PanSios = 3832
+-- constant _KEY_Hangul_J_Phieuf
+
+_KEY_Hangul_J_Phieuf :: Int32
+_KEY_Hangul_J_Phieuf = 3821
+-- constant _KEY_Hangul_J_Pieub
+
+_KEY_Hangul_J_Pieub :: Int32
+_KEY_Hangul_J_Pieub = 3812
+-- constant _KEY_Hangul_J_PieubSios
+
+_KEY_Hangul_J_PieubSios :: Int32
+_KEY_Hangul_J_PieubSios = 3813
+-- constant _KEY_Hangul_J_Rieul
+
+_KEY_Hangul_J_Rieul :: Int32
+_KEY_Hangul_J_Rieul = 3803
+-- constant _KEY_Hangul_J_RieulHieuh
+
+_KEY_Hangul_J_RieulHieuh :: Int32
+_KEY_Hangul_J_RieulHieuh = 3810
+-- constant _KEY_Hangul_J_RieulKiyeog
+
+_KEY_Hangul_J_RieulKiyeog :: Int32
+_KEY_Hangul_J_RieulKiyeog = 3804
+-- constant _KEY_Hangul_J_RieulMieum
+
+_KEY_Hangul_J_RieulMieum :: Int32
+_KEY_Hangul_J_RieulMieum = 3805
+-- constant _KEY_Hangul_J_RieulPhieuf
+
+_KEY_Hangul_J_RieulPhieuf :: Int32
+_KEY_Hangul_J_RieulPhieuf = 3809
+-- constant _KEY_Hangul_J_RieulPieub
+
+_KEY_Hangul_J_RieulPieub :: Int32
+_KEY_Hangul_J_RieulPieub = 3806
+-- constant _KEY_Hangul_J_RieulSios
+
+_KEY_Hangul_J_RieulSios :: Int32
+_KEY_Hangul_J_RieulSios = 3807
+-- constant _KEY_Hangul_J_RieulTieut
+
+_KEY_Hangul_J_RieulTieut :: Int32
+_KEY_Hangul_J_RieulTieut = 3808
+-- constant _KEY_Hangul_J_Sios
+
+_KEY_Hangul_J_Sios :: Int32
+_KEY_Hangul_J_Sios = 3814
+-- constant _KEY_Hangul_J_SsangKiyeog
+
+_KEY_Hangul_J_SsangKiyeog :: Int32
+_KEY_Hangul_J_SsangKiyeog = 3797
+-- constant _KEY_Hangul_J_SsangSios
+
+_KEY_Hangul_J_SsangSios :: Int32
+_KEY_Hangul_J_SsangSios = 3815
+-- constant _KEY_Hangul_J_Tieut
+
+_KEY_Hangul_J_Tieut :: Int32
+_KEY_Hangul_J_Tieut = 3820
+-- constant _KEY_Hangul_J_YeorinHieuh
+
+_KEY_Hangul_J_YeorinHieuh :: Int32
+_KEY_Hangul_J_YeorinHieuh = 3834
+-- constant _KEY_Hangul_Jamo
+
+_KEY_Hangul_Jamo :: Int32
+_KEY_Hangul_Jamo = 65333
+-- constant _KEY_Hangul_Jeonja
+
+_KEY_Hangul_Jeonja :: Int32
+_KEY_Hangul_Jeonja = 65336
+-- constant _KEY_Hangul_Jieuj
+
+_KEY_Hangul_Jieuj :: Int32
+_KEY_Hangul_Jieuj = 3768
+-- constant _KEY_Hangul_Khieuq
+
+_KEY_Hangul_Khieuq :: Int32
+_KEY_Hangul_Khieuq = 3771
+-- constant _KEY_Hangul_Kiyeog
+
+_KEY_Hangul_Kiyeog :: Int32
+_KEY_Hangul_Kiyeog = 3745
+-- constant _KEY_Hangul_KiyeogSios
+
+_KEY_Hangul_KiyeogSios :: Int32
+_KEY_Hangul_KiyeogSios = 3747
+-- constant _KEY_Hangul_KkogjiDalrinIeung
+
+_KEY_Hangul_KkogjiDalrinIeung :: Int32
+_KEY_Hangul_KkogjiDalrinIeung = 3827
+-- constant _KEY_Hangul_Mieum
+
+_KEY_Hangul_Mieum :: Int32
+_KEY_Hangul_Mieum = 3761
+-- constant _KEY_Hangul_MultipleCandidate
+
+_KEY_Hangul_MultipleCandidate :: Int32
+_KEY_Hangul_MultipleCandidate = 65341
+-- constant _KEY_Hangul_Nieun
+
+_KEY_Hangul_Nieun :: Int32
+_KEY_Hangul_Nieun = 3748
+-- constant _KEY_Hangul_NieunHieuh
+
+_KEY_Hangul_NieunHieuh :: Int32
+_KEY_Hangul_NieunHieuh = 3750
+-- constant _KEY_Hangul_NieunJieuj
+
+_KEY_Hangul_NieunJieuj :: Int32
+_KEY_Hangul_NieunJieuj = 3749
+-- constant _KEY_Hangul_O
+
+_KEY_Hangul_O :: Int32
+_KEY_Hangul_O = 3783
+-- constant _KEY_Hangul_OE
+
+_KEY_Hangul_OE :: Int32
+_KEY_Hangul_OE = 3786
+-- constant _KEY_Hangul_PanSios
+
+_KEY_Hangul_PanSios :: Int32
+_KEY_Hangul_PanSios = 3826
+-- constant _KEY_Hangul_Phieuf
+
+_KEY_Hangul_Phieuf :: Int32
+_KEY_Hangul_Phieuf = 3773
+-- constant _KEY_Hangul_Pieub
+
+_KEY_Hangul_Pieub :: Int32
+_KEY_Hangul_Pieub = 3762
+-- constant _KEY_Hangul_PieubSios
+
+_KEY_Hangul_PieubSios :: Int32
+_KEY_Hangul_PieubSios = 3764
+-- constant _KEY_Hangul_PostHanja
+
+_KEY_Hangul_PostHanja :: Int32
+_KEY_Hangul_PostHanja = 65339
+-- constant _KEY_Hangul_PreHanja
+
+_KEY_Hangul_PreHanja :: Int32
+_KEY_Hangul_PreHanja = 65338
+-- constant _KEY_Hangul_PreviousCandidate
+
+_KEY_Hangul_PreviousCandidate :: Int32
+_KEY_Hangul_PreviousCandidate = 65342
+-- constant _KEY_Hangul_Rieul
+
+_KEY_Hangul_Rieul :: Int32
+_KEY_Hangul_Rieul = 3753
+-- constant _KEY_Hangul_RieulHieuh
+
+_KEY_Hangul_RieulHieuh :: Int32
+_KEY_Hangul_RieulHieuh = 3760
+-- constant _KEY_Hangul_RieulKiyeog
+
+_KEY_Hangul_RieulKiyeog :: Int32
+_KEY_Hangul_RieulKiyeog = 3754
+-- constant _KEY_Hangul_RieulMieum
+
+_KEY_Hangul_RieulMieum :: Int32
+_KEY_Hangul_RieulMieum = 3755
+-- constant _KEY_Hangul_RieulPhieuf
+
+_KEY_Hangul_RieulPhieuf :: Int32
+_KEY_Hangul_RieulPhieuf = 3759
+-- constant _KEY_Hangul_RieulPieub
+
+_KEY_Hangul_RieulPieub :: Int32
+_KEY_Hangul_RieulPieub = 3756
+-- constant _KEY_Hangul_RieulSios
+
+_KEY_Hangul_RieulSios :: Int32
+_KEY_Hangul_RieulSios = 3757
+-- constant _KEY_Hangul_RieulTieut
+
+_KEY_Hangul_RieulTieut :: Int32
+_KEY_Hangul_RieulTieut = 3758
+-- constant _KEY_Hangul_RieulYeorinHieuh
+
+_KEY_Hangul_RieulYeorinHieuh :: Int32
+_KEY_Hangul_RieulYeorinHieuh = 3823
+-- constant _KEY_Hangul_Romaja
+
+_KEY_Hangul_Romaja :: Int32
+_KEY_Hangul_Romaja = 65334
+-- constant _KEY_Hangul_SingleCandidate
+
+_KEY_Hangul_SingleCandidate :: Int32
+_KEY_Hangul_SingleCandidate = 65340
+-- constant _KEY_Hangul_Sios
+
+_KEY_Hangul_Sios :: Int32
+_KEY_Hangul_Sios = 3765
+-- constant _KEY_Hangul_Special
+
+_KEY_Hangul_Special :: Int32
+_KEY_Hangul_Special = 65343
+-- constant _KEY_Hangul_SsangDikeud
+
+_KEY_Hangul_SsangDikeud :: Int32
+_KEY_Hangul_SsangDikeud = 3752
+-- constant _KEY_Hangul_SsangJieuj
+
+_KEY_Hangul_SsangJieuj :: Int32
+_KEY_Hangul_SsangJieuj = 3769
+-- constant _KEY_Hangul_SsangKiyeog
+
+_KEY_Hangul_SsangKiyeog :: Int32
+_KEY_Hangul_SsangKiyeog = 3746
+-- constant _KEY_Hangul_SsangPieub
+
+_KEY_Hangul_SsangPieub :: Int32
+_KEY_Hangul_SsangPieub = 3763
+-- constant _KEY_Hangul_SsangSios
+
+_KEY_Hangul_SsangSios :: Int32
+_KEY_Hangul_SsangSios = 3766
+-- constant _KEY_Hangul_Start
+
+_KEY_Hangul_Start :: Int32
+_KEY_Hangul_Start = 65330
+-- constant _KEY_Hangul_SunkyeongeumMieum
+
+_KEY_Hangul_SunkyeongeumMieum :: Int32
+_KEY_Hangul_SunkyeongeumMieum = 3824
+-- constant _KEY_Hangul_SunkyeongeumPhieuf
+
+_KEY_Hangul_SunkyeongeumPhieuf :: Int32
+_KEY_Hangul_SunkyeongeumPhieuf = 3828
+-- constant _KEY_Hangul_SunkyeongeumPieub
+
+_KEY_Hangul_SunkyeongeumPieub :: Int32
+_KEY_Hangul_SunkyeongeumPieub = 3825
+-- constant _KEY_Hangul_Tieut
+
+_KEY_Hangul_Tieut :: Int32
+_KEY_Hangul_Tieut = 3772
+-- constant _KEY_Hangul_U
+
+_KEY_Hangul_U :: Int32
+_KEY_Hangul_U = 3788
+-- constant _KEY_Hangul_WA
+
+_KEY_Hangul_WA :: Int32
+_KEY_Hangul_WA = 3784
+-- constant _KEY_Hangul_WAE
+
+_KEY_Hangul_WAE :: Int32
+_KEY_Hangul_WAE = 3785
+-- constant _KEY_Hangul_WE
+
+_KEY_Hangul_WE :: Int32
+_KEY_Hangul_WE = 3790
+-- constant _KEY_Hangul_WEO
+
+_KEY_Hangul_WEO :: Int32
+_KEY_Hangul_WEO = 3789
+-- constant _KEY_Hangul_WI
+
+_KEY_Hangul_WI :: Int32
+_KEY_Hangul_WI = 3791
+-- constant _KEY_Hangul_YA
+
+_KEY_Hangul_YA :: Int32
+_KEY_Hangul_YA = 3777
+-- constant _KEY_Hangul_YAE
+
+_KEY_Hangul_YAE :: Int32
+_KEY_Hangul_YAE = 3778
+-- constant _KEY_Hangul_YE
+
+_KEY_Hangul_YE :: Int32
+_KEY_Hangul_YE = 3782
+-- constant _KEY_Hangul_YEO
+
+_KEY_Hangul_YEO :: Int32
+_KEY_Hangul_YEO = 3781
+-- constant _KEY_Hangul_YI
+
+_KEY_Hangul_YI :: Int32
+_KEY_Hangul_YI = 3794
+-- constant _KEY_Hangul_YO
+
+_KEY_Hangul_YO :: Int32
+_KEY_Hangul_YO = 3787
+-- constant _KEY_Hangul_YU
+
+_KEY_Hangul_YU :: Int32
+_KEY_Hangul_YU = 3792
+-- constant _KEY_Hangul_YeorinHieuh
+
+_KEY_Hangul_YeorinHieuh :: Int32
+_KEY_Hangul_YeorinHieuh = 3829
+-- constant _KEY_Hangul_switch
+
+_KEY_Hangul_switch :: Int32
+_KEY_Hangul_switch = 65406
+-- constant _KEY_Hankaku
+
+_KEY_Hankaku :: Int32
+_KEY_Hankaku = 65321
+-- constant _KEY_Hcircumflex
+
+_KEY_Hcircumflex :: Int32
+_KEY_Hcircumflex = 678
+-- constant _KEY_Hebrew_switch
+
+_KEY_Hebrew_switch :: Int32
+_KEY_Hebrew_switch = 65406
+-- constant _KEY_Help
+
+_KEY_Help :: Int32
+_KEY_Help = 65386
+-- constant _KEY_Henkan
+
+_KEY_Henkan :: Int32
+_KEY_Henkan = 65315
+-- constant _KEY_Henkan_Mode
+
+_KEY_Henkan_Mode :: Int32
+_KEY_Henkan_Mode = 65315
+-- constant _KEY_Hibernate
+
+_KEY_Hibernate :: Int32
+_KEY_Hibernate = 269025192
+-- constant _KEY_Hiragana
+
+_KEY_Hiragana :: Int32
+_KEY_Hiragana = 65317
+-- constant _KEY_Hiragana_Katakana
+
+_KEY_Hiragana_Katakana :: Int32
+_KEY_Hiragana_Katakana = 65319
+-- constant _KEY_History
+
+_KEY_History :: Int32
+_KEY_History = 269025079
+-- constant _KEY_Home
+
+_KEY_Home :: Int32
+_KEY_Home = 65360
+-- constant _KEY_HomePage
+
+_KEY_HomePage :: Int32
+_KEY_HomePage = 269025048
+-- constant _KEY_HotLinks
+
+_KEY_HotLinks :: Int32
+_KEY_HotLinks = 269025082
+-- constant _KEY_Hstroke
+
+_KEY_Hstroke :: Int32
+_KEY_Hstroke = 673
+-- constant _KEY_Hyper_L
+
+_KEY_Hyper_L :: Int32
+_KEY_Hyper_L = 65517
+-- constant _KEY_Hyper_R
+
+_KEY_Hyper_R :: Int32
+_KEY_Hyper_R = 65518
+-- constant _KEY_I
+
+_KEY_I :: Int32
+_KEY_I = 73
+-- constant _KEY_ISO_Center_Object
+
+_KEY_ISO_Center_Object :: Int32
+_KEY_ISO_Center_Object = 65075
+-- constant _KEY_ISO_Continuous_Underline
+
+_KEY_ISO_Continuous_Underline :: Int32
+_KEY_ISO_Continuous_Underline = 65072
+-- constant _KEY_ISO_Discontinuous_Underline
+
+_KEY_ISO_Discontinuous_Underline :: Int32
+_KEY_ISO_Discontinuous_Underline = 65073
+-- constant _KEY_ISO_Emphasize
+
+_KEY_ISO_Emphasize :: Int32
+_KEY_ISO_Emphasize = 65074
+-- constant _KEY_ISO_Enter
+
+_KEY_ISO_Enter :: Int32
+_KEY_ISO_Enter = 65076
+-- constant _KEY_ISO_Fast_Cursor_Down
+
+_KEY_ISO_Fast_Cursor_Down :: Int32
+_KEY_ISO_Fast_Cursor_Down = 65071
+-- constant _KEY_ISO_Fast_Cursor_Left
+
+_KEY_ISO_Fast_Cursor_Left :: Int32
+_KEY_ISO_Fast_Cursor_Left = 65068
+-- constant _KEY_ISO_Fast_Cursor_Right
+
+_KEY_ISO_Fast_Cursor_Right :: Int32
+_KEY_ISO_Fast_Cursor_Right = 65069
+-- constant _KEY_ISO_Fast_Cursor_Up
+
+_KEY_ISO_Fast_Cursor_Up :: Int32
+_KEY_ISO_Fast_Cursor_Up = 65070
+-- constant _KEY_ISO_First_Group
+
+_KEY_ISO_First_Group :: Int32
+_KEY_ISO_First_Group = 65036
+-- constant _KEY_ISO_First_Group_Lock
+
+_KEY_ISO_First_Group_Lock :: Int32
+_KEY_ISO_First_Group_Lock = 65037
+-- constant _KEY_ISO_Group_Latch
+
+_KEY_ISO_Group_Latch :: Int32
+_KEY_ISO_Group_Latch = 65030
+-- constant _KEY_ISO_Group_Lock
+
+_KEY_ISO_Group_Lock :: Int32
+_KEY_ISO_Group_Lock = 65031
+-- constant _KEY_ISO_Group_Shift
+
+_KEY_ISO_Group_Shift :: Int32
+_KEY_ISO_Group_Shift = 65406
+-- constant _KEY_ISO_Last_Group
+
+_KEY_ISO_Last_Group :: Int32
+_KEY_ISO_Last_Group = 65038
+-- constant _KEY_ISO_Last_Group_Lock
+
+_KEY_ISO_Last_Group_Lock :: Int32
+_KEY_ISO_Last_Group_Lock = 65039
+-- constant _KEY_ISO_Left_Tab
+
+_KEY_ISO_Left_Tab :: Int32
+_KEY_ISO_Left_Tab = 65056
+-- constant _KEY_ISO_Level2_Latch
+
+_KEY_ISO_Level2_Latch :: Int32
+_KEY_ISO_Level2_Latch = 65026
+-- constant _KEY_ISO_Level3_Latch
+
+_KEY_ISO_Level3_Latch :: Int32
+_KEY_ISO_Level3_Latch = 65028
+-- constant _KEY_ISO_Level3_Lock
+
+_KEY_ISO_Level3_Lock :: Int32
+_KEY_ISO_Level3_Lock = 65029
+-- constant _KEY_ISO_Level3_Shift
+
+_KEY_ISO_Level3_Shift :: Int32
+_KEY_ISO_Level3_Shift = 65027
+-- constant _KEY_ISO_Level5_Latch
+
+_KEY_ISO_Level5_Latch :: Int32
+_KEY_ISO_Level5_Latch = 65042
+-- constant _KEY_ISO_Level5_Lock
+
+_KEY_ISO_Level5_Lock :: Int32
+_KEY_ISO_Level5_Lock = 65043
+-- constant _KEY_ISO_Level5_Shift
+
+_KEY_ISO_Level5_Shift :: Int32
+_KEY_ISO_Level5_Shift = 65041
+-- constant _KEY_ISO_Lock
+
+_KEY_ISO_Lock :: Int32
+_KEY_ISO_Lock = 65025
+-- constant _KEY_ISO_Move_Line_Down
+
+_KEY_ISO_Move_Line_Down :: Int32
+_KEY_ISO_Move_Line_Down = 65058
+-- constant _KEY_ISO_Move_Line_Up
+
+_KEY_ISO_Move_Line_Up :: Int32
+_KEY_ISO_Move_Line_Up = 65057
+-- constant _KEY_ISO_Next_Group
+
+_KEY_ISO_Next_Group :: Int32
+_KEY_ISO_Next_Group = 65032
+-- constant _KEY_ISO_Next_Group_Lock
+
+_KEY_ISO_Next_Group_Lock :: Int32
+_KEY_ISO_Next_Group_Lock = 65033
+-- constant _KEY_ISO_Partial_Line_Down
+
+_KEY_ISO_Partial_Line_Down :: Int32
+_KEY_ISO_Partial_Line_Down = 65060
+-- constant _KEY_ISO_Partial_Line_Up
+
+_KEY_ISO_Partial_Line_Up :: Int32
+_KEY_ISO_Partial_Line_Up = 65059
+-- constant _KEY_ISO_Partial_Space_Left
+
+_KEY_ISO_Partial_Space_Left :: Int32
+_KEY_ISO_Partial_Space_Left = 65061
+-- constant _KEY_ISO_Partial_Space_Right
+
+_KEY_ISO_Partial_Space_Right :: Int32
+_KEY_ISO_Partial_Space_Right = 65062
+-- constant _KEY_ISO_Prev_Group
+
+_KEY_ISO_Prev_Group :: Int32
+_KEY_ISO_Prev_Group = 65034
+-- constant _KEY_ISO_Prev_Group_Lock
+
+_KEY_ISO_Prev_Group_Lock :: Int32
+_KEY_ISO_Prev_Group_Lock = 65035
+-- constant _KEY_ISO_Release_Both_Margins
+
+_KEY_ISO_Release_Both_Margins :: Int32
+_KEY_ISO_Release_Both_Margins = 65067
+-- constant _KEY_ISO_Release_Margin_Left
+
+_KEY_ISO_Release_Margin_Left :: Int32
+_KEY_ISO_Release_Margin_Left = 65065
+-- constant _KEY_ISO_Release_Margin_Right
+
+_KEY_ISO_Release_Margin_Right :: Int32
+_KEY_ISO_Release_Margin_Right = 65066
+-- constant _KEY_ISO_Set_Margin_Left
+
+_KEY_ISO_Set_Margin_Left :: Int32
+_KEY_ISO_Set_Margin_Left = 65063
+-- constant _KEY_ISO_Set_Margin_Right
+
+_KEY_ISO_Set_Margin_Right :: Int32
+_KEY_ISO_Set_Margin_Right = 65064
+-- constant _KEY_Iabovedot
+
+_KEY_Iabovedot :: Int32
+_KEY_Iabovedot = 681
+-- constant _KEY_Iacute
+
+_KEY_Iacute :: Int32
+_KEY_Iacute = 205
+-- constant _KEY_Ibelowdot
+
+_KEY_Ibelowdot :: Int32
+_KEY_Ibelowdot = 16785098
+-- constant _KEY_Ibreve
+
+_KEY_Ibreve :: Int32
+_KEY_Ibreve = 16777516
+-- constant _KEY_Icircumflex
+
+_KEY_Icircumflex :: Int32
+_KEY_Icircumflex = 206
+-- constant _KEY_Idiaeresis
+
+_KEY_Idiaeresis :: Int32
+_KEY_Idiaeresis = 207
+-- constant _KEY_Igrave
+
+_KEY_Igrave :: Int32
+_KEY_Igrave = 204
+-- constant _KEY_Ihook
+
+_KEY_Ihook :: Int32
+_KEY_Ihook = 16785096
+-- constant _KEY_Imacron
+
+_KEY_Imacron :: Int32
+_KEY_Imacron = 975
+-- constant _KEY_Insert
+
+_KEY_Insert :: Int32
+_KEY_Insert = 65379
+-- constant _KEY_Iogonek
+
+_KEY_Iogonek :: Int32
+_KEY_Iogonek = 967
+-- constant _KEY_Itilde
+
+_KEY_Itilde :: Int32
+_KEY_Itilde = 933
+-- constant _KEY_J
+
+_KEY_J :: Int32
+_KEY_J = 74
+-- constant _KEY_Jcircumflex
+
+_KEY_Jcircumflex :: Int32
+_KEY_Jcircumflex = 684
+-- constant _KEY_K
+
+_KEY_K :: Int32
+_KEY_K = 75
+-- constant _KEY_KP_0
+
+_KEY_KP_0 :: Int32
+_KEY_KP_0 = 65456
+-- constant _KEY_KP_1
+
+_KEY_KP_1 :: Int32
+_KEY_KP_1 = 65457
+-- constant _KEY_KP_2
+
+_KEY_KP_2 :: Int32
+_KEY_KP_2 = 65458
+-- constant _KEY_KP_3
+
+_KEY_KP_3 :: Int32
+_KEY_KP_3 = 65459
+-- constant _KEY_KP_4
+
+_KEY_KP_4 :: Int32
+_KEY_KP_4 = 65460
+-- constant _KEY_KP_5
+
+_KEY_KP_5 :: Int32
+_KEY_KP_5 = 65461
+-- constant _KEY_KP_6
+
+_KEY_KP_6 :: Int32
+_KEY_KP_6 = 65462
+-- constant _KEY_KP_7
+
+_KEY_KP_7 :: Int32
+_KEY_KP_7 = 65463
+-- constant _KEY_KP_8
+
+_KEY_KP_8 :: Int32
+_KEY_KP_8 = 65464
+-- constant _KEY_KP_9
+
+_KEY_KP_9 :: Int32
+_KEY_KP_9 = 65465
+-- constant _KEY_KP_Add
+
+_KEY_KP_Add :: Int32
+_KEY_KP_Add = 65451
+-- constant _KEY_KP_Begin
+
+_KEY_KP_Begin :: Int32
+_KEY_KP_Begin = 65437
+-- constant _KEY_KP_Decimal
+
+_KEY_KP_Decimal :: Int32
+_KEY_KP_Decimal = 65454
+-- constant _KEY_KP_Delete
+
+_KEY_KP_Delete :: Int32
+_KEY_KP_Delete = 65439
+-- constant _KEY_KP_Divide
+
+_KEY_KP_Divide :: Int32
+_KEY_KP_Divide = 65455
+-- constant _KEY_KP_Down
+
+_KEY_KP_Down :: Int32
+_KEY_KP_Down = 65433
+-- constant _KEY_KP_End
+
+_KEY_KP_End :: Int32
+_KEY_KP_End = 65436
+-- constant _KEY_KP_Enter
+
+_KEY_KP_Enter :: Int32
+_KEY_KP_Enter = 65421
+-- constant _KEY_KP_Equal
+
+_KEY_KP_Equal :: Int32
+_KEY_KP_Equal = 65469
+-- constant _KEY_KP_F1
+
+_KEY_KP_F1 :: Int32
+_KEY_KP_F1 = 65425
+-- constant _KEY_KP_F2
+
+_KEY_KP_F2 :: Int32
+_KEY_KP_F2 = 65426
+-- constant _KEY_KP_F3
+
+_KEY_KP_F3 :: Int32
+_KEY_KP_F3 = 65427
+-- constant _KEY_KP_F4
+
+_KEY_KP_F4 :: Int32
+_KEY_KP_F4 = 65428
+-- constant _KEY_KP_Home
+
+_KEY_KP_Home :: Int32
+_KEY_KP_Home = 65429
+-- constant _KEY_KP_Insert
+
+_KEY_KP_Insert :: Int32
+_KEY_KP_Insert = 65438
+-- constant _KEY_KP_Left
+
+_KEY_KP_Left :: Int32
+_KEY_KP_Left = 65430
+-- constant _KEY_KP_Multiply
+
+_KEY_KP_Multiply :: Int32
+_KEY_KP_Multiply = 65450
+-- constant _KEY_KP_Next
+
+_KEY_KP_Next :: Int32
+_KEY_KP_Next = 65435
+-- constant _KEY_KP_Page_Down
+
+_KEY_KP_Page_Down :: Int32
+_KEY_KP_Page_Down = 65435
+-- constant _KEY_KP_Page_Up
+
+_KEY_KP_Page_Up :: Int32
+_KEY_KP_Page_Up = 65434
+-- constant _KEY_KP_Prior
+
+_KEY_KP_Prior :: Int32
+_KEY_KP_Prior = 65434
+-- constant _KEY_KP_Right
+
+_KEY_KP_Right :: Int32
+_KEY_KP_Right = 65432
+-- constant _KEY_KP_Separator
+
+_KEY_KP_Separator :: Int32
+_KEY_KP_Separator = 65452
+-- constant _KEY_KP_Space
+
+_KEY_KP_Space :: Int32
+_KEY_KP_Space = 65408
+-- constant _KEY_KP_Subtract
+
+_KEY_KP_Subtract :: Int32
+_KEY_KP_Subtract = 65453
+-- constant _KEY_KP_Tab
+
+_KEY_KP_Tab :: Int32
+_KEY_KP_Tab = 65417
+-- constant _KEY_KP_Up
+
+_KEY_KP_Up :: Int32
+_KEY_KP_Up = 65431
+-- constant _KEY_Kana_Lock
+
+_KEY_Kana_Lock :: Int32
+_KEY_Kana_Lock = 65325
+-- constant _KEY_Kana_Shift
+
+_KEY_Kana_Shift :: Int32
+_KEY_Kana_Shift = 65326
+-- constant _KEY_Kanji
+
+_KEY_Kanji :: Int32
+_KEY_Kanji = 65313
+-- constant _KEY_Kanji_Bangou
+
+_KEY_Kanji_Bangou :: Int32
+_KEY_Kanji_Bangou = 65335
+-- constant _KEY_Katakana
+
+_KEY_Katakana :: Int32
+_KEY_Katakana = 65318
+-- constant _KEY_KbdBrightnessDown
+
+_KEY_KbdBrightnessDown :: Int32
+_KEY_KbdBrightnessDown = 269025030
+-- constant _KEY_KbdBrightnessUp
+
+_KEY_KbdBrightnessUp :: Int32
+_KEY_KbdBrightnessUp = 269025029
+-- constant _KEY_KbdLightOnOff
+
+_KEY_KbdLightOnOff :: Int32
+_KEY_KbdLightOnOff = 269025028
+-- constant _KEY_Kcedilla
+
+_KEY_Kcedilla :: Int32
+_KEY_Kcedilla = 979
+-- constant _KEY_Korean_Won
+
+_KEY_Korean_Won :: Int32
+_KEY_Korean_Won = 3839
+-- constant _KEY_L
+
+_KEY_L :: Int32
+_KEY_L = 76
+-- constant _KEY_L1
+
+_KEY_L1 :: Int32
+_KEY_L1 = 65480
+-- constant _KEY_L10
+
+_KEY_L10 :: Int32
+_KEY_L10 = 65489
+-- constant _KEY_L2
+
+_KEY_L2 :: Int32
+_KEY_L2 = 65481
+-- constant _KEY_L3
+
+_KEY_L3 :: Int32
+_KEY_L3 = 65482
+-- constant _KEY_L4
+
+_KEY_L4 :: Int32
+_KEY_L4 = 65483
+-- constant _KEY_L5
+
+_KEY_L5 :: Int32
+_KEY_L5 = 65484
+-- constant _KEY_L6
+
+_KEY_L6 :: Int32
+_KEY_L6 = 65485
+-- constant _KEY_L7
+
+_KEY_L7 :: Int32
+_KEY_L7 = 65486
+-- constant _KEY_L8
+
+_KEY_L8 :: Int32
+_KEY_L8 = 65487
+-- constant _KEY_L9
+
+_KEY_L9 :: Int32
+_KEY_L9 = 65488
+-- constant _KEY_Lacute
+
+_KEY_Lacute :: Int32
+_KEY_Lacute = 453
+-- constant _KEY_Last_Virtual_Screen
+
+_KEY_Last_Virtual_Screen :: Int32
+_KEY_Last_Virtual_Screen = 65236
+-- constant _KEY_Launch0
+
+_KEY_Launch0 :: Int32
+_KEY_Launch0 = 269025088
+-- constant _KEY_Launch1
+
+_KEY_Launch1 :: Int32
+_KEY_Launch1 = 269025089
+-- constant _KEY_Launch2
+
+_KEY_Launch2 :: Int32
+_KEY_Launch2 = 269025090
+-- constant _KEY_Launch3
+
+_KEY_Launch3 :: Int32
+_KEY_Launch3 = 269025091
+-- constant _KEY_Launch4
+
+_KEY_Launch4 :: Int32
+_KEY_Launch4 = 269025092
+-- constant _KEY_Launch5
+
+_KEY_Launch5 :: Int32
+_KEY_Launch5 = 269025093
+-- constant _KEY_Launch6
+
+_KEY_Launch6 :: Int32
+_KEY_Launch6 = 269025094
+-- constant _KEY_Launch7
+
+_KEY_Launch7 :: Int32
+_KEY_Launch7 = 269025095
+-- constant _KEY_Launch8
+
+_KEY_Launch8 :: Int32
+_KEY_Launch8 = 269025096
+-- constant _KEY_Launch9
+
+_KEY_Launch9 :: Int32
+_KEY_Launch9 = 269025097
+-- constant _KEY_LaunchA
+
+_KEY_LaunchA :: Int32
+_KEY_LaunchA = 269025098
+-- constant _KEY_LaunchB
+
+_KEY_LaunchB :: Int32
+_KEY_LaunchB = 269025099
+-- constant _KEY_LaunchC
+
+_KEY_LaunchC :: Int32
+_KEY_LaunchC = 269025100
+-- constant _KEY_LaunchD
+
+_KEY_LaunchD :: Int32
+_KEY_LaunchD = 269025101
+-- constant _KEY_LaunchE
+
+_KEY_LaunchE :: Int32
+_KEY_LaunchE = 269025102
+-- constant _KEY_LaunchF
+
+_KEY_LaunchF :: Int32
+_KEY_LaunchF = 269025103
+-- constant _KEY_Lbelowdot
+
+_KEY_Lbelowdot :: Int32
+_KEY_Lbelowdot = 16784950
+-- constant _KEY_Lcaron
+
+_KEY_Lcaron :: Int32
+_KEY_Lcaron = 421
+-- constant _KEY_Lcedilla
+
+_KEY_Lcedilla :: Int32
+_KEY_Lcedilla = 934
+-- constant _KEY_Left
+
+_KEY_Left :: Int32
+_KEY_Left = 65361
+-- constant _KEY_LightBulb
+
+_KEY_LightBulb :: Int32
+_KEY_LightBulb = 269025077
+-- constant _KEY_Linefeed
+
+_KEY_Linefeed :: Int32
+_KEY_Linefeed = 65290
+-- constant _KEY_LiraSign
+
+_KEY_LiraSign :: Int32
+_KEY_LiraSign = 16785572
+-- constant _KEY_LogGrabInfo
+
+_KEY_LogGrabInfo :: Int32
+_KEY_LogGrabInfo = 269024805
+-- constant _KEY_LogOff
+
+_KEY_LogOff :: Int32
+_KEY_LogOff = 269025121
+-- constant _KEY_LogWindowTree
+
+_KEY_LogWindowTree :: Int32
+_KEY_LogWindowTree = 269024804
+-- constant _KEY_Lstroke
+
+_KEY_Lstroke :: Int32
+_KEY_Lstroke = 419
+-- constant _KEY_M
+
+_KEY_M :: Int32
+_KEY_M = 77
+-- constant _KEY_Mabovedot
+
+_KEY_Mabovedot :: Int32
+_KEY_Mabovedot = 16784960
+-- constant _KEY_Macedonia_DSE
+
+_KEY_Macedonia_DSE :: Int32
+_KEY_Macedonia_DSE = 1717
+-- constant _KEY_Macedonia_GJE
+
+_KEY_Macedonia_GJE :: Int32
+_KEY_Macedonia_GJE = 1714
+-- constant _KEY_Macedonia_KJE
+
+_KEY_Macedonia_KJE :: Int32
+_KEY_Macedonia_KJE = 1724
+-- constant _KEY_Macedonia_dse
+
+_KEY_Macedonia_dse :: Int32
+_KEY_Macedonia_dse = 1701
+-- constant _KEY_Macedonia_gje
+
+_KEY_Macedonia_gje :: Int32
+_KEY_Macedonia_gje = 1698
+-- constant _KEY_Macedonia_kje
+
+_KEY_Macedonia_kje :: Int32
+_KEY_Macedonia_kje = 1708
+-- constant _KEY_Mae_Koho
+
+_KEY_Mae_Koho :: Int32
+_KEY_Mae_Koho = 65342
+-- constant _KEY_Mail
+
+_KEY_Mail :: Int32
+_KEY_Mail = 269025049
+-- constant _KEY_MailForward
+
+_KEY_MailForward :: Int32
+_KEY_MailForward = 269025168
+-- constant _KEY_Market
+
+_KEY_Market :: Int32
+_KEY_Market = 269025122
+-- constant _KEY_Massyo
+
+_KEY_Massyo :: Int32
+_KEY_Massyo = 65324
+-- constant _KEY_Meeting
+
+_KEY_Meeting :: Int32
+_KEY_Meeting = 269025123
+-- constant _KEY_Memo
+
+_KEY_Memo :: Int32
+_KEY_Memo = 269025054
+-- constant _KEY_Menu
+
+_KEY_Menu :: Int32
+_KEY_Menu = 65383
+-- constant _KEY_MenuKB
+
+_KEY_MenuKB :: Int32
+_KEY_MenuKB = 269025125
+-- constant _KEY_MenuPB
+
+_KEY_MenuPB :: Int32
+_KEY_MenuPB = 269025126
+-- constant _KEY_Messenger
+
+_KEY_Messenger :: Int32
+_KEY_Messenger = 269025166
+-- constant _KEY_Meta_L
+
+_KEY_Meta_L :: Int32
+_KEY_Meta_L = 65511
+-- constant _KEY_Meta_R
+
+_KEY_Meta_R :: Int32
+_KEY_Meta_R = 65512
+-- constant _KEY_MillSign
+
+_KEY_MillSign :: Int32
+_KEY_MillSign = 16785573
+-- constant _KEY_ModeLock
+
+_KEY_ModeLock :: Int32
+_KEY_ModeLock = 269025025
+-- constant _KEY_Mode_switch
+
+_KEY_Mode_switch :: Int32
+_KEY_Mode_switch = 65406
+-- constant _KEY_MonBrightnessDown
+
+_KEY_MonBrightnessDown :: Int32
+_KEY_MonBrightnessDown = 269025027
+-- constant _KEY_MonBrightnessUp
+
+_KEY_MonBrightnessUp :: Int32
+_KEY_MonBrightnessUp = 269025026
+-- constant _KEY_MouseKeys_Accel_Enable
+
+_KEY_MouseKeys_Accel_Enable :: Int32
+_KEY_MouseKeys_Accel_Enable = 65143
+-- constant _KEY_MouseKeys_Enable
+
+_KEY_MouseKeys_Enable :: Int32
+_KEY_MouseKeys_Enable = 65142
+-- constant _KEY_Muhenkan
+
+_KEY_Muhenkan :: Int32
+_KEY_Muhenkan = 65314
+-- constant _KEY_Multi_key
+
+_KEY_Multi_key :: Int32
+_KEY_Multi_key = 65312
+-- constant _KEY_MultipleCandidate
+
+_KEY_MultipleCandidate :: Int32
+_KEY_MultipleCandidate = 65341
+-- constant _KEY_Music
+
+_KEY_Music :: Int32
+_KEY_Music = 269025170
+-- constant _KEY_MyComputer
+
+_KEY_MyComputer :: Int32
+_KEY_MyComputer = 269025075
+-- constant _KEY_MySites
+
+_KEY_MySites :: Int32
+_KEY_MySites = 269025127
+-- constant _KEY_N
+
+_KEY_N :: Int32
+_KEY_N = 78
+-- constant _KEY_Nacute
+
+_KEY_Nacute :: Int32
+_KEY_Nacute = 465
+-- constant _KEY_NairaSign
+
+_KEY_NairaSign :: Int32
+_KEY_NairaSign = 16785574
+-- constant _KEY_Ncaron
+
+_KEY_Ncaron :: Int32
+_KEY_Ncaron = 466
+-- constant _KEY_Ncedilla
+
+_KEY_Ncedilla :: Int32
+_KEY_Ncedilla = 977
+-- constant _KEY_New
+
+_KEY_New :: Int32
+_KEY_New = 269025128
+-- constant _KEY_NewSheqelSign
+
+_KEY_NewSheqelSign :: Int32
+_KEY_NewSheqelSign = 16785578
+-- constant _KEY_News
+
+_KEY_News :: Int32
+_KEY_News = 269025129
+-- constant _KEY_Next
+
+_KEY_Next :: Int32
+_KEY_Next = 65366
+-- constant _KEY_Next_VMode
+
+_KEY_Next_VMode :: Int32
+_KEY_Next_VMode = 269024802
+-- constant _KEY_Next_Virtual_Screen
+
+_KEY_Next_Virtual_Screen :: Int32
+_KEY_Next_Virtual_Screen = 65234
+-- constant _KEY_Ntilde
+
+_KEY_Ntilde :: Int32
+_KEY_Ntilde = 209
+-- constant _KEY_Num_Lock
+
+_KEY_Num_Lock :: Int32
+_KEY_Num_Lock = 65407
+-- constant _KEY_O
+
+_KEY_O :: Int32
+_KEY_O = 79
+-- constant _KEY_OE
+
+_KEY_OE :: Int32
+_KEY_OE = 5052
+-- constant _KEY_Oacute
+
+_KEY_Oacute :: Int32
+_KEY_Oacute = 211
+-- constant _KEY_Obarred
+
+_KEY_Obarred :: Int32
+_KEY_Obarred = 16777631
+-- constant _KEY_Obelowdot
+
+_KEY_Obelowdot :: Int32
+_KEY_Obelowdot = 16785100
+-- constant _KEY_Ocaron
+
+_KEY_Ocaron :: Int32
+_KEY_Ocaron = 16777681
+-- constant _KEY_Ocircumflex
+
+_KEY_Ocircumflex :: Int32
+_KEY_Ocircumflex = 212
+-- constant _KEY_Ocircumflexacute
+
+_KEY_Ocircumflexacute :: Int32
+_KEY_Ocircumflexacute = 16785104
+-- constant _KEY_Ocircumflexbelowdot
+
+_KEY_Ocircumflexbelowdot :: Int32
+_KEY_Ocircumflexbelowdot = 16785112
+-- constant _KEY_Ocircumflexgrave
+
+_KEY_Ocircumflexgrave :: Int32
+_KEY_Ocircumflexgrave = 16785106
+-- constant _KEY_Ocircumflexhook
+
+_KEY_Ocircumflexhook :: Int32
+_KEY_Ocircumflexhook = 16785108
+-- constant _KEY_Ocircumflextilde
+
+_KEY_Ocircumflextilde :: Int32
+_KEY_Ocircumflextilde = 16785110
+-- constant _KEY_Odiaeresis
+
+_KEY_Odiaeresis :: Int32
+_KEY_Odiaeresis = 214
+-- constant _KEY_Odoubleacute
+
+_KEY_Odoubleacute :: Int32
+_KEY_Odoubleacute = 469
+-- constant _KEY_OfficeHome
+
+_KEY_OfficeHome :: Int32
+_KEY_OfficeHome = 269025130
+-- constant _KEY_Ograve
+
+_KEY_Ograve :: Int32
+_KEY_Ograve = 210
+-- constant _KEY_Ohook
+
+_KEY_Ohook :: Int32
+_KEY_Ohook = 16785102
+-- constant _KEY_Ohorn
+
+_KEY_Ohorn :: Int32
+_KEY_Ohorn = 16777632
+-- constant _KEY_Ohornacute
+
+_KEY_Ohornacute :: Int32
+_KEY_Ohornacute = 16785114
+-- constant _KEY_Ohornbelowdot
+
+_KEY_Ohornbelowdot :: Int32
+_KEY_Ohornbelowdot = 16785122
+-- constant _KEY_Ohorngrave
+
+_KEY_Ohorngrave :: Int32
+_KEY_Ohorngrave = 16785116
+-- constant _KEY_Ohornhook
+
+_KEY_Ohornhook :: Int32
+_KEY_Ohornhook = 16785118
+-- constant _KEY_Ohorntilde
+
+_KEY_Ohorntilde :: Int32
+_KEY_Ohorntilde = 16785120
+-- constant _KEY_Omacron
+
+_KEY_Omacron :: Int32
+_KEY_Omacron = 978
+-- constant _KEY_Ooblique
+
+_KEY_Ooblique :: Int32
+_KEY_Ooblique = 216
+-- constant _KEY_Open
+
+_KEY_Open :: Int32
+_KEY_Open = 269025131
+-- constant _KEY_OpenURL
+
+_KEY_OpenURL :: Int32
+_KEY_OpenURL = 269025080
+-- constant _KEY_Option
+
+_KEY_Option :: Int32
+_KEY_Option = 269025132
+-- constant _KEY_Oslash
+
+_KEY_Oslash :: Int32
+_KEY_Oslash = 216
+-- constant _KEY_Otilde
+
+_KEY_Otilde :: Int32
+_KEY_Otilde = 213
+-- constant _KEY_Overlay1_Enable
+
+_KEY_Overlay1_Enable :: Int32
+_KEY_Overlay1_Enable = 65144
+-- constant _KEY_Overlay2_Enable
+
+_KEY_Overlay2_Enable :: Int32
+_KEY_Overlay2_Enable = 65145
+-- constant _KEY_P
+
+_KEY_P :: Int32
+_KEY_P = 80
+-- constant _KEY_Pabovedot
+
+_KEY_Pabovedot :: Int32
+_KEY_Pabovedot = 16784982
+-- constant _KEY_Page_Down
+
+_KEY_Page_Down :: Int32
+_KEY_Page_Down = 65366
+-- constant _KEY_Page_Up
+
+_KEY_Page_Up :: Int32
+_KEY_Page_Up = 65365
+-- constant _KEY_Paste
+
+_KEY_Paste :: Int32
+_KEY_Paste = 269025133
+-- constant _KEY_Pause
+
+_KEY_Pause :: Int32
+_KEY_Pause = 65299
+-- constant _KEY_PesetaSign
+
+_KEY_PesetaSign :: Int32
+_KEY_PesetaSign = 16785575
+-- constant _KEY_Phone
+
+_KEY_Phone :: Int32
+_KEY_Phone = 269025134
+-- constant _KEY_Pictures
+
+_KEY_Pictures :: Int32
+_KEY_Pictures = 269025169
+-- constant _KEY_Pointer_Accelerate
+
+_KEY_Pointer_Accelerate :: Int32
+_KEY_Pointer_Accelerate = 65274
+-- constant _KEY_Pointer_Button1
+
+_KEY_Pointer_Button1 :: Int32
+_KEY_Pointer_Button1 = 65257
+-- constant _KEY_Pointer_Button2
+
+_KEY_Pointer_Button2 :: Int32
+_KEY_Pointer_Button2 = 65258
+-- constant _KEY_Pointer_Button3
+
+_KEY_Pointer_Button3 :: Int32
+_KEY_Pointer_Button3 = 65259
+-- constant _KEY_Pointer_Button4
+
+_KEY_Pointer_Button4 :: Int32
+_KEY_Pointer_Button4 = 65260
+-- constant _KEY_Pointer_Button5
+
+_KEY_Pointer_Button5 :: Int32
+_KEY_Pointer_Button5 = 65261
+-- constant _KEY_Pointer_Button_Dflt
+
+_KEY_Pointer_Button_Dflt :: Int32
+_KEY_Pointer_Button_Dflt = 65256
+-- constant _KEY_Pointer_DblClick1
+
+_KEY_Pointer_DblClick1 :: Int32
+_KEY_Pointer_DblClick1 = 65263
+-- constant _KEY_Pointer_DblClick2
+
+_KEY_Pointer_DblClick2 :: Int32
+_KEY_Pointer_DblClick2 = 65264
+-- constant _KEY_Pointer_DblClick3
+
+_KEY_Pointer_DblClick3 :: Int32
+_KEY_Pointer_DblClick3 = 65265
+-- constant _KEY_Pointer_DblClick4
+
+_KEY_Pointer_DblClick4 :: Int32
+_KEY_Pointer_DblClick4 = 65266
+-- constant _KEY_Pointer_DblClick5
+
+_KEY_Pointer_DblClick5 :: Int32
+_KEY_Pointer_DblClick5 = 65267
+-- constant _KEY_Pointer_DblClick_Dflt
+
+_KEY_Pointer_DblClick_Dflt :: Int32
+_KEY_Pointer_DblClick_Dflt = 65262
+-- constant _KEY_Pointer_DfltBtnNext
+
+_KEY_Pointer_DfltBtnNext :: Int32
+_KEY_Pointer_DfltBtnNext = 65275
+-- constant _KEY_Pointer_DfltBtnPrev
+
+_KEY_Pointer_DfltBtnPrev :: Int32
+_KEY_Pointer_DfltBtnPrev = 65276
+-- constant _KEY_Pointer_Down
+
+_KEY_Pointer_Down :: Int32
+_KEY_Pointer_Down = 65251
+-- constant _KEY_Pointer_DownLeft
+
+_KEY_Pointer_DownLeft :: Int32
+_KEY_Pointer_DownLeft = 65254
+-- constant _KEY_Pointer_DownRight
+
+_KEY_Pointer_DownRight :: Int32
+_KEY_Pointer_DownRight = 65255
+-- constant _KEY_Pointer_Drag1
+
+_KEY_Pointer_Drag1 :: Int32
+_KEY_Pointer_Drag1 = 65269
+-- constant _KEY_Pointer_Drag2
+
+_KEY_Pointer_Drag2 :: Int32
+_KEY_Pointer_Drag2 = 65270
+-- constant _KEY_Pointer_Drag3
+
+_KEY_Pointer_Drag3 :: Int32
+_KEY_Pointer_Drag3 = 65271
+-- constant _KEY_Pointer_Drag4
+
+_KEY_Pointer_Drag4 :: Int32
+_KEY_Pointer_Drag4 = 65272
+-- constant _KEY_Pointer_Drag5
+
+_KEY_Pointer_Drag5 :: Int32
+_KEY_Pointer_Drag5 = 65277
+-- constant _KEY_Pointer_Drag_Dflt
+
+_KEY_Pointer_Drag_Dflt :: Int32
+_KEY_Pointer_Drag_Dflt = 65268
+-- constant _KEY_Pointer_EnableKeys
+
+_KEY_Pointer_EnableKeys :: Int32
+_KEY_Pointer_EnableKeys = 65273
+-- constant _KEY_Pointer_Left
+
+_KEY_Pointer_Left :: Int32
+_KEY_Pointer_Left = 65248
+-- constant _KEY_Pointer_Right
+
+_KEY_Pointer_Right :: Int32
+_KEY_Pointer_Right = 65249
+-- constant _KEY_Pointer_Up
+
+_KEY_Pointer_Up :: Int32
+_KEY_Pointer_Up = 65250
+-- constant _KEY_Pointer_UpLeft
+
+_KEY_Pointer_UpLeft :: Int32
+_KEY_Pointer_UpLeft = 65252
+-- constant _KEY_Pointer_UpRight
+
+_KEY_Pointer_UpRight :: Int32
+_KEY_Pointer_UpRight = 65253
+-- constant _KEY_PowerDown
+
+_KEY_PowerDown :: Int32
+_KEY_PowerDown = 269025057
+-- constant _KEY_PowerOff
+
+_KEY_PowerOff :: Int32
+_KEY_PowerOff = 269025066
+-- constant _KEY_Prev_VMode
+
+_KEY_Prev_VMode :: Int32
+_KEY_Prev_VMode = 269024803
+-- constant _KEY_Prev_Virtual_Screen
+
+_KEY_Prev_Virtual_Screen :: Int32
+_KEY_Prev_Virtual_Screen = 65233
+-- constant _KEY_PreviousCandidate
+
+_KEY_PreviousCandidate :: Int32
+_KEY_PreviousCandidate = 65342
+-- constant _KEY_Print
+
+_KEY_Print :: Int32
+_KEY_Print = 65377
+-- constant _KEY_Prior
+
+_KEY_Prior :: Int32
+_KEY_Prior = 65365
+-- constant _KEY_Q
+
+_KEY_Q :: Int32
+_KEY_Q = 81
+-- constant _KEY_R
+
+_KEY_R :: Int32
+_KEY_R = 82
+-- constant _KEY_R1
+
+_KEY_R1 :: Int32
+_KEY_R1 = 65490
+-- constant _KEY_R10
+
+_KEY_R10 :: Int32
+_KEY_R10 = 65499
+-- constant _KEY_R11
+
+_KEY_R11 :: Int32
+_KEY_R11 = 65500
+-- constant _KEY_R12
+
+_KEY_R12 :: Int32
+_KEY_R12 = 65501
+-- constant _KEY_R13
+
+_KEY_R13 :: Int32
+_KEY_R13 = 65502
+-- constant _KEY_R14
+
+_KEY_R14 :: Int32
+_KEY_R14 = 65503
+-- constant _KEY_R15
+
+_KEY_R15 :: Int32
+_KEY_R15 = 65504
+-- constant _KEY_R2
+
+_KEY_R2 :: Int32
+_KEY_R2 = 65491
+-- constant _KEY_R3
+
+_KEY_R3 :: Int32
+_KEY_R3 = 65492
+-- constant _KEY_R4
+
+_KEY_R4 :: Int32
+_KEY_R4 = 65493
+-- constant _KEY_R5
+
+_KEY_R5 :: Int32
+_KEY_R5 = 65494
+-- constant _KEY_R6
+
+_KEY_R6 :: Int32
+_KEY_R6 = 65495
+-- constant _KEY_R7
+
+_KEY_R7 :: Int32
+_KEY_R7 = 65496
+-- constant _KEY_R8
+
+_KEY_R8 :: Int32
+_KEY_R8 = 65497
+-- constant _KEY_R9
+
+_KEY_R9 :: Int32
+_KEY_R9 = 65498
+-- constant _KEY_Racute
+
+_KEY_Racute :: Int32
+_KEY_Racute = 448
+-- constant _KEY_Rcaron
+
+_KEY_Rcaron :: Int32
+_KEY_Rcaron = 472
+-- constant _KEY_Rcedilla
+
+_KEY_Rcedilla :: Int32
+_KEY_Rcedilla = 931
+-- constant _KEY_Red
+
+_KEY_Red :: Int32
+_KEY_Red = 269025187
+-- constant _KEY_Redo
+
+_KEY_Redo :: Int32
+_KEY_Redo = 65382
+-- constant _KEY_Refresh
+
+_KEY_Refresh :: Int32
+_KEY_Refresh = 269025065
+-- constant _KEY_Reload
+
+_KEY_Reload :: Int32
+_KEY_Reload = 269025139
+-- constant _KEY_RepeatKeys_Enable
+
+_KEY_RepeatKeys_Enable :: Int32
+_KEY_RepeatKeys_Enable = 65138
+-- constant _KEY_Reply
+
+_KEY_Reply :: Int32
+_KEY_Reply = 269025138
+-- constant _KEY_Return
+
+_KEY_Return :: Int32
+_KEY_Return = 65293
+-- constant _KEY_Right
+
+_KEY_Right :: Int32
+_KEY_Right = 65363
+-- constant _KEY_RockerDown
+
+_KEY_RockerDown :: Int32
+_KEY_RockerDown = 269025060
+-- constant _KEY_RockerEnter
+
+_KEY_RockerEnter :: Int32
+_KEY_RockerEnter = 269025061
+-- constant _KEY_RockerUp
+
+_KEY_RockerUp :: Int32
+_KEY_RockerUp = 269025059
+-- constant _KEY_Romaji
+
+_KEY_Romaji :: Int32
+_KEY_Romaji = 65316
+-- constant _KEY_RotateWindows
+
+_KEY_RotateWindows :: Int32
+_KEY_RotateWindows = 269025140
+-- constant _KEY_RotationKB
+
+_KEY_RotationKB :: Int32
+_KEY_RotationKB = 269025142
+-- constant _KEY_RotationPB
+
+_KEY_RotationPB :: Int32
+_KEY_RotationPB = 269025141
+-- constant _KEY_RupeeSign
+
+_KEY_RupeeSign :: Int32
+_KEY_RupeeSign = 16785576
+-- constant _KEY_S
+
+_KEY_S :: Int32
+_KEY_S = 83
+-- constant _KEY_SCHWA
+
+_KEY_SCHWA :: Int32
+_KEY_SCHWA = 16777615
+-- constant _KEY_Sabovedot
+
+_KEY_Sabovedot :: Int32
+_KEY_Sabovedot = 16784992
+-- constant _KEY_Sacute
+
+_KEY_Sacute :: Int32
+_KEY_Sacute = 422
+-- constant _KEY_Save
+
+_KEY_Save :: Int32
+_KEY_Save = 269025143
+-- constant _KEY_Scaron
+
+_KEY_Scaron :: Int32
+_KEY_Scaron = 425
+-- constant _KEY_Scedilla
+
+_KEY_Scedilla :: Int32
+_KEY_Scedilla = 426
+-- constant _KEY_Scircumflex
+
+_KEY_Scircumflex :: Int32
+_KEY_Scircumflex = 734
+-- constant _KEY_ScreenSaver
+
+_KEY_ScreenSaver :: Int32
+_KEY_ScreenSaver = 269025069
+-- constant _KEY_ScrollClick
+
+_KEY_ScrollClick :: Int32
+_KEY_ScrollClick = 269025146
+-- constant _KEY_ScrollDown
+
+_KEY_ScrollDown :: Int32
+_KEY_ScrollDown = 269025145
+-- constant _KEY_ScrollUp
+
+_KEY_ScrollUp :: Int32
+_KEY_ScrollUp = 269025144
+-- constant _KEY_Scroll_Lock
+
+_KEY_Scroll_Lock :: Int32
+_KEY_Scroll_Lock = 65300
+-- constant _KEY_Search
+
+_KEY_Search :: Int32
+_KEY_Search = 269025051
+-- constant _KEY_Select
+
+_KEY_Select :: Int32
+_KEY_Select = 65376
+-- constant _KEY_SelectButton
+
+_KEY_SelectButton :: Int32
+_KEY_SelectButton = 269025184
+-- constant _KEY_Send
+
+_KEY_Send :: Int32
+_KEY_Send = 269025147
+-- constant _KEY_Serbian_DJE
+
+_KEY_Serbian_DJE :: Int32
+_KEY_Serbian_DJE = 1713
+-- constant _KEY_Serbian_DZE
+
+_KEY_Serbian_DZE :: Int32
+_KEY_Serbian_DZE = 1727
+-- constant _KEY_Serbian_JE
+
+_KEY_Serbian_JE :: Int32
+_KEY_Serbian_JE = 1720
+-- constant _KEY_Serbian_LJE
+
+_KEY_Serbian_LJE :: Int32
+_KEY_Serbian_LJE = 1721
+-- constant _KEY_Serbian_NJE
+
+_KEY_Serbian_NJE :: Int32
+_KEY_Serbian_NJE = 1722
+-- constant _KEY_Serbian_TSHE
+
+_KEY_Serbian_TSHE :: Int32
+_KEY_Serbian_TSHE = 1723
+-- constant _KEY_Serbian_dje
+
+_KEY_Serbian_dje :: Int32
+_KEY_Serbian_dje = 1697
+-- constant _KEY_Serbian_dze
+
+_KEY_Serbian_dze :: Int32
+_KEY_Serbian_dze = 1711
+-- constant _KEY_Serbian_je
+
+_KEY_Serbian_je :: Int32
+_KEY_Serbian_je = 1704
+-- constant _KEY_Serbian_lje
+
+_KEY_Serbian_lje :: Int32
+_KEY_Serbian_lje = 1705
+-- constant _KEY_Serbian_nje
+
+_KEY_Serbian_nje :: Int32
+_KEY_Serbian_nje = 1706
+-- constant _KEY_Serbian_tshe
+
+_KEY_Serbian_tshe :: Int32
+_KEY_Serbian_tshe = 1707
+-- constant _KEY_Shift_L
+
+_KEY_Shift_L :: Int32
+_KEY_Shift_L = 65505
+-- constant _KEY_Shift_Lock
+
+_KEY_Shift_Lock :: Int32
+_KEY_Shift_Lock = 65510
+-- constant _KEY_Shift_R
+
+_KEY_Shift_R :: Int32
+_KEY_Shift_R = 65506
+-- constant _KEY_Shop
+
+_KEY_Shop :: Int32
+_KEY_Shop = 269025078
+-- constant _KEY_SingleCandidate
+
+_KEY_SingleCandidate :: Int32
+_KEY_SingleCandidate = 65340
+-- constant _KEY_Sinh_a
+
+_KEY_Sinh_a :: Int32
+_KEY_Sinh_a = 16780677
+-- constant _KEY_Sinh_aa
+
+_KEY_Sinh_aa :: Int32
+_KEY_Sinh_aa = 16780678
+-- constant _KEY_Sinh_aa2
+
+_KEY_Sinh_aa2 :: Int32
+_KEY_Sinh_aa2 = 16780751
+-- constant _KEY_Sinh_ae
+
+_KEY_Sinh_ae :: Int32
+_KEY_Sinh_ae = 16780679
+-- constant _KEY_Sinh_ae2
+
+_KEY_Sinh_ae2 :: Int32
+_KEY_Sinh_ae2 = 16780752
+-- constant _KEY_Sinh_aee
+
+_KEY_Sinh_aee :: Int32
+_KEY_Sinh_aee = 16780680
+-- constant _KEY_Sinh_aee2
+
+_KEY_Sinh_aee2 :: Int32
+_KEY_Sinh_aee2 = 16780753
+-- constant _KEY_Sinh_ai
+
+_KEY_Sinh_ai :: Int32
+_KEY_Sinh_ai = 16780691
+-- constant _KEY_Sinh_ai2
+
+_KEY_Sinh_ai2 :: Int32
+_KEY_Sinh_ai2 = 16780763
+-- constant _KEY_Sinh_al
+
+_KEY_Sinh_al :: Int32
+_KEY_Sinh_al = 16780746
+-- constant _KEY_Sinh_au
+
+_KEY_Sinh_au :: Int32
+_KEY_Sinh_au = 16780694
+-- constant _KEY_Sinh_au2
+
+_KEY_Sinh_au2 :: Int32
+_KEY_Sinh_au2 = 16780766
+-- constant _KEY_Sinh_ba
+
+_KEY_Sinh_ba :: Int32
+_KEY_Sinh_ba = 16780726
+-- constant _KEY_Sinh_bha
+
+_KEY_Sinh_bha :: Int32
+_KEY_Sinh_bha = 16780727
+-- constant _KEY_Sinh_ca
+
+_KEY_Sinh_ca :: Int32
+_KEY_Sinh_ca = 16780704
+-- constant _KEY_Sinh_cha
+
+_KEY_Sinh_cha :: Int32
+_KEY_Sinh_cha = 16780705
+-- constant _KEY_Sinh_dda
+
+_KEY_Sinh_dda :: Int32
+_KEY_Sinh_dda = 16780713
+-- constant _KEY_Sinh_ddha
+
+_KEY_Sinh_ddha :: Int32
+_KEY_Sinh_ddha = 16780714
+-- constant _KEY_Sinh_dha
+
+_KEY_Sinh_dha :: Int32
+_KEY_Sinh_dha = 16780719
+-- constant _KEY_Sinh_dhha
+
+_KEY_Sinh_dhha :: Int32
+_KEY_Sinh_dhha = 16780720
+-- constant _KEY_Sinh_e
+
+_KEY_Sinh_e :: Int32
+_KEY_Sinh_e = 16780689
+-- constant _KEY_Sinh_e2
+
+_KEY_Sinh_e2 :: Int32
+_KEY_Sinh_e2 = 16780761
+-- constant _KEY_Sinh_ee
+
+_KEY_Sinh_ee :: Int32
+_KEY_Sinh_ee = 16780690
+-- constant _KEY_Sinh_ee2
+
+_KEY_Sinh_ee2 :: Int32
+_KEY_Sinh_ee2 = 16780762
+-- constant _KEY_Sinh_fa
+
+_KEY_Sinh_fa :: Int32
+_KEY_Sinh_fa = 16780742
+-- constant _KEY_Sinh_ga
+
+_KEY_Sinh_ga :: Int32
+_KEY_Sinh_ga = 16780700
+-- constant _KEY_Sinh_gha
+
+_KEY_Sinh_gha :: Int32
+_KEY_Sinh_gha = 16780701
+-- constant _KEY_Sinh_h2
+
+_KEY_Sinh_h2 :: Int32
+_KEY_Sinh_h2 = 16780675
+-- constant _KEY_Sinh_ha
+
+_KEY_Sinh_ha :: Int32
+_KEY_Sinh_ha = 16780740
+-- constant _KEY_Sinh_i
+
+_KEY_Sinh_i :: Int32
+_KEY_Sinh_i = 16780681
+-- constant _KEY_Sinh_i2
+
+_KEY_Sinh_i2 :: Int32
+_KEY_Sinh_i2 = 16780754
+-- constant _KEY_Sinh_ii
+
+_KEY_Sinh_ii :: Int32
+_KEY_Sinh_ii = 16780682
+-- constant _KEY_Sinh_ii2
+
+_KEY_Sinh_ii2 :: Int32
+_KEY_Sinh_ii2 = 16780755
+-- constant _KEY_Sinh_ja
+
+_KEY_Sinh_ja :: Int32
+_KEY_Sinh_ja = 16780706
+-- constant _KEY_Sinh_jha
+
+_KEY_Sinh_jha :: Int32
+_KEY_Sinh_jha = 16780707
+-- constant _KEY_Sinh_jnya
+
+_KEY_Sinh_jnya :: Int32
+_KEY_Sinh_jnya = 16780709
+-- constant _KEY_Sinh_ka
+
+_KEY_Sinh_ka :: Int32
+_KEY_Sinh_ka = 16780698
+-- constant _KEY_Sinh_kha
+
+_KEY_Sinh_kha :: Int32
+_KEY_Sinh_kha = 16780699
+-- constant _KEY_Sinh_kunddaliya
+
+_KEY_Sinh_kunddaliya :: Int32
+_KEY_Sinh_kunddaliya = 16780788
+-- constant _KEY_Sinh_la
+
+_KEY_Sinh_la :: Int32
+_KEY_Sinh_la = 16780733
+-- constant _KEY_Sinh_lla
+
+_KEY_Sinh_lla :: Int32
+_KEY_Sinh_lla = 16780741
+-- constant _KEY_Sinh_lu
+
+_KEY_Sinh_lu :: Int32
+_KEY_Sinh_lu = 16780687
+-- constant _KEY_Sinh_lu2
+
+_KEY_Sinh_lu2 :: Int32
+_KEY_Sinh_lu2 = 16780767
+-- constant _KEY_Sinh_luu
+
+_KEY_Sinh_luu :: Int32
+_KEY_Sinh_luu = 16780688
+-- constant _KEY_Sinh_luu2
+
+_KEY_Sinh_luu2 :: Int32
+_KEY_Sinh_luu2 = 16780787
+-- constant _KEY_Sinh_ma
+
+_KEY_Sinh_ma :: Int32
+_KEY_Sinh_ma = 16780728
+-- constant _KEY_Sinh_mba
+
+_KEY_Sinh_mba :: Int32
+_KEY_Sinh_mba = 16780729
+-- constant _KEY_Sinh_na
+
+_KEY_Sinh_na :: Int32
+_KEY_Sinh_na = 16780721
+-- constant _KEY_Sinh_ndda
+
+_KEY_Sinh_ndda :: Int32
+_KEY_Sinh_ndda = 16780716
+-- constant _KEY_Sinh_ndha
+
+_KEY_Sinh_ndha :: Int32
+_KEY_Sinh_ndha = 16780723
+-- constant _KEY_Sinh_ng
+
+_KEY_Sinh_ng :: Int32
+_KEY_Sinh_ng = 16780674
+-- constant _KEY_Sinh_ng2
+
+_KEY_Sinh_ng2 :: Int32
+_KEY_Sinh_ng2 = 16780702
+-- constant _KEY_Sinh_nga
+
+_KEY_Sinh_nga :: Int32
+_KEY_Sinh_nga = 16780703
+-- constant _KEY_Sinh_nja
+
+_KEY_Sinh_nja :: Int32
+_KEY_Sinh_nja = 16780710
+-- constant _KEY_Sinh_nna
+
+_KEY_Sinh_nna :: Int32
+_KEY_Sinh_nna = 16780715
+-- constant _KEY_Sinh_nya
+
+_KEY_Sinh_nya :: Int32
+_KEY_Sinh_nya = 16780708
+-- constant _KEY_Sinh_o
+
+_KEY_Sinh_o :: Int32
+_KEY_Sinh_o = 16780692
+-- constant _KEY_Sinh_o2
+
+_KEY_Sinh_o2 :: Int32
+_KEY_Sinh_o2 = 16780764
+-- constant _KEY_Sinh_oo
+
+_KEY_Sinh_oo :: Int32
+_KEY_Sinh_oo = 16780693
+-- constant _KEY_Sinh_oo2
+
+_KEY_Sinh_oo2 :: Int32
+_KEY_Sinh_oo2 = 16780765
+-- constant _KEY_Sinh_pa
+
+_KEY_Sinh_pa :: Int32
+_KEY_Sinh_pa = 16780724
+-- constant _KEY_Sinh_pha
+
+_KEY_Sinh_pha :: Int32
+_KEY_Sinh_pha = 16780725
+-- constant _KEY_Sinh_ra
+
+_KEY_Sinh_ra :: Int32
+_KEY_Sinh_ra = 16780731
+-- constant _KEY_Sinh_ri
+
+_KEY_Sinh_ri :: Int32
+_KEY_Sinh_ri = 16780685
+-- constant _KEY_Sinh_rii
+
+_KEY_Sinh_rii :: Int32
+_KEY_Sinh_rii = 16780686
+-- constant _KEY_Sinh_ru2
+
+_KEY_Sinh_ru2 :: Int32
+_KEY_Sinh_ru2 = 16780760
+-- constant _KEY_Sinh_ruu2
+
+_KEY_Sinh_ruu2 :: Int32
+_KEY_Sinh_ruu2 = 16780786
+-- constant _KEY_Sinh_sa
+
+_KEY_Sinh_sa :: Int32
+_KEY_Sinh_sa = 16780739
+-- constant _KEY_Sinh_sha
+
+_KEY_Sinh_sha :: Int32
+_KEY_Sinh_sha = 16780737
+-- constant _KEY_Sinh_ssha
+
+_KEY_Sinh_ssha :: Int32
+_KEY_Sinh_ssha = 16780738
+-- constant _KEY_Sinh_tha
+
+_KEY_Sinh_tha :: Int32
+_KEY_Sinh_tha = 16780717
+-- constant _KEY_Sinh_thha
+
+_KEY_Sinh_thha :: Int32
+_KEY_Sinh_thha = 16780718
+-- constant _KEY_Sinh_tta
+
+_KEY_Sinh_tta :: Int32
+_KEY_Sinh_tta = 16780711
+-- constant _KEY_Sinh_ttha
+
+_KEY_Sinh_ttha :: Int32
+_KEY_Sinh_ttha = 16780712
+-- constant _KEY_Sinh_u
+
+_KEY_Sinh_u :: Int32
+_KEY_Sinh_u = 16780683
+-- constant _KEY_Sinh_u2
+
+_KEY_Sinh_u2 :: Int32
+_KEY_Sinh_u2 = 16780756
+-- constant _KEY_Sinh_uu
+
+_KEY_Sinh_uu :: Int32
+_KEY_Sinh_uu = 16780684
+-- constant _KEY_Sinh_uu2
+
+_KEY_Sinh_uu2 :: Int32
+_KEY_Sinh_uu2 = 16780758
+-- constant _KEY_Sinh_va
+
+_KEY_Sinh_va :: Int32
+_KEY_Sinh_va = 16780736
+-- constant _KEY_Sinh_ya
+
+_KEY_Sinh_ya :: Int32
+_KEY_Sinh_ya = 16780730
+-- constant _KEY_Sleep
+
+_KEY_Sleep :: Int32
+_KEY_Sleep = 269025071
+-- constant _KEY_SlowKeys_Enable
+
+_KEY_SlowKeys_Enable :: Int32
+_KEY_SlowKeys_Enable = 65139
+-- constant _KEY_Spell
+
+_KEY_Spell :: Int32
+_KEY_Spell = 269025148
+-- constant _KEY_SplitScreen
+
+_KEY_SplitScreen :: Int32
+_KEY_SplitScreen = 269025149
+-- constant _KEY_Standby
+
+_KEY_Standby :: Int32
+_KEY_Standby = 269025040
+-- constant _KEY_Start
+
+_KEY_Start :: Int32
+_KEY_Start = 269025050
+-- constant _KEY_StickyKeys_Enable
+
+_KEY_StickyKeys_Enable :: Int32
+_KEY_StickyKeys_Enable = 65141
+-- constant _KEY_Stop
+
+_KEY_Stop :: Int32
+_KEY_Stop = 269025064
+-- constant _KEY_Subtitle
+
+_KEY_Subtitle :: Int32
+_KEY_Subtitle = 269025178
+-- constant _KEY_Super_L
+
+_KEY_Super_L :: Int32
+_KEY_Super_L = 65515
+-- constant _KEY_Super_R
+
+_KEY_Super_R :: Int32
+_KEY_Super_R = 65516
+-- constant _KEY_Support
+
+_KEY_Support :: Int32
+_KEY_Support = 269025150
+-- constant _KEY_Suspend
+
+_KEY_Suspend :: Int32
+_KEY_Suspend = 269025191
+-- constant _KEY_Switch_VT_1
+
+_KEY_Switch_VT_1 :: Int32
+_KEY_Switch_VT_1 = 269024769
+-- constant _KEY_Switch_VT_10
+
+_KEY_Switch_VT_10 :: Int32
+_KEY_Switch_VT_10 = 269024778
+-- constant _KEY_Switch_VT_11
+
+_KEY_Switch_VT_11 :: Int32
+_KEY_Switch_VT_11 = 269024779
+-- constant _KEY_Switch_VT_12
+
+_KEY_Switch_VT_12 :: Int32
+_KEY_Switch_VT_12 = 269024780
+-- constant _KEY_Switch_VT_2
+
+_KEY_Switch_VT_2 :: Int32
+_KEY_Switch_VT_2 = 269024770
+-- constant _KEY_Switch_VT_3
+
+_KEY_Switch_VT_3 :: Int32
+_KEY_Switch_VT_3 = 269024771
+-- constant _KEY_Switch_VT_4
+
+_KEY_Switch_VT_4 :: Int32
+_KEY_Switch_VT_4 = 269024772
+-- constant _KEY_Switch_VT_5
+
+_KEY_Switch_VT_5 :: Int32
+_KEY_Switch_VT_5 = 269024773
+-- constant _KEY_Switch_VT_6
+
+_KEY_Switch_VT_6 :: Int32
+_KEY_Switch_VT_6 = 269024774
+-- constant _KEY_Switch_VT_7
+
+_KEY_Switch_VT_7 :: Int32
+_KEY_Switch_VT_7 = 269024775
+-- constant _KEY_Switch_VT_8
+
+_KEY_Switch_VT_8 :: Int32
+_KEY_Switch_VT_8 = 269024776
+-- constant _KEY_Switch_VT_9
+
+_KEY_Switch_VT_9 :: Int32
+_KEY_Switch_VT_9 = 269024777
+-- constant _KEY_Sys_Req
+
+_KEY_Sys_Req :: Int32
+_KEY_Sys_Req = 65301
+-- constant _KEY_T
+
+_KEY_T :: Int32
+_KEY_T = 84
+-- constant _KEY_THORN
+
+_KEY_THORN :: Int32
+_KEY_THORN = 222
+-- constant _KEY_Tab
+
+_KEY_Tab :: Int32
+_KEY_Tab = 65289
+-- constant _KEY_Tabovedot
+
+_KEY_Tabovedot :: Int32
+_KEY_Tabovedot = 16785002
+-- constant _KEY_TaskPane
+
+_KEY_TaskPane :: Int32
+_KEY_TaskPane = 269025151
+-- constant _KEY_Tcaron
+
+_KEY_Tcaron :: Int32
+_KEY_Tcaron = 427
+-- constant _KEY_Tcedilla
+
+_KEY_Tcedilla :: Int32
+_KEY_Tcedilla = 478
+-- constant _KEY_Terminal
+
+_KEY_Terminal :: Int32
+_KEY_Terminal = 269025152
+-- constant _KEY_Terminate_Server
+
+_KEY_Terminate_Server :: Int32
+_KEY_Terminate_Server = 65237
+-- constant _KEY_Thai_baht
+
+_KEY_Thai_baht :: Int32
+_KEY_Thai_baht = 3551
+-- constant _KEY_Thai_bobaimai
+
+_KEY_Thai_bobaimai :: Int32
+_KEY_Thai_bobaimai = 3514
+-- constant _KEY_Thai_chochan
+
+_KEY_Thai_chochan :: Int32
+_KEY_Thai_chochan = 3496
+-- constant _KEY_Thai_chochang
+
+_KEY_Thai_chochang :: Int32
+_KEY_Thai_chochang = 3498
+-- constant _KEY_Thai_choching
+
+_KEY_Thai_choching :: Int32
+_KEY_Thai_choching = 3497
+-- constant _KEY_Thai_chochoe
+
+_KEY_Thai_chochoe :: Int32
+_KEY_Thai_chochoe = 3500
+-- constant _KEY_Thai_dochada
+
+_KEY_Thai_dochada :: Int32
+_KEY_Thai_dochada = 3502
+-- constant _KEY_Thai_dodek
+
+_KEY_Thai_dodek :: Int32
+_KEY_Thai_dodek = 3508
+-- constant _KEY_Thai_fofa
+
+_KEY_Thai_fofa :: Int32
+_KEY_Thai_fofa = 3517
+-- constant _KEY_Thai_fofan
+
+_KEY_Thai_fofan :: Int32
+_KEY_Thai_fofan = 3519
+-- constant _KEY_Thai_hohip
+
+_KEY_Thai_hohip :: Int32
+_KEY_Thai_hohip = 3531
+-- constant _KEY_Thai_honokhuk
+
+_KEY_Thai_honokhuk :: Int32
+_KEY_Thai_honokhuk = 3534
+-- constant _KEY_Thai_khokhai
+
+_KEY_Thai_khokhai :: Int32
+_KEY_Thai_khokhai = 3490
+-- constant _KEY_Thai_khokhon
+
+_KEY_Thai_khokhon :: Int32
+_KEY_Thai_khokhon = 3493
+-- constant _KEY_Thai_khokhuat
+
+_KEY_Thai_khokhuat :: Int32
+_KEY_Thai_khokhuat = 3491
+-- constant _KEY_Thai_khokhwai
+
+_KEY_Thai_khokhwai :: Int32
+_KEY_Thai_khokhwai = 3492
+-- constant _KEY_Thai_khorakhang
+
+_KEY_Thai_khorakhang :: Int32
+_KEY_Thai_khorakhang = 3494
+-- constant _KEY_Thai_kokai
+
+_KEY_Thai_kokai :: Int32
+_KEY_Thai_kokai = 3489
+-- constant _KEY_Thai_lakkhangyao
+
+_KEY_Thai_lakkhangyao :: Int32
+_KEY_Thai_lakkhangyao = 3557
+-- constant _KEY_Thai_lekchet
+
+_KEY_Thai_lekchet :: Int32
+_KEY_Thai_lekchet = 3575
+-- constant _KEY_Thai_lekha
+
+_KEY_Thai_lekha :: Int32
+_KEY_Thai_lekha = 3573
+-- constant _KEY_Thai_lekhok
+
+_KEY_Thai_lekhok :: Int32
+_KEY_Thai_lekhok = 3574
+-- constant _KEY_Thai_lekkao
+
+_KEY_Thai_lekkao :: Int32
+_KEY_Thai_lekkao = 3577
+-- constant _KEY_Thai_leknung
+
+_KEY_Thai_leknung :: Int32
+_KEY_Thai_leknung = 3569
+-- constant _KEY_Thai_lekpaet
+
+_KEY_Thai_lekpaet :: Int32
+_KEY_Thai_lekpaet = 3576
+-- constant _KEY_Thai_leksam
+
+_KEY_Thai_leksam :: Int32
+_KEY_Thai_leksam = 3571
+-- constant _KEY_Thai_leksi
+
+_KEY_Thai_leksi :: Int32
+_KEY_Thai_leksi = 3572
+-- constant _KEY_Thai_leksong
+
+_KEY_Thai_leksong :: Int32
+_KEY_Thai_leksong = 3570
+-- constant _KEY_Thai_leksun
+
+_KEY_Thai_leksun :: Int32
+_KEY_Thai_leksun = 3568
+-- constant _KEY_Thai_lochula
+
+_KEY_Thai_lochula :: Int32
+_KEY_Thai_lochula = 3532
+-- constant _KEY_Thai_loling
+
+_KEY_Thai_loling :: Int32
+_KEY_Thai_loling = 3525
+-- constant _KEY_Thai_lu
+
+_KEY_Thai_lu :: Int32
+_KEY_Thai_lu = 3526
+-- constant _KEY_Thai_maichattawa
+
+_KEY_Thai_maichattawa :: Int32
+_KEY_Thai_maichattawa = 3563
+-- constant _KEY_Thai_maiek
+
+_KEY_Thai_maiek :: Int32
+_KEY_Thai_maiek = 3560
+-- constant _KEY_Thai_maihanakat
+
+_KEY_Thai_maihanakat :: Int32
+_KEY_Thai_maihanakat = 3537
+-- constant _KEY_Thai_maihanakat_maitho
+
+_KEY_Thai_maihanakat_maitho :: Int32
+_KEY_Thai_maihanakat_maitho = 3550
+-- constant _KEY_Thai_maitaikhu
+
+_KEY_Thai_maitaikhu :: Int32
+_KEY_Thai_maitaikhu = 3559
+-- constant _KEY_Thai_maitho
+
+_KEY_Thai_maitho :: Int32
+_KEY_Thai_maitho = 3561
+-- constant _KEY_Thai_maitri
+
+_KEY_Thai_maitri :: Int32
+_KEY_Thai_maitri = 3562
+-- constant _KEY_Thai_maiyamok
+
+_KEY_Thai_maiyamok :: Int32
+_KEY_Thai_maiyamok = 3558
+-- constant _KEY_Thai_moma
+
+_KEY_Thai_moma :: Int32
+_KEY_Thai_moma = 3521
+-- constant _KEY_Thai_ngongu
+
+_KEY_Thai_ngongu :: Int32
+_KEY_Thai_ngongu = 3495
+-- constant _KEY_Thai_nikhahit
+
+_KEY_Thai_nikhahit :: Int32
+_KEY_Thai_nikhahit = 3565
+-- constant _KEY_Thai_nonen
+
+_KEY_Thai_nonen :: Int32
+_KEY_Thai_nonen = 3507
+-- constant _KEY_Thai_nonu
+
+_KEY_Thai_nonu :: Int32
+_KEY_Thai_nonu = 3513
+-- constant _KEY_Thai_oang
+
+_KEY_Thai_oang :: Int32
+_KEY_Thai_oang = 3533
+-- constant _KEY_Thai_paiyannoi
+
+_KEY_Thai_paiyannoi :: Int32
+_KEY_Thai_paiyannoi = 3535
+-- constant _KEY_Thai_phinthu
+
+_KEY_Thai_phinthu :: Int32
+_KEY_Thai_phinthu = 3546
+-- constant _KEY_Thai_phophan
+
+_KEY_Thai_phophan :: Int32
+_KEY_Thai_phophan = 3518
+-- constant _KEY_Thai_phophung
+
+_KEY_Thai_phophung :: Int32
+_KEY_Thai_phophung = 3516
+-- constant _KEY_Thai_phosamphao
+
+_KEY_Thai_phosamphao :: Int32
+_KEY_Thai_phosamphao = 3520
+-- constant _KEY_Thai_popla
+
+_KEY_Thai_popla :: Int32
+_KEY_Thai_popla = 3515
+-- constant _KEY_Thai_rorua
+
+_KEY_Thai_rorua :: Int32
+_KEY_Thai_rorua = 3523
+-- constant _KEY_Thai_ru
+
+_KEY_Thai_ru :: Int32
+_KEY_Thai_ru = 3524
+-- constant _KEY_Thai_saraa
+
+_KEY_Thai_saraa :: Int32
+_KEY_Thai_saraa = 3536
+-- constant _KEY_Thai_saraaa
+
+_KEY_Thai_saraaa :: Int32
+_KEY_Thai_saraaa = 3538
+-- constant _KEY_Thai_saraae
+
+_KEY_Thai_saraae :: Int32
+_KEY_Thai_saraae = 3553
+-- constant _KEY_Thai_saraaimaimalai
+
+_KEY_Thai_saraaimaimalai :: Int32
+_KEY_Thai_saraaimaimalai = 3556
+-- constant _KEY_Thai_saraaimaimuan
+
+_KEY_Thai_saraaimaimuan :: Int32
+_KEY_Thai_saraaimaimuan = 3555
+-- constant _KEY_Thai_saraam
+
+_KEY_Thai_saraam :: Int32
+_KEY_Thai_saraam = 3539
+-- constant _KEY_Thai_sarae
+
+_KEY_Thai_sarae :: Int32
+_KEY_Thai_sarae = 3552
+-- constant _KEY_Thai_sarai
+
+_KEY_Thai_sarai :: Int32
+_KEY_Thai_sarai = 3540
+-- constant _KEY_Thai_saraii
+
+_KEY_Thai_saraii :: Int32
+_KEY_Thai_saraii = 3541
+-- constant _KEY_Thai_sarao
+
+_KEY_Thai_sarao :: Int32
+_KEY_Thai_sarao = 3554
+-- constant _KEY_Thai_sarau
+
+_KEY_Thai_sarau :: Int32
+_KEY_Thai_sarau = 3544
+-- constant _KEY_Thai_saraue
+
+_KEY_Thai_saraue :: Int32
+_KEY_Thai_saraue = 3542
+-- constant _KEY_Thai_sarauee
+
+_KEY_Thai_sarauee :: Int32
+_KEY_Thai_sarauee = 3543
+-- constant _KEY_Thai_sarauu
+
+_KEY_Thai_sarauu :: Int32
+_KEY_Thai_sarauu = 3545
+-- constant _KEY_Thai_sorusi
+
+_KEY_Thai_sorusi :: Int32
+_KEY_Thai_sorusi = 3529
+-- constant _KEY_Thai_sosala
+
+_KEY_Thai_sosala :: Int32
+_KEY_Thai_sosala = 3528
+-- constant _KEY_Thai_soso
+
+_KEY_Thai_soso :: Int32
+_KEY_Thai_soso = 3499
+-- constant _KEY_Thai_sosua
+
+_KEY_Thai_sosua :: Int32
+_KEY_Thai_sosua = 3530
+-- constant _KEY_Thai_thanthakhat
+
+_KEY_Thai_thanthakhat :: Int32
+_KEY_Thai_thanthakhat = 3564
+-- constant _KEY_Thai_thonangmontho
+
+_KEY_Thai_thonangmontho :: Int32
+_KEY_Thai_thonangmontho = 3505
+-- constant _KEY_Thai_thophuthao
+
+_KEY_Thai_thophuthao :: Int32
+_KEY_Thai_thophuthao = 3506
+-- constant _KEY_Thai_thothahan
+
+_KEY_Thai_thothahan :: Int32
+_KEY_Thai_thothahan = 3511
+-- constant _KEY_Thai_thothan
+
+_KEY_Thai_thothan :: Int32
+_KEY_Thai_thothan = 3504
+-- constant _KEY_Thai_thothong
+
+_KEY_Thai_thothong :: Int32
+_KEY_Thai_thothong = 3512
+-- constant _KEY_Thai_thothung
+
+_KEY_Thai_thothung :: Int32
+_KEY_Thai_thothung = 3510
+-- constant _KEY_Thai_topatak
+
+_KEY_Thai_topatak :: Int32
+_KEY_Thai_topatak = 3503
+-- constant _KEY_Thai_totao
+
+_KEY_Thai_totao :: Int32
+_KEY_Thai_totao = 3509
+-- constant _KEY_Thai_wowaen
+
+_KEY_Thai_wowaen :: Int32
+_KEY_Thai_wowaen = 3527
+-- constant _KEY_Thai_yoyak
+
+_KEY_Thai_yoyak :: Int32
+_KEY_Thai_yoyak = 3522
+-- constant _KEY_Thai_yoying
+
+_KEY_Thai_yoying :: Int32
+_KEY_Thai_yoying = 3501
+-- constant _KEY_Thorn
+
+_KEY_Thorn :: Int32
+_KEY_Thorn = 222
+-- constant _KEY_Time
+
+_KEY_Time :: Int32
+_KEY_Time = 269025183
+-- constant _KEY_ToDoList
+
+_KEY_ToDoList :: Int32
+_KEY_ToDoList = 269025055
+-- constant _KEY_Tools
+
+_KEY_Tools :: Int32
+_KEY_Tools = 269025153
+-- constant _KEY_TopMenu
+
+_KEY_TopMenu :: Int32
+_KEY_TopMenu = 269025186
+-- constant _KEY_TouchpadOff
+
+_KEY_TouchpadOff :: Int32
+_KEY_TouchpadOff = 269025201
+-- constant _KEY_TouchpadOn
+
+_KEY_TouchpadOn :: Int32
+_KEY_TouchpadOn = 269025200
+-- constant _KEY_TouchpadToggle
+
+_KEY_TouchpadToggle :: Int32
+_KEY_TouchpadToggle = 269025193
+-- constant _KEY_Touroku
+
+_KEY_Touroku :: Int32
+_KEY_Touroku = 65323
+-- constant _KEY_Travel
+
+_KEY_Travel :: Int32
+_KEY_Travel = 269025154
+-- constant _KEY_Tslash
+
+_KEY_Tslash :: Int32
+_KEY_Tslash = 940
+-- constant _KEY_U
+
+_KEY_U :: Int32
+_KEY_U = 85
+-- constant _KEY_UWB
+
+_KEY_UWB :: Int32
+_KEY_UWB = 269025174
+-- constant _KEY_Uacute
+
+_KEY_Uacute :: Int32
+_KEY_Uacute = 218
+-- constant _KEY_Ubelowdot
+
+_KEY_Ubelowdot :: Int32
+_KEY_Ubelowdot = 16785124
+-- constant _KEY_Ubreve
+
+_KEY_Ubreve :: Int32
+_KEY_Ubreve = 733
+-- constant _KEY_Ucircumflex
+
+_KEY_Ucircumflex :: Int32
+_KEY_Ucircumflex = 219
+-- constant _KEY_Udiaeresis
+
+_KEY_Udiaeresis :: Int32
+_KEY_Udiaeresis = 220
+-- constant _KEY_Udoubleacute
+
+_KEY_Udoubleacute :: Int32
+_KEY_Udoubleacute = 475
+-- constant _KEY_Ugrave
+
+_KEY_Ugrave :: Int32
+_KEY_Ugrave = 217
+-- constant _KEY_Uhook
+
+_KEY_Uhook :: Int32
+_KEY_Uhook = 16785126
+-- constant _KEY_Uhorn
+
+_KEY_Uhorn :: Int32
+_KEY_Uhorn = 16777647
+-- constant _KEY_Uhornacute
+
+_KEY_Uhornacute :: Int32
+_KEY_Uhornacute = 16785128
+-- constant _KEY_Uhornbelowdot
+
+_KEY_Uhornbelowdot :: Int32
+_KEY_Uhornbelowdot = 16785136
+-- constant _KEY_Uhorngrave
+
+_KEY_Uhorngrave :: Int32
+_KEY_Uhorngrave = 16785130
+-- constant _KEY_Uhornhook
+
+_KEY_Uhornhook :: Int32
+_KEY_Uhornhook = 16785132
+-- constant _KEY_Uhorntilde
+
+_KEY_Uhorntilde :: Int32
+_KEY_Uhorntilde = 16785134
+-- constant _KEY_Ukrainian_GHE_WITH_UPTURN
+
+_KEY_Ukrainian_GHE_WITH_UPTURN :: Int32
+_KEY_Ukrainian_GHE_WITH_UPTURN = 1725
+-- constant _KEY_Ukrainian_I
+
+_KEY_Ukrainian_I :: Int32
+_KEY_Ukrainian_I = 1718
+-- constant _KEY_Ukrainian_IE
+
+_KEY_Ukrainian_IE :: Int32
+_KEY_Ukrainian_IE = 1716
+-- constant _KEY_Ukrainian_YI
+
+_KEY_Ukrainian_YI :: Int32
+_KEY_Ukrainian_YI = 1719
+-- constant _KEY_Ukrainian_ghe_with_upturn
+
+_KEY_Ukrainian_ghe_with_upturn :: Int32
+_KEY_Ukrainian_ghe_with_upturn = 1709
+-- constant _KEY_Ukrainian_i
+
+_KEY_Ukrainian_i :: Int32
+_KEY_Ukrainian_i = 1702
+-- constant _KEY_Ukrainian_ie
+
+_KEY_Ukrainian_ie :: Int32
+_KEY_Ukrainian_ie = 1700
+-- constant _KEY_Ukrainian_yi
+
+_KEY_Ukrainian_yi :: Int32
+_KEY_Ukrainian_yi = 1703
+-- constant _KEY_Ukranian_I
+
+_KEY_Ukranian_I :: Int32
+_KEY_Ukranian_I = 1718
+-- constant _KEY_Ukranian_JE
+
+_KEY_Ukranian_JE :: Int32
+_KEY_Ukranian_JE = 1716
+-- constant _KEY_Ukranian_YI
+
+_KEY_Ukranian_YI :: Int32
+_KEY_Ukranian_YI = 1719
+-- constant _KEY_Ukranian_i
+
+_KEY_Ukranian_i :: Int32
+_KEY_Ukranian_i = 1702
+-- constant _KEY_Ukranian_je
+
+_KEY_Ukranian_je :: Int32
+_KEY_Ukranian_je = 1700
+-- constant _KEY_Ukranian_yi
+
+_KEY_Ukranian_yi :: Int32
+_KEY_Ukranian_yi = 1703
+-- constant _KEY_Umacron
+
+_KEY_Umacron :: Int32
+_KEY_Umacron = 990
+-- constant _KEY_Undo
+
+_KEY_Undo :: Int32
+_KEY_Undo = 65381
+-- constant _KEY_Ungrab
+
+_KEY_Ungrab :: Int32
+_KEY_Ungrab = 269024800
+-- constant _KEY_Uogonek
+
+_KEY_Uogonek :: Int32
+_KEY_Uogonek = 985
+-- constant _KEY_Up
+
+_KEY_Up :: Int32
+_KEY_Up = 65362
+-- constant _KEY_Uring
+
+_KEY_Uring :: Int32
+_KEY_Uring = 473
+-- constant _KEY_User1KB
+
+_KEY_User1KB :: Int32
+_KEY_User1KB = 269025157
+-- constant _KEY_User2KB
+
+_KEY_User2KB :: Int32
+_KEY_User2KB = 269025158
+-- constant _KEY_UserPB
+
+_KEY_UserPB :: Int32
+_KEY_UserPB = 269025156
+-- constant _KEY_Utilde
+
+_KEY_Utilde :: Int32
+_KEY_Utilde = 989
+-- constant _KEY_V
+
+_KEY_V :: Int32
+_KEY_V = 86
+-- constant _KEY_VendorHome
+
+_KEY_VendorHome :: Int32
+_KEY_VendorHome = 269025076
+-- constant _KEY_Video
+
+_KEY_Video :: Int32
+_KEY_Video = 269025159
+-- constant _KEY_View
+
+_KEY_View :: Int32
+_KEY_View = 269025185
+-- constant _KEY_VoidSymbol
+
+_KEY_VoidSymbol :: Int32
+_KEY_VoidSymbol = 16777215
+-- constant _KEY_W
+
+_KEY_W :: Int32
+_KEY_W = 87
+-- constant _KEY_WLAN
+
+_KEY_WLAN :: Int32
+_KEY_WLAN = 269025173
+-- constant _KEY_WWW
+
+_KEY_WWW :: Int32
+_KEY_WWW = 269025070
+-- constant _KEY_Wacute
+
+_KEY_Wacute :: Int32
+_KEY_Wacute = 16785026
+-- constant _KEY_WakeUp
+
+_KEY_WakeUp :: Int32
+_KEY_WakeUp = 269025067
+-- constant _KEY_Wcircumflex
+
+_KEY_Wcircumflex :: Int32
+_KEY_Wcircumflex = 16777588
+-- constant _KEY_Wdiaeresis
+
+_KEY_Wdiaeresis :: Int32
+_KEY_Wdiaeresis = 16785028
+-- constant _KEY_WebCam
+
+_KEY_WebCam :: Int32
+_KEY_WebCam = 269025167
+-- constant _KEY_Wgrave
+
+_KEY_Wgrave :: Int32
+_KEY_Wgrave = 16785024
+-- constant _KEY_WheelButton
+
+_KEY_WheelButton :: Int32
+_KEY_WheelButton = 269025160
+-- constant _KEY_WindowClear
+
+_KEY_WindowClear :: Int32
+_KEY_WindowClear = 269025109
+-- constant _KEY_WonSign
+
+_KEY_WonSign :: Int32
+_KEY_WonSign = 16785577
+-- constant _KEY_Word
+
+_KEY_Word :: Int32
+_KEY_Word = 269025161
+-- constant _KEY_X
+
+_KEY_X :: Int32
+_KEY_X = 88
+-- constant _KEY_Xabovedot
+
+_KEY_Xabovedot :: Int32
+_KEY_Xabovedot = 16785034
+-- constant _KEY_Xfer
+
+_KEY_Xfer :: Int32
+_KEY_Xfer = 269025162
+-- constant _KEY_Y
+
+_KEY_Y :: Int32
+_KEY_Y = 89
+-- constant _KEY_Yacute
+
+_KEY_Yacute :: Int32
+_KEY_Yacute = 221
+-- constant _KEY_Ybelowdot
+
+_KEY_Ybelowdot :: Int32
+_KEY_Ybelowdot = 16785140
+-- constant _KEY_Ycircumflex
+
+_KEY_Ycircumflex :: Int32
+_KEY_Ycircumflex = 16777590
+-- constant _KEY_Ydiaeresis
+
+_KEY_Ydiaeresis :: Int32
+_KEY_Ydiaeresis = 5054
+-- constant _KEY_Yellow
+
+_KEY_Yellow :: Int32
+_KEY_Yellow = 269025189
+-- constant _KEY_Ygrave
+
+_KEY_Ygrave :: Int32
+_KEY_Ygrave = 16785138
+-- constant _KEY_Yhook
+
+_KEY_Yhook :: Int32
+_KEY_Yhook = 16785142
+-- constant _KEY_Ytilde
+
+_KEY_Ytilde :: Int32
+_KEY_Ytilde = 16785144
+-- constant _KEY_Z
+
+_KEY_Z :: Int32
+_KEY_Z = 90
+-- constant _KEY_Zabovedot
+
+_KEY_Zabovedot :: Int32
+_KEY_Zabovedot = 431
+-- constant _KEY_Zacute
+
+_KEY_Zacute :: Int32
+_KEY_Zacute = 428
+-- constant _KEY_Zcaron
+
+_KEY_Zcaron :: Int32
+_KEY_Zcaron = 430
+-- constant _KEY_Zen_Koho
+
+_KEY_Zen_Koho :: Int32
+_KEY_Zen_Koho = 65341
+-- constant _KEY_Zenkaku
+
+_KEY_Zenkaku :: Int32
+_KEY_Zenkaku = 65320
+-- constant _KEY_Zenkaku_Hankaku
+
+_KEY_Zenkaku_Hankaku :: Int32
+_KEY_Zenkaku_Hankaku = 65322
+-- constant _KEY_ZoomIn
+
+_KEY_ZoomIn :: Int32
+_KEY_ZoomIn = 269025163
+-- constant _KEY_ZoomOut
+
+_KEY_ZoomOut :: Int32
+_KEY_ZoomOut = 269025164
+-- constant _KEY_Zstroke
+
+_KEY_Zstroke :: Int32
+_KEY_Zstroke = 16777653
+-- constant _KEY_a
+
+_KEY_a :: Int32
+_KEY_a = 97
+-- constant _KEY_aacute
+
+_KEY_aacute :: Int32
+_KEY_aacute = 225
+-- constant _KEY_abelowdot
+
+_KEY_abelowdot :: Int32
+_KEY_abelowdot = 16785057
+-- constant _KEY_abovedot
+
+_KEY_abovedot :: Int32
+_KEY_abovedot = 511
+-- constant _KEY_abreve
+
+_KEY_abreve :: Int32
+_KEY_abreve = 483
+-- constant _KEY_abreveacute
+
+_KEY_abreveacute :: Int32
+_KEY_abreveacute = 16785071
+-- constant _KEY_abrevebelowdot
+
+_KEY_abrevebelowdot :: Int32
+_KEY_abrevebelowdot = 16785079
+-- constant _KEY_abrevegrave
+
+_KEY_abrevegrave :: Int32
+_KEY_abrevegrave = 16785073
+-- constant _KEY_abrevehook
+
+_KEY_abrevehook :: Int32
+_KEY_abrevehook = 16785075
+-- constant _KEY_abrevetilde
+
+_KEY_abrevetilde :: Int32
+_KEY_abrevetilde = 16785077
+-- constant _KEY_acircumflex
+
+_KEY_acircumflex :: Int32
+_KEY_acircumflex = 226
+-- constant _KEY_acircumflexacute
+
+_KEY_acircumflexacute :: Int32
+_KEY_acircumflexacute = 16785061
+-- constant _KEY_acircumflexbelowdot
+
+_KEY_acircumflexbelowdot :: Int32
+_KEY_acircumflexbelowdot = 16785069
+-- constant _KEY_acircumflexgrave
+
+_KEY_acircumflexgrave :: Int32
+_KEY_acircumflexgrave = 16785063
+-- constant _KEY_acircumflexhook
+
+_KEY_acircumflexhook :: Int32
+_KEY_acircumflexhook = 16785065
+-- constant _KEY_acircumflextilde
+
+_KEY_acircumflextilde :: Int32
+_KEY_acircumflextilde = 16785067
+-- constant _KEY_acute
+
+_KEY_acute :: Int32
+_KEY_acute = 180
+-- constant _KEY_adiaeresis
+
+_KEY_adiaeresis :: Int32
+_KEY_adiaeresis = 228
+-- constant _KEY_ae
+
+_KEY_ae :: Int32
+_KEY_ae = 230
+-- constant _KEY_agrave
+
+_KEY_agrave :: Int32
+_KEY_agrave = 224
+-- constant _KEY_ahook
+
+_KEY_ahook :: Int32
+_KEY_ahook = 16785059
+-- constant _KEY_amacron
+
+_KEY_amacron :: Int32
+_KEY_amacron = 992
+-- constant _KEY_ampersand
+
+_KEY_ampersand :: Int32
+_KEY_ampersand = 38
+-- constant _KEY_aogonek
+
+_KEY_aogonek :: Int32
+_KEY_aogonek = 433
+-- constant _KEY_apostrophe
+
+_KEY_apostrophe :: Int32
+_KEY_apostrophe = 39
+-- constant _KEY_approxeq
+
+_KEY_approxeq :: Int32
+_KEY_approxeq = 16785992
+-- constant _KEY_approximate
+
+_KEY_approximate :: Int32
+_KEY_approximate = 2248
+-- constant _KEY_aring
+
+_KEY_aring :: Int32
+_KEY_aring = 229
+-- constant _KEY_asciicircum
+
+_KEY_asciicircum :: Int32
+_KEY_asciicircum = 94
+-- constant _KEY_asciitilde
+
+_KEY_asciitilde :: Int32
+_KEY_asciitilde = 126
+-- constant _KEY_asterisk
+
+_KEY_asterisk :: Int32
+_KEY_asterisk = 42
+-- constant _KEY_at
+
+_KEY_at :: Int32
+_KEY_at = 64
+-- constant _KEY_atilde
+
+_KEY_atilde :: Int32
+_KEY_atilde = 227
+-- constant _KEY_b
+
+_KEY_b :: Int32
+_KEY_b = 98
+-- constant _KEY_babovedot
+
+_KEY_babovedot :: Int32
+_KEY_babovedot = 16784899
+-- constant _KEY_backslash
+
+_KEY_backslash :: Int32
+_KEY_backslash = 92
+-- constant _KEY_ballotcross
+
+_KEY_ballotcross :: Int32
+_KEY_ballotcross = 2804
+-- constant _KEY_bar
+
+_KEY_bar :: Int32
+_KEY_bar = 124
+-- constant _KEY_because
+
+_KEY_because :: Int32
+_KEY_because = 16785973
+-- constant _KEY_blank
+
+_KEY_blank :: Int32
+_KEY_blank = 2527
+-- constant _KEY_botintegral
+
+_KEY_botintegral :: Int32
+_KEY_botintegral = 2213
+-- constant _KEY_botleftparens
+
+_KEY_botleftparens :: Int32
+_KEY_botleftparens = 2220
+-- constant _KEY_botleftsqbracket
+
+_KEY_botleftsqbracket :: Int32
+_KEY_botleftsqbracket = 2216
+-- constant _KEY_botleftsummation
+
+_KEY_botleftsummation :: Int32
+_KEY_botleftsummation = 2226
+-- constant _KEY_botrightparens
+
+_KEY_botrightparens :: Int32
+_KEY_botrightparens = 2222
+-- constant _KEY_botrightsqbracket
+
+_KEY_botrightsqbracket :: Int32
+_KEY_botrightsqbracket = 2218
+-- constant _KEY_botrightsummation
+
+_KEY_botrightsummation :: Int32
+_KEY_botrightsummation = 2230
+-- constant _KEY_bott
+
+_KEY_bott :: Int32
+_KEY_bott = 2550
+-- constant _KEY_botvertsummationconnector
+
+_KEY_botvertsummationconnector :: Int32
+_KEY_botvertsummationconnector = 2228
+-- constant _KEY_braceleft
+
+_KEY_braceleft :: Int32
+_KEY_braceleft = 123
+-- constant _KEY_braceright
+
+_KEY_braceright :: Int32
+_KEY_braceright = 125
+-- constant _KEY_bracketleft
+
+_KEY_bracketleft :: Int32
+_KEY_bracketleft = 91
+-- constant _KEY_bracketright
+
+_KEY_bracketright :: Int32
+_KEY_bracketright = 93
+-- constant _KEY_braille_blank
+
+_KEY_braille_blank :: Int32
+_KEY_braille_blank = 16787456
+-- constant _KEY_braille_dot_1
+
+_KEY_braille_dot_1 :: Int32
+_KEY_braille_dot_1 = 65521
+-- constant _KEY_braille_dot_10
+
+_KEY_braille_dot_10 :: Int32
+_KEY_braille_dot_10 = 65530
+-- constant _KEY_braille_dot_2
+
+_KEY_braille_dot_2 :: Int32
+_KEY_braille_dot_2 = 65522
+-- constant _KEY_braille_dot_3
+
+_KEY_braille_dot_3 :: Int32
+_KEY_braille_dot_3 = 65523
+-- constant _KEY_braille_dot_4
+
+_KEY_braille_dot_4 :: Int32
+_KEY_braille_dot_4 = 65524
+-- constant _KEY_braille_dot_5
+
+_KEY_braille_dot_5 :: Int32
+_KEY_braille_dot_5 = 65525
+-- constant _KEY_braille_dot_6
+
+_KEY_braille_dot_6 :: Int32
+_KEY_braille_dot_6 = 65526
+-- constant _KEY_braille_dot_7
+
+_KEY_braille_dot_7 :: Int32
+_KEY_braille_dot_7 = 65527
+-- constant _KEY_braille_dot_8
+
+_KEY_braille_dot_8 :: Int32
+_KEY_braille_dot_8 = 65528
+-- constant _KEY_braille_dot_9
+
+_KEY_braille_dot_9 :: Int32
+_KEY_braille_dot_9 = 65529
+-- constant _KEY_braille_dots_1
+
+_KEY_braille_dots_1 :: Int32
+_KEY_braille_dots_1 = 16787457
+-- constant _KEY_braille_dots_12
+
+_KEY_braille_dots_12 :: Int32
+_KEY_braille_dots_12 = 16787459
+-- constant _KEY_braille_dots_123
+
+_KEY_braille_dots_123 :: Int32
+_KEY_braille_dots_123 = 16787463
+-- constant _KEY_braille_dots_1234
+
+_KEY_braille_dots_1234 :: Int32
+_KEY_braille_dots_1234 = 16787471
+-- constant _KEY_braille_dots_12345
+
+_KEY_braille_dots_12345 :: Int32
+_KEY_braille_dots_12345 = 16787487
+-- constant _KEY_braille_dots_123456
+
+_KEY_braille_dots_123456 :: Int32
+_KEY_braille_dots_123456 = 16787519
+-- constant _KEY_braille_dots_1234567
+
+_KEY_braille_dots_1234567 :: Int32
+_KEY_braille_dots_1234567 = 16787583
+-- constant _KEY_braille_dots_12345678
+
+_KEY_braille_dots_12345678 :: Int32
+_KEY_braille_dots_12345678 = 16787711
+-- constant _KEY_braille_dots_1234568
+
+_KEY_braille_dots_1234568 :: Int32
+_KEY_braille_dots_1234568 = 16787647
+-- constant _KEY_braille_dots_123457
+
+_KEY_braille_dots_123457 :: Int32
+_KEY_braille_dots_123457 = 16787551
+-- constant _KEY_braille_dots_1234578
+
+_KEY_braille_dots_1234578 :: Int32
+_KEY_braille_dots_1234578 = 16787679
+-- constant _KEY_braille_dots_123458
+
+_KEY_braille_dots_123458 :: Int32
+_KEY_braille_dots_123458 = 16787615
+-- constant _KEY_braille_dots_12346
+
+_KEY_braille_dots_12346 :: Int32
+_KEY_braille_dots_12346 = 16787503
+-- constant _KEY_braille_dots_123467
+
+_KEY_braille_dots_123467 :: Int32
+_KEY_braille_dots_123467 = 16787567
+-- constant _KEY_braille_dots_1234678
+
+_KEY_braille_dots_1234678 :: Int32
+_KEY_braille_dots_1234678 = 16787695
+-- constant _KEY_braille_dots_123468
+
+_KEY_braille_dots_123468 :: Int32
+_KEY_braille_dots_123468 = 16787631
+-- constant _KEY_braille_dots_12347
+
+_KEY_braille_dots_12347 :: Int32
+_KEY_braille_dots_12347 = 16787535
+-- constant _KEY_braille_dots_123478
+
+_KEY_braille_dots_123478 :: Int32
+_KEY_braille_dots_123478 = 16787663
+-- constant _KEY_braille_dots_12348
+
+_KEY_braille_dots_12348 :: Int32
+_KEY_braille_dots_12348 = 16787599
+-- constant _KEY_braille_dots_1235
+
+_KEY_braille_dots_1235 :: Int32
+_KEY_braille_dots_1235 = 16787479
+-- constant _KEY_braille_dots_12356
+
+_KEY_braille_dots_12356 :: Int32
+_KEY_braille_dots_12356 = 16787511
+-- constant _KEY_braille_dots_123567
+
+_KEY_braille_dots_123567 :: Int32
+_KEY_braille_dots_123567 = 16787575
+-- constant _KEY_braille_dots_1235678
+
+_KEY_braille_dots_1235678 :: Int32
+_KEY_braille_dots_1235678 = 16787703
+-- constant _KEY_braille_dots_123568
+
+_KEY_braille_dots_123568 :: Int32
+_KEY_braille_dots_123568 = 16787639
+-- constant _KEY_braille_dots_12357
+
+_KEY_braille_dots_12357 :: Int32
+_KEY_braille_dots_12357 = 16787543
+-- constant _KEY_braille_dots_123578
+
+_KEY_braille_dots_123578 :: Int32
+_KEY_braille_dots_123578 = 16787671
+-- constant _KEY_braille_dots_12358
+
+_KEY_braille_dots_12358 :: Int32
+_KEY_braille_dots_12358 = 16787607
+-- constant _KEY_braille_dots_1236
+
+_KEY_braille_dots_1236 :: Int32
+_KEY_braille_dots_1236 = 16787495
+-- constant _KEY_braille_dots_12367
+
+_KEY_braille_dots_12367 :: Int32
+_KEY_braille_dots_12367 = 16787559
+-- constant _KEY_braille_dots_123678
+
+_KEY_braille_dots_123678 :: Int32
+_KEY_braille_dots_123678 = 16787687
+-- constant _KEY_braille_dots_12368
+
+_KEY_braille_dots_12368 :: Int32
+_KEY_braille_dots_12368 = 16787623
+-- constant _KEY_braille_dots_1237
+
+_KEY_braille_dots_1237 :: Int32
+_KEY_braille_dots_1237 = 16787527
+-- constant _KEY_braille_dots_12378
+
+_KEY_braille_dots_12378 :: Int32
+_KEY_braille_dots_12378 = 16787655
+-- constant _KEY_braille_dots_1238
+
+_KEY_braille_dots_1238 :: Int32
+_KEY_braille_dots_1238 = 16787591
+-- constant _KEY_braille_dots_124
+
+_KEY_braille_dots_124 :: Int32
+_KEY_braille_dots_124 = 16787467
+-- constant _KEY_braille_dots_1245
+
+_KEY_braille_dots_1245 :: Int32
+_KEY_braille_dots_1245 = 16787483
+-- constant _KEY_braille_dots_12456
+
+_KEY_braille_dots_12456 :: Int32
+_KEY_braille_dots_12456 = 16787515
+-- constant _KEY_braille_dots_124567
+
+_KEY_braille_dots_124567 :: Int32
+_KEY_braille_dots_124567 = 16787579
+-- constant _KEY_braille_dots_1245678
+
+_KEY_braille_dots_1245678 :: Int32
+_KEY_braille_dots_1245678 = 16787707
+-- constant _KEY_braille_dots_124568
+
+_KEY_braille_dots_124568 :: Int32
+_KEY_braille_dots_124568 = 16787643
+-- constant _KEY_braille_dots_12457
+
+_KEY_braille_dots_12457 :: Int32
+_KEY_braille_dots_12457 = 16787547
+-- constant _KEY_braille_dots_124578
+
+_KEY_braille_dots_124578 :: Int32
+_KEY_braille_dots_124578 = 16787675
+-- constant _KEY_braille_dots_12458
+
+_KEY_braille_dots_12458 :: Int32
+_KEY_braille_dots_12458 = 16787611
+-- constant _KEY_braille_dots_1246
+
+_KEY_braille_dots_1246 :: Int32
+_KEY_braille_dots_1246 = 16787499
+-- constant _KEY_braille_dots_12467
+
+_KEY_braille_dots_12467 :: Int32
+_KEY_braille_dots_12467 = 16787563
+-- constant _KEY_braille_dots_124678
+
+_KEY_braille_dots_124678 :: Int32
+_KEY_braille_dots_124678 = 16787691
+-- constant _KEY_braille_dots_12468
+
+_KEY_braille_dots_12468 :: Int32
+_KEY_braille_dots_12468 = 16787627
+-- constant _KEY_braille_dots_1247
+
+_KEY_braille_dots_1247 :: Int32
+_KEY_braille_dots_1247 = 16787531
+-- constant _KEY_braille_dots_12478
+
+_KEY_braille_dots_12478 :: Int32
+_KEY_braille_dots_12478 = 16787659
+-- constant _KEY_braille_dots_1248
+
+_KEY_braille_dots_1248 :: Int32
+_KEY_braille_dots_1248 = 16787595
+-- constant _KEY_braille_dots_125
+
+_KEY_braille_dots_125 :: Int32
+_KEY_braille_dots_125 = 16787475
+-- constant _KEY_braille_dots_1256
+
+_KEY_braille_dots_1256 :: Int32
+_KEY_braille_dots_1256 = 16787507
+-- constant _KEY_braille_dots_12567
+
+_KEY_braille_dots_12567 :: Int32
+_KEY_braille_dots_12567 = 16787571
+-- constant _KEY_braille_dots_125678
+
+_KEY_braille_dots_125678 :: Int32
+_KEY_braille_dots_125678 = 16787699
+-- constant _KEY_braille_dots_12568
+
+_KEY_braille_dots_12568 :: Int32
+_KEY_braille_dots_12568 = 16787635
+-- constant _KEY_braille_dots_1257
+
+_KEY_braille_dots_1257 :: Int32
+_KEY_braille_dots_1257 = 16787539
+-- constant _KEY_braille_dots_12578
+
+_KEY_braille_dots_12578 :: Int32
+_KEY_braille_dots_12578 = 16787667
+-- constant _KEY_braille_dots_1258
+
+_KEY_braille_dots_1258 :: Int32
+_KEY_braille_dots_1258 = 16787603
+-- constant _KEY_braille_dots_126
+
+_KEY_braille_dots_126 :: Int32
+_KEY_braille_dots_126 = 16787491
+-- constant _KEY_braille_dots_1267
+
+_KEY_braille_dots_1267 :: Int32
+_KEY_braille_dots_1267 = 16787555
+-- constant _KEY_braille_dots_12678
+
+_KEY_braille_dots_12678 :: Int32
+_KEY_braille_dots_12678 = 16787683
+-- constant _KEY_braille_dots_1268
+
+_KEY_braille_dots_1268 :: Int32
+_KEY_braille_dots_1268 = 16787619
+-- constant _KEY_braille_dots_127
+
+_KEY_braille_dots_127 :: Int32
+_KEY_braille_dots_127 = 16787523
+-- constant _KEY_braille_dots_1278
+
+_KEY_braille_dots_1278 :: Int32
+_KEY_braille_dots_1278 = 16787651
+-- constant _KEY_braille_dots_128
+
+_KEY_braille_dots_128 :: Int32
+_KEY_braille_dots_128 = 16787587
+-- constant _KEY_braille_dots_13
+
+_KEY_braille_dots_13 :: Int32
+_KEY_braille_dots_13 = 16787461
+-- constant _KEY_braille_dots_134
+
+_KEY_braille_dots_134 :: Int32
+_KEY_braille_dots_134 = 16787469
+-- constant _KEY_braille_dots_1345
+
+_KEY_braille_dots_1345 :: Int32
+_KEY_braille_dots_1345 = 16787485
+-- constant _KEY_braille_dots_13456
+
+_KEY_braille_dots_13456 :: Int32
+_KEY_braille_dots_13456 = 16787517
+-- constant _KEY_braille_dots_134567
+
+_KEY_braille_dots_134567 :: Int32
+_KEY_braille_dots_134567 = 16787581
+-- constant _KEY_braille_dots_1345678
+
+_KEY_braille_dots_1345678 :: Int32
+_KEY_braille_dots_1345678 = 16787709
+-- constant _KEY_braille_dots_134568
+
+_KEY_braille_dots_134568 :: Int32
+_KEY_braille_dots_134568 = 16787645
+-- constant _KEY_braille_dots_13457
+
+_KEY_braille_dots_13457 :: Int32
+_KEY_braille_dots_13457 = 16787549
+-- constant _KEY_braille_dots_134578
+
+_KEY_braille_dots_134578 :: Int32
+_KEY_braille_dots_134578 = 16787677
+-- constant _KEY_braille_dots_13458
+
+_KEY_braille_dots_13458 :: Int32
+_KEY_braille_dots_13458 = 16787613
+-- constant _KEY_braille_dots_1346
+
+_KEY_braille_dots_1346 :: Int32
+_KEY_braille_dots_1346 = 16787501
+-- constant _KEY_braille_dots_13467
+
+_KEY_braille_dots_13467 :: Int32
+_KEY_braille_dots_13467 = 16787565
+-- constant _KEY_braille_dots_134678
+
+_KEY_braille_dots_134678 :: Int32
+_KEY_braille_dots_134678 = 16787693
+-- constant _KEY_braille_dots_13468
+
+_KEY_braille_dots_13468 :: Int32
+_KEY_braille_dots_13468 = 16787629
+-- constant _KEY_braille_dots_1347
+
+_KEY_braille_dots_1347 :: Int32
+_KEY_braille_dots_1347 = 16787533
+-- constant _KEY_braille_dots_13478
+
+_KEY_braille_dots_13478 :: Int32
+_KEY_braille_dots_13478 = 16787661
+-- constant _KEY_braille_dots_1348
+
+_KEY_braille_dots_1348 :: Int32
+_KEY_braille_dots_1348 = 16787597
+-- constant _KEY_braille_dots_135
+
+_KEY_braille_dots_135 :: Int32
+_KEY_braille_dots_135 = 16787477
+-- constant _KEY_braille_dots_1356
+
+_KEY_braille_dots_1356 :: Int32
+_KEY_braille_dots_1356 = 16787509
+-- constant _KEY_braille_dots_13567
+
+_KEY_braille_dots_13567 :: Int32
+_KEY_braille_dots_13567 = 16787573
+-- constant _KEY_braille_dots_135678
+
+_KEY_braille_dots_135678 :: Int32
+_KEY_braille_dots_135678 = 16787701
+-- constant _KEY_braille_dots_13568
+
+_KEY_braille_dots_13568 :: Int32
+_KEY_braille_dots_13568 = 16787637
+-- constant _KEY_braille_dots_1357
+
+_KEY_braille_dots_1357 :: Int32
+_KEY_braille_dots_1357 = 16787541
+-- constant _KEY_braille_dots_13578
+
+_KEY_braille_dots_13578 :: Int32
+_KEY_braille_dots_13578 = 16787669
+-- constant _KEY_braille_dots_1358
+
+_KEY_braille_dots_1358 :: Int32
+_KEY_braille_dots_1358 = 16787605
+-- constant _KEY_braille_dots_136
+
+_KEY_braille_dots_136 :: Int32
+_KEY_braille_dots_136 = 16787493
+-- constant _KEY_braille_dots_1367
+
+_KEY_braille_dots_1367 :: Int32
+_KEY_braille_dots_1367 = 16787557
+-- constant _KEY_braille_dots_13678
+
+_KEY_braille_dots_13678 :: Int32
+_KEY_braille_dots_13678 = 16787685
+-- constant _KEY_braille_dots_1368
+
+_KEY_braille_dots_1368 :: Int32
+_KEY_braille_dots_1368 = 16787621
+-- constant _KEY_braille_dots_137
+
+_KEY_braille_dots_137 :: Int32
+_KEY_braille_dots_137 = 16787525
+-- constant _KEY_braille_dots_1378
+
+_KEY_braille_dots_1378 :: Int32
+_KEY_braille_dots_1378 = 16787653
+-- constant _KEY_braille_dots_138
+
+_KEY_braille_dots_138 :: Int32
+_KEY_braille_dots_138 = 16787589
+-- constant _KEY_braille_dots_14
+
+_KEY_braille_dots_14 :: Int32
+_KEY_braille_dots_14 = 16787465
+-- constant _KEY_braille_dots_145
+
+_KEY_braille_dots_145 :: Int32
+_KEY_braille_dots_145 = 16787481
+-- constant _KEY_braille_dots_1456
+
+_KEY_braille_dots_1456 :: Int32
+_KEY_braille_dots_1456 = 16787513
+-- constant _KEY_braille_dots_14567
+
+_KEY_braille_dots_14567 :: Int32
+_KEY_braille_dots_14567 = 16787577
+-- constant _KEY_braille_dots_145678
+
+_KEY_braille_dots_145678 :: Int32
+_KEY_braille_dots_145678 = 16787705
+-- constant _KEY_braille_dots_14568
+
+_KEY_braille_dots_14568 :: Int32
+_KEY_braille_dots_14568 = 16787641
+-- constant _KEY_braille_dots_1457
+
+_KEY_braille_dots_1457 :: Int32
+_KEY_braille_dots_1457 = 16787545
+-- constant _KEY_braille_dots_14578
+
+_KEY_braille_dots_14578 :: Int32
+_KEY_braille_dots_14578 = 16787673
+-- constant _KEY_braille_dots_1458
+
+_KEY_braille_dots_1458 :: Int32
+_KEY_braille_dots_1458 = 16787609
+-- constant _KEY_braille_dots_146
+
+_KEY_braille_dots_146 :: Int32
+_KEY_braille_dots_146 = 16787497
+-- constant _KEY_braille_dots_1467
+
+_KEY_braille_dots_1467 :: Int32
+_KEY_braille_dots_1467 = 16787561
+-- constant _KEY_braille_dots_14678
+
+_KEY_braille_dots_14678 :: Int32
+_KEY_braille_dots_14678 = 16787689
+-- constant _KEY_braille_dots_1468
+
+_KEY_braille_dots_1468 :: Int32
+_KEY_braille_dots_1468 = 16787625
+-- constant _KEY_braille_dots_147
+
+_KEY_braille_dots_147 :: Int32
+_KEY_braille_dots_147 = 16787529
+-- constant _KEY_braille_dots_1478
+
+_KEY_braille_dots_1478 :: Int32
+_KEY_braille_dots_1478 = 16787657
+-- constant _KEY_braille_dots_148
+
+_KEY_braille_dots_148 :: Int32
+_KEY_braille_dots_148 = 16787593
+-- constant _KEY_braille_dots_15
+
+_KEY_braille_dots_15 :: Int32
+_KEY_braille_dots_15 = 16787473
+-- constant _KEY_braille_dots_156
+
+_KEY_braille_dots_156 :: Int32
+_KEY_braille_dots_156 = 16787505
+-- constant _KEY_braille_dots_1567
+
+_KEY_braille_dots_1567 :: Int32
+_KEY_braille_dots_1567 = 16787569
+-- constant _KEY_braille_dots_15678
+
+_KEY_braille_dots_15678 :: Int32
+_KEY_braille_dots_15678 = 16787697
+-- constant _KEY_braille_dots_1568
+
+_KEY_braille_dots_1568 :: Int32
+_KEY_braille_dots_1568 = 16787633
+-- constant _KEY_braille_dots_157
+
+_KEY_braille_dots_157 :: Int32
+_KEY_braille_dots_157 = 16787537
+-- constant _KEY_braille_dots_1578
+
+_KEY_braille_dots_1578 :: Int32
+_KEY_braille_dots_1578 = 16787665
+-- constant _KEY_braille_dots_158
+
+_KEY_braille_dots_158 :: Int32
+_KEY_braille_dots_158 = 16787601
+-- constant _KEY_braille_dots_16
+
+_KEY_braille_dots_16 :: Int32
+_KEY_braille_dots_16 = 16787489
+-- constant _KEY_braille_dots_167
+
+_KEY_braille_dots_167 :: Int32
+_KEY_braille_dots_167 = 16787553
+-- constant _KEY_braille_dots_1678
+
+_KEY_braille_dots_1678 :: Int32
+_KEY_braille_dots_1678 = 16787681
+-- constant _KEY_braille_dots_168
+
+_KEY_braille_dots_168 :: Int32
+_KEY_braille_dots_168 = 16787617
+-- constant _KEY_braille_dots_17
+
+_KEY_braille_dots_17 :: Int32
+_KEY_braille_dots_17 = 16787521
+-- constant _KEY_braille_dots_178
+
+_KEY_braille_dots_178 :: Int32
+_KEY_braille_dots_178 = 16787649
+-- constant _KEY_braille_dots_18
+
+_KEY_braille_dots_18 :: Int32
+_KEY_braille_dots_18 = 16787585
+-- constant _KEY_braille_dots_2
+
+_KEY_braille_dots_2 :: Int32
+_KEY_braille_dots_2 = 16787458
+-- constant _KEY_braille_dots_23
+
+_KEY_braille_dots_23 :: Int32
+_KEY_braille_dots_23 = 16787462
+-- constant _KEY_braille_dots_234
+
+_KEY_braille_dots_234 :: Int32
+_KEY_braille_dots_234 = 16787470
+-- constant _KEY_braille_dots_2345
+
+_KEY_braille_dots_2345 :: Int32
+_KEY_braille_dots_2345 = 16787486
+-- constant _KEY_braille_dots_23456
+
+_KEY_braille_dots_23456 :: Int32
+_KEY_braille_dots_23456 = 16787518
+-- constant _KEY_braille_dots_234567
+
+_KEY_braille_dots_234567 :: Int32
+_KEY_braille_dots_234567 = 16787582
+-- constant _KEY_braille_dots_2345678
+
+_KEY_braille_dots_2345678 :: Int32
+_KEY_braille_dots_2345678 = 16787710
+-- constant _KEY_braille_dots_234568
+
+_KEY_braille_dots_234568 :: Int32
+_KEY_braille_dots_234568 = 16787646
+-- constant _KEY_braille_dots_23457
+
+_KEY_braille_dots_23457 :: Int32
+_KEY_braille_dots_23457 = 16787550
+-- constant _KEY_braille_dots_234578
+
+_KEY_braille_dots_234578 :: Int32
+_KEY_braille_dots_234578 = 16787678
+-- constant _KEY_braille_dots_23458
+
+_KEY_braille_dots_23458 :: Int32
+_KEY_braille_dots_23458 = 16787614
+-- constant _KEY_braille_dots_2346
+
+_KEY_braille_dots_2346 :: Int32
+_KEY_braille_dots_2346 = 16787502
+-- constant _KEY_braille_dots_23467
+
+_KEY_braille_dots_23467 :: Int32
+_KEY_braille_dots_23467 = 16787566
+-- constant _KEY_braille_dots_234678
+
+_KEY_braille_dots_234678 :: Int32
+_KEY_braille_dots_234678 = 16787694
+-- constant _KEY_braille_dots_23468
+
+_KEY_braille_dots_23468 :: Int32
+_KEY_braille_dots_23468 = 16787630
+-- constant _KEY_braille_dots_2347
+
+_KEY_braille_dots_2347 :: Int32
+_KEY_braille_dots_2347 = 16787534
+-- constant _KEY_braille_dots_23478
+
+_KEY_braille_dots_23478 :: Int32
+_KEY_braille_dots_23478 = 16787662
+-- constant _KEY_braille_dots_2348
+
+_KEY_braille_dots_2348 :: Int32
+_KEY_braille_dots_2348 = 16787598
+-- constant _KEY_braille_dots_235
+
+_KEY_braille_dots_235 :: Int32
+_KEY_braille_dots_235 = 16787478
+-- constant _KEY_braille_dots_2356
+
+_KEY_braille_dots_2356 :: Int32
+_KEY_braille_dots_2356 = 16787510
+-- constant _KEY_braille_dots_23567
+
+_KEY_braille_dots_23567 :: Int32
+_KEY_braille_dots_23567 = 16787574
+-- constant _KEY_braille_dots_235678
+
+_KEY_braille_dots_235678 :: Int32
+_KEY_braille_dots_235678 = 16787702
+-- constant _KEY_braille_dots_23568
+
+_KEY_braille_dots_23568 :: Int32
+_KEY_braille_dots_23568 = 16787638
+-- constant _KEY_braille_dots_2357
+
+_KEY_braille_dots_2357 :: Int32
+_KEY_braille_dots_2357 = 16787542
+-- constant _KEY_braille_dots_23578
+
+_KEY_braille_dots_23578 :: Int32
+_KEY_braille_dots_23578 = 16787670
+-- constant _KEY_braille_dots_2358
+
+_KEY_braille_dots_2358 :: Int32
+_KEY_braille_dots_2358 = 16787606
+-- constant _KEY_braille_dots_236
+
+_KEY_braille_dots_236 :: Int32
+_KEY_braille_dots_236 = 16787494
+-- constant _KEY_braille_dots_2367
+
+_KEY_braille_dots_2367 :: Int32
+_KEY_braille_dots_2367 = 16787558
+-- constant _KEY_braille_dots_23678
+
+_KEY_braille_dots_23678 :: Int32
+_KEY_braille_dots_23678 = 16787686
+-- constant _KEY_braille_dots_2368
+
+_KEY_braille_dots_2368 :: Int32
+_KEY_braille_dots_2368 = 16787622
+-- constant _KEY_braille_dots_237
+
+_KEY_braille_dots_237 :: Int32
+_KEY_braille_dots_237 = 16787526
+-- constant _KEY_braille_dots_2378
+
+_KEY_braille_dots_2378 :: Int32
+_KEY_braille_dots_2378 = 16787654
+-- constant _KEY_braille_dots_238
+
+_KEY_braille_dots_238 :: Int32
+_KEY_braille_dots_238 = 16787590
+-- constant _KEY_braille_dots_24
+
+_KEY_braille_dots_24 :: Int32
+_KEY_braille_dots_24 = 16787466
+-- constant _KEY_braille_dots_245
+
+_KEY_braille_dots_245 :: Int32
+_KEY_braille_dots_245 = 16787482
+-- constant _KEY_braille_dots_2456
+
+_KEY_braille_dots_2456 :: Int32
+_KEY_braille_dots_2456 = 16787514
+-- constant _KEY_braille_dots_24567
+
+_KEY_braille_dots_24567 :: Int32
+_KEY_braille_dots_24567 = 16787578
+-- constant _KEY_braille_dots_245678
+
+_KEY_braille_dots_245678 :: Int32
+_KEY_braille_dots_245678 = 16787706
+-- constant _KEY_braille_dots_24568
+
+_KEY_braille_dots_24568 :: Int32
+_KEY_braille_dots_24568 = 16787642
+-- constant _KEY_braille_dots_2457
+
+_KEY_braille_dots_2457 :: Int32
+_KEY_braille_dots_2457 = 16787546
+-- constant _KEY_braille_dots_24578
+
+_KEY_braille_dots_24578 :: Int32
+_KEY_braille_dots_24578 = 16787674
+-- constant _KEY_braille_dots_2458
+
+_KEY_braille_dots_2458 :: Int32
+_KEY_braille_dots_2458 = 16787610
+-- constant _KEY_braille_dots_246
+
+_KEY_braille_dots_246 :: Int32
+_KEY_braille_dots_246 = 16787498
+-- constant _KEY_braille_dots_2467
+
+_KEY_braille_dots_2467 :: Int32
+_KEY_braille_dots_2467 = 16787562
+-- constant _KEY_braille_dots_24678
+
+_KEY_braille_dots_24678 :: Int32
+_KEY_braille_dots_24678 = 16787690
+-- constant _KEY_braille_dots_2468
+
+_KEY_braille_dots_2468 :: Int32
+_KEY_braille_dots_2468 = 16787626
+-- constant _KEY_braille_dots_247
+
+_KEY_braille_dots_247 :: Int32
+_KEY_braille_dots_247 = 16787530
+-- constant _KEY_braille_dots_2478
+
+_KEY_braille_dots_2478 :: Int32
+_KEY_braille_dots_2478 = 16787658
+-- constant _KEY_braille_dots_248
+
+_KEY_braille_dots_248 :: Int32
+_KEY_braille_dots_248 = 16787594
+-- constant _KEY_braille_dots_25
+
+_KEY_braille_dots_25 :: Int32
+_KEY_braille_dots_25 = 16787474
+-- constant _KEY_braille_dots_256
+
+_KEY_braille_dots_256 :: Int32
+_KEY_braille_dots_256 = 16787506
+-- constant _KEY_braille_dots_2567
+
+_KEY_braille_dots_2567 :: Int32
+_KEY_braille_dots_2567 = 16787570
+-- constant _KEY_braille_dots_25678
+
+_KEY_braille_dots_25678 :: Int32
+_KEY_braille_dots_25678 = 16787698
+-- constant _KEY_braille_dots_2568
+
+_KEY_braille_dots_2568 :: Int32
+_KEY_braille_dots_2568 = 16787634
+-- constant _KEY_braille_dots_257
+
+_KEY_braille_dots_257 :: Int32
+_KEY_braille_dots_257 = 16787538
+-- constant _KEY_braille_dots_2578
+
+_KEY_braille_dots_2578 :: Int32
+_KEY_braille_dots_2578 = 16787666
+-- constant _KEY_braille_dots_258
+
+_KEY_braille_dots_258 :: Int32
+_KEY_braille_dots_258 = 16787602
+-- constant _KEY_braille_dots_26
+
+_KEY_braille_dots_26 :: Int32
+_KEY_braille_dots_26 = 16787490
+-- constant _KEY_braille_dots_267
+
+_KEY_braille_dots_267 :: Int32
+_KEY_braille_dots_267 = 16787554
+-- constant _KEY_braille_dots_2678
+
+_KEY_braille_dots_2678 :: Int32
+_KEY_braille_dots_2678 = 16787682
+-- constant _KEY_braille_dots_268
+
+_KEY_braille_dots_268 :: Int32
+_KEY_braille_dots_268 = 16787618
+-- constant _KEY_braille_dots_27
+
+_KEY_braille_dots_27 :: Int32
+_KEY_braille_dots_27 = 16787522
+-- constant _KEY_braille_dots_278
+
+_KEY_braille_dots_278 :: Int32
+_KEY_braille_dots_278 = 16787650
+-- constant _KEY_braille_dots_28
+
+_KEY_braille_dots_28 :: Int32
+_KEY_braille_dots_28 = 16787586
+-- constant _KEY_braille_dots_3
+
+_KEY_braille_dots_3 :: Int32
+_KEY_braille_dots_3 = 16787460
+-- constant _KEY_braille_dots_34
+
+_KEY_braille_dots_34 :: Int32
+_KEY_braille_dots_34 = 16787468
+-- constant _KEY_braille_dots_345
+
+_KEY_braille_dots_345 :: Int32
+_KEY_braille_dots_345 = 16787484
+-- constant _KEY_braille_dots_3456
+
+_KEY_braille_dots_3456 :: Int32
+_KEY_braille_dots_3456 = 16787516
+-- constant _KEY_braille_dots_34567
+
+_KEY_braille_dots_34567 :: Int32
+_KEY_braille_dots_34567 = 16787580
+-- constant _KEY_braille_dots_345678
+
+_KEY_braille_dots_345678 :: Int32
+_KEY_braille_dots_345678 = 16787708
+-- constant _KEY_braille_dots_34568
+
+_KEY_braille_dots_34568 :: Int32
+_KEY_braille_dots_34568 = 16787644
+-- constant _KEY_braille_dots_3457
+
+_KEY_braille_dots_3457 :: Int32
+_KEY_braille_dots_3457 = 16787548
+-- constant _KEY_braille_dots_34578
+
+_KEY_braille_dots_34578 :: Int32
+_KEY_braille_dots_34578 = 16787676
+-- constant _KEY_braille_dots_3458
+
+_KEY_braille_dots_3458 :: Int32
+_KEY_braille_dots_3458 = 16787612
+-- constant _KEY_braille_dots_346
+
+_KEY_braille_dots_346 :: Int32
+_KEY_braille_dots_346 = 16787500
+-- constant _KEY_braille_dots_3467
+
+_KEY_braille_dots_3467 :: Int32
+_KEY_braille_dots_3467 = 16787564
+-- constant _KEY_braille_dots_34678
+
+_KEY_braille_dots_34678 :: Int32
+_KEY_braille_dots_34678 = 16787692
+-- constant _KEY_braille_dots_3468
+
+_KEY_braille_dots_3468 :: Int32
+_KEY_braille_dots_3468 = 16787628
+-- constant _KEY_braille_dots_347
+
+_KEY_braille_dots_347 :: Int32
+_KEY_braille_dots_347 = 16787532
+-- constant _KEY_braille_dots_3478
+
+_KEY_braille_dots_3478 :: Int32
+_KEY_braille_dots_3478 = 16787660
+-- constant _KEY_braille_dots_348
+
+_KEY_braille_dots_348 :: Int32
+_KEY_braille_dots_348 = 16787596
+-- constant _KEY_braille_dots_35
+
+_KEY_braille_dots_35 :: Int32
+_KEY_braille_dots_35 = 16787476
+-- constant _KEY_braille_dots_356
+
+_KEY_braille_dots_356 :: Int32
+_KEY_braille_dots_356 = 16787508
+-- constant _KEY_braille_dots_3567
+
+_KEY_braille_dots_3567 :: Int32
+_KEY_braille_dots_3567 = 16787572
+-- constant _KEY_braille_dots_35678
+
+_KEY_braille_dots_35678 :: Int32
+_KEY_braille_dots_35678 = 16787700
+-- constant _KEY_braille_dots_3568
+
+_KEY_braille_dots_3568 :: Int32
+_KEY_braille_dots_3568 = 16787636
+-- constant _KEY_braille_dots_357
+
+_KEY_braille_dots_357 :: Int32
+_KEY_braille_dots_357 = 16787540
+-- constant _KEY_braille_dots_3578
+
+_KEY_braille_dots_3578 :: Int32
+_KEY_braille_dots_3578 = 16787668
+-- constant _KEY_braille_dots_358
+
+_KEY_braille_dots_358 :: Int32
+_KEY_braille_dots_358 = 16787604
+-- constant _KEY_braille_dots_36
+
+_KEY_braille_dots_36 :: Int32
+_KEY_braille_dots_36 = 16787492
+-- constant _KEY_braille_dots_367
+
+_KEY_braille_dots_367 :: Int32
+_KEY_braille_dots_367 = 16787556
+-- constant _KEY_braille_dots_3678
+
+_KEY_braille_dots_3678 :: Int32
+_KEY_braille_dots_3678 = 16787684
+-- constant _KEY_braille_dots_368
+
+_KEY_braille_dots_368 :: Int32
+_KEY_braille_dots_368 = 16787620
+-- constant _KEY_braille_dots_37
+
+_KEY_braille_dots_37 :: Int32
+_KEY_braille_dots_37 = 16787524
+-- constant _KEY_braille_dots_378
+
+_KEY_braille_dots_378 :: Int32
+_KEY_braille_dots_378 = 16787652
+-- constant _KEY_braille_dots_38
+
+_KEY_braille_dots_38 :: Int32
+_KEY_braille_dots_38 = 16787588
+-- constant _KEY_braille_dots_4
+
+_KEY_braille_dots_4 :: Int32
+_KEY_braille_dots_4 = 16787464
+-- constant _KEY_braille_dots_45
+
+_KEY_braille_dots_45 :: Int32
+_KEY_braille_dots_45 = 16787480
+-- constant _KEY_braille_dots_456
+
+_KEY_braille_dots_456 :: Int32
+_KEY_braille_dots_456 = 16787512
+-- constant _KEY_braille_dots_4567
+
+_KEY_braille_dots_4567 :: Int32
+_KEY_braille_dots_4567 = 16787576
+-- constant _KEY_braille_dots_45678
+
+_KEY_braille_dots_45678 :: Int32
+_KEY_braille_dots_45678 = 16787704
+-- constant _KEY_braille_dots_4568
+
+_KEY_braille_dots_4568 :: Int32
+_KEY_braille_dots_4568 = 16787640
+-- constant _KEY_braille_dots_457
+
+_KEY_braille_dots_457 :: Int32
+_KEY_braille_dots_457 = 16787544
+-- constant _KEY_braille_dots_4578
+
+_KEY_braille_dots_4578 :: Int32
+_KEY_braille_dots_4578 = 16787672
+-- constant _KEY_braille_dots_458
+
+_KEY_braille_dots_458 :: Int32
+_KEY_braille_dots_458 = 16787608
+-- constant _KEY_braille_dots_46
+
+_KEY_braille_dots_46 :: Int32
+_KEY_braille_dots_46 = 16787496
+-- constant _KEY_braille_dots_467
+
+_KEY_braille_dots_467 :: Int32
+_KEY_braille_dots_467 = 16787560
+-- constant _KEY_braille_dots_4678
+
+_KEY_braille_dots_4678 :: Int32
+_KEY_braille_dots_4678 = 16787688
+-- constant _KEY_braille_dots_468
+
+_KEY_braille_dots_468 :: Int32
+_KEY_braille_dots_468 = 16787624
+-- constant _KEY_braille_dots_47
+
+_KEY_braille_dots_47 :: Int32
+_KEY_braille_dots_47 = 16787528
+-- constant _KEY_braille_dots_478
+
+_KEY_braille_dots_478 :: Int32
+_KEY_braille_dots_478 = 16787656
+-- constant _KEY_braille_dots_48
+
+_KEY_braille_dots_48 :: Int32
+_KEY_braille_dots_48 = 16787592
+-- constant _KEY_braille_dots_5
+
+_KEY_braille_dots_5 :: Int32
+_KEY_braille_dots_5 = 16787472
+-- constant _KEY_braille_dots_56
+
+_KEY_braille_dots_56 :: Int32
+_KEY_braille_dots_56 = 16787504
+-- constant _KEY_braille_dots_567
+
+_KEY_braille_dots_567 :: Int32
+_KEY_braille_dots_567 = 16787568
+-- constant _KEY_braille_dots_5678
+
+_KEY_braille_dots_5678 :: Int32
+_KEY_braille_dots_5678 = 16787696
+-- constant _KEY_braille_dots_568
+
+_KEY_braille_dots_568 :: Int32
+_KEY_braille_dots_568 = 16787632
+-- constant _KEY_braille_dots_57
+
+_KEY_braille_dots_57 :: Int32
+_KEY_braille_dots_57 = 16787536
+-- constant _KEY_braille_dots_578
+
+_KEY_braille_dots_578 :: Int32
+_KEY_braille_dots_578 = 16787664
+-- constant _KEY_braille_dots_58
+
+_KEY_braille_dots_58 :: Int32
+_KEY_braille_dots_58 = 16787600
+-- constant _KEY_braille_dots_6
+
+_KEY_braille_dots_6 :: Int32
+_KEY_braille_dots_6 = 16787488
+-- constant _KEY_braille_dots_67
+
+_KEY_braille_dots_67 :: Int32
+_KEY_braille_dots_67 = 16787552
+-- constant _KEY_braille_dots_678
+
+_KEY_braille_dots_678 :: Int32
+_KEY_braille_dots_678 = 16787680
+-- constant _KEY_braille_dots_68
+
+_KEY_braille_dots_68 :: Int32
+_KEY_braille_dots_68 = 16787616
+-- constant _KEY_braille_dots_7
+
+_KEY_braille_dots_7 :: Int32
+_KEY_braille_dots_7 = 16787520
+-- constant _KEY_braille_dots_78
+
+_KEY_braille_dots_78 :: Int32
+_KEY_braille_dots_78 = 16787648
+-- constant _KEY_braille_dots_8
+
+_KEY_braille_dots_8 :: Int32
+_KEY_braille_dots_8 = 16787584
+-- constant _KEY_breve
+
+_KEY_breve :: Int32
+_KEY_breve = 418
+-- constant _KEY_brokenbar
+
+_KEY_brokenbar :: Int32
+_KEY_brokenbar = 166
+-- constant _KEY_c
+
+_KEY_c :: Int32
+_KEY_c = 99
+-- constant _KEY_c_h
+
+_KEY_c_h :: Int32
+_KEY_c_h = 65187
+-- constant _KEY_cabovedot
+
+_KEY_cabovedot :: Int32
+_KEY_cabovedot = 741
+-- constant _KEY_cacute
+
+_KEY_cacute :: Int32
+_KEY_cacute = 486
+-- constant _KEY_careof
+
+_KEY_careof :: Int32
+_KEY_careof = 2744
+-- constant _KEY_caret
+
+_KEY_caret :: Int32
+_KEY_caret = 2812
+-- constant _KEY_caron
+
+_KEY_caron :: Int32
+_KEY_caron = 439
+-- constant _KEY_ccaron
+
+_KEY_ccaron :: Int32
+_KEY_ccaron = 488
+-- constant _KEY_ccedilla
+
+_KEY_ccedilla :: Int32
+_KEY_ccedilla = 231
+-- constant _KEY_ccircumflex
+
+_KEY_ccircumflex :: Int32
+_KEY_ccircumflex = 742
+-- constant _KEY_cedilla
+
+_KEY_cedilla :: Int32
+_KEY_cedilla = 184
+-- constant _KEY_cent
+
+_KEY_cent :: Int32
+_KEY_cent = 162
+-- constant _KEY_ch
+
+_KEY_ch :: Int32
+_KEY_ch = 65184
+-- constant _KEY_checkerboard
+
+_KEY_checkerboard :: Int32
+_KEY_checkerboard = 2529
+-- constant _KEY_checkmark
+
+_KEY_checkmark :: Int32
+_KEY_checkmark = 2803
+-- constant _KEY_circle
+
+_KEY_circle :: Int32
+_KEY_circle = 3023
+-- constant _KEY_club
+
+_KEY_club :: Int32
+_KEY_club = 2796
+-- constant _KEY_colon
+
+_KEY_colon :: Int32
+_KEY_colon = 58
+-- constant _KEY_comma
+
+_KEY_comma :: Int32
+_KEY_comma = 44
+-- constant _KEY_containsas
+
+_KEY_containsas :: Int32
+_KEY_containsas = 16785931
+-- constant _KEY_copyright
+
+_KEY_copyright :: Int32
+_KEY_copyright = 169
+-- constant _KEY_cr
+
+_KEY_cr :: Int32
+_KEY_cr = 2532
+-- constant _KEY_crossinglines
+
+_KEY_crossinglines :: Int32
+_KEY_crossinglines = 2542
+-- constant _KEY_cuberoot
+
+_KEY_cuberoot :: Int32
+_KEY_cuberoot = 16785947
+-- constant _KEY_currency
+
+_KEY_currency :: Int32
+_KEY_currency = 164
+-- constant _KEY_cursor
+
+_KEY_cursor :: Int32
+_KEY_cursor = 2815
+-- constant _KEY_d
+
+_KEY_d :: Int32
+_KEY_d = 100
+-- constant _KEY_dabovedot
+
+_KEY_dabovedot :: Int32
+_KEY_dabovedot = 16784907
+-- constant _KEY_dagger
+
+_KEY_dagger :: Int32
+_KEY_dagger = 2801
+-- constant _KEY_dcaron
+
+_KEY_dcaron :: Int32
+_KEY_dcaron = 495
+-- constant _KEY_dead_A
+
+_KEY_dead_A :: Int32
+_KEY_dead_A = 65153
+-- constant _KEY_dead_E
+
+_KEY_dead_E :: Int32
+_KEY_dead_E = 65155
+-- constant _KEY_dead_I
+
+_KEY_dead_I :: Int32
+_KEY_dead_I = 65157
+-- constant _KEY_dead_O
+
+_KEY_dead_O :: Int32
+_KEY_dead_O = 65159
+-- constant _KEY_dead_U
+
+_KEY_dead_U :: Int32
+_KEY_dead_U = 65161
+-- constant _KEY_dead_a
+
+_KEY_dead_a :: Int32
+_KEY_dead_a = 65152
+-- constant _KEY_dead_abovecomma
+
+_KEY_dead_abovecomma :: Int32
+_KEY_dead_abovecomma = 65124
+-- constant _KEY_dead_abovedot
+
+_KEY_dead_abovedot :: Int32
+_KEY_dead_abovedot = 65110
+-- constant _KEY_dead_abovereversedcomma
+
+_KEY_dead_abovereversedcomma :: Int32
+_KEY_dead_abovereversedcomma = 65125
+-- constant _KEY_dead_abovering
+
+_KEY_dead_abovering :: Int32
+_KEY_dead_abovering = 65112
+-- constant _KEY_dead_acute
+
+_KEY_dead_acute :: Int32
+_KEY_dead_acute = 65105
+-- constant _KEY_dead_belowbreve
+
+_KEY_dead_belowbreve :: Int32
+_KEY_dead_belowbreve = 65131
+-- constant _KEY_dead_belowcircumflex
+
+_KEY_dead_belowcircumflex :: Int32
+_KEY_dead_belowcircumflex = 65129
+-- constant _KEY_dead_belowcomma
+
+_KEY_dead_belowcomma :: Int32
+_KEY_dead_belowcomma = 65134
+-- constant _KEY_dead_belowdiaeresis
+
+_KEY_dead_belowdiaeresis :: Int32
+_KEY_dead_belowdiaeresis = 65132
+-- constant _KEY_dead_belowdot
+
+_KEY_dead_belowdot :: Int32
+_KEY_dead_belowdot = 65120
+-- constant _KEY_dead_belowmacron
+
+_KEY_dead_belowmacron :: Int32
+_KEY_dead_belowmacron = 65128
+-- constant _KEY_dead_belowring
+
+_KEY_dead_belowring :: Int32
+_KEY_dead_belowring = 65127
+-- constant _KEY_dead_belowtilde
+
+_KEY_dead_belowtilde :: Int32
+_KEY_dead_belowtilde = 65130
+-- constant _KEY_dead_breve
+
+_KEY_dead_breve :: Int32
+_KEY_dead_breve = 65109
+-- constant _KEY_dead_capital_schwa
+
+_KEY_dead_capital_schwa :: Int32
+_KEY_dead_capital_schwa = 65163
+-- constant _KEY_dead_caron
+
+_KEY_dead_caron :: Int32
+_KEY_dead_caron = 65114
+-- constant _KEY_dead_cedilla
+
+_KEY_dead_cedilla :: Int32
+_KEY_dead_cedilla = 65115
+-- constant _KEY_dead_circumflex
+
+_KEY_dead_circumflex :: Int32
+_KEY_dead_circumflex = 65106
+-- constant _KEY_dead_currency
+
+_KEY_dead_currency :: Int32
+_KEY_dead_currency = 65135
+-- constant _KEY_dead_dasia
+
+_KEY_dead_dasia :: Int32
+_KEY_dead_dasia = 65125
+-- constant _KEY_dead_diaeresis
+
+_KEY_dead_diaeresis :: Int32
+_KEY_dead_diaeresis = 65111
+-- constant _KEY_dead_doubleacute
+
+_KEY_dead_doubleacute :: Int32
+_KEY_dead_doubleacute = 65113
+-- constant _KEY_dead_doublegrave
+
+_KEY_dead_doublegrave :: Int32
+_KEY_dead_doublegrave = 65126
+-- constant _KEY_dead_e
+
+_KEY_dead_e :: Int32
+_KEY_dead_e = 65154
+-- constant _KEY_dead_grave
+
+_KEY_dead_grave :: Int32
+_KEY_dead_grave = 65104
+-- constant _KEY_dead_greek
+
+_KEY_dead_greek :: Int32
+_KEY_dead_greek = 65164
+-- constant _KEY_dead_hook
+
+_KEY_dead_hook :: Int32
+_KEY_dead_hook = 65121
+-- constant _KEY_dead_horn
+
+_KEY_dead_horn :: Int32
+_KEY_dead_horn = 65122
+-- constant _KEY_dead_i
+
+_KEY_dead_i :: Int32
+_KEY_dead_i = 65156
+-- constant _KEY_dead_invertedbreve
+
+_KEY_dead_invertedbreve :: Int32
+_KEY_dead_invertedbreve = 65133
+-- constant _KEY_dead_iota
+
+_KEY_dead_iota :: Int32
+_KEY_dead_iota = 65117
+-- constant _KEY_dead_macron
+
+_KEY_dead_macron :: Int32
+_KEY_dead_macron = 65108
+-- constant _KEY_dead_o
+
+_KEY_dead_o :: Int32
+_KEY_dead_o = 65158
+-- constant _KEY_dead_ogonek
+
+_KEY_dead_ogonek :: Int32
+_KEY_dead_ogonek = 65116
+-- constant _KEY_dead_perispomeni
+
+_KEY_dead_perispomeni :: Int32
+_KEY_dead_perispomeni = 65107
+-- constant _KEY_dead_psili
+
+_KEY_dead_psili :: Int32
+_KEY_dead_psili = 65124
+-- constant _KEY_dead_semivoiced_sound
+
+_KEY_dead_semivoiced_sound :: Int32
+_KEY_dead_semivoiced_sound = 65119
+-- constant _KEY_dead_small_schwa
+
+_KEY_dead_small_schwa :: Int32
+_KEY_dead_small_schwa = 65162
+-- constant _KEY_dead_stroke
+
+_KEY_dead_stroke :: Int32
+_KEY_dead_stroke = 65123
+-- constant _KEY_dead_tilde
+
+_KEY_dead_tilde :: Int32
+_KEY_dead_tilde = 65107
+-- constant _KEY_dead_u
+
+_KEY_dead_u :: Int32
+_KEY_dead_u = 65160
+-- constant _KEY_dead_voiced_sound
+
+_KEY_dead_voiced_sound :: Int32
+_KEY_dead_voiced_sound = 65118
+-- constant _KEY_decimalpoint
+
+_KEY_decimalpoint :: Int32
+_KEY_decimalpoint = 2749
+-- constant _KEY_degree
+
+_KEY_degree :: Int32
+_KEY_degree = 176
+-- constant _KEY_diaeresis
+
+_KEY_diaeresis :: Int32
+_KEY_diaeresis = 168
+-- constant _KEY_diamond
+
+_KEY_diamond :: Int32
+_KEY_diamond = 2797
+-- constant _KEY_digitspace
+
+_KEY_digitspace :: Int32
+_KEY_digitspace = 2725
+-- constant _KEY_dintegral
+
+_KEY_dintegral :: Int32
+_KEY_dintegral = 16785964
+-- constant _KEY_division
+
+_KEY_division :: Int32
+_KEY_division = 247
+-- constant _KEY_dollar
+
+_KEY_dollar :: Int32
+_KEY_dollar = 36
+-- constant _KEY_doubbaselinedot
+
+_KEY_doubbaselinedot :: Int32
+_KEY_doubbaselinedot = 2735
+-- constant _KEY_doubleacute
+
+_KEY_doubleacute :: Int32
+_KEY_doubleacute = 445
+-- constant _KEY_doubledagger
+
+_KEY_doubledagger :: Int32
+_KEY_doubledagger = 2802
+-- constant _KEY_doublelowquotemark
+
+_KEY_doublelowquotemark :: Int32
+_KEY_doublelowquotemark = 2814
+-- constant _KEY_downarrow
+
+_KEY_downarrow :: Int32
+_KEY_downarrow = 2302
+-- constant _KEY_downcaret
+
+_KEY_downcaret :: Int32
+_KEY_downcaret = 2984
+-- constant _KEY_downshoe
+
+_KEY_downshoe :: Int32
+_KEY_downshoe = 3030
+-- constant _KEY_downstile
+
+_KEY_downstile :: Int32
+_KEY_downstile = 3012
+-- constant _KEY_downtack
+
+_KEY_downtack :: Int32
+_KEY_downtack = 3010
+-- constant _KEY_dstroke
+
+_KEY_dstroke :: Int32
+_KEY_dstroke = 496
+-- constant _KEY_e
+
+_KEY_e :: Int32
+_KEY_e = 101
+-- constant _KEY_eabovedot
+
+_KEY_eabovedot :: Int32
+_KEY_eabovedot = 1004
+-- constant _KEY_eacute
+
+_KEY_eacute :: Int32
+_KEY_eacute = 233
+-- constant _KEY_ebelowdot
+
+_KEY_ebelowdot :: Int32
+_KEY_ebelowdot = 16785081
+-- constant _KEY_ecaron
+
+_KEY_ecaron :: Int32
+_KEY_ecaron = 492
+-- constant _KEY_ecircumflex
+
+_KEY_ecircumflex :: Int32
+_KEY_ecircumflex = 234
+-- constant _KEY_ecircumflexacute
+
+_KEY_ecircumflexacute :: Int32
+_KEY_ecircumflexacute = 16785087
+-- constant _KEY_ecircumflexbelowdot
+
+_KEY_ecircumflexbelowdot :: Int32
+_KEY_ecircumflexbelowdot = 16785095
+-- constant _KEY_ecircumflexgrave
+
+_KEY_ecircumflexgrave :: Int32
+_KEY_ecircumflexgrave = 16785089
+-- constant _KEY_ecircumflexhook
+
+_KEY_ecircumflexhook :: Int32
+_KEY_ecircumflexhook = 16785091
+-- constant _KEY_ecircumflextilde
+
+_KEY_ecircumflextilde :: Int32
+_KEY_ecircumflextilde = 16785093
+-- constant _KEY_ediaeresis
+
+_KEY_ediaeresis :: Int32
+_KEY_ediaeresis = 235
+-- constant _KEY_egrave
+
+_KEY_egrave :: Int32
+_KEY_egrave = 232
+-- constant _KEY_ehook
+
+_KEY_ehook :: Int32
+_KEY_ehook = 16785083
+-- constant _KEY_eightsubscript
+
+_KEY_eightsubscript :: Int32
+_KEY_eightsubscript = 16785544
+-- constant _KEY_eightsuperior
+
+_KEY_eightsuperior :: Int32
+_KEY_eightsuperior = 16785528
+-- constant _KEY_elementof
+
+_KEY_elementof :: Int32
+_KEY_elementof = 16785928
+-- constant _KEY_ellipsis
+
+_KEY_ellipsis :: Int32
+_KEY_ellipsis = 2734
+-- constant _KEY_em3space
+
+_KEY_em3space :: Int32
+_KEY_em3space = 2723
+-- constant _KEY_em4space
+
+_KEY_em4space :: Int32
+_KEY_em4space = 2724
+-- constant _KEY_emacron
+
+_KEY_emacron :: Int32
+_KEY_emacron = 954
+-- constant _KEY_emdash
+
+_KEY_emdash :: Int32
+_KEY_emdash = 2729
+-- constant _KEY_emfilledcircle
+
+_KEY_emfilledcircle :: Int32
+_KEY_emfilledcircle = 2782
+-- constant _KEY_emfilledrect
+
+_KEY_emfilledrect :: Int32
+_KEY_emfilledrect = 2783
+-- constant _KEY_emopencircle
+
+_KEY_emopencircle :: Int32
+_KEY_emopencircle = 2766
+-- constant _KEY_emopenrectangle
+
+_KEY_emopenrectangle :: Int32
+_KEY_emopenrectangle = 2767
+-- constant _KEY_emptyset
+
+_KEY_emptyset :: Int32
+_KEY_emptyset = 16785925
+-- constant _KEY_emspace
+
+_KEY_emspace :: Int32
+_KEY_emspace = 2721
+-- constant _KEY_endash
+
+_KEY_endash :: Int32
+_KEY_endash = 2730
+-- constant _KEY_enfilledcircbullet
+
+_KEY_enfilledcircbullet :: Int32
+_KEY_enfilledcircbullet = 2790
+-- constant _KEY_enfilledsqbullet
+
+_KEY_enfilledsqbullet :: Int32
+_KEY_enfilledsqbullet = 2791
+-- constant _KEY_eng
+
+_KEY_eng :: Int32
+_KEY_eng = 959
+-- constant _KEY_enopencircbullet
+
+_KEY_enopencircbullet :: Int32
+_KEY_enopencircbullet = 2784
+-- constant _KEY_enopensquarebullet
+
+_KEY_enopensquarebullet :: Int32
+_KEY_enopensquarebullet = 2785
+-- constant _KEY_enspace
+
+_KEY_enspace :: Int32
+_KEY_enspace = 2722
+-- constant _KEY_eogonek
+
+_KEY_eogonek :: Int32
+_KEY_eogonek = 490
+-- constant _KEY_equal
+
+_KEY_equal :: Int32
+_KEY_equal = 61
+-- constant _KEY_eth
+
+_KEY_eth :: Int32
+_KEY_eth = 240
+-- constant _KEY_etilde
+
+_KEY_etilde :: Int32
+_KEY_etilde = 16785085
+-- constant _KEY_exclam
+
+_KEY_exclam :: Int32
+_KEY_exclam = 33
+-- constant _KEY_exclamdown
+
+_KEY_exclamdown :: Int32
+_KEY_exclamdown = 161
+-- constant _KEY_ezh
+
+_KEY_ezh :: Int32
+_KEY_ezh = 16777874
+-- constant _KEY_f
+
+_KEY_f :: Int32
+_KEY_f = 102
+-- constant _KEY_fabovedot
+
+_KEY_fabovedot :: Int32
+_KEY_fabovedot = 16784927
+-- constant _KEY_femalesymbol
+
+_KEY_femalesymbol :: Int32
+_KEY_femalesymbol = 2808
+-- constant _KEY_ff
+
+_KEY_ff :: Int32
+_KEY_ff = 2531
+-- constant _KEY_figdash
+
+_KEY_figdash :: Int32
+_KEY_figdash = 2747
+-- constant _KEY_filledlefttribullet
+
+_KEY_filledlefttribullet :: Int32
+_KEY_filledlefttribullet = 2780
+-- constant _KEY_filledrectbullet
+
+_KEY_filledrectbullet :: Int32
+_KEY_filledrectbullet = 2779
+-- constant _KEY_filledrighttribullet
+
+_KEY_filledrighttribullet :: Int32
+_KEY_filledrighttribullet = 2781
+-- constant _KEY_filledtribulletdown
+
+_KEY_filledtribulletdown :: Int32
+_KEY_filledtribulletdown = 2793
+-- constant _KEY_filledtribulletup
+
+_KEY_filledtribulletup :: Int32
+_KEY_filledtribulletup = 2792
+-- constant _KEY_fiveeighths
+
+_KEY_fiveeighths :: Int32
+_KEY_fiveeighths = 2757
+-- constant _KEY_fivesixths
+
+_KEY_fivesixths :: Int32
+_KEY_fivesixths = 2743
+-- constant _KEY_fivesubscript
+
+_KEY_fivesubscript :: Int32
+_KEY_fivesubscript = 16785541
+-- constant _KEY_fivesuperior
+
+_KEY_fivesuperior :: Int32
+_KEY_fivesuperior = 16785525
+-- constant _KEY_fourfifths
+
+_KEY_fourfifths :: Int32
+_KEY_fourfifths = 2741
+-- constant _KEY_foursubscript
+
+_KEY_foursubscript :: Int32
+_KEY_foursubscript = 16785540
+-- constant _KEY_foursuperior
+
+_KEY_foursuperior :: Int32
+_KEY_foursuperior = 16785524
+-- constant _KEY_fourthroot
+
+_KEY_fourthroot :: Int32
+_KEY_fourthroot = 16785948
+-- constant _KEY_function
+
+_KEY_function :: Int32
+_KEY_function = 2294
+-- constant _KEY_g
+
+_KEY_g :: Int32
+_KEY_g = 103
+-- constant _KEY_gabovedot
+
+_KEY_gabovedot :: Int32
+_KEY_gabovedot = 757
+-- constant _KEY_gbreve
+
+_KEY_gbreve :: Int32
+_KEY_gbreve = 699
+-- constant _KEY_gcaron
+
+_KEY_gcaron :: Int32
+_KEY_gcaron = 16777703
+-- constant _KEY_gcedilla
+
+_KEY_gcedilla :: Int32
+_KEY_gcedilla = 955
+-- constant _KEY_gcircumflex
+
+_KEY_gcircumflex :: Int32
+_KEY_gcircumflex = 760
+-- constant _KEY_grave
+
+_KEY_grave :: Int32
+_KEY_grave = 96
+-- constant _KEY_greater
+
+_KEY_greater :: Int32
+_KEY_greater = 62
+-- constant _KEY_greaterthanequal
+
+_KEY_greaterthanequal :: Int32
+_KEY_greaterthanequal = 2238
+-- constant _KEY_guillemotleft
+
+_KEY_guillemotleft :: Int32
+_KEY_guillemotleft = 171
+-- constant _KEY_guillemotright
+
+_KEY_guillemotright :: Int32
+_KEY_guillemotright = 187
+-- constant _KEY_h
+
+_KEY_h :: Int32
+_KEY_h = 104
+-- constant _KEY_hairspace
+
+_KEY_hairspace :: Int32
+_KEY_hairspace = 2728
+-- constant _KEY_hcircumflex
+
+_KEY_hcircumflex :: Int32
+_KEY_hcircumflex = 694
+-- constant _KEY_heart
+
+_KEY_heart :: Int32
+_KEY_heart = 2798
+-- constant _KEY_hebrew_aleph
+
+_KEY_hebrew_aleph :: Int32
+_KEY_hebrew_aleph = 3296
+-- constant _KEY_hebrew_ayin
+
+_KEY_hebrew_ayin :: Int32
+_KEY_hebrew_ayin = 3314
+-- constant _KEY_hebrew_bet
+
+_KEY_hebrew_bet :: Int32
+_KEY_hebrew_bet = 3297
+-- constant _KEY_hebrew_beth
+
+_KEY_hebrew_beth :: Int32
+_KEY_hebrew_beth = 3297
+-- constant _KEY_hebrew_chet
+
+_KEY_hebrew_chet :: Int32
+_KEY_hebrew_chet = 3303
+-- constant _KEY_hebrew_dalet
+
+_KEY_hebrew_dalet :: Int32
+_KEY_hebrew_dalet = 3299
+-- constant _KEY_hebrew_daleth
+
+_KEY_hebrew_daleth :: Int32
+_KEY_hebrew_daleth = 3299
+-- constant _KEY_hebrew_doublelowline
+
+_KEY_hebrew_doublelowline :: Int32
+_KEY_hebrew_doublelowline = 3295
+-- constant _KEY_hebrew_finalkaph
+
+_KEY_hebrew_finalkaph :: Int32
+_KEY_hebrew_finalkaph = 3306
+-- constant _KEY_hebrew_finalmem
+
+_KEY_hebrew_finalmem :: Int32
+_KEY_hebrew_finalmem = 3309
+-- constant _KEY_hebrew_finalnun
+
+_KEY_hebrew_finalnun :: Int32
+_KEY_hebrew_finalnun = 3311
+-- constant _KEY_hebrew_finalpe
+
+_KEY_hebrew_finalpe :: Int32
+_KEY_hebrew_finalpe = 3315
+-- constant _KEY_hebrew_finalzade
+
+_KEY_hebrew_finalzade :: Int32
+_KEY_hebrew_finalzade = 3317
+-- constant _KEY_hebrew_finalzadi
+
+_KEY_hebrew_finalzadi :: Int32
+_KEY_hebrew_finalzadi = 3317
+-- constant _KEY_hebrew_gimel
+
+_KEY_hebrew_gimel :: Int32
+_KEY_hebrew_gimel = 3298
+-- constant _KEY_hebrew_gimmel
+
+_KEY_hebrew_gimmel :: Int32
+_KEY_hebrew_gimmel = 3298
+-- constant _KEY_hebrew_he
+
+_KEY_hebrew_he :: Int32
+_KEY_hebrew_he = 3300
+-- constant _KEY_hebrew_het
+
+_KEY_hebrew_het :: Int32
+_KEY_hebrew_het = 3303
+-- constant _KEY_hebrew_kaph
+
+_KEY_hebrew_kaph :: Int32
+_KEY_hebrew_kaph = 3307
+-- constant _KEY_hebrew_kuf
+
+_KEY_hebrew_kuf :: Int32
+_KEY_hebrew_kuf = 3319
+-- constant _KEY_hebrew_lamed
+
+_KEY_hebrew_lamed :: Int32
+_KEY_hebrew_lamed = 3308
+-- constant _KEY_hebrew_mem
+
+_KEY_hebrew_mem :: Int32
+_KEY_hebrew_mem = 3310
+-- constant _KEY_hebrew_nun
+
+_KEY_hebrew_nun :: Int32
+_KEY_hebrew_nun = 3312
+-- constant _KEY_hebrew_pe
+
+_KEY_hebrew_pe :: Int32
+_KEY_hebrew_pe = 3316
+-- constant _KEY_hebrew_qoph
+
+_KEY_hebrew_qoph :: Int32
+_KEY_hebrew_qoph = 3319
+-- constant _KEY_hebrew_resh
+
+_KEY_hebrew_resh :: Int32
+_KEY_hebrew_resh = 3320
+-- constant _KEY_hebrew_samech
+
+_KEY_hebrew_samech :: Int32
+_KEY_hebrew_samech = 3313
+-- constant _KEY_hebrew_samekh
+
+_KEY_hebrew_samekh :: Int32
+_KEY_hebrew_samekh = 3313
+-- constant _KEY_hebrew_shin
+
+_KEY_hebrew_shin :: Int32
+_KEY_hebrew_shin = 3321
+-- constant _KEY_hebrew_taf
+
+_KEY_hebrew_taf :: Int32
+_KEY_hebrew_taf = 3322
+-- constant _KEY_hebrew_taw
+
+_KEY_hebrew_taw :: Int32
+_KEY_hebrew_taw = 3322
+-- constant _KEY_hebrew_tet
+
+_KEY_hebrew_tet :: Int32
+_KEY_hebrew_tet = 3304
+-- constant _KEY_hebrew_teth
+
+_KEY_hebrew_teth :: Int32
+_KEY_hebrew_teth = 3304
+-- constant _KEY_hebrew_waw
+
+_KEY_hebrew_waw :: Int32
+_KEY_hebrew_waw = 3301
+-- constant _KEY_hebrew_yod
+
+_KEY_hebrew_yod :: Int32
+_KEY_hebrew_yod = 3305
+-- constant _KEY_hebrew_zade
+
+_KEY_hebrew_zade :: Int32
+_KEY_hebrew_zade = 3318
+-- constant _KEY_hebrew_zadi
+
+_KEY_hebrew_zadi :: Int32
+_KEY_hebrew_zadi = 3318
+-- constant _KEY_hebrew_zain
+
+_KEY_hebrew_zain :: Int32
+_KEY_hebrew_zain = 3302
+-- constant _KEY_hebrew_zayin
+
+_KEY_hebrew_zayin :: Int32
+_KEY_hebrew_zayin = 3302
+-- constant _KEY_hexagram
+
+_KEY_hexagram :: Int32
+_KEY_hexagram = 2778
+-- constant _KEY_horizconnector
+
+_KEY_horizconnector :: Int32
+_KEY_horizconnector = 2211
+-- constant _KEY_horizlinescan1
+
+_KEY_horizlinescan1 :: Int32
+_KEY_horizlinescan1 = 2543
+-- constant _KEY_horizlinescan3
+
+_KEY_horizlinescan3 :: Int32
+_KEY_horizlinescan3 = 2544
+-- constant _KEY_horizlinescan5
+
+_KEY_horizlinescan5 :: Int32
+_KEY_horizlinescan5 = 2545
+-- constant _KEY_horizlinescan7
+
+_KEY_horizlinescan7 :: Int32
+_KEY_horizlinescan7 = 2546
+-- constant _KEY_horizlinescan9
+
+_KEY_horizlinescan9 :: Int32
+_KEY_horizlinescan9 = 2547
+-- constant _KEY_hstroke
+
+_KEY_hstroke :: Int32
+_KEY_hstroke = 689
+-- constant _KEY_ht
+
+_KEY_ht :: Int32
+_KEY_ht = 2530
+-- constant _KEY_hyphen
+
+_KEY_hyphen :: Int32
+_KEY_hyphen = 173
+-- constant _KEY_i
+
+_KEY_i :: Int32
+_KEY_i = 105
+-- constant _KEY_iTouch
+
+_KEY_iTouch :: Int32
+_KEY_iTouch = 269025120
+-- constant _KEY_iacute
+
+_KEY_iacute :: Int32
+_KEY_iacute = 237
+-- constant _KEY_ibelowdot
+
+_KEY_ibelowdot :: Int32
+_KEY_ibelowdot = 16785099
+-- constant _KEY_ibreve
+
+_KEY_ibreve :: Int32
+_KEY_ibreve = 16777517
+-- constant _KEY_icircumflex
+
+_KEY_icircumflex :: Int32
+_KEY_icircumflex = 238
+-- constant _KEY_identical
+
+_KEY_identical :: Int32
+_KEY_identical = 2255
+-- constant _KEY_idiaeresis
+
+_KEY_idiaeresis :: Int32
+_KEY_idiaeresis = 239
+-- constant _KEY_idotless
+
+_KEY_idotless :: Int32
+_KEY_idotless = 697
+-- constant _KEY_ifonlyif
+
+_KEY_ifonlyif :: Int32
+_KEY_ifonlyif = 2253
+-- constant _KEY_igrave
+
+_KEY_igrave :: Int32
+_KEY_igrave = 236
+-- constant _KEY_ihook
+
+_KEY_ihook :: Int32
+_KEY_ihook = 16785097
+-- constant _KEY_imacron
+
+_KEY_imacron :: Int32
+_KEY_imacron = 1007
+-- constant _KEY_implies
+
+_KEY_implies :: Int32
+_KEY_implies = 2254
+-- constant _KEY_includedin
+
+_KEY_includedin :: Int32
+_KEY_includedin = 2266
+-- constant _KEY_includes
+
+_KEY_includes :: Int32
+_KEY_includes = 2267
+-- constant _KEY_infinity
+
+_KEY_infinity :: Int32
+_KEY_infinity = 2242
+-- constant _KEY_integral
+
+_KEY_integral :: Int32
+_KEY_integral = 2239
+-- constant _KEY_intersection
+
+_KEY_intersection :: Int32
+_KEY_intersection = 2268
+-- constant _KEY_iogonek
+
+_KEY_iogonek :: Int32
+_KEY_iogonek = 999
+-- constant _KEY_itilde
+
+_KEY_itilde :: Int32
+_KEY_itilde = 949
+-- constant _KEY_j
+
+_KEY_j :: Int32
+_KEY_j = 106
+-- constant _KEY_jcircumflex
+
+_KEY_jcircumflex :: Int32
+_KEY_jcircumflex = 700
+-- constant _KEY_jot
+
+_KEY_jot :: Int32
+_KEY_jot = 3018
+-- constant _KEY_k
+
+_KEY_k :: Int32
+_KEY_k = 107
+-- constant _KEY_kana_A
+
+_KEY_kana_A :: Int32
+_KEY_kana_A = 1201
+-- constant _KEY_kana_CHI
+
+_KEY_kana_CHI :: Int32
+_KEY_kana_CHI = 1217
+-- constant _KEY_kana_E
+
+_KEY_kana_E :: Int32
+_KEY_kana_E = 1204
+-- constant _KEY_kana_FU
+
+_KEY_kana_FU :: Int32
+_KEY_kana_FU = 1228
+-- constant _KEY_kana_HA
+
+_KEY_kana_HA :: Int32
+_KEY_kana_HA = 1226
+-- constant _KEY_kana_HE
+
+_KEY_kana_HE :: Int32
+_KEY_kana_HE = 1229
+-- constant _KEY_kana_HI
+
+_KEY_kana_HI :: Int32
+_KEY_kana_HI = 1227
+-- constant _KEY_kana_HO
+
+_KEY_kana_HO :: Int32
+_KEY_kana_HO = 1230
+-- constant _KEY_kana_HU
+
+_KEY_kana_HU :: Int32
+_KEY_kana_HU = 1228
+-- constant _KEY_kana_I
+
+_KEY_kana_I :: Int32
+_KEY_kana_I = 1202
+-- constant _KEY_kana_KA
+
+_KEY_kana_KA :: Int32
+_KEY_kana_KA = 1206
+-- constant _KEY_kana_KE
+
+_KEY_kana_KE :: Int32
+_KEY_kana_KE = 1209
+-- constant _KEY_kana_KI
+
+_KEY_kana_KI :: Int32
+_KEY_kana_KI = 1207
+-- constant _KEY_kana_KO
+
+_KEY_kana_KO :: Int32
+_KEY_kana_KO = 1210
+-- constant _KEY_kana_KU
+
+_KEY_kana_KU :: Int32
+_KEY_kana_KU = 1208
+-- constant _KEY_kana_MA
+
+_KEY_kana_MA :: Int32
+_KEY_kana_MA = 1231
+-- constant _KEY_kana_ME
+
+_KEY_kana_ME :: Int32
+_KEY_kana_ME = 1234
+-- constant _KEY_kana_MI
+
+_KEY_kana_MI :: Int32
+_KEY_kana_MI = 1232
+-- constant _KEY_kana_MO
+
+_KEY_kana_MO :: Int32
+_KEY_kana_MO = 1235
+-- constant _KEY_kana_MU
+
+_KEY_kana_MU :: Int32
+_KEY_kana_MU = 1233
+-- constant _KEY_kana_N
+
+_KEY_kana_N :: Int32
+_KEY_kana_N = 1245
+-- constant _KEY_kana_NA
+
+_KEY_kana_NA :: Int32
+_KEY_kana_NA = 1221
+-- constant _KEY_kana_NE
+
+_KEY_kana_NE :: Int32
+_KEY_kana_NE = 1224
+-- constant _KEY_kana_NI
+
+_KEY_kana_NI :: Int32
+_KEY_kana_NI = 1222
+-- constant _KEY_kana_NO
+
+_KEY_kana_NO :: Int32
+_KEY_kana_NO = 1225
+-- constant _KEY_kana_NU
+
+_KEY_kana_NU :: Int32
+_KEY_kana_NU = 1223
+-- constant _KEY_kana_O
+
+_KEY_kana_O :: Int32
+_KEY_kana_O = 1205
+-- constant _KEY_kana_RA
+
+_KEY_kana_RA :: Int32
+_KEY_kana_RA = 1239
+-- constant _KEY_kana_RE
+
+_KEY_kana_RE :: Int32
+_KEY_kana_RE = 1242
+-- constant _KEY_kana_RI
+
+_KEY_kana_RI :: Int32
+_KEY_kana_RI = 1240
+-- constant _KEY_kana_RO
+
+_KEY_kana_RO :: Int32
+_KEY_kana_RO = 1243
+-- constant _KEY_kana_RU
+
+_KEY_kana_RU :: Int32
+_KEY_kana_RU = 1241
+-- constant _KEY_kana_SA
+
+_KEY_kana_SA :: Int32
+_KEY_kana_SA = 1211
+-- constant _KEY_kana_SE
+
+_KEY_kana_SE :: Int32
+_KEY_kana_SE = 1214
+-- constant _KEY_kana_SHI
+
+_KEY_kana_SHI :: Int32
+_KEY_kana_SHI = 1212
+-- constant _KEY_kana_SO
+
+_KEY_kana_SO :: Int32
+_KEY_kana_SO = 1215
+-- constant _KEY_kana_SU
+
+_KEY_kana_SU :: Int32
+_KEY_kana_SU = 1213
+-- constant _KEY_kana_TA
+
+_KEY_kana_TA :: Int32
+_KEY_kana_TA = 1216
+-- constant _KEY_kana_TE
+
+_KEY_kana_TE :: Int32
+_KEY_kana_TE = 1219
+-- constant _KEY_kana_TI
+
+_KEY_kana_TI :: Int32
+_KEY_kana_TI = 1217
+-- constant _KEY_kana_TO
+
+_KEY_kana_TO :: Int32
+_KEY_kana_TO = 1220
+-- constant _KEY_kana_TSU
+
+_KEY_kana_TSU :: Int32
+_KEY_kana_TSU = 1218
+-- constant _KEY_kana_TU
+
+_KEY_kana_TU :: Int32
+_KEY_kana_TU = 1218
+-- constant _KEY_kana_U
+
+_KEY_kana_U :: Int32
+_KEY_kana_U = 1203
+-- constant _KEY_kana_WA
+
+_KEY_kana_WA :: Int32
+_KEY_kana_WA = 1244
+-- constant _KEY_kana_WO
+
+_KEY_kana_WO :: Int32
+_KEY_kana_WO = 1190
+-- constant _KEY_kana_YA
+
+_KEY_kana_YA :: Int32
+_KEY_kana_YA = 1236
+-- constant _KEY_kana_YO
+
+_KEY_kana_YO :: Int32
+_KEY_kana_YO = 1238
+-- constant _KEY_kana_YU
+
+_KEY_kana_YU :: Int32
+_KEY_kana_YU = 1237
+-- constant _KEY_kana_a
+
+_KEY_kana_a :: Int32
+_KEY_kana_a = 1191
+-- constant _KEY_kana_closingbracket
+
+_KEY_kana_closingbracket :: Int32
+_KEY_kana_closingbracket = 1187
+-- constant _KEY_kana_comma
+
+_KEY_kana_comma :: Int32
+_KEY_kana_comma = 1188
+-- constant _KEY_kana_conjunctive
+
+_KEY_kana_conjunctive :: Int32
+_KEY_kana_conjunctive = 1189
+-- constant _KEY_kana_e
+
+_KEY_kana_e :: Int32
+_KEY_kana_e = 1194
+-- constant _KEY_kana_fullstop
+
+_KEY_kana_fullstop :: Int32
+_KEY_kana_fullstop = 1185
+-- constant _KEY_kana_i
+
+_KEY_kana_i :: Int32
+_KEY_kana_i = 1192
+-- constant _KEY_kana_middledot
+
+_KEY_kana_middledot :: Int32
+_KEY_kana_middledot = 1189
+-- constant _KEY_kana_o
+
+_KEY_kana_o :: Int32
+_KEY_kana_o = 1195
+-- constant _KEY_kana_openingbracket
+
+_KEY_kana_openingbracket :: Int32
+_KEY_kana_openingbracket = 1186
+-- constant _KEY_kana_switch
+
+_KEY_kana_switch :: Int32
+_KEY_kana_switch = 65406
+-- constant _KEY_kana_tsu
+
+_KEY_kana_tsu :: Int32
+_KEY_kana_tsu = 1199
+-- constant _KEY_kana_tu
+
+_KEY_kana_tu :: Int32
+_KEY_kana_tu = 1199
+-- constant _KEY_kana_u
+
+_KEY_kana_u :: Int32
+_KEY_kana_u = 1193
+-- constant _KEY_kana_ya
+
+_KEY_kana_ya :: Int32
+_KEY_kana_ya = 1196
+-- constant _KEY_kana_yo
+
+_KEY_kana_yo :: Int32
+_KEY_kana_yo = 1198
+-- constant _KEY_kana_yu
+
+_KEY_kana_yu :: Int32
+_KEY_kana_yu = 1197
+-- constant _KEY_kappa
+
+_KEY_kappa :: Int32
+_KEY_kappa = 930
+-- constant _KEY_kcedilla
+
+_KEY_kcedilla :: Int32
+_KEY_kcedilla = 1011
+-- constant _KEY_kra
+
+_KEY_kra :: Int32
+_KEY_kra = 930
+-- constant _KEY_l
+
+_KEY_l :: Int32
+_KEY_l = 108
+-- constant _KEY_lacute
+
+_KEY_lacute :: Int32
+_KEY_lacute = 485
+-- constant _KEY_latincross
+
+_KEY_latincross :: Int32
+_KEY_latincross = 2777
+-- constant _KEY_lbelowdot
+
+_KEY_lbelowdot :: Int32
+_KEY_lbelowdot = 16784951
+-- constant _KEY_lcaron
+
+_KEY_lcaron :: Int32
+_KEY_lcaron = 437
+-- constant _KEY_lcedilla
+
+_KEY_lcedilla :: Int32
+_KEY_lcedilla = 950
+-- constant _KEY_leftanglebracket
+
+_KEY_leftanglebracket :: Int32
+_KEY_leftanglebracket = 2748
+-- constant _KEY_leftarrow
+
+_KEY_leftarrow :: Int32
+_KEY_leftarrow = 2299
+-- constant _KEY_leftcaret
+
+_KEY_leftcaret :: Int32
+_KEY_leftcaret = 2979
+-- constant _KEY_leftdoublequotemark
+
+_KEY_leftdoublequotemark :: Int32
+_KEY_leftdoublequotemark = 2770
+-- constant _KEY_leftmiddlecurlybrace
+
+_KEY_leftmiddlecurlybrace :: Int32
+_KEY_leftmiddlecurlybrace = 2223
+-- constant _KEY_leftopentriangle
+
+_KEY_leftopentriangle :: Int32
+_KEY_leftopentriangle = 2764
+-- constant _KEY_leftpointer
+
+_KEY_leftpointer :: Int32
+_KEY_leftpointer = 2794
+-- constant _KEY_leftradical
+
+_KEY_leftradical :: Int32
+_KEY_leftradical = 2209
+-- constant _KEY_leftshoe
+
+_KEY_leftshoe :: Int32
+_KEY_leftshoe = 3034
+-- constant _KEY_leftsinglequotemark
+
+_KEY_leftsinglequotemark :: Int32
+_KEY_leftsinglequotemark = 2768
+-- constant _KEY_leftt
+
+_KEY_leftt :: Int32
+_KEY_leftt = 2548
+-- constant _KEY_lefttack
+
+_KEY_lefttack :: Int32
+_KEY_lefttack = 3036
+-- constant _KEY_less
+
+_KEY_less :: Int32
+_KEY_less = 60
+-- constant _KEY_lessthanequal
+
+_KEY_lessthanequal :: Int32
+_KEY_lessthanequal = 2236
+-- constant _KEY_lf
+
+_KEY_lf :: Int32
+_KEY_lf = 2533
+-- constant _KEY_logicaland
+
+_KEY_logicaland :: Int32
+_KEY_logicaland = 2270
+-- constant _KEY_logicalor
+
+_KEY_logicalor :: Int32
+_KEY_logicalor = 2271
+-- constant _KEY_lowleftcorner
+
+_KEY_lowleftcorner :: Int32
+_KEY_lowleftcorner = 2541
+-- constant _KEY_lowrightcorner
+
+_KEY_lowrightcorner :: Int32
+_KEY_lowrightcorner = 2538
+-- constant _KEY_lstroke
+
+_KEY_lstroke :: Int32
+_KEY_lstroke = 435
+-- constant _KEY_m
+
+_KEY_m :: Int32
+_KEY_m = 109
+-- constant _KEY_mabovedot
+
+_KEY_mabovedot :: Int32
+_KEY_mabovedot = 16784961
+-- constant _KEY_macron
+
+_KEY_macron :: Int32
+_KEY_macron = 175
+-- constant _KEY_malesymbol
+
+_KEY_malesymbol :: Int32
+_KEY_malesymbol = 2807
+-- constant _KEY_maltesecross
+
+_KEY_maltesecross :: Int32
+_KEY_maltesecross = 2800
+-- constant _KEY_marker
+
+_KEY_marker :: Int32
+_KEY_marker = 2751
+-- constant _KEY_masculine
+
+_KEY_masculine :: Int32
+_KEY_masculine = 186
+-- constant _KEY_minus
+
+_KEY_minus :: Int32
+_KEY_minus = 45
+-- constant _KEY_minutes
+
+_KEY_minutes :: Int32
+_KEY_minutes = 2774
+-- constant _KEY_mu
+
+_KEY_mu :: Int32
+_KEY_mu = 181
+-- constant _KEY_multiply
+
+_KEY_multiply :: Int32
+_KEY_multiply = 215
+-- constant _KEY_musicalflat
+
+_KEY_musicalflat :: Int32
+_KEY_musicalflat = 2806
+-- constant _KEY_musicalsharp
+
+_KEY_musicalsharp :: Int32
+_KEY_musicalsharp = 2805
+-- constant _KEY_n
+
+_KEY_n :: Int32
+_KEY_n = 110
+-- constant _KEY_nabla
+
+_KEY_nabla :: Int32
+_KEY_nabla = 2245
+-- constant _KEY_nacute
+
+_KEY_nacute :: Int32
+_KEY_nacute = 497
+-- constant _KEY_ncaron
+
+_KEY_ncaron :: Int32
+_KEY_ncaron = 498
+-- constant _KEY_ncedilla
+
+_KEY_ncedilla :: Int32
+_KEY_ncedilla = 1009
+-- constant _KEY_ninesubscript
+
+_KEY_ninesubscript :: Int32
+_KEY_ninesubscript = 16785545
+-- constant _KEY_ninesuperior
+
+_KEY_ninesuperior :: Int32
+_KEY_ninesuperior = 16785529
+-- constant _KEY_nl
+
+_KEY_nl :: Int32
+_KEY_nl = 2536
+-- constant _KEY_nobreakspace
+
+_KEY_nobreakspace :: Int32
+_KEY_nobreakspace = 160
+-- constant _KEY_notapproxeq
+
+_KEY_notapproxeq :: Int32
+_KEY_notapproxeq = 16785991
+-- constant _KEY_notelementof
+
+_KEY_notelementof :: Int32
+_KEY_notelementof = 16785929
+-- constant _KEY_notequal
+
+_KEY_notequal :: Int32
+_KEY_notequal = 2237
+-- constant _KEY_notidentical
+
+_KEY_notidentical :: Int32
+_KEY_notidentical = 16786018
+-- constant _KEY_notsign
+
+_KEY_notsign :: Int32
+_KEY_notsign = 172
+-- constant _KEY_ntilde
+
+_KEY_ntilde :: Int32
+_KEY_ntilde = 241
+-- constant _KEY_numbersign
+
+_KEY_numbersign :: Int32
+_KEY_numbersign = 35
+-- constant _KEY_numerosign
+
+_KEY_numerosign :: Int32
+_KEY_numerosign = 1712
+-- constant _KEY_o
+
+_KEY_o :: Int32
+_KEY_o = 111
+-- constant _KEY_oacute
+
+_KEY_oacute :: Int32
+_KEY_oacute = 243
+-- constant _KEY_obarred
+
+_KEY_obarred :: Int32
+_KEY_obarred = 16777845
+-- constant _KEY_obelowdot
+
+_KEY_obelowdot :: Int32
+_KEY_obelowdot = 16785101
+-- constant _KEY_ocaron
+
+_KEY_ocaron :: Int32
+_KEY_ocaron = 16777682
+-- constant _KEY_ocircumflex
+
+_KEY_ocircumflex :: Int32
+_KEY_ocircumflex = 244
+-- constant _KEY_ocircumflexacute
+
+_KEY_ocircumflexacute :: Int32
+_KEY_ocircumflexacute = 16785105
+-- constant _KEY_ocircumflexbelowdot
+
+_KEY_ocircumflexbelowdot :: Int32
+_KEY_ocircumflexbelowdot = 16785113
+-- constant _KEY_ocircumflexgrave
+
+_KEY_ocircumflexgrave :: Int32
+_KEY_ocircumflexgrave = 16785107
+-- constant _KEY_ocircumflexhook
+
+_KEY_ocircumflexhook :: Int32
+_KEY_ocircumflexhook = 16785109
+-- constant _KEY_ocircumflextilde
+
+_KEY_ocircumflextilde :: Int32
+_KEY_ocircumflextilde = 16785111
+-- constant _KEY_odiaeresis
+
+_KEY_odiaeresis :: Int32
+_KEY_odiaeresis = 246
+-- constant _KEY_odoubleacute
+
+_KEY_odoubleacute :: Int32
+_KEY_odoubleacute = 501
+-- constant _KEY_oe
+
+_KEY_oe :: Int32
+_KEY_oe = 5053
+-- constant _KEY_ogonek
+
+_KEY_ogonek :: Int32
+_KEY_ogonek = 434
+-- constant _KEY_ograve
+
+_KEY_ograve :: Int32
+_KEY_ograve = 242
+-- constant _KEY_ohook
+
+_KEY_ohook :: Int32
+_KEY_ohook = 16785103
+-- constant _KEY_ohorn
+
+_KEY_ohorn :: Int32
+_KEY_ohorn = 16777633
+-- constant _KEY_ohornacute
+
+_KEY_ohornacute :: Int32
+_KEY_ohornacute = 16785115
+-- constant _KEY_ohornbelowdot
+
+_KEY_ohornbelowdot :: Int32
+_KEY_ohornbelowdot = 16785123
+-- constant _KEY_ohorngrave
+
+_KEY_ohorngrave :: Int32
+_KEY_ohorngrave = 16785117
+-- constant _KEY_ohornhook
+
+_KEY_ohornhook :: Int32
+_KEY_ohornhook = 16785119
+-- constant _KEY_ohorntilde
+
+_KEY_ohorntilde :: Int32
+_KEY_ohorntilde = 16785121
+-- constant _KEY_omacron
+
+_KEY_omacron :: Int32
+_KEY_omacron = 1010
+-- constant _KEY_oneeighth
+
+_KEY_oneeighth :: Int32
+_KEY_oneeighth = 2755
+-- constant _KEY_onefifth
+
+_KEY_onefifth :: Int32
+_KEY_onefifth = 2738
+-- constant _KEY_onehalf
+
+_KEY_onehalf :: Int32
+_KEY_onehalf = 189
+-- constant _KEY_onequarter
+
+_KEY_onequarter :: Int32
+_KEY_onequarter = 188
+-- constant _KEY_onesixth
+
+_KEY_onesixth :: Int32
+_KEY_onesixth = 2742
+-- constant _KEY_onesubscript
+
+_KEY_onesubscript :: Int32
+_KEY_onesubscript = 16785537
+-- constant _KEY_onesuperior
+
+_KEY_onesuperior :: Int32
+_KEY_onesuperior = 185
+-- constant _KEY_onethird
+
+_KEY_onethird :: Int32
+_KEY_onethird = 2736
+-- constant _KEY_ooblique
+
+_KEY_ooblique :: Int32
+_KEY_ooblique = 248
+-- constant _KEY_openrectbullet
+
+_KEY_openrectbullet :: Int32
+_KEY_openrectbullet = 2786
+-- constant _KEY_openstar
+
+_KEY_openstar :: Int32
+_KEY_openstar = 2789
+-- constant _KEY_opentribulletdown
+
+_KEY_opentribulletdown :: Int32
+_KEY_opentribulletdown = 2788
+-- constant _KEY_opentribulletup
+
+_KEY_opentribulletup :: Int32
+_KEY_opentribulletup = 2787
+-- constant _KEY_ordfeminine
+
+_KEY_ordfeminine :: Int32
+_KEY_ordfeminine = 170
+-- constant _KEY_oslash
+
+_KEY_oslash :: Int32
+_KEY_oslash = 248
+-- constant _KEY_otilde
+
+_KEY_otilde :: Int32
+_KEY_otilde = 245
+-- constant _KEY_overbar
+
+_KEY_overbar :: Int32
+_KEY_overbar = 3008
+-- constant _KEY_overline
+
+_KEY_overline :: Int32
+_KEY_overline = 1150
+-- constant _KEY_p
+
+_KEY_p :: Int32
+_KEY_p = 112
+-- constant _KEY_pabovedot
+
+_KEY_pabovedot :: Int32
+_KEY_pabovedot = 16784983
+-- constant _KEY_paragraph
+
+_KEY_paragraph :: Int32
+_KEY_paragraph = 182
+-- constant _KEY_parenleft
+
+_KEY_parenleft :: Int32
+_KEY_parenleft = 40
+-- constant _KEY_parenright
+
+_KEY_parenright :: Int32
+_KEY_parenright = 41
+-- constant _KEY_partdifferential
+
+_KEY_partdifferential :: Int32
+_KEY_partdifferential = 16785922
+-- constant _KEY_partialderivative
+
+_KEY_partialderivative :: Int32
+_KEY_partialderivative = 2287
+-- constant _KEY_percent
+
+_KEY_percent :: Int32
+_KEY_percent = 37
+-- constant _KEY_period
+
+_KEY_period :: Int32
+_KEY_period = 46
+-- constant _KEY_periodcentered
+
+_KEY_periodcentered :: Int32
+_KEY_periodcentered = 183
+-- constant _KEY_permille
+
+_KEY_permille :: Int32
+_KEY_permille = 2773
+-- constant _KEY_phonographcopyright
+
+_KEY_phonographcopyright :: Int32
+_KEY_phonographcopyright = 2811
+-- constant _KEY_plus
+
+_KEY_plus :: Int32
+_KEY_plus = 43
+-- constant _KEY_plusminus
+
+_KEY_plusminus :: Int32
+_KEY_plusminus = 177
+-- constant _KEY_prescription
+
+_KEY_prescription :: Int32
+_KEY_prescription = 2772
+-- constant _KEY_prolongedsound
+
+_KEY_prolongedsound :: Int32
+_KEY_prolongedsound = 1200
+-- constant _KEY_punctspace
+
+_KEY_punctspace :: Int32
+_KEY_punctspace = 2726
+-- constant _KEY_q
+
+_KEY_q :: Int32
+_KEY_q = 113
+-- constant _KEY_quad
+
+_KEY_quad :: Int32
+_KEY_quad = 3020
+-- constant _KEY_question
+
+_KEY_question :: Int32
+_KEY_question = 63
+-- constant _KEY_questiondown
+
+_KEY_questiondown :: Int32
+_KEY_questiondown = 191
+-- constant _KEY_quotedbl
+
+_KEY_quotedbl :: Int32
+_KEY_quotedbl = 34
+-- constant _KEY_quoteleft
+
+_KEY_quoteleft :: Int32
+_KEY_quoteleft = 96
+-- constant _KEY_quoteright
+
+_KEY_quoteright :: Int32
+_KEY_quoteright = 39
+-- constant _KEY_r
+
+_KEY_r :: Int32
+_KEY_r = 114
+-- constant _KEY_racute
+
+_KEY_racute :: Int32
+_KEY_racute = 480
+-- constant _KEY_radical
+
+_KEY_radical :: Int32
+_KEY_radical = 2262
+-- constant _KEY_rcaron
+
+_KEY_rcaron :: Int32
+_KEY_rcaron = 504
+-- constant _KEY_rcedilla
+
+_KEY_rcedilla :: Int32
+_KEY_rcedilla = 947
+-- constant _KEY_registered
+
+_KEY_registered :: Int32
+_KEY_registered = 174
+-- constant _KEY_rightanglebracket
+
+_KEY_rightanglebracket :: Int32
+_KEY_rightanglebracket = 2750
+-- constant _KEY_rightarrow
+
+_KEY_rightarrow :: Int32
+_KEY_rightarrow = 2301
+-- constant _KEY_rightcaret
+
+_KEY_rightcaret :: Int32
+_KEY_rightcaret = 2982
+-- constant _KEY_rightdoublequotemark
+
+_KEY_rightdoublequotemark :: Int32
+_KEY_rightdoublequotemark = 2771
+-- constant _KEY_rightmiddlecurlybrace
+
+_KEY_rightmiddlecurlybrace :: Int32
+_KEY_rightmiddlecurlybrace = 2224
+-- constant _KEY_rightmiddlesummation
+
+_KEY_rightmiddlesummation :: Int32
+_KEY_rightmiddlesummation = 2231
+-- constant _KEY_rightopentriangle
+
+_KEY_rightopentriangle :: Int32
+_KEY_rightopentriangle = 2765
+-- constant _KEY_rightpointer
+
+_KEY_rightpointer :: Int32
+_KEY_rightpointer = 2795
+-- constant _KEY_rightshoe
+
+_KEY_rightshoe :: Int32
+_KEY_rightshoe = 3032
+-- constant _KEY_rightsinglequotemark
+
+_KEY_rightsinglequotemark :: Int32
+_KEY_rightsinglequotemark = 2769
+-- constant _KEY_rightt
+
+_KEY_rightt :: Int32
+_KEY_rightt = 2549
+-- constant _KEY_righttack
+
+_KEY_righttack :: Int32
+_KEY_righttack = 3068
+-- constant _KEY_s
+
+_KEY_s :: Int32
+_KEY_s = 115
+-- constant _KEY_sabovedot
+
+_KEY_sabovedot :: Int32
+_KEY_sabovedot = 16784993
+-- constant _KEY_sacute
+
+_KEY_sacute :: Int32
+_KEY_sacute = 438
+-- constant _KEY_scaron
+
+_KEY_scaron :: Int32
+_KEY_scaron = 441
+-- constant _KEY_scedilla
+
+_KEY_scedilla :: Int32
+_KEY_scedilla = 442
+-- constant _KEY_schwa
+
+_KEY_schwa :: Int32
+_KEY_schwa = 16777817
+-- constant _KEY_scircumflex
+
+_KEY_scircumflex :: Int32
+_KEY_scircumflex = 766
+-- constant _KEY_script_switch
+
+_KEY_script_switch :: Int32
+_KEY_script_switch = 65406
+-- constant _KEY_seconds
+
+_KEY_seconds :: Int32
+_KEY_seconds = 2775
+-- constant _KEY_section
+
+_KEY_section :: Int32
+_KEY_section = 167
+-- constant _KEY_semicolon
+
+_KEY_semicolon :: Int32
+_KEY_semicolon = 59
+-- constant _KEY_semivoicedsound
+
+_KEY_semivoicedsound :: Int32
+_KEY_semivoicedsound = 1247
+-- constant _KEY_seveneighths
+
+_KEY_seveneighths :: Int32
+_KEY_seveneighths = 2758
+-- constant _KEY_sevensubscript
+
+_KEY_sevensubscript :: Int32
+_KEY_sevensubscript = 16785543
+-- constant _KEY_sevensuperior
+
+_KEY_sevensuperior :: Int32
+_KEY_sevensuperior = 16785527
+-- constant _KEY_signaturemark
+
+_KEY_signaturemark :: Int32
+_KEY_signaturemark = 2762
+-- constant _KEY_signifblank
+
+_KEY_signifblank :: Int32
+_KEY_signifblank = 2732
+-- constant _KEY_similarequal
+
+_KEY_similarequal :: Int32
+_KEY_similarequal = 2249
+-- constant _KEY_singlelowquotemark
+
+_KEY_singlelowquotemark :: Int32
+_KEY_singlelowquotemark = 2813
+-- constant _KEY_sixsubscript
+
+_KEY_sixsubscript :: Int32
+_KEY_sixsubscript = 16785542
+-- constant _KEY_sixsuperior
+
+_KEY_sixsuperior :: Int32
+_KEY_sixsuperior = 16785526
+-- constant _KEY_slash
+
+_KEY_slash :: Int32
+_KEY_slash = 47
+-- constant _KEY_soliddiamond
+
+_KEY_soliddiamond :: Int32
+_KEY_soliddiamond = 2528
+-- constant _KEY_space
+
+_KEY_space :: Int32
+_KEY_space = 32
+-- constant _KEY_squareroot
+
+_KEY_squareroot :: Int32
+_KEY_squareroot = 16785946
+-- constant _KEY_ssharp
+
+_KEY_ssharp :: Int32
+_KEY_ssharp = 223
+-- constant _KEY_sterling
+
+_KEY_sterling :: Int32
+_KEY_sterling = 163
+-- constant _KEY_stricteq
+
+_KEY_stricteq :: Int32
+_KEY_stricteq = 16786019
+-- constant _KEY_t
+
+_KEY_t :: Int32
+_KEY_t = 116
+-- constant _KEY_tabovedot
+
+_KEY_tabovedot :: Int32
+_KEY_tabovedot = 16785003
+-- constant _KEY_tcaron
+
+_KEY_tcaron :: Int32
+_KEY_tcaron = 443
+-- constant _KEY_tcedilla
+
+_KEY_tcedilla :: Int32
+_KEY_tcedilla = 510
+-- constant _KEY_telephone
+
+_KEY_telephone :: Int32
+_KEY_telephone = 2809
+-- constant _KEY_telephonerecorder
+
+_KEY_telephonerecorder :: Int32
+_KEY_telephonerecorder = 2810
+-- constant _KEY_therefore
+
+_KEY_therefore :: Int32
+_KEY_therefore = 2240
+-- constant _KEY_thinspace
+
+_KEY_thinspace :: Int32
+_KEY_thinspace = 2727
+-- constant _KEY_thorn
+
+_KEY_thorn :: Int32
+_KEY_thorn = 254
+-- constant _KEY_threeeighths
+
+_KEY_threeeighths :: Int32
+_KEY_threeeighths = 2756
+-- constant _KEY_threefifths
+
+_KEY_threefifths :: Int32
+_KEY_threefifths = 2740
+-- constant _KEY_threequarters
+
+_KEY_threequarters :: Int32
+_KEY_threequarters = 190
+-- constant _KEY_threesubscript
+
+_KEY_threesubscript :: Int32
+_KEY_threesubscript = 16785539
+-- constant _KEY_threesuperior
+
+_KEY_threesuperior :: Int32
+_KEY_threesuperior = 179
+-- constant _KEY_tintegral
+
+_KEY_tintegral :: Int32
+_KEY_tintegral = 16785965
+-- constant _KEY_topintegral
+
+_KEY_topintegral :: Int32
+_KEY_topintegral = 2212
+-- constant _KEY_topleftparens
+
+_KEY_topleftparens :: Int32
+_KEY_topleftparens = 2219
+-- constant _KEY_topleftradical
+
+_KEY_topleftradical :: Int32
+_KEY_topleftradical = 2210
+-- constant _KEY_topleftsqbracket
+
+_KEY_topleftsqbracket :: Int32
+_KEY_topleftsqbracket = 2215
+-- constant _KEY_topleftsummation
+
+_KEY_topleftsummation :: Int32
+_KEY_topleftsummation = 2225
+-- constant _KEY_toprightparens
+
+_KEY_toprightparens :: Int32
+_KEY_toprightparens = 2221
+-- constant _KEY_toprightsqbracket
+
+_KEY_toprightsqbracket :: Int32
+_KEY_toprightsqbracket = 2217
+-- constant _KEY_toprightsummation
+
+_KEY_toprightsummation :: Int32
+_KEY_toprightsummation = 2229
+-- constant _KEY_topt
+
+_KEY_topt :: Int32
+_KEY_topt = 2551
+-- constant _KEY_topvertsummationconnector
+
+_KEY_topvertsummationconnector :: Int32
+_KEY_topvertsummationconnector = 2227
+-- constant _KEY_trademark
+
+_KEY_trademark :: Int32
+_KEY_trademark = 2761
+-- constant _KEY_trademarkincircle
+
+_KEY_trademarkincircle :: Int32
+_KEY_trademarkincircle = 2763
+-- constant _KEY_tslash
+
+_KEY_tslash :: Int32
+_KEY_tslash = 956
+-- constant _KEY_twofifths
+
+_KEY_twofifths :: Int32
+_KEY_twofifths = 2739
+-- constant _KEY_twosubscript
+
+_KEY_twosubscript :: Int32
+_KEY_twosubscript = 16785538
+-- constant _KEY_twosuperior
+
+_KEY_twosuperior :: Int32
+_KEY_twosuperior = 178
+-- constant _KEY_twothirds
+
+_KEY_twothirds :: Int32
+_KEY_twothirds = 2737
+-- constant _KEY_u
+
+_KEY_u :: Int32
+_KEY_u = 117
+-- constant _KEY_uacute
+
+_KEY_uacute :: Int32
+_KEY_uacute = 250
+-- constant _KEY_ubelowdot
+
+_KEY_ubelowdot :: Int32
+_KEY_ubelowdot = 16785125
+-- constant _KEY_ubreve
+
+_KEY_ubreve :: Int32
+_KEY_ubreve = 765
+-- constant _KEY_ucircumflex
+
+_KEY_ucircumflex :: Int32
+_KEY_ucircumflex = 251
+-- constant _KEY_udiaeresis
+
+_KEY_udiaeresis :: Int32
+_KEY_udiaeresis = 252
+-- constant _KEY_udoubleacute
+
+_KEY_udoubleacute :: Int32
+_KEY_udoubleacute = 507
+-- constant _KEY_ugrave
+
+_KEY_ugrave :: Int32
+_KEY_ugrave = 249
+-- constant _KEY_uhook
+
+_KEY_uhook :: Int32
+_KEY_uhook = 16785127
+-- constant _KEY_uhorn
+
+_KEY_uhorn :: Int32
+_KEY_uhorn = 16777648
+-- constant _KEY_uhornacute
+
+_KEY_uhornacute :: Int32
+_KEY_uhornacute = 16785129
+-- constant _KEY_uhornbelowdot
+
+_KEY_uhornbelowdot :: Int32
+_KEY_uhornbelowdot = 16785137
+-- constant _KEY_uhorngrave
+
+_KEY_uhorngrave :: Int32
+_KEY_uhorngrave = 16785131
+-- constant _KEY_uhornhook
+
+_KEY_uhornhook :: Int32
+_KEY_uhornhook = 16785133
+-- constant _KEY_uhorntilde
+
+_KEY_uhorntilde :: Int32
+_KEY_uhorntilde = 16785135
+-- constant _KEY_umacron
+
+_KEY_umacron :: Int32
+_KEY_umacron = 1022
+-- constant _KEY_underbar
+
+_KEY_underbar :: Int32
+_KEY_underbar = 3014
+-- constant _KEY_underscore
+
+_KEY_underscore :: Int32
+_KEY_underscore = 95
+-- constant _KEY_union
+
+_KEY_union :: Int32
+_KEY_union = 2269
+-- constant _KEY_uogonek
+
+_KEY_uogonek :: Int32
+_KEY_uogonek = 1017
+-- constant _KEY_uparrow
+
+_KEY_uparrow :: Int32
+_KEY_uparrow = 2300
+-- constant _KEY_upcaret
+
+_KEY_upcaret :: Int32
+_KEY_upcaret = 2985
+-- constant _KEY_upleftcorner
+
+_KEY_upleftcorner :: Int32
+_KEY_upleftcorner = 2540
+-- constant _KEY_uprightcorner
+
+_KEY_uprightcorner :: Int32
+_KEY_uprightcorner = 2539
+-- constant _KEY_upshoe
+
+_KEY_upshoe :: Int32
+_KEY_upshoe = 3011
+-- constant _KEY_upstile
+
+_KEY_upstile :: Int32
+_KEY_upstile = 3027
+-- constant _KEY_uptack
+
+_KEY_uptack :: Int32
+_KEY_uptack = 3022
+-- constant _KEY_uring
+
+_KEY_uring :: Int32
+_KEY_uring = 505
+-- constant _KEY_utilde
+
+_KEY_utilde :: Int32
+_KEY_utilde = 1021
+-- constant _KEY_v
+
+_KEY_v :: Int32
+_KEY_v = 118
+-- constant _KEY_variation
+
+_KEY_variation :: Int32
+_KEY_variation = 2241
+-- constant _KEY_vertbar
+
+_KEY_vertbar :: Int32
+_KEY_vertbar = 2552
+-- constant _KEY_vertconnector
+
+_KEY_vertconnector :: Int32
+_KEY_vertconnector = 2214
+-- constant _KEY_voicedsound
+
+_KEY_voicedsound :: Int32
+_KEY_voicedsound = 1246
+-- constant _KEY_vt
+
+_KEY_vt :: Int32
+_KEY_vt = 2537
+-- constant _KEY_w
+
+_KEY_w :: Int32
+_KEY_w = 119
+-- constant _KEY_wacute
+
+_KEY_wacute :: Int32
+_KEY_wacute = 16785027
+-- constant _KEY_wcircumflex
+
+_KEY_wcircumflex :: Int32
+_KEY_wcircumflex = 16777589
+-- constant _KEY_wdiaeresis
+
+_KEY_wdiaeresis :: Int32
+_KEY_wdiaeresis = 16785029
+-- constant _KEY_wgrave
+
+_KEY_wgrave :: Int32
+_KEY_wgrave = 16785025
+-- constant _KEY_x
+
+_KEY_x :: Int32
+_KEY_x = 120
+-- constant _KEY_xabovedot
+
+_KEY_xabovedot :: Int32
+_KEY_xabovedot = 16785035
+-- constant _KEY_y
+
+_KEY_y :: Int32
+_KEY_y = 121
+-- constant _KEY_yacute
+
+_KEY_yacute :: Int32
+_KEY_yacute = 253
+-- constant _KEY_ybelowdot
+
+_KEY_ybelowdot :: Int32
+_KEY_ybelowdot = 16785141
+-- constant _KEY_ycircumflex
+
+_KEY_ycircumflex :: Int32
+_KEY_ycircumflex = 16777591
+-- constant _KEY_ydiaeresis
+
+_KEY_ydiaeresis :: Int32
+_KEY_ydiaeresis = 255
+-- constant _KEY_yen
+
+_KEY_yen :: Int32
+_KEY_yen = 165
+-- constant _KEY_ygrave
+
+_KEY_ygrave :: Int32
+_KEY_ygrave = 16785139
+-- constant _KEY_yhook
+
+_KEY_yhook :: Int32
+_KEY_yhook = 16785143
+-- constant _KEY_ytilde
+
+_KEY_ytilde :: Int32
+_KEY_ytilde = 16785145
+-- constant _KEY_z
+
+_KEY_z :: Int32
+_KEY_z = 122
+-- constant _KEY_zabovedot
+
+_KEY_zabovedot :: Int32
+_KEY_zabovedot = 447
+-- constant _KEY_zacute
+
+_KEY_zacute :: Int32
+_KEY_zacute = 444
+-- constant _KEY_zcaron
+
+_KEY_zcaron :: Int32
+_KEY_zcaron = 446
+-- constant _KEY_zerosubscript
+
+_KEY_zerosubscript :: Int32
+_KEY_zerosubscript = 16785536
+-- constant _KEY_zerosuperior
+
+_KEY_zerosuperior :: Int32
+_KEY_zerosuperior = 16785520
+-- constant _KEY_zstroke
+
+_KEY_zstroke :: Int32
+_KEY_zstroke = 16777654
+-- constant _MAX_TIMECOORD_AXES
+
+_MAX_TIMECOORD_AXES :: Int32
+_MAX_TIMECOORD_AXES = 128
+-- constant _PARENT_RELATIVE
+
+_PARENT_RELATIVE :: Int32
+_PARENT_RELATIVE = 1
+-- constant _PRIORITY_REDRAW
+
+_PRIORITY_REDRAW :: Int32
+_PRIORITY_REDRAW = 20
+-- function gdk_add_option_entries_libgtk_only
+-- Args : [Arg {argName = "group", argType = TInterface "GLib" "OptionGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "group", argType = TInterface "GLib" "OptionGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_add_option_entries_libgtk_only" gdk_add_option_entries_libgtk_only :: 
+    Ptr GLib.OptionGroup ->                 -- group : TInterface "GLib" "OptionGroup"
+    IO ()
+
+{-# DEPRECATED addOptionEntriesLibgtkOnly ["(Since version 3.16)","This symbol was never meant to be used outside","  of GTK+"]#-}
+addOptionEntriesLibgtkOnly ::
+    (MonadIO m) =>
+    GLib.OptionGroup ->                     -- group
+    m ()
+addOptionEntriesLibgtkOnly group = liftIO $ do
+    let group' = unsafeManagedPtrGetPtr group
+    gdk_add_option_entries_libgtk_only group'
+    touchManagedPtr group
+    return ()
+
+-- function gdk_atom_intern
+-- Args : [Arg {argName = "atom_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "only_if_exists", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "atom_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "only_if_exists", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Atom"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_atom_intern" gdk_atom_intern :: 
+    CString ->                              -- atom_name : TBasicType TUTF8
+    CInt ->                                 -- only_if_exists : TBasicType TBoolean
+    IO (Ptr Atom)
+
+
+atomIntern ::
+    (MonadIO m) =>
+    T.Text ->                               -- atom_name
+    Bool ->                                 -- only_if_exists
+    m Atom
+atomIntern atom_name only_if_exists = liftIO $ do
+    atom_name' <- textToCString atom_name
+    let only_if_exists' = (fromIntegral . fromEnum) only_if_exists
+    result <- gdk_atom_intern atom_name' only_if_exists'
+    checkUnexpectedReturnNULL "gdk_atom_intern" result
+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
+    result' <- (\x -> Atom <$> newForeignPtr_ x) result
+    freeMem atom_name'
+    return result'
+
+-- function gdk_atom_intern_static_string
+-- Args : [Arg {argName = "atom_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "atom_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Atom"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_atom_intern_static_string" gdk_atom_intern_static_string :: 
+    CString ->                              -- atom_name : TBasicType TUTF8
+    IO (Ptr Atom)
+
+
+atomInternStaticString ::
+    (MonadIO m) =>
+    T.Text ->                               -- atom_name
+    m Atom
+atomInternStaticString atom_name = liftIO $ do
+    atom_name' <- textToCString atom_name
+    result <- gdk_atom_intern_static_string atom_name'
+    checkUnexpectedReturnNULL "gdk_atom_intern_static_string" result
+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
+    result' <- (\x -> Atom <$> newForeignPtr_ x) result
+    freeMem atom_name'
+    return result'
+
+-- function gdk_beep
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_beep" gdk_beep :: 
+    IO ()
+
+
+beep ::
+    (MonadIO m) =>
+    m ()
+beep  = liftIO $ do
+    gdk_beep
+    return ()
+
+-- function gdk_cairo_create
+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "cairo" "Context"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cairo_create" gdk_cairo_create :: 
+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
+    IO (Ptr Cairo.Context)
+
+
+cairoCreate ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- window
+    m Cairo.Context
+cairoCreate window = liftIO $ do
+    let window' = unsafeManagedPtrCastPtr window
+    result <- gdk_cairo_create window'
+    checkUnexpectedReturnNULL "gdk_cairo_create" result
+    result' <- (wrapBoxed Cairo.Context) result
+    touchManagedPtr window
+    return result'
+
+-- function gdk_cairo_draw_from_gl
+-- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source_type", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer_scale", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source_type", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer_scale", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cairo_draw_from_gl" gdk_cairo_draw_from_gl :: 
+    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"
+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
+    Int32 ->                                -- source : TBasicType TInt32
+    Int32 ->                                -- source_type : TBasicType TInt32
+    Int32 ->                                -- buffer_scale : TBasicType TInt32
+    Int32 ->                                -- x : TBasicType TInt32
+    Int32 ->                                -- y : TBasicType TInt32
+    Int32 ->                                -- width : TBasicType TInt32
+    Int32 ->                                -- height : TBasicType TInt32
+    IO ()
+
+
+cairoDrawFromGl ::
+    (MonadIO m, WindowK a) =>
+    Cairo.Context ->                        -- cr
+    a ->                                    -- window
+    Int32 ->                                -- source
+    Int32 ->                                -- source_type
+    Int32 ->                                -- buffer_scale
+    Int32 ->                                -- x
+    Int32 ->                                -- y
+    Int32 ->                                -- width
+    Int32 ->                                -- height
+    m ()
+cairoDrawFromGl cr window source source_type buffer_scale x y width height = liftIO $ do
+    let cr' = unsafeManagedPtrGetPtr cr
+    let window' = unsafeManagedPtrCastPtr window
+    gdk_cairo_draw_from_gl cr' window' source source_type buffer_scale x y width height
+    touchManagedPtr cr
+    touchManagedPtr window
+    return ()
+
+-- function gdk_cairo_get_clip_rectangle
+-- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rect", argType = TInterface "Gdk" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cairo_get_clip_rectangle" gdk_cairo_get_clip_rectangle :: 
+    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"
+    Ptr Rectangle ->                        -- rect : TInterface "Gdk" "Rectangle"
+    IO CInt
+
+
+cairoGetClipRectangle ::
+    (MonadIO m) =>
+    Cairo.Context ->                        -- cr
+    m (Bool,Rectangle)
+cairoGetClipRectangle cr = liftIO $ do
+    let cr' = unsafeManagedPtrGetPtr cr
+    rect <- callocBoxedBytes 16 :: IO (Ptr Rectangle)
+    result <- gdk_cairo_get_clip_rectangle cr' rect
+    let result' = (/= 0) result
+    rect' <- (wrapBoxed Rectangle) rect
+    touchManagedPtr cr
+    return (result', rect')
+
+-- function gdk_cairo_rectangle
+-- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rectangle", argType = TInterface "Gdk" "Rectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rectangle", argType = TInterface "Gdk" "Rectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cairo_rectangle" gdk_cairo_rectangle :: 
+    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"
+    Ptr Rectangle ->                        -- rectangle : TInterface "Gdk" "Rectangle"
+    IO ()
+
+
+cairoRectangle ::
+    (MonadIO m) =>
+    Cairo.Context ->                        -- cr
+    Rectangle ->                            -- rectangle
+    m ()
+cairoRectangle cr rectangle = liftIO $ do
+    let cr' = unsafeManagedPtrGetPtr cr
+    let rectangle' = unsafeManagedPtrGetPtr rectangle
+    gdk_cairo_rectangle cr' rectangle'
+    touchManagedPtr cr
+    touchManagedPtr rectangle
+    return ()
+
+-- function gdk_cairo_region
+-- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cairo_region" gdk_cairo_region :: 
+    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"
+    Ptr Cairo.Region ->                     -- region : TInterface "cairo" "Region"
+    IO ()
+
+
+cairoRegion ::
+    (MonadIO m) =>
+    Cairo.Context ->                        -- cr
+    Cairo.Region ->                         -- region
+    m ()
+cairoRegion cr region = liftIO $ do
+    let cr' = unsafeManagedPtrGetPtr cr
+    let region' = unsafeManagedPtrGetPtr region
+    gdk_cairo_region cr' region'
+    touchManagedPtr cr
+    touchManagedPtr region
+    return ()
+
+-- function gdk_cairo_region_create_from_surface
+-- Args : [Arg {argName = "surface", argType = TInterface "cairo" "Surface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "surface", argType = TInterface "cairo" "Surface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "cairo" "Region"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cairo_region_create_from_surface" gdk_cairo_region_create_from_surface :: 
+    Ptr Cairo.Surface ->                    -- surface : TInterface "cairo" "Surface"
+    IO (Ptr Cairo.Region)
+
+
+cairoRegionCreateFromSurface ::
+    (MonadIO m) =>
+    Cairo.Surface ->                        -- surface
+    m Cairo.Region
+cairoRegionCreateFromSurface surface = liftIO $ do
+    let surface' = unsafeManagedPtrGetPtr surface
+    result <- gdk_cairo_region_create_from_surface surface'
+    checkUnexpectedReturnNULL "gdk_cairo_region_create_from_surface" result
+    result' <- (wrapBoxed Cairo.Region) result
+    touchManagedPtr surface
+    return result'
+
+-- function gdk_cairo_set_source_color
+-- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "color", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "color", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cairo_set_source_color" gdk_cairo_set_source_color :: 
+    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"
+    Ptr Color ->                            -- color : TInterface "Gdk" "Color"
+    IO ()
+
+{-# DEPRECATED cairoSetSourceColor ["(Since version 3.4)","Use gdk_cairo_set_source_rgba() instead"]#-}
+cairoSetSourceColor ::
+    (MonadIO m) =>
+    Cairo.Context ->                        -- cr
+    Color ->                                -- color
+    m ()
+cairoSetSourceColor cr color = liftIO $ do
+    let cr' = unsafeManagedPtrGetPtr cr
+    let color' = unsafeManagedPtrGetPtr color
+    gdk_cairo_set_source_color cr' color'
+    touchManagedPtr cr
+    touchManagedPtr color
+    return ()
+
+-- function gdk_cairo_set_source_pixbuf
+-- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf_y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf_y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cairo_set_source_pixbuf" gdk_cairo_set_source_pixbuf :: 
+    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"
+    Ptr GdkPixbuf.Pixbuf ->                 -- pixbuf : TInterface "GdkPixbuf" "Pixbuf"
+    CDouble ->                              -- pixbuf_x : TBasicType TDouble
+    CDouble ->                              -- pixbuf_y : TBasicType TDouble
+    IO ()
+
+
+cairoSetSourcePixbuf ::
+    (MonadIO m, GdkPixbuf.PixbufK a) =>
+    Cairo.Context ->                        -- cr
+    a ->                                    -- pixbuf
+    Double ->                               -- pixbuf_x
+    Double ->                               -- pixbuf_y
+    m ()
+cairoSetSourcePixbuf cr pixbuf pixbuf_x pixbuf_y = liftIO $ do
+    let cr' = unsafeManagedPtrGetPtr cr
+    let pixbuf' = unsafeManagedPtrCastPtr pixbuf
+    let pixbuf_x' = realToFrac pixbuf_x
+    let pixbuf_y' = realToFrac pixbuf_y
+    gdk_cairo_set_source_pixbuf cr' pixbuf' pixbuf_x' pixbuf_y'
+    touchManagedPtr cr
+    touchManagedPtr pixbuf
+    return ()
+
+-- function gdk_cairo_set_source_rgba
+-- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rgba", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rgba", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cairo_set_source_rgba" gdk_cairo_set_source_rgba :: 
+    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"
+    Ptr RGBA ->                             -- rgba : TInterface "Gdk" "RGBA"
+    IO ()
+
+
+cairoSetSourceRgba ::
+    (MonadIO m) =>
+    Cairo.Context ->                        -- cr
+    RGBA ->                                 -- rgba
+    m ()
+cairoSetSourceRgba cr rgba = liftIO $ do
+    let cr' = unsafeManagedPtrGetPtr cr
+    let rgba' = unsafeManagedPtrGetPtr rgba
+    gdk_cairo_set_source_rgba cr' rgba'
+    touchManagedPtr cr
+    touchManagedPtr rgba
+    return ()
+
+-- function gdk_cairo_set_source_window
+-- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cairo_set_source_window" gdk_cairo_set_source_window :: 
+    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"
+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
+    CDouble ->                              -- x : TBasicType TDouble
+    CDouble ->                              -- y : TBasicType TDouble
+    IO ()
+
+
+cairoSetSourceWindow ::
+    (MonadIO m, WindowK a) =>
+    Cairo.Context ->                        -- cr
+    a ->                                    -- window
+    Double ->                               -- x
+    Double ->                               -- y
+    m ()
+cairoSetSourceWindow cr window x y = liftIO $ do
+    let cr' = unsafeManagedPtrGetPtr cr
+    let window' = unsafeManagedPtrCastPtr window
+    let x' = realToFrac x
+    let y' = realToFrac y
+    gdk_cairo_set_source_window cr' window' x' y'
+    touchManagedPtr cr
+    touchManagedPtr window
+    return ()
+
+-- function gdk_cairo_surface_create_from_pixbuf
+-- Args : [Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "for_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "for_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "cairo" "Surface"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_cairo_surface_create_from_pixbuf" gdk_cairo_surface_create_from_pixbuf :: 
+    Ptr GdkPixbuf.Pixbuf ->                 -- pixbuf : TInterface "GdkPixbuf" "Pixbuf"
+    Int32 ->                                -- scale : TBasicType TInt32
+    Ptr Window ->                           -- for_window : TInterface "Gdk" "Window"
+    IO (Ptr Cairo.Surface)
+
+
+cairoSurfaceCreateFromPixbuf ::
+    (MonadIO m, GdkPixbuf.PixbufK a, WindowK b) =>
+    a ->                                    -- pixbuf
+    Int32 ->                                -- scale
+    Maybe (b) ->                            -- for_window
+    m Cairo.Surface
+cairoSurfaceCreateFromPixbuf pixbuf scale for_window = liftIO $ do
+    let pixbuf' = unsafeManagedPtrCastPtr pixbuf
+    maybeFor_window <- case for_window of
+        Nothing -> return nullPtr
+        Just jFor_window -> do
+            let jFor_window' = unsafeManagedPtrCastPtr jFor_window
+            return jFor_window'
+    result <- gdk_cairo_surface_create_from_pixbuf pixbuf' scale maybeFor_window
+    checkUnexpectedReturnNULL "gdk_cairo_surface_create_from_pixbuf" result
+    result' <- (wrapBoxed Cairo.Surface) result
+    touchManagedPtr pixbuf
+    whenJust for_window touchManagedPtr
+    return result'
+
+-- function gdk_color_parse
+-- Args : [Arg {argName = "spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "color", argType = TInterface "Gdk" "Color", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_color_parse" gdk_color_parse :: 
+    CString ->                              -- spec : TBasicType TUTF8
+    Ptr Color ->                            -- color : TInterface "Gdk" "Color"
+    IO CInt
+
+{-# DEPRECATED colorParse ["(Since version 3.14)","Use #GdkRGBA"]#-}
+colorParse ::
+    (MonadIO m) =>
+    T.Text ->                               -- spec
+    m (Bool,Color)
+colorParse spec = liftIO $ do
+    spec' <- textToCString spec
+    color <- callocBoxedBytes 12 :: IO (Ptr Color)
+    result <- gdk_color_parse spec' color
+    let result' = (/= 0) result
+    color' <- (wrapBoxed Color) color
+    freeMem spec'
+    return (result', color')
+
+-- function gdk_disable_multidevice
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_disable_multidevice" gdk_disable_multidevice :: 
+    IO ()
+
+
+disableMultidevice ::
+    (MonadIO m) =>
+    m ()
+disableMultidevice  = liftIO $ do
+    gdk_disable_multidevice
+    return ()
+
+-- function gdk_drag_abort
+-- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_drag_abort" gdk_drag_abort :: 
+    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO ()
+
+
+dragAbort ::
+    (MonadIO m, DragContextK a) =>
+    a ->                                    -- context
+    Word32 ->                               -- time_
+    m ()
+dragAbort context time_ = liftIO $ do
+    let context' = unsafeManagedPtrCastPtr context
+    gdk_drag_abort context' time_
+    touchManagedPtr context
+    return ()
+
+-- function gdk_drag_begin
+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "targets", argType = TGList (TInterface "Gdk" "Atom"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "targets", argType = TGList (TInterface "Gdk" "Atom"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "DragContext"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_drag_begin" gdk_drag_begin :: 
+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
+    Ptr (GList (Ptr Atom)) ->               -- targets : TGList (TInterface "Gdk" "Atom")
+    IO (Ptr DragContext)
+
+
+dragBegin ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- window
+    [Atom] ->                               -- targets
+    m DragContext
+dragBegin window targets = liftIO $ do
+    let window' = unsafeManagedPtrCastPtr window
+    let targets' = map unsafeManagedPtrGetPtr targets
+    targets'' <- packGList targets'
+    result <- gdk_drag_begin window' targets''
+    checkUnexpectedReturnNULL "gdk_drag_begin" result
+    result' <- (wrapObject DragContext) result
+    touchManagedPtr window
+    mapM_ touchManagedPtr targets
+    g_list_free targets''
+    return result'
+
+-- function gdk_drag_begin_for_device
+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "targets", argType = TGList (TInterface "Gdk" "Atom"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "targets", argType = TGList (TInterface "Gdk" "Atom"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "DragContext"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_drag_begin_for_device" gdk_drag_begin_for_device :: 
+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
+    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
+    Ptr (GList (Ptr Atom)) ->               -- targets : TGList (TInterface "Gdk" "Atom")
+    IO (Ptr DragContext)
+
+
+dragBeginForDevice ::
+    (MonadIO m, WindowK a, DeviceK b) =>
+    a ->                                    -- window
+    b ->                                    -- device
+    [Atom] ->                               -- targets
+    m DragContext
+dragBeginForDevice window device targets = liftIO $ do
+    let window' = unsafeManagedPtrCastPtr window
+    let device' = unsafeManagedPtrCastPtr device
+    let targets' = map unsafeManagedPtrGetPtr targets
+    targets'' <- packGList targets'
+    result <- gdk_drag_begin_for_device window' device' targets''
+    checkUnexpectedReturnNULL "gdk_drag_begin_for_device" result
+    result' <- (wrapObject DragContext) result
+    touchManagedPtr window
+    touchManagedPtr device
+    mapM_ touchManagedPtr targets
+    g_list_free targets''
+    return result'
+
+-- function gdk_drag_drop
+-- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_drag_drop" gdk_drag_drop :: 
+    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO ()
+
+
+dragDrop ::
+    (MonadIO m, DragContextK a) =>
+    a ->                                    -- context
+    Word32 ->                               -- time_
+    m ()
+dragDrop context time_ = liftIO $ do
+    let context' = unsafeManagedPtrCastPtr context
+    gdk_drag_drop context' time_
+    touchManagedPtr context
+    return ()
+
+-- function gdk_drag_drop_succeeded
+-- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_drag_drop_succeeded" gdk_drag_drop_succeeded :: 
+    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"
+    IO CInt
+
+
+dragDropSucceeded ::
+    (MonadIO m, DragContextK a) =>
+    a ->                                    -- context
+    m Bool
+dragDropSucceeded context = liftIO $ do
+    let context' = unsafeManagedPtrCastPtr context
+    result <- gdk_drag_drop_succeeded context'
+    let result' = (/= 0) result
+    touchManagedPtr context
+    return result'
+
+-- function gdk_drag_find_window_for_screen
+-- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "drag_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_window", argType = TInterface "Gdk" "Window", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "protocol", argType = TInterface "Gdk" "DragProtocol", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "drag_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_drag_find_window_for_screen" gdk_drag_find_window_for_screen :: 
+    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"
+    Ptr Window ->                           -- drag_window : TInterface "Gdk" "Window"
+    Ptr Screen ->                           -- screen : TInterface "Gdk" "Screen"
+    Int32 ->                                -- x_root : TBasicType TInt32
+    Int32 ->                                -- y_root : TBasicType TInt32
+    Ptr (Ptr Window) ->                     -- dest_window : TInterface "Gdk" "Window"
+    Ptr CUInt ->                            -- protocol : TInterface "Gdk" "DragProtocol"
+    IO ()
+
+
+dragFindWindowForScreen ::
+    (MonadIO m, DragContextK a, WindowK b, ScreenK c) =>
+    a ->                                    -- context
+    b ->                                    -- drag_window
+    c ->                                    -- screen
+    Int32 ->                                -- x_root
+    Int32 ->                                -- y_root
+    m (Window,DragProtocol)
+dragFindWindowForScreen context drag_window screen x_root y_root = liftIO $ do
+    let context' = unsafeManagedPtrCastPtr context
+    let drag_window' = unsafeManagedPtrCastPtr drag_window
+    let screen' = unsafeManagedPtrCastPtr screen
+    dest_window <- allocMem :: IO (Ptr (Ptr Window))
+    protocol <- allocMem :: IO (Ptr CUInt)
+    gdk_drag_find_window_for_screen context' drag_window' screen' x_root y_root dest_window protocol
+    dest_window' <- peek dest_window
+    dest_window'' <- (wrapObject Window) dest_window'
+    protocol' <- peek protocol
+    let protocol'' = (toEnum . fromIntegral) protocol'
+    touchManagedPtr context
+    touchManagedPtr drag_window
+    touchManagedPtr screen
+    freeMem dest_window
+    freeMem protocol
+    return (dest_window'', protocol'')
+
+-- function gdk_drag_get_selection
+-- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Atom"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_drag_get_selection" gdk_drag_get_selection :: 
+    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"
+    IO (Ptr Atom)
+
+
+dragGetSelection ::
+    (MonadIO m, DragContextK a) =>
+    a ->                                    -- context
+    m Atom
+dragGetSelection context = liftIO $ do
+    let context' = unsafeManagedPtrCastPtr context
+    result <- gdk_drag_get_selection context'
+    checkUnexpectedReturnNULL "gdk_drag_get_selection" result
+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
+    result' <- (\x -> Atom <$> newForeignPtr_ x) result
+    touchManagedPtr context
+    return result'
+
+-- function gdk_drag_motion
+-- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocol", argType = TInterface "Gdk" "DragProtocol", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "suggested_action", argType = TInterface "Gdk" "DragAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "possible_actions", argType = TInterface "Gdk" "DragAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocol", argType = TInterface "Gdk" "DragProtocol", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "suggested_action", argType = TInterface "Gdk" "DragAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "possible_actions", argType = TInterface "Gdk" "DragAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_drag_motion" gdk_drag_motion :: 
+    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"
+    Ptr Window ->                           -- dest_window : TInterface "Gdk" "Window"
+    CUInt ->                                -- protocol : TInterface "Gdk" "DragProtocol"
+    Int32 ->                                -- x_root : TBasicType TInt32
+    Int32 ->                                -- y_root : TBasicType TInt32
+    CUInt ->                                -- suggested_action : TInterface "Gdk" "DragAction"
+    CUInt ->                                -- possible_actions : TInterface "Gdk" "DragAction"
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO CInt
+
+
+dragMotion ::
+    (MonadIO m, DragContextK a, WindowK b) =>
+    a ->                                    -- context
+    b ->                                    -- dest_window
+    DragProtocol ->                         -- protocol
+    Int32 ->                                -- x_root
+    Int32 ->                                -- y_root
+    [DragAction] ->                         -- suggested_action
+    [DragAction] ->                         -- possible_actions
+    Word32 ->                               -- time_
+    m Bool
+dragMotion context dest_window protocol x_root y_root suggested_action possible_actions time_ = liftIO $ do
+    let context' = unsafeManagedPtrCastPtr context
+    let dest_window' = unsafeManagedPtrCastPtr dest_window
+    let protocol' = (fromIntegral . fromEnum) protocol
+    let suggested_action' = gflagsToWord suggested_action
+    let possible_actions' = gflagsToWord possible_actions
+    result <- gdk_drag_motion context' dest_window' protocol' x_root y_root suggested_action' possible_actions' time_
+    let result' = (/= 0) result
+    touchManagedPtr context
+    touchManagedPtr dest_window
+    return result'
+
+-- function gdk_drag_status
+-- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "action", argType = TInterface "Gdk" "DragAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "action", argType = TInterface "Gdk" "DragAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_drag_status" gdk_drag_status :: 
+    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"
+    CUInt ->                                -- action : TInterface "Gdk" "DragAction"
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO ()
+
+
+dragStatus ::
+    (MonadIO m, DragContextK a) =>
+    a ->                                    -- context
+    [DragAction] ->                         -- action
+    Word32 ->                               -- time_
+    m ()
+dragStatus context action time_ = liftIO $ do
+    let context' = unsafeManagedPtrCastPtr context
+    let action' = gflagsToWord action
+    gdk_drag_status context' action' time_
+    touchManagedPtr context
+    return ()
+
+-- function gdk_drop_finish
+-- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "success", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "success", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_drop_finish" gdk_drop_finish :: 
+    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"
+    CInt ->                                 -- success : TBasicType TBoolean
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO ()
+
+
+dropFinish ::
+    (MonadIO m, DragContextK a) =>
+    a ->                                    -- context
+    Bool ->                                 -- success
+    Word32 ->                               -- time_
+    m ()
+dropFinish context success time_ = liftIO $ do
+    let context' = unsafeManagedPtrCastPtr context
+    let success' = (fromIntegral . fromEnum) success
+    gdk_drop_finish context' success' time_
+    touchManagedPtr context
+    return ()
+
+-- function gdk_drop_reply
+-- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accepted", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accepted", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_drop_reply" gdk_drop_reply :: 
+    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"
+    CInt ->                                 -- accepted : TBasicType TBoolean
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO ()
+
+
+dropReply ::
+    (MonadIO m, DragContextK a) =>
+    a ->                                    -- context
+    Bool ->                                 -- accepted
+    Word32 ->                               -- time_
+    m ()
+dropReply context accepted time_ = liftIO $ do
+    let context' = unsafeManagedPtrCastPtr context
+    let accepted' = (fromIntegral . fromEnum) accepted
+    gdk_drop_reply context' accepted' time_
+    touchManagedPtr context
+    return ()
+
+-- function gdk_error_trap_pop
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_error_trap_pop" gdk_error_trap_pop :: 
+    IO Int32
+
+
+errorTrapPop ::
+    (MonadIO m) =>
+    m Int32
+errorTrapPop  = liftIO $ do
+    result <- gdk_error_trap_pop
+    return result
+
+-- function gdk_error_trap_pop_ignored
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_error_trap_pop_ignored" gdk_error_trap_pop_ignored :: 
+    IO ()
+
+
+errorTrapPopIgnored ::
+    (MonadIO m) =>
+    m ()
+errorTrapPopIgnored  = liftIO $ do
+    gdk_error_trap_pop_ignored
+    return ()
+
+-- function gdk_error_trap_push
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_error_trap_push" gdk_error_trap_push :: 
+    IO ()
+
+
+errorTrapPush ::
+    (MonadIO m) =>
+    m ()
+errorTrapPush  = liftIO $ do
+    gdk_error_trap_push
+    return ()
+
+-- function gdk_event_get
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TInterface "Gdk" "Event"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_get" gdk_event_get :: 
+    IO (Ptr Event)
+
+
+eventGet ::
+    (MonadIO m) =>
+    m Event
+eventGet  = liftIO $ do
+    result <- gdk_event_get
+    checkUnexpectedReturnNULL "gdk_event_get" result
+    result' <- (wrapBoxed Event) result
+    return result'
+
+-- function gdk_event_handler_set
+-- Args : [Arg {argName = "func", argType = TInterface "Gdk" "EventFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 1, argDestroy = 2, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "func", argType = TInterface "Gdk" "EventFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 1, argDestroy = 2, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_handler_set" gdk_event_handler_set :: 
+    FunPtr EventFuncC ->                    -- func : TInterface "Gdk" "EventFunc"
+    Ptr () ->                               -- data : TBasicType TVoid
+    FunPtr GLib.DestroyNotifyC ->           -- notify : TInterface "GLib" "DestroyNotify"
+    IO ()
+
+
+eventHandlerSet ::
+    (MonadIO m) =>
+    EventFunc ->                            -- func
+    m ()
+eventHandlerSet func = liftIO $ do
+    func' <- mkEventFunc (eventFuncWrapper Nothing func)
+    let data_ = castFunPtrToPtr func'
+    let notify = safeFreeFunPtrPtr
+    gdk_event_handler_set func' data_ notify
+    return ()
+
+-- function gdk_event_peek
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TInterface "Gdk" "Event"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_peek" gdk_event_peek :: 
+    IO (Ptr Event)
+
+
+eventPeek ::
+    (MonadIO m) =>
+    m Event
+eventPeek  = liftIO $ do
+    result <- gdk_event_peek
+    checkUnexpectedReturnNULL "gdk_event_peek" result
+    result' <- (wrapBoxed Event) result
+    return result'
+
+-- function gdk_event_request_motions
+-- Args : [Arg {argName = "event", argType = TInterface "Gdk" "EventMotion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "event", argType = TInterface "Gdk" "EventMotion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_event_request_motions" gdk_event_request_motions :: 
+    Ptr EventMotion ->                      -- event : TInterface "Gdk" "EventMotion"
+    IO ()
+
+
+eventRequestMotions ::
+    (MonadIO m) =>
+    EventMotion ->                          -- event
+    m ()
+eventRequestMotions event = liftIO $ do
+    let event' = unsafeManagedPtrGetPtr event
+    gdk_event_request_motions event'
+    touchManagedPtr event
+    return ()
+
+-- function gdk_events_get_angle
+-- Args : [Arg {argName = "event1", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event2", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "angle", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "event1", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event2", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_events_get_angle" gdk_events_get_angle :: 
+    Ptr Event ->                            -- event1 : TInterface "Gdk" "Event"
+    Ptr Event ->                            -- event2 : TInterface "Gdk" "Event"
+    Ptr CDouble ->                          -- angle : TBasicType TDouble
+    IO CInt
+
+
+eventsGetAngle ::
+    (MonadIO m) =>
+    Event ->                                -- event1
+    Event ->                                -- event2
+    m (Bool,Double)
+eventsGetAngle event1 event2 = liftIO $ do
+    let event1' = unsafeManagedPtrGetPtr event1
+    let event2' = unsafeManagedPtrGetPtr event2
+    angle <- allocMem :: IO (Ptr CDouble)
+    result <- gdk_events_get_angle event1' event2' angle
+    let result' = (/= 0) result
+    angle' <- peek angle
+    let angle'' = realToFrac angle'
+    touchManagedPtr event1
+    touchManagedPtr event2
+    freeMem angle
+    return (result', angle'')
+
+-- function gdk_events_get_center
+-- Args : [Arg {argName = "event1", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event2", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "event1", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event2", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_events_get_center" gdk_events_get_center :: 
+    Ptr Event ->                            -- event1 : TInterface "Gdk" "Event"
+    Ptr Event ->                            -- event2 : TInterface "Gdk" "Event"
+    Ptr CDouble ->                          -- x : TBasicType TDouble
+    Ptr CDouble ->                          -- y : TBasicType TDouble
+    IO CInt
+
+
+eventsGetCenter ::
+    (MonadIO m) =>
+    Event ->                                -- event1
+    Event ->                                -- event2
+    m (Bool,Double,Double)
+eventsGetCenter event1 event2 = liftIO $ do
+    let event1' = unsafeManagedPtrGetPtr event1
+    let event2' = unsafeManagedPtrGetPtr event2
+    x <- allocMem :: IO (Ptr CDouble)
+    y <- allocMem :: IO (Ptr CDouble)
+    result <- gdk_events_get_center event1' event2' x y
+    let result' = (/= 0) result
+    x' <- peek x
+    let x'' = realToFrac x'
+    y' <- peek y
+    let y'' = realToFrac y'
+    touchManagedPtr event1
+    touchManagedPtr event2
+    freeMem x
+    freeMem y
+    return (result', x'', y'')
+
+-- function gdk_events_get_distance
+-- Args : [Arg {argName = "event1", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event2", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "distance", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "event1", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event2", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_events_get_distance" gdk_events_get_distance :: 
+    Ptr Event ->                            -- event1 : TInterface "Gdk" "Event"
+    Ptr Event ->                            -- event2 : TInterface "Gdk" "Event"
+    Ptr CDouble ->                          -- distance : TBasicType TDouble
+    IO CInt
+
+
+eventsGetDistance ::
+    (MonadIO m) =>
+    Event ->                                -- event1
+    Event ->                                -- event2
+    m (Bool,Double)
+eventsGetDistance event1 event2 = liftIO $ do
+    let event1' = unsafeManagedPtrGetPtr event1
+    let event2' = unsafeManagedPtrGetPtr event2
+    distance <- allocMem :: IO (Ptr CDouble)
+    result <- gdk_events_get_distance event1' event2' distance
+    let result' = (/= 0) result
+    distance' <- peek distance
+    let distance'' = realToFrac distance'
+    touchManagedPtr event1
+    touchManagedPtr event2
+    freeMem distance
+    return (result', distance'')
+
+-- function gdk_events_pending
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_events_pending" gdk_events_pending :: 
+    IO CInt
+
+
+eventsPending ::
+    (MonadIO m) =>
+    m Bool
+eventsPending  = liftIO $ do
+    result <- gdk_events_pending
+    let result' = (/= 0) result
+    return result'
+
+-- function gdk_flush
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_flush" gdk_flush :: 
+    IO ()
+
+
+flush ::
+    (MonadIO m) =>
+    m ()
+flush  = liftIO $ do
+    gdk_flush
+    return ()
+
+-- function gdk_get_default_root_window
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_get_default_root_window" gdk_get_default_root_window :: 
+    IO (Ptr Window)
+
+
+getDefaultRootWindow ::
+    (MonadIO m) =>
+    m Window
+getDefaultRootWindow  = liftIO $ do
+    result <- gdk_get_default_root_window
+    checkUnexpectedReturnNULL "gdk_get_default_root_window" result
+    result' <- (newObject Window) result
+    return result'
+
+-- function gdk_get_display
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_get_display" gdk_get_display :: 
+    IO CString
+
+{-# DEPRECATED getDisplay ["(Since version 3.8)","Call gdk_display_get_name (gdk_display_get_default ()))","   instead."]#-}
+getDisplay ::
+    (MonadIO m) =>
+    m T.Text
+getDisplay  = liftIO $ do
+    result <- gdk_get_display
+    checkUnexpectedReturnNULL "gdk_get_display" result
+    result' <- cstringToText result
+    freeMem result
+    return result'
+
+-- function gdk_get_display_arg_name
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_get_display_arg_name" gdk_get_display_arg_name :: 
+    IO CString
+
+
+getDisplayArgName ::
+    (MonadIO m) =>
+    m T.Text
+getDisplayArgName  = liftIO $ do
+    result <- gdk_get_display_arg_name
+    checkUnexpectedReturnNULL "gdk_get_display_arg_name" result
+    result' <- cstringToText result
+    return result'
+
+-- function gdk_get_program_class
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_get_program_class" gdk_get_program_class :: 
+    IO CString
+
+
+getProgramClass ::
+    (MonadIO m) =>
+    m T.Text
+getProgramClass  = liftIO $ do
+    result <- gdk_get_program_class
+    checkUnexpectedReturnNULL "gdk_get_program_class" result
+    result' <- cstringToText result
+    return result'
+
+-- function gdk_get_show_events
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_get_show_events" gdk_get_show_events :: 
+    IO CInt
+
+
+getShowEvents ::
+    (MonadIO m) =>
+    m Bool
+getShowEvents  = liftIO $ do
+    result <- gdk_get_show_events
+    let result' = (/= 0) result
+    return result'
+
+-- function gdk_gl_error_quark
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TUInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_gl_error_quark" gdk_gl_error_quark :: 
+    IO Word32
+
+
+glErrorQuark ::
+    (MonadIO m) =>
+    m Word32
+glErrorQuark  = liftIO $ do
+    result <- gdk_gl_error_quark
+    return result
+
+-- function gdk_init
+-- Args : [Arg {argName = "argc", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : [Arg {argName = "argc", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- hInArgs : [Arg {argName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_init" gdk_init :: 
+    Ptr Int32 ->                            -- argc : TBasicType TInt32
+    Ptr (Ptr CString) ->                    -- argv : TCArray False (-1) 0 (TBasicType TUTF8)
+    IO ()
+
+
+init ::
+    (MonadIO m) =>
+    [T.Text] ->                             -- argv
+    m ([T.Text])
+init argv = liftIO $ do
+    let argc = fromIntegral $ length argv
+    argc' <- allocMem :: IO (Ptr Int32)
+    poke argc' argc
+    argv' <- packUTF8CArray argv
+    argv'' <- allocMem :: IO (Ptr (Ptr CString))
+    poke argv'' argv'
+    gdk_init argc' argv''
+    argc'' <- peek argc'
+    argv''' <- peek argv''
+    argv'''' <- (unpackUTF8CArrayWithLength argc'') argv'''
+    (mapCArrayWithLength argc'') freeMem argv'''
+    freeMem argv'''
+    freeMem argc'
+    freeMem argv''
+    return argv''''
+
+-- function gdk_init_check
+-- Args : [Arg {argName = "argc", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : [Arg {argName = "argc", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- hInArgs : [Arg {argName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_init_check" gdk_init_check :: 
+    Ptr Int32 ->                            -- argc : TBasicType TInt32
+    Ptr (Ptr CString) ->                    -- argv : TCArray False (-1) 0 (TBasicType TUTF8)
+    IO CInt
+
+
+initCheck ::
+    (MonadIO m) =>
+    [T.Text] ->                             -- argv
+    m (Bool,[T.Text])
+initCheck argv = liftIO $ do
+    let argc = fromIntegral $ length argv
+    argc' <- allocMem :: IO (Ptr Int32)
+    poke argc' argc
+    argv' <- packUTF8CArray argv
+    argv'' <- allocMem :: IO (Ptr (Ptr CString))
+    poke argv'' argv'
+    result <- gdk_init_check argc' argv''
+    argc'' <- peek argc'
+    let result' = (/= 0) result
+    argv''' <- peek argv''
+    argv'''' <- (unpackUTF8CArrayWithLength argc'') argv'''
+    (mapCArrayWithLength argc'') freeMem argv'''
+    freeMem argv'''
+    freeMem argc'
+    freeMem argv''
+    return (result', argv'''')
+
+-- function gdk_keyboard_grab
+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "GrabStatus"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keyboard_grab" gdk_keyboard_grab :: 
+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
+    CInt ->                                 -- owner_events : TBasicType TBoolean
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO CUInt
+
+{-# DEPRECATED keyboardGrab ["(Since version 3.0)","Use gdk_device_grab() instead."]#-}
+keyboardGrab ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- window
+    Bool ->                                 -- owner_events
+    Word32 ->                               -- time_
+    m GrabStatus
+keyboardGrab window owner_events time_ = liftIO $ do
+    let window' = unsafeManagedPtrCastPtr window
+    let owner_events' = (fromIntegral . fromEnum) owner_events
+    result <- gdk_keyboard_grab window' owner_events' time_
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr window
+    return result'
+
+-- function gdk_keyboard_ungrab
+-- Args : [Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keyboard_ungrab" gdk_keyboard_ungrab :: 
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO ()
+
+{-# DEPRECATED keyboardUngrab ["(Since version 3.0)","Use gdk_device_ungrab(), together with gdk_device_grab()","            instead."]#-}
+keyboardUngrab ::
+    (MonadIO m) =>
+    Word32 ->                               -- time_
+    m ()
+keyboardUngrab time_ = liftIO $ do
+    gdk_keyboard_ungrab time_
+    return ()
+
+-- function gdk_keyval_convert_case
+-- Args : [Arg {argName = "symbol", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "lower", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "upper", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "symbol", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keyval_convert_case" gdk_keyval_convert_case :: 
+    Word32 ->                               -- symbol : TBasicType TUInt32
+    Ptr Word32 ->                           -- lower : TBasicType TUInt32
+    Ptr Word32 ->                           -- upper : TBasicType TUInt32
+    IO ()
+
+
+keyvalConvertCase ::
+    (MonadIO m) =>
+    Word32 ->                               -- symbol
+    m (Word32,Word32)
+keyvalConvertCase symbol = liftIO $ do
+    lower <- allocMem :: IO (Ptr Word32)
+    upper <- allocMem :: IO (Ptr Word32)
+    gdk_keyval_convert_case symbol lower upper
+    lower' <- peek lower
+    upper' <- peek upper
+    freeMem lower
+    freeMem upper
+    return (lower', upper')
+
+-- function gdk_keyval_from_name
+-- Args : [Arg {argName = "keyval_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "keyval_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keyval_from_name" gdk_keyval_from_name :: 
+    CString ->                              -- keyval_name : TBasicType TUTF8
+    IO Word32
+
+
+keyvalFromName ::
+    (MonadIO m) =>
+    T.Text ->                               -- keyval_name
+    m Word32
+keyvalFromName keyval_name = liftIO $ do
+    keyval_name' <- textToCString keyval_name
+    result <- gdk_keyval_from_name keyval_name'
+    freeMem keyval_name'
+    return result
+
+-- function gdk_keyval_is_lower
+-- Args : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keyval_is_lower" gdk_keyval_is_lower :: 
+    Word32 ->                               -- keyval : TBasicType TUInt32
+    IO CInt
+
+
+keyvalIsLower ::
+    (MonadIO m) =>
+    Word32 ->                               -- keyval
+    m Bool
+keyvalIsLower keyval = liftIO $ do
+    result <- gdk_keyval_is_lower keyval
+    let result' = (/= 0) result
+    return result'
+
+-- function gdk_keyval_is_upper
+-- Args : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keyval_is_upper" gdk_keyval_is_upper :: 
+    Word32 ->                               -- keyval : TBasicType TUInt32
+    IO CInt
+
+
+keyvalIsUpper ::
+    (MonadIO m) =>
+    Word32 ->                               -- keyval
+    m Bool
+keyvalIsUpper keyval = liftIO $ do
+    result <- gdk_keyval_is_upper keyval
+    let result' = (/= 0) result
+    return result'
+
+-- function gdk_keyval_name
+-- Args : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keyval_name" gdk_keyval_name :: 
+    Word32 ->                               -- keyval : TBasicType TUInt32
+    IO CString
+
+
+keyvalName ::
+    (MonadIO m) =>
+    Word32 ->                               -- keyval
+    m T.Text
+keyvalName keyval = liftIO $ do
+    result <- gdk_keyval_name keyval
+    checkUnexpectedReturnNULL "gdk_keyval_name" result
+    result' <- cstringToText result
+    return result'
+
+-- function gdk_keyval_to_lower
+-- Args : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keyval_to_lower" gdk_keyval_to_lower :: 
+    Word32 ->                               -- keyval : TBasicType TUInt32
+    IO Word32
+
+
+keyvalToLower ::
+    (MonadIO m) =>
+    Word32 ->                               -- keyval
+    m Word32
+keyvalToLower keyval = liftIO $ do
+    result <- gdk_keyval_to_lower keyval
+    return result
+
+-- function gdk_keyval_to_unicode
+-- Args : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keyval_to_unicode" gdk_keyval_to_unicode :: 
+    Word32 ->                               -- keyval : TBasicType TUInt32
+    IO Word32
+
+
+keyvalToUnicode ::
+    (MonadIO m) =>
+    Word32 ->                               -- keyval
+    m Word32
+keyvalToUnicode keyval = liftIO $ do
+    result <- gdk_keyval_to_unicode keyval
+    return result
+
+-- function gdk_keyval_to_upper
+-- Args : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_keyval_to_upper" gdk_keyval_to_upper :: 
+    Word32 ->                               -- keyval : TBasicType TUInt32
+    IO Word32
+
+
+keyvalToUpper ::
+    (MonadIO m) =>
+    Word32 ->                               -- keyval
+    m Word32
+keyvalToUpper keyval = liftIO $ do
+    result <- gdk_keyval_to_upper keyval
+    return result
+
+-- function gdk_list_visuals
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TGList (TInterface "Gdk" "Visual")
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_list_visuals" gdk_list_visuals :: 
+    IO (Ptr (GList (Ptr Visual)))
+
+
+listVisuals ::
+    (MonadIO m) =>
+    m [Visual]
+listVisuals  = liftIO $ do
+    result <- gdk_list_visuals
+    checkUnexpectedReturnNULL "gdk_list_visuals" result
+    result' <- unpackGList result
+    result'' <- mapM (newObject Visual) result'
+    g_list_free result
+    return result''
+
+-- function gdk_notify_startup_complete
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_notify_startup_complete" gdk_notify_startup_complete :: 
+    IO ()
+
+
+notifyStartupComplete ::
+    (MonadIO m) =>
+    m ()
+notifyStartupComplete  = liftIO $ do
+    gdk_notify_startup_complete
+    return ()
+
+-- function gdk_notify_startup_complete_with_id
+-- Args : [Arg {argName = "startup_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "startup_id", 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 "gdk_notify_startup_complete_with_id" gdk_notify_startup_complete_with_id :: 
+    CString ->                              -- startup_id : TBasicType TUTF8
+    IO ()
+
+
+notifyStartupCompleteWithId ::
+    (MonadIO m) =>
+    T.Text ->                               -- startup_id
+    m ()
+notifyStartupCompleteWithId startup_id = liftIO $ do
+    startup_id' <- textToCString startup_id
+    gdk_notify_startup_complete_with_id startup_id'
+    freeMem startup_id'
+    return ()
+
+-- function gdk_offscreen_window_get_embedder
+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_offscreen_window_get_embedder" gdk_offscreen_window_get_embedder :: 
+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
+    IO (Ptr Window)
+
+
+offscreenWindowGetEmbedder ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- window
+    m Window
+offscreenWindowGetEmbedder window = liftIO $ do
+    let window' = unsafeManagedPtrCastPtr window
+    result <- gdk_offscreen_window_get_embedder window'
+    checkUnexpectedReturnNULL "gdk_offscreen_window_get_embedder" result
+    result' <- (newObject Window) result
+    touchManagedPtr window
+    return result'
+
+-- function gdk_offscreen_window_get_surface
+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "cairo" "Surface"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_offscreen_window_get_surface" gdk_offscreen_window_get_surface :: 
+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
+    IO (Ptr Cairo.Surface)
+
+
+offscreenWindowGetSurface ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- window
+    m Cairo.Surface
+offscreenWindowGetSurface window = liftIO $ do
+    let window' = unsafeManagedPtrCastPtr window
+    result <- gdk_offscreen_window_get_surface window'
+    checkUnexpectedReturnNULL "gdk_offscreen_window_get_surface" result
+    result' <- (newBoxed Cairo.Surface) result
+    touchManagedPtr window
+    return result'
+
+-- function gdk_offscreen_window_set_embedder
+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "embedder", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "embedder", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_offscreen_window_set_embedder" gdk_offscreen_window_set_embedder :: 
+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
+    Ptr Window ->                           -- embedder : TInterface "Gdk" "Window"
+    IO ()
+
+
+offscreenWindowSetEmbedder ::
+    (MonadIO m, WindowK a, WindowK b) =>
+    a ->                                    -- window
+    b ->                                    -- embedder
+    m ()
+offscreenWindowSetEmbedder window embedder = liftIO $ do
+    let window' = unsafeManagedPtrCastPtr window
+    let embedder' = unsafeManagedPtrCastPtr embedder
+    gdk_offscreen_window_set_embedder window' embedder'
+    touchManagedPtr window
+    touchManagedPtr embedder
+    return ()
+
+-- function gdk_pango_context_get
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TInterface "Pango" "Context"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_pango_context_get" gdk_pango_context_get :: 
+    IO (Ptr Pango.Context)
+
+
+pangoContextGet ::
+    (MonadIO m) =>
+    m Pango.Context
+pangoContextGet  = liftIO $ do
+    result <- gdk_pango_context_get
+    checkUnexpectedReturnNULL "gdk_pango_context_get" result
+    result' <- (wrapObject Pango.Context) result
+    return result'
+
+-- function gdk_pango_context_get_for_screen
+-- 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 "Pango" "Context"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_pango_context_get_for_screen" gdk_pango_context_get_for_screen :: 
+    Ptr Screen ->                           -- screen : TInterface "Gdk" "Screen"
+    IO (Ptr Pango.Context)
+
+
+pangoContextGetForScreen ::
+    (MonadIO m, ScreenK a) =>
+    a ->                                    -- screen
+    m Pango.Context
+pangoContextGetForScreen screen = liftIO $ do
+    let screen' = unsafeManagedPtrCastPtr screen
+    result <- gdk_pango_context_get_for_screen screen'
+    checkUnexpectedReturnNULL "gdk_pango_context_get_for_screen" result
+    result' <- (wrapObject Pango.Context) result
+    touchManagedPtr screen
+    return result'
+
+-- function gdk_parse_args
+-- Args : [Arg {argName = "argc", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : [Arg {argName = "argc", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- hInArgs : [Arg {argName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_parse_args" gdk_parse_args :: 
+    Ptr Int32 ->                            -- argc : TBasicType TInt32
+    Ptr (Ptr CString) ->                    -- argv : TCArray False (-1) 0 (TBasicType TUTF8)
+    IO ()
+
+
+parseArgs ::
+    (MonadIO m) =>
+    [T.Text] ->                             -- argv
+    m ([T.Text])
+parseArgs argv = liftIO $ do
+    let argc = fromIntegral $ length argv
+    argc' <- allocMem :: IO (Ptr Int32)
+    poke argc' argc
+    argv' <- packUTF8CArray argv
+    argv'' <- allocMem :: IO (Ptr (Ptr CString))
+    poke argv'' argv'
+    gdk_parse_args argc' argv''
+    argc'' <- peek argc'
+    argv''' <- peek argv''
+    argv'''' <- (unpackUTF8CArrayWithLength argc'') argv'''
+    (mapCArrayWithLength argc'') freeMem argv'''
+    freeMem argv'''
+    freeMem argc'
+    freeMem argv''
+    return argv''''
+
+-- function gdk_pixbuf_get_from_surface
+-- Args : [Arg {argName = "surface", argType = TInterface "cairo" "Surface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "surface", argType = TInterface "cairo" "Surface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "GdkPixbuf" "Pixbuf"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_pixbuf_get_from_surface" gdk_pixbuf_get_from_surface :: 
+    Ptr Cairo.Surface ->                    -- surface : TInterface "cairo" "Surface"
+    Int32 ->                                -- src_x : TBasicType TInt32
+    Int32 ->                                -- src_y : TBasicType TInt32
+    Int32 ->                                -- width : TBasicType TInt32
+    Int32 ->                                -- height : TBasicType TInt32
+    IO (Ptr GdkPixbuf.Pixbuf)
+
+
+pixbufGetFromSurface ::
+    (MonadIO m) =>
+    Cairo.Surface ->                        -- surface
+    Int32 ->                                -- src_x
+    Int32 ->                                -- src_y
+    Int32 ->                                -- width
+    Int32 ->                                -- height
+    m GdkPixbuf.Pixbuf
+pixbufGetFromSurface surface src_x src_y width height = liftIO $ do
+    let surface' = unsafeManagedPtrGetPtr surface
+    result <- gdk_pixbuf_get_from_surface surface' src_x src_y width height
+    checkUnexpectedReturnNULL "gdk_pixbuf_get_from_surface" result
+    result' <- (wrapObject GdkPixbuf.Pixbuf) result
+    touchManagedPtr surface
+    return result'
+
+-- function gdk_pixbuf_get_from_window
+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "GdkPixbuf" "Pixbuf"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_pixbuf_get_from_window" gdk_pixbuf_get_from_window :: 
+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
+    Int32 ->                                -- src_x : TBasicType TInt32
+    Int32 ->                                -- src_y : TBasicType TInt32
+    Int32 ->                                -- width : TBasicType TInt32
+    Int32 ->                                -- height : TBasicType TInt32
+    IO (Ptr GdkPixbuf.Pixbuf)
+
+
+pixbufGetFromWindow ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- window
+    Int32 ->                                -- src_x
+    Int32 ->                                -- src_y
+    Int32 ->                                -- width
+    Int32 ->                                -- height
+    m GdkPixbuf.Pixbuf
+pixbufGetFromWindow window src_x src_y width height = liftIO $ do
+    let window' = unsafeManagedPtrCastPtr window
+    result <- gdk_pixbuf_get_from_window window' src_x src_y width height
+    checkUnexpectedReturnNULL "gdk_pixbuf_get_from_window" result
+    result' <- (wrapObject GdkPixbuf.Pixbuf) result
+    touchManagedPtr window
+    return result'
+
+-- function gdk_pointer_grab
+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "confine_to", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "confine_to", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "GrabStatus"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_pointer_grab" gdk_pointer_grab :: 
+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
+    CInt ->                                 -- owner_events : TBasicType TBoolean
+    CUInt ->                                -- event_mask : TInterface "Gdk" "EventMask"
+    Ptr Window ->                           -- confine_to : TInterface "Gdk" "Window"
+    Ptr Cursor ->                           -- cursor : TInterface "Gdk" "Cursor"
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO CUInt
+
+{-# DEPRECATED pointerGrab ["(Since version 3.0)","Use gdk_device_grab() instead."]#-}
+pointerGrab ::
+    (MonadIO m, WindowK a, WindowK b, CursorK c) =>
+    a ->                                    -- window
+    Bool ->                                 -- owner_events
+    [EventMask] ->                          -- event_mask
+    Maybe (b) ->                            -- confine_to
+    Maybe (c) ->                            -- cursor
+    Word32 ->                               -- time_
+    m GrabStatus
+pointerGrab window owner_events event_mask confine_to cursor time_ = liftIO $ do
+    let window' = unsafeManagedPtrCastPtr window
+    let owner_events' = (fromIntegral . fromEnum) owner_events
+    let event_mask' = gflagsToWord event_mask
+    maybeConfine_to <- case confine_to of
+        Nothing -> return nullPtr
+        Just jConfine_to -> do
+            let jConfine_to' = unsafeManagedPtrCastPtr jConfine_to
+            return jConfine_to'
+    maybeCursor <- case cursor of
+        Nothing -> return nullPtr
+        Just jCursor -> do
+            let jCursor' = unsafeManagedPtrCastPtr jCursor
+            return jCursor'
+    result <- gdk_pointer_grab window' owner_events' event_mask' maybeConfine_to maybeCursor time_
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr window
+    whenJust confine_to touchManagedPtr
+    whenJust cursor touchManagedPtr
+    return result'
+
+-- function gdk_pointer_is_grabbed
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_pointer_is_grabbed" gdk_pointer_is_grabbed :: 
+    IO CInt
+
+{-# DEPRECATED pointerIsGrabbed ["(Since version 3.0)","Use gdk_display_device_is_grabbed() instead."]#-}
+pointerIsGrabbed ::
+    (MonadIO m) =>
+    m Bool
+pointerIsGrabbed  = liftIO $ do
+    result <- gdk_pointer_is_grabbed
+    let result' = (/= 0) result
+    return result'
+
+-- function gdk_pointer_ungrab
+-- Args : [Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_pointer_ungrab" gdk_pointer_ungrab :: 
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO ()
+
+{-# DEPRECATED pointerUngrab ["(Since version 3.0)","Use gdk_device_ungrab(), together with gdk_device_grab()","            instead."]#-}
+pointerUngrab ::
+    (MonadIO m) =>
+    Word32 ->                               -- time_
+    m ()
+pointerUngrab time_ = liftIO $ do
+    gdk_pointer_ungrab time_
+    return ()
+
+-- function gdk_pre_parse_libgtk_only
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_pre_parse_libgtk_only" gdk_pre_parse_libgtk_only :: 
+    IO ()
+
+{-# DEPRECATED preParseLibgtkOnly ["(Since version 3.16)","This symbol was never meant to be used outside","  of GTK+"]#-}
+preParseLibgtkOnly ::
+    (MonadIO m) =>
+    m ()
+preParseLibgtkOnly  = liftIO $ do
+    gdk_pre_parse_libgtk_only
+    return ()
+
+-- function gdk_property_delete
+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_property_delete" gdk_property_delete :: 
+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
+    Ptr Atom ->                             -- property : TInterface "Gdk" "Atom"
+    IO ()
+
+
+propertyDelete ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- window
+    Atom ->                                 -- property
+    m ()
+propertyDelete window property = liftIO $ do
+    let window' = unsafeManagedPtrCastPtr window
+    let property' = unsafeManagedPtrGetPtr property
+    gdk_property_delete window' property'
+    touchManagedPtr window
+    touchManagedPtr property
+    return ()
+
+-- function gdk_property_get
+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pdelete", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "actual_property_type", argType = TInterface "Gdk" "Atom", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "actual_format", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "actual_length", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "data", argType = TCArray False (-1) 8 (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : [Arg {argName = "actual_length", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pdelete", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_property_get" gdk_property_get :: 
+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
+    Ptr Atom ->                             -- property : TInterface "Gdk" "Atom"
+    Ptr Atom ->                             -- type : TInterface "Gdk" "Atom"
+    Word64 ->                               -- offset : TBasicType TUInt64
+    Word64 ->                               -- length : TBasicType TUInt64
+    Int32 ->                                -- pdelete : TBasicType TInt32
+    Ptr (Ptr Atom) ->                       -- actual_property_type : TInterface "Gdk" "Atom"
+    Ptr Int32 ->                            -- actual_format : TBasicType TInt32
+    Ptr Int32 ->                            -- actual_length : TBasicType TInt32
+    Ptr (Ptr Word8) ->                      -- data : TCArray False (-1) 8 (TBasicType TUInt8)
+    IO CInt
+
+
+propertyGet ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- window
+    Atom ->                                 -- property
+    Atom ->                                 -- type
+    Word64 ->                               -- offset
+    Word64 ->                               -- length
+    Int32 ->                                -- pdelete
+    m (Bool,Atom,Int32,ByteString)
+propertyGet window property type_ offset length_ pdelete = liftIO $ do
+    let window' = unsafeManagedPtrCastPtr window
+    let property' = unsafeManagedPtrGetPtr property
+    let type_' = unsafeManagedPtrGetPtr type_
+    actual_property_type <- allocMem :: IO (Ptr (Ptr Atom))
+    actual_format <- allocMem :: IO (Ptr Int32)
+    actual_length <- allocMem :: IO (Ptr Int32)
+    data_ <- allocMem :: IO (Ptr (Ptr Word8))
+    result <- gdk_property_get window' property' type_' offset length_ pdelete actual_property_type actual_format actual_length data_
+    actual_length' <- peek actual_length
+    let result' = (/= 0) result
+    actual_property_type' <- peek actual_property_type
+    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
+    actual_property_type'' <- (\x -> Atom <$> newForeignPtr_ x) actual_property_type'
+    actual_format' <- peek actual_format
+    data_' <- peek data_
+    data_'' <- (unpackByteStringWithLength actual_length') data_'
+    freeMem data_'
+    touchManagedPtr window
+    touchManagedPtr property
+    touchManagedPtr type_
+    freeMem actual_property_type
+    freeMem actual_format
+    freeMem actual_length
+    freeMem data_
+    return (result', actual_property_type'', actual_format', data_'')
+
+-- function gdk_query_depths
+-- Args : [Arg {argName = "depths", argType = TCArray False (-1) 1 (TBasicType TInt32), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "count", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : [Arg {argName = "count", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- hInArgs : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_query_depths" gdk_query_depths :: 
+    Ptr (Ptr Int32) ->                      -- depths : TCArray False (-1) 1 (TBasicType TInt32)
+    Ptr Int32 ->                            -- count : TBasicType TInt32
+    IO ()
+
+
+queryDepths ::
+    (MonadIO m) =>
+    m ([Int32])
+queryDepths  = liftIO $ do
+    depths <- allocMem :: IO (Ptr (Ptr Int32))
+    count <- allocMem :: IO (Ptr Int32)
+    gdk_query_depths depths count
+    count' <- peek count
+    depths' <- peek depths
+    depths'' <- (unpackStorableArrayWithLength count') depths'
+    freeMem depths
+    freeMem count
+    return depths''
+
+-- function gdk_query_visual_types
+-- Args : [Arg {argName = "visual_types", argType = TCArray False (-1) 1 (TInterface "Gdk" "VisualType"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "count", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : [Arg {argName = "count", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- hInArgs : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_query_visual_types" gdk_query_visual_types :: 
+    Ptr (Ptr CUInt) ->                      -- visual_types : TCArray False (-1) 1 (TInterface "Gdk" "VisualType")
+    Ptr Int32 ->                            -- count : TBasicType TInt32
+    IO ()
+
+
+queryVisualTypes ::
+    (MonadIO m) =>
+    m ([VisualType])
+queryVisualTypes  = liftIO $ do
+    visual_types <- allocMem :: IO (Ptr (Ptr CUInt))
+    count <- allocMem :: IO (Ptr Int32)
+    gdk_query_visual_types visual_types count
+    count' <- peek count
+    visual_types' <- peek visual_types
+    visual_types'' <- (unpackStorableArrayWithLength count') visual_types'
+    let visual_types''' = map (toEnum . fromIntegral) visual_types''
+    freeMem visual_types
+    freeMem count
+    return visual_types'''
+
+-- function gdk_selection_convert
+-- Args : [Arg {argName = "requestor", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "requestor", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_selection_convert" gdk_selection_convert :: 
+    Ptr Window ->                           -- requestor : TInterface "Gdk" "Window"
+    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"
+    Ptr Atom ->                             -- target : TInterface "Gdk" "Atom"
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO ()
+
+
+selectionConvert ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- requestor
+    Atom ->                                 -- selection
+    Atom ->                                 -- target
+    Word32 ->                               -- time_
+    m ()
+selectionConvert requestor selection target time_ = liftIO $ do
+    let requestor' = unsafeManagedPtrCastPtr requestor
+    let selection' = unsafeManagedPtrGetPtr selection
+    let target' = unsafeManagedPtrGetPtr target
+    gdk_selection_convert requestor' selection' target' time_
+    touchManagedPtr requestor
+    touchManagedPtr selection
+    touchManagedPtr target
+    return ()
+
+-- function gdk_selection_owner_get
+-- Args : [Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_selection_owner_get" gdk_selection_owner_get :: 
+    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"
+    IO (Ptr Window)
+
+
+selectionOwnerGet ::
+    (MonadIO m) =>
+    Atom ->                                 -- selection
+    m Window
+selectionOwnerGet selection = liftIO $ do
+    let selection' = unsafeManagedPtrGetPtr selection
+    result <- gdk_selection_owner_get selection'
+    checkUnexpectedReturnNULL "gdk_selection_owner_get" result
+    result' <- (newObject Window) result
+    touchManagedPtr selection
+    return result'
+
+-- function gdk_selection_owner_get_for_display
+-- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TInterface "Gdk" "Window"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_selection_owner_get_for_display" gdk_selection_owner_get_for_display :: 
+    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
+    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"
+    IO (Ptr Window)
+
+
+selectionOwnerGetForDisplay ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- display
+    Atom ->                                 -- selection
+    m Window
+selectionOwnerGetForDisplay display selection = liftIO $ do
+    let display' = unsafeManagedPtrCastPtr display
+    let selection' = unsafeManagedPtrGetPtr selection
+    result <- gdk_selection_owner_get_for_display display' selection'
+    checkUnexpectedReturnNULL "gdk_selection_owner_get_for_display" result
+    result' <- (newObject Window) result
+    touchManagedPtr display
+    touchManagedPtr selection
+    return result'
+
+-- function gdk_selection_owner_set
+-- Args : [Arg {argName = "owner", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "send_event", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "owner", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "send_event", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_selection_owner_set" gdk_selection_owner_set :: 
+    Ptr Window ->                           -- owner : TInterface "Gdk" "Window"
+    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    CInt ->                                 -- send_event : TBasicType TBoolean
+    IO CInt
+
+
+selectionOwnerSet ::
+    (MonadIO m, WindowK a) =>
+    Maybe (a) ->                            -- owner
+    Atom ->                                 -- selection
+    Word32 ->                               -- time_
+    Bool ->                                 -- send_event
+    m Bool
+selectionOwnerSet owner selection time_ send_event = liftIO $ do
+    maybeOwner <- case owner of
+        Nothing -> return nullPtr
+        Just jOwner -> do
+            let jOwner' = unsafeManagedPtrCastPtr jOwner
+            return jOwner'
+    let selection' = unsafeManagedPtrGetPtr selection
+    let send_event' = (fromIntegral . fromEnum) send_event
+    result <- gdk_selection_owner_set maybeOwner selection' time_ send_event'
+    let result' = (/= 0) result
+    whenJust owner touchManagedPtr
+    touchManagedPtr selection
+    return result'
+
+-- function gdk_selection_owner_set_for_display
+-- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "send_event", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "send_event", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_selection_owner_set_for_display" gdk_selection_owner_set_for_display :: 
+    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
+    Ptr Window ->                           -- owner : TInterface "Gdk" "Window"
+    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    CInt ->                                 -- send_event : TBasicType TBoolean
+    IO CInt
+
+
+selectionOwnerSetForDisplay ::
+    (MonadIO m, DisplayK a, WindowK b) =>
+    a ->                                    -- display
+    Maybe (b) ->                            -- owner
+    Atom ->                                 -- selection
+    Word32 ->                               -- time_
+    Bool ->                                 -- send_event
+    m Bool
+selectionOwnerSetForDisplay display owner selection time_ send_event = liftIO $ do
+    let display' = unsafeManagedPtrCastPtr display
+    maybeOwner <- case owner of
+        Nothing -> return nullPtr
+        Just jOwner -> do
+            let jOwner' = unsafeManagedPtrCastPtr jOwner
+            return jOwner'
+    let selection' = unsafeManagedPtrGetPtr selection
+    let send_event' = (fromIntegral . fromEnum) send_event
+    result <- gdk_selection_owner_set_for_display display' maybeOwner selection' time_ send_event'
+    let result' = (/= 0) result
+    touchManagedPtr display
+    whenJust owner touchManagedPtr
+    touchManagedPtr selection
+    return result'
+
+-- function gdk_selection_send_notify
+-- Args : [Arg {argName = "requestor", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "requestor", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_selection_send_notify" gdk_selection_send_notify :: 
+    Ptr Window ->                           -- requestor : TInterface "Gdk" "Window"
+    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"
+    Ptr Atom ->                             -- target : TInterface "Gdk" "Atom"
+    Ptr Atom ->                             -- property : TInterface "Gdk" "Atom"
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO ()
+
+
+selectionSendNotify ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- requestor
+    Atom ->                                 -- selection
+    Atom ->                                 -- target
+    Atom ->                                 -- property
+    Word32 ->                               -- time_
+    m ()
+selectionSendNotify requestor selection target property time_ = liftIO $ do
+    let requestor' = unsafeManagedPtrCastPtr requestor
+    let selection' = unsafeManagedPtrGetPtr selection
+    let target' = unsafeManagedPtrGetPtr target
+    let property' = unsafeManagedPtrGetPtr property
+    gdk_selection_send_notify requestor' selection' target' property' time_
+    touchManagedPtr requestor
+    touchManagedPtr selection
+    touchManagedPtr target
+    touchManagedPtr property
+    return ()
+
+-- function gdk_selection_send_notify_for_display
+-- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "requestor", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "requestor", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_selection_send_notify_for_display" gdk_selection_send_notify_for_display :: 
+    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
+    Ptr Window ->                           -- requestor : TInterface "Gdk" "Window"
+    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"
+    Ptr Atom ->                             -- target : TInterface "Gdk" "Atom"
+    Ptr Atom ->                             -- property : TInterface "Gdk" "Atom"
+    Word32 ->                               -- time_ : TBasicType TUInt32
+    IO ()
+
+
+selectionSendNotifyForDisplay ::
+    (MonadIO m, DisplayK a, WindowK b) =>
+    a ->                                    -- display
+    b ->                                    -- requestor
+    Atom ->                                 -- selection
+    Atom ->                                 -- target
+    Atom ->                                 -- property
+    Word32 ->                               -- time_
+    m ()
+selectionSendNotifyForDisplay display requestor selection target property time_ = liftIO $ do
+    let display' = unsafeManagedPtrCastPtr display
+    let requestor' = unsafeManagedPtrCastPtr requestor
+    let selection' = unsafeManagedPtrGetPtr selection
+    let target' = unsafeManagedPtrGetPtr target
+    let property' = unsafeManagedPtrGetPtr property
+    gdk_selection_send_notify_for_display display' requestor' selection' target' property' time_
+    touchManagedPtr display
+    touchManagedPtr requestor
+    touchManagedPtr selection
+    touchManagedPtr target
+    touchManagedPtr property
+    return ()
+
+-- function gdk_set_allowed_backends
+-- Args : [Arg {argName = "backends", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "backends", 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 "gdk_set_allowed_backends" gdk_set_allowed_backends :: 
+    CString ->                              -- backends : TBasicType TUTF8
+    IO ()
+
+
+setAllowedBackends ::
+    (MonadIO m) =>
+    T.Text ->                               -- backends
+    m ()
+setAllowedBackends backends = liftIO $ do
+    backends' <- textToCString backends
+    gdk_set_allowed_backends backends'
+    freeMem backends'
+    return ()
+
+-- function gdk_set_double_click_time
+-- Args : [Arg {argName = "msec", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "msec", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_set_double_click_time" gdk_set_double_click_time :: 
+    Word32 ->                               -- msec : TBasicType TUInt32
+    IO ()
+
+
+setDoubleClickTime ::
+    (MonadIO m) =>
+    Word32 ->                               -- msec
+    m ()
+setDoubleClickTime msec = liftIO $ do
+    gdk_set_double_click_time msec
+    return ()
+
+-- function gdk_set_program_class
+-- Args : [Arg {argName = "program_class", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "program_class", 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 "gdk_set_program_class" gdk_set_program_class :: 
+    CString ->                              -- program_class : TBasicType TUTF8
+    IO ()
+
+
+setProgramClass ::
+    (MonadIO m) =>
+    T.Text ->                               -- program_class
+    m ()
+setProgramClass program_class = liftIO $ do
+    program_class' <- textToCString program_class
+    gdk_set_program_class program_class'
+    freeMem program_class'
+    return ()
+
+-- function gdk_set_show_events
+-- Args : [Arg {argName = "show_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "show_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_set_show_events" gdk_set_show_events :: 
+    CInt ->                                 -- show_events : TBasicType TBoolean
+    IO ()
+
+
+setShowEvents ::
+    (MonadIO m) =>
+    Bool ->                                 -- show_events
+    m ()
+setShowEvents show_events = liftIO $ do
+    let show_events' = (fromIntegral . fromEnum) show_events
+    gdk_set_show_events show_events'
+    return ()
+
+-- function gdk_setting_get
+-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_setting_get" gdk_setting_get :: 
+    CString ->                              -- name : TBasicType TUTF8
+    Ptr GValue ->                           -- value : TInterface "GObject" "Value"
+    IO CInt
+
+
+settingGet ::
+    (MonadIO m) =>
+    T.Text ->                               -- name
+    GValue ->                               -- value
+    m Bool
+settingGet name value = liftIO $ do
+    name' <- textToCString name
+    let value' = unsafeManagedPtrGetPtr value
+    result <- gdk_setting_get name' value'
+    let result' = (/= 0) result
+    touchManagedPtr value
+    freeMem name'
+    return result'
+
+-- function gdk_synthesize_window_state
+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "unset_flags", argType = TInterface "Gdk" "WindowState", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "set_flags", argType = TInterface "Gdk" "WindowState", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "unset_flags", argType = TInterface "Gdk" "WindowState", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "set_flags", argType = TInterface "Gdk" "WindowState", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_synthesize_window_state" gdk_synthesize_window_state :: 
+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
+    CUInt ->                                -- unset_flags : TInterface "Gdk" "WindowState"
+    CUInt ->                                -- set_flags : TInterface "Gdk" "WindowState"
+    IO ()
+
+
+synthesizeWindowState ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- window
+    [WindowState] ->                        -- unset_flags
+    [WindowState] ->                        -- set_flags
+    m ()
+synthesizeWindowState window unset_flags set_flags_ = liftIO $ do
+    let window' = unsafeManagedPtrCastPtr window
+    let unset_flags' = gflagsToWord unset_flags
+    let set_flags_' = gflagsToWord set_flags_
+    gdk_synthesize_window_state window' unset_flags' set_flags_'
+    touchManagedPtr window
+    return ()
+
+-- function gdk_test_render_sync
+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_test_render_sync" gdk_test_render_sync :: 
+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
+    IO ()
+
+
+testRenderSync ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- window
+    m ()
+testRenderSync window = liftIO $ do
+    let window' = unsafeManagedPtrCastPtr window
+    gdk_test_render_sync window'
+    touchManagedPtr window
+    return ()
+
+-- function gdk_test_simulate_button
+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button_pressrelease", argType = TInterface "Gdk" "EventType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button_pressrelease", argType = TInterface "Gdk" "EventType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_test_simulate_button" gdk_test_simulate_button :: 
+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
+    Int32 ->                                -- x : TBasicType TInt32
+    Int32 ->                                -- y : TBasicType TInt32
+    Word32 ->                               -- button : TBasicType TUInt32
+    CUInt ->                                -- modifiers : TInterface "Gdk" "ModifierType"
+    CUInt ->                                -- button_pressrelease : TInterface "Gdk" "EventType"
+    IO CInt
+
+
+testSimulateButton ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- window
+    Int32 ->                                -- x
+    Int32 ->                                -- y
+    Word32 ->                               -- button
+    [ModifierType] ->                       -- modifiers
+    EventType ->                            -- button_pressrelease
+    m Bool
+testSimulateButton window x y button modifiers button_pressrelease = liftIO $ do
+    let window' = unsafeManagedPtrCastPtr window
+    let modifiers' = gflagsToWord modifiers
+    let button_pressrelease' = (fromIntegral . fromEnum) button_pressrelease
+    result <- gdk_test_simulate_button window' x y button modifiers' button_pressrelease'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+-- function gdk_test_simulate_key
+-- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key_pressrelease", argType = TInterface "Gdk" "EventType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key_pressrelease", argType = TInterface "Gdk" "EventType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_test_simulate_key" gdk_test_simulate_key :: 
+    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
+    Int32 ->                                -- x : TBasicType TInt32
+    Int32 ->                                -- y : TBasicType TInt32
+    Word32 ->                               -- keyval : TBasicType TUInt32
+    CUInt ->                                -- modifiers : TInterface "Gdk" "ModifierType"
+    CUInt ->                                -- key_pressrelease : TInterface "Gdk" "EventType"
+    IO CInt
+
+
+testSimulateKey ::
+    (MonadIO m, WindowK a) =>
+    a ->                                    -- window
+    Int32 ->                                -- x
+    Int32 ->                                -- y
+    Word32 ->                               -- keyval
+    [ModifierType] ->                       -- modifiers
+    EventType ->                            -- key_pressrelease
+    m Bool
+testSimulateKey window x y keyval modifiers key_pressrelease = liftIO $ do
+    let window' = unsafeManagedPtrCastPtr window
+    let modifiers' = gflagsToWord modifiers
+    let key_pressrelease' = (fromIntegral . fromEnum) key_pressrelease
+    result <- gdk_test_simulate_key window' x y keyval modifiers' key_pressrelease'
+    let result' = (/= 0) result
+    touchManagedPtr window
+    return result'
+
+-- function gdk_text_property_to_utf8_list_for_display
+-- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "encoding", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "format", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "list", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Lengths : [Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "encoding", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "format", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_text_property_to_utf8_list_for_display" gdk_text_property_to_utf8_list_for_display :: 
+    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
+    Ptr Atom ->                             -- encoding : TInterface "Gdk" "Atom"
+    Int32 ->                                -- format : TBasicType TInt32
+    Ptr Word8 ->                            -- text : TCArray False (-1) 4 (TBasicType TUInt8)
+    Int32 ->                                -- length : TBasicType TInt32
+    Ptr (Ptr CString) ->                    -- list : TCArray True (-1) (-1) (TBasicType TUTF8)
+    IO Int32
+
+
+textPropertyToUtf8ListForDisplay ::
+    (MonadIO m, DisplayK a) =>
+    a ->                                    -- display
+    Atom ->                                 -- encoding
+    Int32 ->                                -- format
+    ByteString ->                           -- text
+    m (Int32,[T.Text])
+textPropertyToUtf8ListForDisplay display encoding format text = liftIO $ do
+    let length_ = fromIntegral $ B.length text
+    let display' = unsafeManagedPtrCastPtr display
+    let encoding' = unsafeManagedPtrGetPtr encoding
+    text' <- packByteString text
+    list <- allocMem :: IO (Ptr (Ptr CString))
+    result <- gdk_text_property_to_utf8_list_for_display display' encoding' format text' length_ list
+    list' <- peek list
+    list'' <- unpackZeroTerminatedUTF8CArray list'
+    mapZeroTerminatedCArray freeMem list'
+    freeMem list'
+    touchManagedPtr display
+    touchManagedPtr encoding
+    freeMem text'
+    freeMem list
+    return (result, list'')
+
+-- function gdk_threads_add_idle_full
+-- Args : [Arg {argName = "priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "function", argType = TInterface "GLib" "SourceFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "function", argType = TInterface "GLib" "SourceFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing}]
+-- returnType : TBasicType TUInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_threads_add_idle_full" gdk_threads_add_idle_full :: 
+    Int32 ->                                -- priority : TBasicType TInt32
+    FunPtr GLib.SourceFuncC ->              -- function : TInterface "GLib" "SourceFunc"
+    Ptr () ->                               -- data : TBasicType TVoid
+    FunPtr GLib.DestroyNotifyC ->           -- notify : TInterface "GLib" "DestroyNotify"
+    IO Word32
+
+
+threadsAddIdle ::
+    (MonadIO m) =>
+    Int32 ->                                -- priority
+    GLib.SourceFunc ->                      -- function
+    m Word32
+threadsAddIdle priority function = liftIO $ do
+    function' <- GLib.mkSourceFunc (GLib.sourceFuncWrapper Nothing function)
+    let data_ = castFunPtrToPtr function'
+    let notify = safeFreeFunPtrPtr
+    result <- gdk_threads_add_idle_full priority function' data_ notify
+    return result
+
+-- function gdk_threads_add_timeout_full
+-- Args : [Arg {argName = "priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "function", argType = TInterface "GLib" "SourceFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "function", argType = TInterface "GLib" "SourceFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing}]
+-- returnType : TBasicType TUInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_threads_add_timeout_full" gdk_threads_add_timeout_full :: 
+    Int32 ->                                -- priority : TBasicType TInt32
+    Word32 ->                               -- interval : TBasicType TUInt32
+    FunPtr GLib.SourceFuncC ->              -- function : TInterface "GLib" "SourceFunc"
+    Ptr () ->                               -- data : TBasicType TVoid
+    FunPtr GLib.DestroyNotifyC ->           -- notify : TInterface "GLib" "DestroyNotify"
+    IO Word32
+
+
+threadsAddTimeout ::
+    (MonadIO m) =>
+    Int32 ->                                -- priority
+    Word32 ->                               -- interval
+    GLib.SourceFunc ->                      -- function
+    m Word32
+threadsAddTimeout priority interval function = liftIO $ do
+    function' <- GLib.mkSourceFunc (GLib.sourceFuncWrapper Nothing function)
+    let data_ = castFunPtrToPtr function'
+    let notify = safeFreeFunPtrPtr
+    result <- gdk_threads_add_timeout_full priority interval function' data_ notify
+    return result
+
+-- function gdk_threads_add_timeout_seconds_full
+-- Args : [Arg {argName = "priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "function", argType = TInterface "GLib" "SourceFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "function", argType = TInterface "GLib" "SourceFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing}]
+-- returnType : TBasicType TUInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_threads_add_timeout_seconds_full" gdk_threads_add_timeout_seconds_full :: 
+    Int32 ->                                -- priority : TBasicType TInt32
+    Word32 ->                               -- interval : TBasicType TUInt32
+    FunPtr GLib.SourceFuncC ->              -- function : TInterface "GLib" "SourceFunc"
+    Ptr () ->                               -- data : TBasicType TVoid
+    FunPtr GLib.DestroyNotifyC ->           -- notify : TInterface "GLib" "DestroyNotify"
+    IO Word32
+
+
+threadsAddTimeoutSeconds ::
+    (MonadIO m) =>
+    Int32 ->                                -- priority
+    Word32 ->                               -- interval
+    GLib.SourceFunc ->                      -- function
+    m Word32
+threadsAddTimeoutSeconds priority interval function = liftIO $ do
+    function' <- GLib.mkSourceFunc (GLib.sourceFuncWrapper Nothing function)
+    let data_ = castFunPtrToPtr function'
+    let notify = safeFreeFunPtrPtr
+    result <- gdk_threads_add_timeout_seconds_full priority interval function' data_ notify
+    return result
+
+-- function gdk_threads_enter
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_threads_enter" gdk_threads_enter :: 
+    IO ()
+
+{-# DEPRECATED threadsEnter ["(Since version 3.6)","All GDK and GTK+ calls should be made from the main","    thread"]#-}
+threadsEnter ::
+    (MonadIO m) =>
+    m ()
+threadsEnter  = liftIO $ do
+    gdk_threads_enter
+    return ()
+
+-- function gdk_threads_init
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_threads_init" gdk_threads_init :: 
+    IO ()
+
+{-# DEPRECATED threadsInit ["(Since version 3.6)","All GDK and GTK+ calls should be made from the main","    thread"]#-}
+threadsInit ::
+    (MonadIO m) =>
+    m ()
+threadsInit  = liftIO $ do
+    gdk_threads_init
+    return ()
+
+-- function gdk_threads_leave
+-- Args : []
+-- Lengths : []
+-- hInArgs : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_threads_leave" gdk_threads_leave :: 
+    IO ()
+
+{-# DEPRECATED threadsLeave ["(Since version 3.6)","All GDK and GTK+ calls should be made from the main","    thread"]#-}
+threadsLeave ::
+    (MonadIO m) =>
+    m ()
+threadsLeave  = liftIO $ do
+    gdk_threads_leave
+    return ()
+
+-- function gdk_unicode_to_keyval
+-- Args : [Arg {argName = "wc", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "wc", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_unicode_to_keyval" gdk_unicode_to_keyval :: 
+    Word32 ->                               -- wc : TBasicType TUInt32
+    IO Word32
+
+
+unicodeToKeyval ::
+    (MonadIO m) =>
+    Word32 ->                               -- wc
+    m Word32
+unicodeToKeyval wc = liftIO $ do
+    result <- gdk_unicode_to_keyval wc
+    return result
+
+-- function gdk_utf8_to_string_target
+-- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Lengths : []
+-- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "gdk_utf8_to_string_target" gdk_utf8_to_string_target :: 
+    CString ->                              -- str : TBasicType TUTF8
+    IO CString
+
+
+utf8ToStringTarget ::
+    (MonadIO m) =>
+    T.Text ->                               -- str
+    m T.Text
+utf8ToStringTarget str = liftIO $ do
+    str' <- textToCString str
+    result <- gdk_utf8_to_string_target str'
+    checkUnexpectedReturnNULL "gdk_utf8_to_string_target" result
+    result' <- cstringToText result
+    freeMem result
+    freeMem str'
+    return result'
 
diff --git a/GI/Gdk/Callbacks.hs b/GI/Gdk/Callbacks.hs
deleted file mode 100644
--- a/GI/Gdk/Callbacks.hs
+++ /dev/null
@@ -1,196 +0,0 @@
-
-{- |
-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.Gdk.Callbacks
-    ( 
-
- -- * Signals
--- ** EventFunc
-    EventFunc                               ,
-    EventFuncC                              ,
-    eventFuncClosure                        ,
-    eventFuncWrapper                        ,
-    mkEventFunc                             ,
-    noEventFunc                             ,
-
-
--- ** FilterFunc
-    FilterFunc                              ,
-    FilterFuncC                             ,
-    filterFuncClosure                       ,
-    filterFuncWrapper                       ,
-    mkFilterFunc                            ,
-    noFilterFunc                            ,
-
-
--- ** WindowChildFunc
-    WindowChildFunc                         ,
-    WindowChildFuncC                        ,
-    mkWindowChildFunc                       ,
-    noWindowChildFunc                       ,
-    windowChildFuncClosure                  ,
-    windowChildFuncWrapper                  ,
-
-
--- ** WindowInvalidateHandlerFunc
-    WindowInvalidateHandlerFunc             ,
-    WindowInvalidateHandlerFuncC            ,
-    mkWindowInvalidateHandlerFunc           ,
-    noWindowInvalidateHandlerFunc           ,
-    windowInvalidateHandlerFuncClosure      ,
-    windowInvalidateHandlerFuncWrapper      ,
-
-
-
-
-    ) 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.Gdk.Types
-
-import qualified GI.Cairo as Cairo
-
--- callback WindowInvalidateHandlerFunc
-windowInvalidateHandlerFuncClosure :: WindowInvalidateHandlerFunc -> IO Closure
-windowInvalidateHandlerFuncClosure cb = newCClosure =<< mkWindowInvalidateHandlerFunc wrapped
-    where wrapped = windowInvalidateHandlerFuncWrapper Nothing cb
-
-type WindowInvalidateHandlerFuncC =
-    Ptr Window ->
-    Ptr Cairo.Region ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkWindowInvalidateHandlerFunc :: WindowInvalidateHandlerFuncC -> IO (FunPtr WindowInvalidateHandlerFuncC)
-
-type WindowInvalidateHandlerFunc =
-    Window ->
-    Cairo.Region ->
-    IO ()
-
-noWindowInvalidateHandlerFunc :: Maybe WindowInvalidateHandlerFunc
-noWindowInvalidateHandlerFunc = Nothing
-
-windowInvalidateHandlerFuncWrapper ::
-    Maybe (Ptr (FunPtr (WindowInvalidateHandlerFuncC))) ->
-    WindowInvalidateHandlerFunc ->
-    Ptr Window ->
-    Ptr Cairo.Region ->
-    IO ()
-windowInvalidateHandlerFuncWrapper funptrptr _cb window region = do
-    window' <- (newObject Window) window
-    region' <- (newBoxed Cairo.Region) region
-    _cb  window' region'
-    maybeReleaseFunPtr funptrptr
-
--- callback WindowChildFunc
-windowChildFuncClosure :: WindowChildFunc -> IO Closure
-windowChildFuncClosure cb = newCClosure =<< mkWindowChildFunc wrapped
-    where wrapped = windowChildFuncWrapper Nothing cb
-
-type WindowChildFuncC =
-    Ptr Window ->
-    Ptr () ->
-    IO CInt
-
-foreign import ccall "wrapper"
-    mkWindowChildFunc :: WindowChildFuncC -> IO (FunPtr WindowChildFuncC)
-
-type WindowChildFunc =
-    Window ->
-    IO Bool
-
-noWindowChildFunc :: Maybe WindowChildFunc
-noWindowChildFunc = Nothing
-
-windowChildFuncWrapper ::
-    Maybe (Ptr (FunPtr (WindowChildFuncC))) ->
-    WindowChildFunc ->
-    Ptr Window ->
-    Ptr () ->
-    IO CInt
-windowChildFuncWrapper funptrptr _cb window _ = do
-    window' <- (newObject Window) window
-    result <- _cb  window'
-    maybeReleaseFunPtr funptrptr
-    let result' = (fromIntegral . fromEnum) result
-    return result'
-
--- callback FilterFunc
-filterFuncClosure :: FilterFunc -> IO Closure
-filterFuncClosure cb = newCClosure =<< mkFilterFunc wrapped
-    where wrapped = filterFuncWrapper Nothing cb
-
-type FilterFuncC =
-    Ptr () ->
-    Ptr Event ->
-    Ptr () ->
-    IO CUInt
-
-foreign import ccall "wrapper"
-    mkFilterFunc :: FilterFuncC -> IO (FunPtr FilterFuncC)
-
-type FilterFunc =
-    Ptr () ->
-    Event ->
-    IO FilterReturn
-
-noFilterFunc :: Maybe FilterFunc
-noFilterFunc = Nothing
-
-filterFuncWrapper ::
-    Maybe (Ptr (FunPtr (FilterFuncC))) ->
-    FilterFunc ->
-    Ptr () ->
-    Ptr Event ->
-    Ptr () ->
-    IO CUInt
-filterFuncWrapper funptrptr _cb xevent event _ = do
-    event' <- (newBoxed Event) event
-    result <- _cb  xevent event'
-    maybeReleaseFunPtr funptrptr
-    let result' = (fromIntegral . fromEnum) result
-    return result'
-
--- callback EventFunc
-eventFuncClosure :: EventFunc -> IO Closure
-eventFuncClosure cb = newCClosure =<< mkEventFunc wrapped
-    where wrapped = eventFuncWrapper Nothing cb
-
-type EventFuncC =
-    Ptr Event ->
-    Ptr () ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkEventFunc :: EventFuncC -> IO (FunPtr EventFuncC)
-
-type EventFunc =
-    Event ->
-    IO ()
-
-noEventFunc :: Maybe EventFunc
-noEventFunc = Nothing
-
-eventFuncWrapper ::
-    Maybe (Ptr (FunPtr (EventFuncC))) ->
-    EventFunc ->
-    Ptr Event ->
-    Ptr () ->
-    IO ()
-eventFuncWrapper funptrptr _cb event _ = do
-    event' <- (newBoxed Event) event
-    _cb  event'
-    maybeReleaseFunPtr funptrptr
-
-
diff --git a/GI/Gdk/Constants.hs b/GI/Gdk/Constants.hs
deleted file mode 100644
--- a/GI/Gdk/Constants.hs
+++ /dev/null
@@ -1,9140 +0,0 @@
-{-# LANGUAGE PatternSynonyms, ScopedTypeVariables, ViewPatterns #-}
-
-{- |
-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.Gdk.Constants
-    ( 
-    pattern PRIORITY_REDRAW                 ,
-    pattern PARENT_RELATIVE                 ,
-    pattern MAX_TIMECOORD_AXES              ,
-    pattern KEY_zstroke                     ,
-    pattern KEY_zerosuperior                ,
-    pattern KEY_zerosubscript               ,
-    pattern KEY_zcaron                      ,
-    pattern KEY_zacute                      ,
-    pattern KEY_zabovedot                   ,
-    pattern KEY_z                           ,
-    pattern KEY_ytilde                      ,
-    pattern KEY_yhook                       ,
-    pattern KEY_ygrave                      ,
-    pattern KEY_yen                         ,
-    pattern KEY_ydiaeresis                  ,
-    pattern KEY_ycircumflex                 ,
-    pattern KEY_ybelowdot                   ,
-    pattern KEY_yacute                      ,
-    pattern KEY_y                           ,
-    pattern KEY_xabovedot                   ,
-    pattern KEY_x                           ,
-    pattern KEY_wgrave                      ,
-    pattern KEY_wdiaeresis                  ,
-    pattern KEY_wcircumflex                 ,
-    pattern KEY_wacute                      ,
-    pattern KEY_w                           ,
-    pattern KEY_vt                          ,
-    pattern KEY_voicedsound                 ,
-    pattern KEY_vertconnector               ,
-    pattern KEY_vertbar                     ,
-    pattern KEY_variation                   ,
-    pattern KEY_v                           ,
-    pattern KEY_utilde                      ,
-    pattern KEY_uring                       ,
-    pattern KEY_uptack                      ,
-    pattern KEY_upstile                     ,
-    pattern KEY_upshoe                      ,
-    pattern KEY_uprightcorner               ,
-    pattern KEY_upleftcorner                ,
-    pattern KEY_upcaret                     ,
-    pattern KEY_uparrow                     ,
-    pattern KEY_uogonek                     ,
-    pattern KEY_union                       ,
-    pattern KEY_underscore                  ,
-    pattern KEY_underbar                    ,
-    pattern KEY_umacron                     ,
-    pattern KEY_uhorntilde                  ,
-    pattern KEY_uhornhook                   ,
-    pattern KEY_uhorngrave                  ,
-    pattern KEY_uhornbelowdot               ,
-    pattern KEY_uhornacute                  ,
-    pattern KEY_uhorn                       ,
-    pattern KEY_uhook                       ,
-    pattern KEY_ugrave                      ,
-    pattern KEY_udoubleacute                ,
-    pattern KEY_udiaeresis                  ,
-    pattern KEY_ucircumflex                 ,
-    pattern KEY_ubreve                      ,
-    pattern KEY_ubelowdot                   ,
-    pattern KEY_uacute                      ,
-    pattern KEY_u                           ,
-    pattern KEY_twothirds                   ,
-    pattern KEY_twosuperior                 ,
-    pattern KEY_twosubscript                ,
-    pattern KEY_twofifths                   ,
-    pattern KEY_tslash                      ,
-    pattern KEY_trademarkincircle           ,
-    pattern KEY_trademark                   ,
-    pattern KEY_topvertsummationconnector   ,
-    pattern KEY_topt                        ,
-    pattern KEY_toprightsummation           ,
-    pattern KEY_toprightsqbracket           ,
-    pattern KEY_toprightparens              ,
-    pattern KEY_topleftsummation            ,
-    pattern KEY_topleftsqbracket            ,
-    pattern KEY_topleftradical              ,
-    pattern KEY_topleftparens               ,
-    pattern KEY_topintegral                 ,
-    pattern KEY_tintegral                   ,
-    pattern KEY_threesuperior               ,
-    pattern KEY_threesubscript              ,
-    pattern KEY_threequarters               ,
-    pattern KEY_threefifths                 ,
-    pattern KEY_threeeighths                ,
-    pattern KEY_thorn                       ,
-    pattern KEY_thinspace                   ,
-    pattern KEY_therefore                   ,
-    pattern KEY_telephonerecorder           ,
-    pattern KEY_telephone                   ,
-    pattern KEY_tcedilla                    ,
-    pattern KEY_tcaron                      ,
-    pattern KEY_tabovedot                   ,
-    pattern KEY_t                           ,
-    pattern KEY_stricteq                    ,
-    pattern KEY_sterling                    ,
-    pattern KEY_ssharp                      ,
-    pattern KEY_squareroot                  ,
-    pattern KEY_space                       ,
-    pattern KEY_soliddiamond                ,
-    pattern KEY_slash                       ,
-    pattern KEY_sixsuperior                 ,
-    pattern KEY_sixsubscript                ,
-    pattern KEY_singlelowquotemark          ,
-    pattern KEY_similarequal                ,
-    pattern KEY_signifblank                 ,
-    pattern KEY_signaturemark               ,
-    pattern KEY_sevensuperior               ,
-    pattern KEY_sevensubscript              ,
-    pattern KEY_seveneighths                ,
-    pattern KEY_semivoicedsound             ,
-    pattern KEY_semicolon                   ,
-    pattern KEY_section                     ,
-    pattern KEY_seconds                     ,
-    pattern KEY_script_switch               ,
-    pattern KEY_scircumflex                 ,
-    pattern KEY_schwa                       ,
-    pattern KEY_scedilla                    ,
-    pattern KEY_scaron                      ,
-    pattern KEY_sacute                      ,
-    pattern KEY_sabovedot                   ,
-    pattern KEY_s                           ,
-    pattern KEY_righttack                   ,
-    pattern KEY_rightt                      ,
-    pattern KEY_rightsinglequotemark        ,
-    pattern KEY_rightshoe                   ,
-    pattern KEY_rightpointer                ,
-    pattern KEY_rightopentriangle           ,
-    pattern KEY_rightmiddlesummation        ,
-    pattern KEY_rightmiddlecurlybrace       ,
-    pattern KEY_rightdoublequotemark        ,
-    pattern KEY_rightcaret                  ,
-    pattern KEY_rightarrow                  ,
-    pattern KEY_rightanglebracket           ,
-    pattern KEY_registered                  ,
-    pattern KEY_rcedilla                    ,
-    pattern KEY_rcaron                      ,
-    pattern KEY_radical                     ,
-    pattern KEY_racute                      ,
-    pattern KEY_r                           ,
-    pattern KEY_quoteright                  ,
-    pattern KEY_quoteleft                   ,
-    pattern KEY_quotedbl                    ,
-    pattern KEY_questiondown                ,
-    pattern KEY_question                    ,
-    pattern KEY_quad                        ,
-    pattern KEY_q                           ,
-    pattern KEY_punctspace                  ,
-    pattern KEY_prolongedsound              ,
-    pattern KEY_prescription                ,
-    pattern KEY_plusminus                   ,
-    pattern KEY_plus                        ,
-    pattern KEY_phonographcopyright         ,
-    pattern KEY_permille                    ,
-    pattern KEY_periodcentered              ,
-    pattern KEY_period                      ,
-    pattern KEY_percent                     ,
-    pattern KEY_partialderivative           ,
-    pattern KEY_partdifferential            ,
-    pattern KEY_parenright                  ,
-    pattern KEY_parenleft                   ,
-    pattern KEY_paragraph                   ,
-    pattern KEY_pabovedot                   ,
-    pattern KEY_p                           ,
-    pattern KEY_overline                    ,
-    pattern KEY_overbar                     ,
-    pattern KEY_otilde                      ,
-    pattern KEY_oslash                      ,
-    pattern KEY_ordfeminine                 ,
-    pattern KEY_opentribulletup             ,
-    pattern KEY_opentribulletdown           ,
-    pattern KEY_openstar                    ,
-    pattern KEY_openrectbullet              ,
-    pattern KEY_ooblique                    ,
-    pattern KEY_onethird                    ,
-    pattern KEY_onesuperior                 ,
-    pattern KEY_onesubscript                ,
-    pattern KEY_onesixth                    ,
-    pattern KEY_onequarter                  ,
-    pattern KEY_onehalf                     ,
-    pattern KEY_onefifth                    ,
-    pattern KEY_oneeighth                   ,
-    pattern KEY_omacron                     ,
-    pattern KEY_ohorntilde                  ,
-    pattern KEY_ohornhook                   ,
-    pattern KEY_ohorngrave                  ,
-    pattern KEY_ohornbelowdot               ,
-    pattern KEY_ohornacute                  ,
-    pattern KEY_ohorn                       ,
-    pattern KEY_ohook                       ,
-    pattern KEY_ograve                      ,
-    pattern KEY_ogonek                      ,
-    pattern KEY_oe                          ,
-    pattern KEY_odoubleacute                ,
-    pattern KEY_odiaeresis                  ,
-    pattern KEY_ocircumflextilde            ,
-    pattern KEY_ocircumflexhook             ,
-    pattern KEY_ocircumflexgrave            ,
-    pattern KEY_ocircumflexbelowdot         ,
-    pattern KEY_ocircumflexacute            ,
-    pattern KEY_ocircumflex                 ,
-    pattern KEY_ocaron                      ,
-    pattern KEY_obelowdot                   ,
-    pattern KEY_obarred                     ,
-    pattern KEY_oacute                      ,
-    pattern KEY_o                           ,
-    pattern KEY_numerosign                  ,
-    pattern KEY_numbersign                  ,
-    pattern KEY_ntilde                      ,
-    pattern KEY_notsign                     ,
-    pattern KEY_notidentical                ,
-    pattern KEY_notequal                    ,
-    pattern KEY_notelementof                ,
-    pattern KEY_notapproxeq                 ,
-    pattern KEY_nobreakspace                ,
-    pattern KEY_nl                          ,
-    pattern KEY_ninesuperior                ,
-    pattern KEY_ninesubscript               ,
-    pattern KEY_ncedilla                    ,
-    pattern KEY_ncaron                      ,
-    pattern KEY_nacute                      ,
-    pattern KEY_nabla                       ,
-    pattern KEY_n                           ,
-    pattern KEY_musicalsharp                ,
-    pattern KEY_musicalflat                 ,
-    pattern KEY_multiply                    ,
-    pattern KEY_mu                          ,
-    pattern KEY_minutes                     ,
-    pattern KEY_minus                       ,
-    pattern KEY_masculine                   ,
-    pattern KEY_marker                      ,
-    pattern KEY_maltesecross                ,
-    pattern KEY_malesymbol                  ,
-    pattern KEY_macron                      ,
-    pattern KEY_mabovedot                   ,
-    pattern KEY_m                           ,
-    pattern KEY_lstroke                     ,
-    pattern KEY_lowrightcorner              ,
-    pattern KEY_lowleftcorner               ,
-    pattern KEY_logicalor                   ,
-    pattern KEY_logicaland                  ,
-    pattern KEY_lf                          ,
-    pattern KEY_lessthanequal               ,
-    pattern KEY_less                        ,
-    pattern KEY_lefttack                    ,
-    pattern KEY_leftt                       ,
-    pattern KEY_leftsinglequotemark         ,
-    pattern KEY_leftshoe                    ,
-    pattern KEY_leftradical                 ,
-    pattern KEY_leftpointer                 ,
-    pattern KEY_leftopentriangle            ,
-    pattern KEY_leftmiddlecurlybrace        ,
-    pattern KEY_leftdoublequotemark         ,
-    pattern KEY_leftcaret                   ,
-    pattern KEY_leftarrow                   ,
-    pattern KEY_leftanglebracket            ,
-    pattern KEY_lcedilla                    ,
-    pattern KEY_lcaron                      ,
-    pattern KEY_lbelowdot                   ,
-    pattern KEY_latincross                  ,
-    pattern KEY_lacute                      ,
-    pattern KEY_l                           ,
-    pattern KEY_kra                         ,
-    pattern KEY_kcedilla                    ,
-    pattern KEY_kappa                       ,
-    pattern KEY_kana_yu                     ,
-    pattern KEY_kana_yo                     ,
-    pattern KEY_kana_ya                     ,
-    pattern KEY_kana_u                      ,
-    pattern KEY_kana_tu                     ,
-    pattern KEY_kana_tsu                    ,
-    pattern KEY_kana_switch                 ,
-    pattern KEY_kana_openingbracket         ,
-    pattern KEY_kana_o                      ,
-    pattern KEY_kana_middledot              ,
-    pattern KEY_kana_i                      ,
-    pattern KEY_kana_fullstop               ,
-    pattern KEY_kana_e                      ,
-    pattern KEY_kana_conjunctive            ,
-    pattern KEY_kana_comma                  ,
-    pattern KEY_kana_closingbracket         ,
-    pattern KEY_kana_a                      ,
-    pattern KEY_kana_YU                     ,
-    pattern KEY_kana_YO                     ,
-    pattern KEY_kana_YA                     ,
-    pattern KEY_kana_WO                     ,
-    pattern KEY_kana_WA                     ,
-    pattern KEY_kana_U                      ,
-    pattern KEY_kana_TU                     ,
-    pattern KEY_kana_TSU                    ,
-    pattern KEY_kana_TO                     ,
-    pattern KEY_kana_TI                     ,
-    pattern KEY_kana_TE                     ,
-    pattern KEY_kana_TA                     ,
-    pattern KEY_kana_SU                     ,
-    pattern KEY_kana_SO                     ,
-    pattern KEY_kana_SHI                    ,
-    pattern KEY_kana_SE                     ,
-    pattern KEY_kana_SA                     ,
-    pattern KEY_kana_RU                     ,
-    pattern KEY_kana_RO                     ,
-    pattern KEY_kana_RI                     ,
-    pattern KEY_kana_RE                     ,
-    pattern KEY_kana_RA                     ,
-    pattern KEY_kana_O                      ,
-    pattern KEY_kana_NU                     ,
-    pattern KEY_kana_NO                     ,
-    pattern KEY_kana_NI                     ,
-    pattern KEY_kana_NE                     ,
-    pattern KEY_kana_NA                     ,
-    pattern KEY_kana_N                      ,
-    pattern KEY_kana_MU                     ,
-    pattern KEY_kana_MO                     ,
-    pattern KEY_kana_MI                     ,
-    pattern KEY_kana_ME                     ,
-    pattern KEY_kana_MA                     ,
-    pattern KEY_kana_KU                     ,
-    pattern KEY_kana_KO                     ,
-    pattern KEY_kana_KI                     ,
-    pattern KEY_kana_KE                     ,
-    pattern KEY_kana_KA                     ,
-    pattern KEY_kana_I                      ,
-    pattern KEY_kana_HU                     ,
-    pattern KEY_kana_HO                     ,
-    pattern KEY_kana_HI                     ,
-    pattern KEY_kana_HE                     ,
-    pattern KEY_kana_HA                     ,
-    pattern KEY_kana_FU                     ,
-    pattern KEY_kana_E                      ,
-    pattern KEY_kana_CHI                    ,
-    pattern KEY_kana_A                      ,
-    pattern KEY_k                           ,
-    pattern KEY_jot                         ,
-    pattern KEY_jcircumflex                 ,
-    pattern KEY_j                           ,
-    pattern KEY_itilde                      ,
-    pattern KEY_iogonek                     ,
-    pattern KEY_intersection                ,
-    pattern KEY_integral                    ,
-    pattern KEY_infinity                    ,
-    pattern KEY_includes                    ,
-    pattern KEY_includedin                  ,
-    pattern KEY_implies                     ,
-    pattern KEY_imacron                     ,
-    pattern KEY_ihook                       ,
-    pattern KEY_igrave                      ,
-    pattern KEY_ifonlyif                    ,
-    pattern KEY_idotless                    ,
-    pattern KEY_idiaeresis                  ,
-    pattern KEY_identical                   ,
-    pattern KEY_icircumflex                 ,
-    pattern KEY_ibreve                      ,
-    pattern KEY_ibelowdot                   ,
-    pattern KEY_iacute                      ,
-    pattern KEY_iTouch                      ,
-    pattern KEY_i                           ,
-    pattern KEY_hyphen                      ,
-    pattern KEY_ht                          ,
-    pattern KEY_hstroke                     ,
-    pattern KEY_horizlinescan9              ,
-    pattern KEY_horizlinescan7              ,
-    pattern KEY_horizlinescan5              ,
-    pattern KEY_horizlinescan3              ,
-    pattern KEY_horizlinescan1              ,
-    pattern KEY_horizconnector              ,
-    pattern KEY_hexagram                    ,
-    pattern KEY_hebrew_zayin                ,
-    pattern KEY_hebrew_zain                 ,
-    pattern KEY_hebrew_zadi                 ,
-    pattern KEY_hebrew_zade                 ,
-    pattern KEY_hebrew_yod                  ,
-    pattern KEY_hebrew_waw                  ,
-    pattern KEY_hebrew_teth                 ,
-    pattern KEY_hebrew_tet                  ,
-    pattern KEY_hebrew_taw                  ,
-    pattern KEY_hebrew_taf                  ,
-    pattern KEY_hebrew_shin                 ,
-    pattern KEY_hebrew_samekh               ,
-    pattern KEY_hebrew_samech               ,
-    pattern KEY_hebrew_resh                 ,
-    pattern KEY_hebrew_qoph                 ,
-    pattern KEY_hebrew_pe                   ,
-    pattern KEY_hebrew_nun                  ,
-    pattern KEY_hebrew_mem                  ,
-    pattern KEY_hebrew_lamed                ,
-    pattern KEY_hebrew_kuf                  ,
-    pattern KEY_hebrew_kaph                 ,
-    pattern KEY_hebrew_het                  ,
-    pattern KEY_hebrew_he                   ,
-    pattern KEY_hebrew_gimmel               ,
-    pattern KEY_hebrew_gimel                ,
-    pattern KEY_hebrew_finalzadi            ,
-    pattern KEY_hebrew_finalzade            ,
-    pattern KEY_hebrew_finalpe              ,
-    pattern KEY_hebrew_finalnun             ,
-    pattern KEY_hebrew_finalmem             ,
-    pattern KEY_hebrew_finalkaph            ,
-    pattern KEY_hebrew_doublelowline        ,
-    pattern KEY_hebrew_daleth               ,
-    pattern KEY_hebrew_dalet                ,
-    pattern KEY_hebrew_chet                 ,
-    pattern KEY_hebrew_beth                 ,
-    pattern KEY_hebrew_bet                  ,
-    pattern KEY_hebrew_ayin                 ,
-    pattern KEY_hebrew_aleph                ,
-    pattern KEY_heart                       ,
-    pattern KEY_hcircumflex                 ,
-    pattern KEY_hairspace                   ,
-    pattern KEY_h                           ,
-    pattern KEY_guillemotright              ,
-    pattern KEY_guillemotleft               ,
-    pattern KEY_greaterthanequal            ,
-    pattern KEY_greater                     ,
-    pattern KEY_grave                       ,
-    pattern KEY_gcircumflex                 ,
-    pattern KEY_gcedilla                    ,
-    pattern KEY_gcaron                      ,
-    pattern KEY_gbreve                      ,
-    pattern KEY_gabovedot                   ,
-    pattern KEY_g                           ,
-    pattern KEY_function                    ,
-    pattern KEY_fourthroot                  ,
-    pattern KEY_foursuperior                ,
-    pattern KEY_foursubscript               ,
-    pattern KEY_fourfifths                  ,
-    pattern KEY_fivesuperior                ,
-    pattern KEY_fivesubscript               ,
-    pattern KEY_fivesixths                  ,
-    pattern KEY_fiveeighths                 ,
-    pattern KEY_filledtribulletup           ,
-    pattern KEY_filledtribulletdown         ,
-    pattern KEY_filledrighttribullet        ,
-    pattern KEY_filledrectbullet            ,
-    pattern KEY_filledlefttribullet         ,
-    pattern KEY_figdash                     ,
-    pattern KEY_ff                          ,
-    pattern KEY_femalesymbol                ,
-    pattern KEY_fabovedot                   ,
-    pattern KEY_f                           ,
-    pattern KEY_ezh                         ,
-    pattern KEY_exclamdown                  ,
-    pattern KEY_exclam                      ,
-    pattern KEY_etilde                      ,
-    pattern KEY_eth                         ,
-    pattern KEY_equal                       ,
-    pattern KEY_eogonek                     ,
-    pattern KEY_enspace                     ,
-    pattern KEY_enopensquarebullet          ,
-    pattern KEY_enopencircbullet            ,
-    pattern KEY_eng                         ,
-    pattern KEY_enfilledsqbullet            ,
-    pattern KEY_enfilledcircbullet          ,
-    pattern KEY_endash                      ,
-    pattern KEY_emspace                     ,
-    pattern KEY_emptyset                    ,
-    pattern KEY_emopenrectangle             ,
-    pattern KEY_emopencircle                ,
-    pattern KEY_emfilledrect                ,
-    pattern KEY_emfilledcircle              ,
-    pattern KEY_emdash                      ,
-    pattern KEY_emacron                     ,
-    pattern KEY_em4space                    ,
-    pattern KEY_em3space                    ,
-    pattern KEY_ellipsis                    ,
-    pattern KEY_elementof                   ,
-    pattern KEY_eightsuperior               ,
-    pattern KEY_eightsubscript              ,
-    pattern KEY_ehook                       ,
-    pattern KEY_egrave                      ,
-    pattern KEY_ediaeresis                  ,
-    pattern KEY_ecircumflextilde            ,
-    pattern KEY_ecircumflexhook             ,
-    pattern KEY_ecircumflexgrave            ,
-    pattern KEY_ecircumflexbelowdot         ,
-    pattern KEY_ecircumflexacute            ,
-    pattern KEY_ecircumflex                 ,
-    pattern KEY_ecaron                      ,
-    pattern KEY_ebelowdot                   ,
-    pattern KEY_eacute                      ,
-    pattern KEY_eabovedot                   ,
-    pattern KEY_e                           ,
-    pattern KEY_dstroke                     ,
-    pattern KEY_downtack                    ,
-    pattern KEY_downstile                   ,
-    pattern KEY_downshoe                    ,
-    pattern KEY_downcaret                   ,
-    pattern KEY_downarrow                   ,
-    pattern KEY_doublelowquotemark          ,
-    pattern KEY_doubledagger                ,
-    pattern KEY_doubleacute                 ,
-    pattern KEY_doubbaselinedot             ,
-    pattern KEY_dollar                      ,
-    pattern KEY_division                    ,
-    pattern KEY_dintegral                   ,
-    pattern KEY_digitspace                  ,
-    pattern KEY_diamond                     ,
-    pattern KEY_diaeresis                   ,
-    pattern KEY_degree                      ,
-    pattern KEY_decimalpoint                ,
-    pattern KEY_dead_voiced_sound           ,
-    pattern KEY_dead_u                      ,
-    pattern KEY_dead_tilde                  ,
-    pattern KEY_dead_stroke                 ,
-    pattern KEY_dead_small_schwa            ,
-    pattern KEY_dead_semivoiced_sound       ,
-    pattern KEY_dead_psili                  ,
-    pattern KEY_dead_perispomeni            ,
-    pattern KEY_dead_ogonek                 ,
-    pattern KEY_dead_o                      ,
-    pattern KEY_dead_macron                 ,
-    pattern KEY_dead_iota                   ,
-    pattern KEY_dead_invertedbreve          ,
-    pattern KEY_dead_i                      ,
-    pattern KEY_dead_horn                   ,
-    pattern KEY_dead_hook                   ,
-    pattern KEY_dead_greek                  ,
-    pattern KEY_dead_grave                  ,
-    pattern KEY_dead_e                      ,
-    pattern KEY_dead_doublegrave            ,
-    pattern KEY_dead_doubleacute            ,
-    pattern KEY_dead_diaeresis              ,
-    pattern KEY_dead_dasia                  ,
-    pattern KEY_dead_currency               ,
-    pattern KEY_dead_circumflex             ,
-    pattern KEY_dead_cedilla                ,
-    pattern KEY_dead_caron                  ,
-    pattern KEY_dead_capital_schwa          ,
-    pattern KEY_dead_breve                  ,
-    pattern KEY_dead_belowtilde             ,
-    pattern KEY_dead_belowring              ,
-    pattern KEY_dead_belowmacron            ,
-    pattern KEY_dead_belowdot               ,
-    pattern KEY_dead_belowdiaeresis         ,
-    pattern KEY_dead_belowcomma             ,
-    pattern KEY_dead_belowcircumflex        ,
-    pattern KEY_dead_belowbreve             ,
-    pattern KEY_dead_acute                  ,
-    pattern KEY_dead_abovering              ,
-    pattern KEY_dead_abovereversedcomma     ,
-    pattern KEY_dead_abovedot               ,
-    pattern KEY_dead_abovecomma             ,
-    pattern KEY_dead_a                      ,
-    pattern KEY_dead_U                      ,
-    pattern KEY_dead_O                      ,
-    pattern KEY_dead_I                      ,
-    pattern KEY_dead_E                      ,
-    pattern KEY_dead_A                      ,
-    pattern KEY_dcaron                      ,
-    pattern KEY_dagger                      ,
-    pattern KEY_dabovedot                   ,
-    pattern KEY_d                           ,
-    pattern KEY_cursor                      ,
-    pattern KEY_currency                    ,
-    pattern KEY_cuberoot                    ,
-    pattern KEY_crossinglines               ,
-    pattern KEY_cr                          ,
-    pattern KEY_copyright                   ,
-    pattern KEY_containsas                  ,
-    pattern KEY_comma                       ,
-    pattern KEY_colon                       ,
-    pattern KEY_club                        ,
-    pattern KEY_circle                      ,
-    pattern KEY_checkmark                   ,
-    pattern KEY_checkerboard                ,
-    pattern KEY_ch                          ,
-    pattern KEY_cent                        ,
-    pattern KEY_cedilla                     ,
-    pattern KEY_ccircumflex                 ,
-    pattern KEY_ccedilla                    ,
-    pattern KEY_ccaron                      ,
-    pattern KEY_caron                       ,
-    pattern KEY_caret                       ,
-    pattern KEY_careof                      ,
-    pattern KEY_cacute                      ,
-    pattern KEY_cabovedot                   ,
-    pattern KEY_c_h                         ,
-    pattern KEY_c                           ,
-    pattern KEY_brokenbar                   ,
-    pattern KEY_breve                       ,
-    pattern KEY_braille_dots_8              ,
-    pattern KEY_braille_dots_78             ,
-    pattern KEY_braille_dots_7              ,
-    pattern KEY_braille_dots_68             ,
-    pattern KEY_braille_dots_678            ,
-    pattern KEY_braille_dots_67             ,
-    pattern KEY_braille_dots_6              ,
-    pattern KEY_braille_dots_58             ,
-    pattern KEY_braille_dots_578            ,
-    pattern KEY_braille_dots_57             ,
-    pattern KEY_braille_dots_568            ,
-    pattern KEY_braille_dots_5678           ,
-    pattern KEY_braille_dots_567            ,
-    pattern KEY_braille_dots_56             ,
-    pattern KEY_braille_dots_5              ,
-    pattern KEY_braille_dots_48             ,
-    pattern KEY_braille_dots_478            ,
-    pattern KEY_braille_dots_47             ,
-    pattern KEY_braille_dots_468            ,
-    pattern KEY_braille_dots_4678           ,
-    pattern KEY_braille_dots_467            ,
-    pattern KEY_braille_dots_46             ,
-    pattern KEY_braille_dots_458            ,
-    pattern KEY_braille_dots_4578           ,
-    pattern KEY_braille_dots_457            ,
-    pattern KEY_braille_dots_4568           ,
-    pattern KEY_braille_dots_45678          ,
-    pattern KEY_braille_dots_4567           ,
-    pattern KEY_braille_dots_456            ,
-    pattern KEY_braille_dots_45             ,
-    pattern KEY_braille_dots_4              ,
-    pattern KEY_braille_dots_38             ,
-    pattern KEY_braille_dots_378            ,
-    pattern KEY_braille_dots_37             ,
-    pattern KEY_braille_dots_368            ,
-    pattern KEY_braille_dots_3678           ,
-    pattern KEY_braille_dots_367            ,
-    pattern KEY_braille_dots_36             ,
-    pattern KEY_braille_dots_358            ,
-    pattern KEY_braille_dots_3578           ,
-    pattern KEY_braille_dots_357            ,
-    pattern KEY_braille_dots_3568           ,
-    pattern KEY_braille_dots_35678          ,
-    pattern KEY_braille_dots_3567           ,
-    pattern KEY_braille_dots_356            ,
-    pattern KEY_braille_dots_35             ,
-    pattern KEY_braille_dots_348            ,
-    pattern KEY_braille_dots_3478           ,
-    pattern KEY_braille_dots_347            ,
-    pattern KEY_braille_dots_3468           ,
-    pattern KEY_braille_dots_34678          ,
-    pattern KEY_braille_dots_3467           ,
-    pattern KEY_braille_dots_346            ,
-    pattern KEY_braille_dots_3458           ,
-    pattern KEY_braille_dots_34578          ,
-    pattern KEY_braille_dots_3457           ,
-    pattern KEY_braille_dots_34568          ,
-    pattern KEY_braille_dots_345678         ,
-    pattern KEY_braille_dots_34567          ,
-    pattern KEY_braille_dots_3456           ,
-    pattern KEY_braille_dots_345            ,
-    pattern KEY_braille_dots_34             ,
-    pattern KEY_braille_dots_3              ,
-    pattern KEY_braille_dots_28             ,
-    pattern KEY_braille_dots_278            ,
-    pattern KEY_braille_dots_27             ,
-    pattern KEY_braille_dots_268            ,
-    pattern KEY_braille_dots_2678           ,
-    pattern KEY_braille_dots_267            ,
-    pattern KEY_braille_dots_26             ,
-    pattern KEY_braille_dots_258            ,
-    pattern KEY_braille_dots_2578           ,
-    pattern KEY_braille_dots_257            ,
-    pattern KEY_braille_dots_2568           ,
-    pattern KEY_braille_dots_25678          ,
-    pattern KEY_braille_dots_2567           ,
-    pattern KEY_braille_dots_256            ,
-    pattern KEY_braille_dots_25             ,
-    pattern KEY_braille_dots_248            ,
-    pattern KEY_braille_dots_2478           ,
-    pattern KEY_braille_dots_247            ,
-    pattern KEY_braille_dots_2468           ,
-    pattern KEY_braille_dots_24678          ,
-    pattern KEY_braille_dots_2467           ,
-    pattern KEY_braille_dots_246            ,
-    pattern KEY_braille_dots_2458           ,
-    pattern KEY_braille_dots_24578          ,
-    pattern KEY_braille_dots_2457           ,
-    pattern KEY_braille_dots_24568          ,
-    pattern KEY_braille_dots_245678         ,
-    pattern KEY_braille_dots_24567          ,
-    pattern KEY_braille_dots_2456           ,
-    pattern KEY_braille_dots_245            ,
-    pattern KEY_braille_dots_24             ,
-    pattern KEY_braille_dots_238            ,
-    pattern KEY_braille_dots_2378           ,
-    pattern KEY_braille_dots_237            ,
-    pattern KEY_braille_dots_2368           ,
-    pattern KEY_braille_dots_23678          ,
-    pattern KEY_braille_dots_2367           ,
-    pattern KEY_braille_dots_236            ,
-    pattern KEY_braille_dots_2358           ,
-    pattern KEY_braille_dots_23578          ,
-    pattern KEY_braille_dots_2357           ,
-    pattern KEY_braille_dots_23568          ,
-    pattern KEY_braille_dots_235678         ,
-    pattern KEY_braille_dots_23567          ,
-    pattern KEY_braille_dots_2356           ,
-    pattern KEY_braille_dots_235            ,
-    pattern KEY_braille_dots_2348           ,
-    pattern KEY_braille_dots_23478          ,
-    pattern KEY_braille_dots_2347           ,
-    pattern KEY_braille_dots_23468          ,
-    pattern KEY_braille_dots_234678         ,
-    pattern KEY_braille_dots_23467          ,
-    pattern KEY_braille_dots_2346           ,
-    pattern KEY_braille_dots_23458          ,
-    pattern KEY_braille_dots_234578         ,
-    pattern KEY_braille_dots_23457          ,
-    pattern KEY_braille_dots_234568         ,
-    pattern KEY_braille_dots_2345678        ,
-    pattern KEY_braille_dots_234567         ,
-    pattern KEY_braille_dots_23456          ,
-    pattern KEY_braille_dots_2345           ,
-    pattern KEY_braille_dots_234            ,
-    pattern KEY_braille_dots_23             ,
-    pattern KEY_braille_dots_2              ,
-    pattern KEY_braille_dots_18             ,
-    pattern KEY_braille_dots_178            ,
-    pattern KEY_braille_dots_17             ,
-    pattern KEY_braille_dots_168            ,
-    pattern KEY_braille_dots_1678           ,
-    pattern KEY_braille_dots_167            ,
-    pattern KEY_braille_dots_16             ,
-    pattern KEY_braille_dots_158            ,
-    pattern KEY_braille_dots_1578           ,
-    pattern KEY_braille_dots_157            ,
-    pattern KEY_braille_dots_1568           ,
-    pattern KEY_braille_dots_15678          ,
-    pattern KEY_braille_dots_1567           ,
-    pattern KEY_braille_dots_156            ,
-    pattern KEY_braille_dots_15             ,
-    pattern KEY_braille_dots_148            ,
-    pattern KEY_braille_dots_1478           ,
-    pattern KEY_braille_dots_147            ,
-    pattern KEY_braille_dots_1468           ,
-    pattern KEY_braille_dots_14678          ,
-    pattern KEY_braille_dots_1467           ,
-    pattern KEY_braille_dots_146            ,
-    pattern KEY_braille_dots_1458           ,
-    pattern KEY_braille_dots_14578          ,
-    pattern KEY_braille_dots_1457           ,
-    pattern KEY_braille_dots_14568          ,
-    pattern KEY_braille_dots_145678         ,
-    pattern KEY_braille_dots_14567          ,
-    pattern KEY_braille_dots_1456           ,
-    pattern KEY_braille_dots_145            ,
-    pattern KEY_braille_dots_14             ,
-    pattern KEY_braille_dots_138            ,
-    pattern KEY_braille_dots_1378           ,
-    pattern KEY_braille_dots_137            ,
-    pattern KEY_braille_dots_1368           ,
-    pattern KEY_braille_dots_13678          ,
-    pattern KEY_braille_dots_1367           ,
-    pattern KEY_braille_dots_136            ,
-    pattern KEY_braille_dots_1358           ,
-    pattern KEY_braille_dots_13578          ,
-    pattern KEY_braille_dots_1357           ,
-    pattern KEY_braille_dots_13568          ,
-    pattern KEY_braille_dots_135678         ,
-    pattern KEY_braille_dots_13567          ,
-    pattern KEY_braille_dots_1356           ,
-    pattern KEY_braille_dots_135            ,
-    pattern KEY_braille_dots_1348           ,
-    pattern KEY_braille_dots_13478          ,
-    pattern KEY_braille_dots_1347           ,
-    pattern KEY_braille_dots_13468          ,
-    pattern KEY_braille_dots_134678         ,
-    pattern KEY_braille_dots_13467          ,
-    pattern KEY_braille_dots_1346           ,
-    pattern KEY_braille_dots_13458          ,
-    pattern KEY_braille_dots_134578         ,
-    pattern KEY_braille_dots_13457          ,
-    pattern KEY_braille_dots_134568         ,
-    pattern KEY_braille_dots_1345678        ,
-    pattern KEY_braille_dots_134567         ,
-    pattern KEY_braille_dots_13456          ,
-    pattern KEY_braille_dots_1345           ,
-    pattern KEY_braille_dots_134            ,
-    pattern KEY_braille_dots_13             ,
-    pattern KEY_braille_dots_128            ,
-    pattern KEY_braille_dots_1278           ,
-    pattern KEY_braille_dots_127            ,
-    pattern KEY_braille_dots_1268           ,
-    pattern KEY_braille_dots_12678          ,
-    pattern KEY_braille_dots_1267           ,
-    pattern KEY_braille_dots_126            ,
-    pattern KEY_braille_dots_1258           ,
-    pattern KEY_braille_dots_12578          ,
-    pattern KEY_braille_dots_1257           ,
-    pattern KEY_braille_dots_12568          ,
-    pattern KEY_braille_dots_125678         ,
-    pattern KEY_braille_dots_12567          ,
-    pattern KEY_braille_dots_1256           ,
-    pattern KEY_braille_dots_125            ,
-    pattern KEY_braille_dots_1248           ,
-    pattern KEY_braille_dots_12478          ,
-    pattern KEY_braille_dots_1247           ,
-    pattern KEY_braille_dots_12468          ,
-    pattern KEY_braille_dots_124678         ,
-    pattern KEY_braille_dots_12467          ,
-    pattern KEY_braille_dots_1246           ,
-    pattern KEY_braille_dots_12458          ,
-    pattern KEY_braille_dots_124578         ,
-    pattern KEY_braille_dots_12457          ,
-    pattern KEY_braille_dots_124568         ,
-    pattern KEY_braille_dots_1245678        ,
-    pattern KEY_braille_dots_124567         ,
-    pattern KEY_braille_dots_12456          ,
-    pattern KEY_braille_dots_1245           ,
-    pattern KEY_braille_dots_124            ,
-    pattern KEY_braille_dots_1238           ,
-    pattern KEY_braille_dots_12378          ,
-    pattern KEY_braille_dots_1237           ,
-    pattern KEY_braille_dots_12368          ,
-    pattern KEY_braille_dots_123678         ,
-    pattern KEY_braille_dots_12367          ,
-    pattern KEY_braille_dots_1236           ,
-    pattern KEY_braille_dots_12358          ,
-    pattern KEY_braille_dots_123578         ,
-    pattern KEY_braille_dots_12357          ,
-    pattern KEY_braille_dots_123568         ,
-    pattern KEY_braille_dots_1235678        ,
-    pattern KEY_braille_dots_123567         ,
-    pattern KEY_braille_dots_12356          ,
-    pattern KEY_braille_dots_1235           ,
-    pattern KEY_braille_dots_12348          ,
-    pattern KEY_braille_dots_123478         ,
-    pattern KEY_braille_dots_12347          ,
-    pattern KEY_braille_dots_123468         ,
-    pattern KEY_braille_dots_1234678        ,
-    pattern KEY_braille_dots_123467         ,
-    pattern KEY_braille_dots_12346          ,
-    pattern KEY_braille_dots_123458         ,
-    pattern KEY_braille_dots_1234578        ,
-    pattern KEY_braille_dots_123457         ,
-    pattern KEY_braille_dots_1234568        ,
-    pattern KEY_braille_dots_12345678       ,
-    pattern KEY_braille_dots_1234567        ,
-    pattern KEY_braille_dots_123456         ,
-    pattern KEY_braille_dots_12345          ,
-    pattern KEY_braille_dots_1234           ,
-    pattern KEY_braille_dots_123            ,
-    pattern KEY_braille_dots_12             ,
-    pattern KEY_braille_dots_1              ,
-    pattern KEY_braille_dot_9               ,
-    pattern KEY_braille_dot_8               ,
-    pattern KEY_braille_dot_7               ,
-    pattern KEY_braille_dot_6               ,
-    pattern KEY_braille_dot_5               ,
-    pattern KEY_braille_dot_4               ,
-    pattern KEY_braille_dot_3               ,
-    pattern KEY_braille_dot_2               ,
-    pattern KEY_braille_dot_10              ,
-    pattern KEY_braille_dot_1               ,
-    pattern KEY_braille_blank               ,
-    pattern KEY_bracketright                ,
-    pattern KEY_bracketleft                 ,
-    pattern KEY_braceright                  ,
-    pattern KEY_braceleft                   ,
-    pattern KEY_botvertsummationconnector   ,
-    pattern KEY_bott                        ,
-    pattern KEY_botrightsummation           ,
-    pattern KEY_botrightsqbracket           ,
-    pattern KEY_botrightparens              ,
-    pattern KEY_botleftsummation            ,
-    pattern KEY_botleftsqbracket            ,
-    pattern KEY_botleftparens               ,
-    pattern KEY_botintegral                 ,
-    pattern KEY_blank                       ,
-    pattern KEY_because                     ,
-    pattern KEY_bar                         ,
-    pattern KEY_ballotcross                 ,
-    pattern KEY_backslash                   ,
-    pattern KEY_babovedot                   ,
-    pattern KEY_b                           ,
-    pattern KEY_atilde                      ,
-    pattern KEY_at                          ,
-    pattern KEY_asterisk                    ,
-    pattern KEY_asciitilde                  ,
-    pattern KEY_asciicircum                 ,
-    pattern KEY_aring                       ,
-    pattern KEY_approximate                 ,
-    pattern KEY_approxeq                    ,
-    pattern KEY_apostrophe                  ,
-    pattern KEY_aogonek                     ,
-    pattern KEY_ampersand                   ,
-    pattern KEY_amacron                     ,
-    pattern KEY_ahook                       ,
-    pattern KEY_agrave                      ,
-    pattern KEY_ae                          ,
-    pattern KEY_adiaeresis                  ,
-    pattern KEY_acute                       ,
-    pattern KEY_acircumflextilde            ,
-    pattern KEY_acircumflexhook             ,
-    pattern KEY_acircumflexgrave            ,
-    pattern KEY_acircumflexbelowdot         ,
-    pattern KEY_acircumflexacute            ,
-    pattern KEY_acircumflex                 ,
-    pattern KEY_abrevetilde                 ,
-    pattern KEY_abrevehook                  ,
-    pattern KEY_abrevegrave                 ,
-    pattern KEY_abrevebelowdot              ,
-    pattern KEY_abreveacute                 ,
-    pattern KEY_abreve                      ,
-    pattern KEY_abovedot                    ,
-    pattern KEY_abelowdot                   ,
-    pattern KEY_aacute                      ,
-    pattern KEY_a                           ,
-    pattern KEY_Zstroke                     ,
-    pattern KEY_ZoomOut                     ,
-    pattern KEY_ZoomIn                      ,
-    pattern KEY_Zenkaku_Hankaku             ,
-    pattern KEY_Zenkaku                     ,
-    pattern KEY_Zen_Koho                    ,
-    pattern KEY_Zcaron                      ,
-    pattern KEY_Zacute                      ,
-    pattern KEY_Zabovedot                   ,
-    pattern KEY_Z                           ,
-    pattern KEY_Ytilde                      ,
-    pattern KEY_Yhook                       ,
-    pattern KEY_Ygrave                      ,
-    pattern KEY_Yellow                      ,
-    pattern KEY_Ydiaeresis                  ,
-    pattern KEY_Ycircumflex                 ,
-    pattern KEY_Ybelowdot                   ,
-    pattern KEY_Yacute                      ,
-    pattern KEY_Y                           ,
-    pattern KEY_Xfer                        ,
-    pattern KEY_Xabovedot                   ,
-    pattern KEY_X                           ,
-    pattern KEY_Word                        ,
-    pattern KEY_WonSign                     ,
-    pattern KEY_WindowClear                 ,
-    pattern KEY_WheelButton                 ,
-    pattern KEY_Wgrave                      ,
-    pattern KEY_WebCam                      ,
-    pattern KEY_Wdiaeresis                  ,
-    pattern KEY_Wcircumflex                 ,
-    pattern KEY_WakeUp                      ,
-    pattern KEY_Wacute                      ,
-    pattern KEY_WWW                         ,
-    pattern KEY_WLAN                        ,
-    pattern KEY_W                           ,
-    pattern KEY_VoidSymbol                  ,
-    pattern KEY_View                        ,
-    pattern KEY_Video                       ,
-    pattern KEY_VendorHome                  ,
-    pattern KEY_V                           ,
-    pattern KEY_Utilde                      ,
-    pattern KEY_UserPB                      ,
-    pattern KEY_User2KB                     ,
-    pattern KEY_User1KB                     ,
-    pattern KEY_Uring                       ,
-    pattern KEY_Up                          ,
-    pattern KEY_Uogonek                     ,
-    pattern KEY_Ungrab                      ,
-    pattern KEY_Undo                        ,
-    pattern KEY_Umacron                     ,
-    pattern KEY_Ukranian_yi                 ,
-    pattern KEY_Ukranian_je                 ,
-    pattern KEY_Ukranian_i                  ,
-    pattern KEY_Ukranian_YI                 ,
-    pattern KEY_Ukranian_JE                 ,
-    pattern KEY_Ukranian_I                  ,
-    pattern KEY_Ukrainian_yi                ,
-    pattern KEY_Ukrainian_ie                ,
-    pattern KEY_Ukrainian_i                 ,
-    pattern KEY_Ukrainian_ghe_with_upturn   ,
-    pattern KEY_Ukrainian_YI                ,
-    pattern KEY_Ukrainian_IE                ,
-    pattern KEY_Ukrainian_I                 ,
-    pattern KEY_Ukrainian_GHE_WITH_UPTURN   ,
-    pattern KEY_Uhorntilde                  ,
-    pattern KEY_Uhornhook                   ,
-    pattern KEY_Uhorngrave                  ,
-    pattern KEY_Uhornbelowdot               ,
-    pattern KEY_Uhornacute                  ,
-    pattern KEY_Uhorn                       ,
-    pattern KEY_Uhook                       ,
-    pattern KEY_Ugrave                      ,
-    pattern KEY_Udoubleacute                ,
-    pattern KEY_Udiaeresis                  ,
-    pattern KEY_Ucircumflex                 ,
-    pattern KEY_Ubreve                      ,
-    pattern KEY_Ubelowdot                   ,
-    pattern KEY_Uacute                      ,
-    pattern KEY_UWB                         ,
-    pattern KEY_U                           ,
-    pattern KEY_Tslash                      ,
-    pattern KEY_Travel                      ,
-    pattern KEY_Touroku                     ,
-    pattern KEY_TouchpadToggle              ,
-    pattern KEY_TouchpadOn                  ,
-    pattern KEY_TouchpadOff                 ,
-    pattern KEY_TopMenu                     ,
-    pattern KEY_Tools                       ,
-    pattern KEY_ToDoList                    ,
-    pattern KEY_Time                        ,
-    pattern KEY_Thorn                       ,
-    pattern KEY_Thai_yoying                 ,
-    pattern KEY_Thai_yoyak                  ,
-    pattern KEY_Thai_wowaen                 ,
-    pattern KEY_Thai_totao                  ,
-    pattern KEY_Thai_topatak                ,
-    pattern KEY_Thai_thothung               ,
-    pattern KEY_Thai_thothong               ,
-    pattern KEY_Thai_thothan                ,
-    pattern KEY_Thai_thothahan              ,
-    pattern KEY_Thai_thophuthao             ,
-    pattern KEY_Thai_thonangmontho          ,
-    pattern KEY_Thai_thanthakhat            ,
-    pattern KEY_Thai_sosua                  ,
-    pattern KEY_Thai_soso                   ,
-    pattern KEY_Thai_sosala                 ,
-    pattern KEY_Thai_sorusi                 ,
-    pattern KEY_Thai_sarauu                 ,
-    pattern KEY_Thai_sarauee                ,
-    pattern KEY_Thai_saraue                 ,
-    pattern KEY_Thai_sarau                  ,
-    pattern KEY_Thai_sarao                  ,
-    pattern KEY_Thai_saraii                 ,
-    pattern KEY_Thai_sarai                  ,
-    pattern KEY_Thai_sarae                  ,
-    pattern KEY_Thai_saraam                 ,
-    pattern KEY_Thai_saraaimaimuan          ,
-    pattern KEY_Thai_saraaimaimalai         ,
-    pattern KEY_Thai_saraae                 ,
-    pattern KEY_Thai_saraaa                 ,
-    pattern KEY_Thai_saraa                  ,
-    pattern KEY_Thai_ru                     ,
-    pattern KEY_Thai_rorua                  ,
-    pattern KEY_Thai_popla                  ,
-    pattern KEY_Thai_phosamphao             ,
-    pattern KEY_Thai_phophung               ,
-    pattern KEY_Thai_phophan                ,
-    pattern KEY_Thai_phinthu                ,
-    pattern KEY_Thai_paiyannoi              ,
-    pattern KEY_Thai_oang                   ,
-    pattern KEY_Thai_nonu                   ,
-    pattern KEY_Thai_nonen                  ,
-    pattern KEY_Thai_nikhahit               ,
-    pattern KEY_Thai_ngongu                 ,
-    pattern KEY_Thai_moma                   ,
-    pattern KEY_Thai_maiyamok               ,
-    pattern KEY_Thai_maitri                 ,
-    pattern KEY_Thai_maitho                 ,
-    pattern KEY_Thai_maitaikhu              ,
-    pattern KEY_Thai_maihanakat_maitho      ,
-    pattern KEY_Thai_maihanakat             ,
-    pattern KEY_Thai_maiek                  ,
-    pattern KEY_Thai_maichattawa            ,
-    pattern KEY_Thai_lu                     ,
-    pattern KEY_Thai_loling                 ,
-    pattern KEY_Thai_lochula                ,
-    pattern KEY_Thai_leksun                 ,
-    pattern KEY_Thai_leksong                ,
-    pattern KEY_Thai_leksi                  ,
-    pattern KEY_Thai_leksam                 ,
-    pattern KEY_Thai_lekpaet                ,
-    pattern KEY_Thai_leknung                ,
-    pattern KEY_Thai_lekkao                 ,
-    pattern KEY_Thai_lekhok                 ,
-    pattern KEY_Thai_lekha                  ,
-    pattern KEY_Thai_lekchet                ,
-    pattern KEY_Thai_lakkhangyao            ,
-    pattern KEY_Thai_kokai                  ,
-    pattern KEY_Thai_khorakhang             ,
-    pattern KEY_Thai_khokhwai               ,
-    pattern KEY_Thai_khokhuat               ,
-    pattern KEY_Thai_khokhon                ,
-    pattern KEY_Thai_khokhai                ,
-    pattern KEY_Thai_honokhuk               ,
-    pattern KEY_Thai_hohip                  ,
-    pattern KEY_Thai_fofan                  ,
-    pattern KEY_Thai_fofa                   ,
-    pattern KEY_Thai_dodek                  ,
-    pattern KEY_Thai_dochada                ,
-    pattern KEY_Thai_chochoe                ,
-    pattern KEY_Thai_choching               ,
-    pattern KEY_Thai_chochang               ,
-    pattern KEY_Thai_chochan                ,
-    pattern KEY_Thai_bobaimai               ,
-    pattern KEY_Thai_baht                   ,
-    pattern KEY_Terminate_Server            ,
-    pattern KEY_Terminal                    ,
-    pattern KEY_Tcedilla                    ,
-    pattern KEY_Tcaron                      ,
-    pattern KEY_TaskPane                    ,
-    pattern KEY_Tabovedot                   ,
-    pattern KEY_Tab                         ,
-    pattern KEY_THORN                       ,
-    pattern KEY_T                           ,
-    pattern KEY_Sys_Req                     ,
-    pattern KEY_Switch_VT_9                 ,
-    pattern KEY_Switch_VT_8                 ,
-    pattern KEY_Switch_VT_7                 ,
-    pattern KEY_Switch_VT_6                 ,
-    pattern KEY_Switch_VT_5                 ,
-    pattern KEY_Switch_VT_4                 ,
-    pattern KEY_Switch_VT_3                 ,
-    pattern KEY_Switch_VT_2                 ,
-    pattern KEY_Switch_VT_12                ,
-    pattern KEY_Switch_VT_11                ,
-    pattern KEY_Switch_VT_10                ,
-    pattern KEY_Switch_VT_1                 ,
-    pattern KEY_Suspend                     ,
-    pattern KEY_Support                     ,
-    pattern KEY_Super_R                     ,
-    pattern KEY_Super_L                     ,
-    pattern KEY_Subtitle                    ,
-    pattern KEY_Stop                        ,
-    pattern KEY_StickyKeys_Enable           ,
-    pattern KEY_Start                       ,
-    pattern KEY_Standby                     ,
-    pattern KEY_SplitScreen                 ,
-    pattern KEY_Spell                       ,
-    pattern KEY_SlowKeys_Enable             ,
-    pattern KEY_Sleep                       ,
-    pattern KEY_Sinh_ya                     ,
-    pattern KEY_Sinh_va                     ,
-    pattern KEY_Sinh_uu2                    ,
-    pattern KEY_Sinh_uu                     ,
-    pattern KEY_Sinh_u2                     ,
-    pattern KEY_Sinh_u                      ,
-    pattern KEY_Sinh_ttha                   ,
-    pattern KEY_Sinh_tta                    ,
-    pattern KEY_Sinh_thha                   ,
-    pattern KEY_Sinh_tha                    ,
-    pattern KEY_Sinh_ssha                   ,
-    pattern KEY_Sinh_sha                    ,
-    pattern KEY_Sinh_sa                     ,
-    pattern KEY_Sinh_ruu2                   ,
-    pattern KEY_Sinh_ru2                    ,
-    pattern KEY_Sinh_rii                    ,
-    pattern KEY_Sinh_ri                     ,
-    pattern KEY_Sinh_ra                     ,
-    pattern KEY_Sinh_pha                    ,
-    pattern KEY_Sinh_pa                     ,
-    pattern KEY_Sinh_oo2                    ,
-    pattern KEY_Sinh_oo                     ,
-    pattern KEY_Sinh_o2                     ,
-    pattern KEY_Sinh_o                      ,
-    pattern KEY_Sinh_nya                    ,
-    pattern KEY_Sinh_nna                    ,
-    pattern KEY_Sinh_nja                    ,
-    pattern KEY_Sinh_nga                    ,
-    pattern KEY_Sinh_ng2                    ,
-    pattern KEY_Sinh_ng                     ,
-    pattern KEY_Sinh_ndha                   ,
-    pattern KEY_Sinh_ndda                   ,
-    pattern KEY_Sinh_na                     ,
-    pattern KEY_Sinh_mba                    ,
-    pattern KEY_Sinh_ma                     ,
-    pattern KEY_Sinh_luu2                   ,
-    pattern KEY_Sinh_luu                    ,
-    pattern KEY_Sinh_lu2                    ,
-    pattern KEY_Sinh_lu                     ,
-    pattern KEY_Sinh_lla                    ,
-    pattern KEY_Sinh_la                     ,
-    pattern KEY_Sinh_kunddaliya             ,
-    pattern KEY_Sinh_kha                    ,
-    pattern KEY_Sinh_ka                     ,
-    pattern KEY_Sinh_jnya                   ,
-    pattern KEY_Sinh_jha                    ,
-    pattern KEY_Sinh_ja                     ,
-    pattern KEY_Sinh_ii2                    ,
-    pattern KEY_Sinh_ii                     ,
-    pattern KEY_Sinh_i2                     ,
-    pattern KEY_Sinh_i                      ,
-    pattern KEY_Sinh_ha                     ,
-    pattern KEY_Sinh_h2                     ,
-    pattern KEY_Sinh_gha                    ,
-    pattern KEY_Sinh_ga                     ,
-    pattern KEY_Sinh_fa                     ,
-    pattern KEY_Sinh_ee2                    ,
-    pattern KEY_Sinh_ee                     ,
-    pattern KEY_Sinh_e2                     ,
-    pattern KEY_Sinh_e                      ,
-    pattern KEY_Sinh_dhha                   ,
-    pattern KEY_Sinh_dha                    ,
-    pattern KEY_Sinh_ddha                   ,
-    pattern KEY_Sinh_dda                    ,
-    pattern KEY_Sinh_cha                    ,
-    pattern KEY_Sinh_ca                     ,
-    pattern KEY_Sinh_bha                    ,
-    pattern KEY_Sinh_ba                     ,
-    pattern KEY_Sinh_au2                    ,
-    pattern KEY_Sinh_au                     ,
-    pattern KEY_Sinh_al                     ,
-    pattern KEY_Sinh_ai2                    ,
-    pattern KEY_Sinh_ai                     ,
-    pattern KEY_Sinh_aee2                   ,
-    pattern KEY_Sinh_aee                    ,
-    pattern KEY_Sinh_ae2                    ,
-    pattern KEY_Sinh_ae                     ,
-    pattern KEY_Sinh_aa2                    ,
-    pattern KEY_Sinh_aa                     ,
-    pattern KEY_Sinh_a                      ,
-    pattern KEY_SingleCandidate             ,
-    pattern KEY_Shop                        ,
-    pattern KEY_Shift_R                     ,
-    pattern KEY_Shift_Lock                  ,
-    pattern KEY_Shift_L                     ,
-    pattern KEY_Serbian_tshe                ,
-    pattern KEY_Serbian_nje                 ,
-    pattern KEY_Serbian_lje                 ,
-    pattern KEY_Serbian_je                  ,
-    pattern KEY_Serbian_dze                 ,
-    pattern KEY_Serbian_dje                 ,
-    pattern KEY_Serbian_TSHE                ,
-    pattern KEY_Serbian_NJE                 ,
-    pattern KEY_Serbian_LJE                 ,
-    pattern KEY_Serbian_JE                  ,
-    pattern KEY_Serbian_DZE                 ,
-    pattern KEY_Serbian_DJE                 ,
-    pattern KEY_Send                        ,
-    pattern KEY_SelectButton                ,
-    pattern KEY_Select                      ,
-    pattern KEY_Search                      ,
-    pattern KEY_Scroll_Lock                 ,
-    pattern KEY_ScrollUp                    ,
-    pattern KEY_ScrollDown                  ,
-    pattern KEY_ScrollClick                 ,
-    pattern KEY_ScreenSaver                 ,
-    pattern KEY_Scircumflex                 ,
-    pattern KEY_Scedilla                    ,
-    pattern KEY_Scaron                      ,
-    pattern KEY_Save                        ,
-    pattern KEY_Sacute                      ,
-    pattern KEY_Sabovedot                   ,
-    pattern KEY_SCHWA                       ,
-    pattern KEY_S                           ,
-    pattern KEY_RupeeSign                   ,
-    pattern KEY_RotationPB                  ,
-    pattern KEY_RotationKB                  ,
-    pattern KEY_RotateWindows               ,
-    pattern KEY_Romaji                      ,
-    pattern KEY_RockerUp                    ,
-    pattern KEY_RockerEnter                 ,
-    pattern KEY_RockerDown                  ,
-    pattern KEY_Right                       ,
-    pattern KEY_Return                      ,
-    pattern KEY_Reply                       ,
-    pattern KEY_RepeatKeys_Enable           ,
-    pattern KEY_Reload                      ,
-    pattern KEY_Refresh                     ,
-    pattern KEY_Redo                        ,
-    pattern KEY_Red                         ,
-    pattern KEY_Rcedilla                    ,
-    pattern KEY_Rcaron                      ,
-    pattern KEY_Racute                      ,
-    pattern KEY_R9                          ,
-    pattern KEY_R8                          ,
-    pattern KEY_R7                          ,
-    pattern KEY_R6                          ,
-    pattern KEY_R5                          ,
-    pattern KEY_R4                          ,
-    pattern KEY_R3                          ,
-    pattern KEY_R2                          ,
-    pattern KEY_R15                         ,
-    pattern KEY_R14                         ,
-    pattern KEY_R13                         ,
-    pattern KEY_R12                         ,
-    pattern KEY_R11                         ,
-    pattern KEY_R10                         ,
-    pattern KEY_R1                          ,
-    pattern KEY_R                           ,
-    pattern KEY_Q                           ,
-    pattern KEY_Prior                       ,
-    pattern KEY_Print                       ,
-    pattern KEY_PreviousCandidate           ,
-    pattern KEY_Prev_Virtual_Screen         ,
-    pattern KEY_Prev_VMode                  ,
-    pattern KEY_PowerOff                    ,
-    pattern KEY_PowerDown                   ,
-    pattern KEY_Pointer_UpRight             ,
-    pattern KEY_Pointer_UpLeft              ,
-    pattern KEY_Pointer_Up                  ,
-    pattern KEY_Pointer_Right               ,
-    pattern KEY_Pointer_Left                ,
-    pattern KEY_Pointer_EnableKeys          ,
-    pattern KEY_Pointer_Drag_Dflt           ,
-    pattern KEY_Pointer_Drag5               ,
-    pattern KEY_Pointer_Drag4               ,
-    pattern KEY_Pointer_Drag3               ,
-    pattern KEY_Pointer_Drag2               ,
-    pattern KEY_Pointer_Drag1               ,
-    pattern KEY_Pointer_DownRight           ,
-    pattern KEY_Pointer_DownLeft            ,
-    pattern KEY_Pointer_Down                ,
-    pattern KEY_Pointer_DfltBtnPrev         ,
-    pattern KEY_Pointer_DfltBtnNext         ,
-    pattern KEY_Pointer_DblClick_Dflt       ,
-    pattern KEY_Pointer_DblClick5           ,
-    pattern KEY_Pointer_DblClick4           ,
-    pattern KEY_Pointer_DblClick3           ,
-    pattern KEY_Pointer_DblClick2           ,
-    pattern KEY_Pointer_DblClick1           ,
-    pattern KEY_Pointer_Button_Dflt         ,
-    pattern KEY_Pointer_Button5             ,
-    pattern KEY_Pointer_Button4             ,
-    pattern KEY_Pointer_Button3             ,
-    pattern KEY_Pointer_Button2             ,
-    pattern KEY_Pointer_Button1             ,
-    pattern KEY_Pointer_Accelerate          ,
-    pattern KEY_Pictures                    ,
-    pattern KEY_Phone                       ,
-    pattern KEY_PesetaSign                  ,
-    pattern KEY_Pause                       ,
-    pattern KEY_Paste                       ,
-    pattern KEY_Page_Up                     ,
-    pattern KEY_Page_Down                   ,
-    pattern KEY_Pabovedot                   ,
-    pattern KEY_P                           ,
-    pattern KEY_Overlay2_Enable             ,
-    pattern KEY_Overlay1_Enable             ,
-    pattern KEY_Otilde                      ,
-    pattern KEY_Oslash                      ,
-    pattern KEY_Option                      ,
-    pattern KEY_OpenURL                     ,
-    pattern KEY_Open                        ,
-    pattern KEY_Ooblique                    ,
-    pattern KEY_Omacron                     ,
-    pattern KEY_Ohorntilde                  ,
-    pattern KEY_Ohornhook                   ,
-    pattern KEY_Ohorngrave                  ,
-    pattern KEY_Ohornbelowdot               ,
-    pattern KEY_Ohornacute                  ,
-    pattern KEY_Ohorn                       ,
-    pattern KEY_Ohook                       ,
-    pattern KEY_Ograve                      ,
-    pattern KEY_OfficeHome                  ,
-    pattern KEY_Odoubleacute                ,
-    pattern KEY_Odiaeresis                  ,
-    pattern KEY_Ocircumflextilde            ,
-    pattern KEY_Ocircumflexhook             ,
-    pattern KEY_Ocircumflexgrave            ,
-    pattern KEY_Ocircumflexbelowdot         ,
-    pattern KEY_Ocircumflexacute            ,
-    pattern KEY_Ocircumflex                 ,
-    pattern KEY_Ocaron                      ,
-    pattern KEY_Obelowdot                   ,
-    pattern KEY_Obarred                     ,
-    pattern KEY_Oacute                      ,
-    pattern KEY_OE                          ,
-    pattern KEY_O                           ,
-    pattern KEY_Num_Lock                    ,
-    pattern KEY_Ntilde                      ,
-    pattern KEY_Next_Virtual_Screen         ,
-    pattern KEY_Next_VMode                  ,
-    pattern KEY_Next                        ,
-    pattern KEY_News                        ,
-    pattern KEY_NewSheqelSign               ,
-    pattern KEY_New                         ,
-    pattern KEY_Ncedilla                    ,
-    pattern KEY_Ncaron                      ,
-    pattern KEY_NairaSign                   ,
-    pattern KEY_Nacute                      ,
-    pattern KEY_N                           ,
-    pattern KEY_MySites                     ,
-    pattern KEY_MyComputer                  ,
-    pattern KEY_Music                       ,
-    pattern KEY_MultipleCandidate           ,
-    pattern KEY_Multi_key                   ,
-    pattern KEY_Muhenkan                    ,
-    pattern KEY_MouseKeys_Enable            ,
-    pattern KEY_MouseKeys_Accel_Enable      ,
-    pattern KEY_MonBrightnessUp             ,
-    pattern KEY_MonBrightnessDown           ,
-    pattern KEY_Mode_switch                 ,
-    pattern KEY_ModeLock                    ,
-    pattern KEY_MillSign                    ,
-    pattern KEY_Meta_R                      ,
-    pattern KEY_Meta_L                      ,
-    pattern KEY_Messenger                   ,
-    pattern KEY_MenuPB                      ,
-    pattern KEY_MenuKB                      ,
-    pattern KEY_Menu                        ,
-    pattern KEY_Memo                        ,
-    pattern KEY_Meeting                     ,
-    pattern KEY_Massyo                      ,
-    pattern KEY_Market                      ,
-    pattern KEY_MailForward                 ,
-    pattern KEY_Mail                        ,
-    pattern KEY_Mae_Koho                    ,
-    pattern KEY_Macedonia_kje               ,
-    pattern KEY_Macedonia_gje               ,
-    pattern KEY_Macedonia_dse               ,
-    pattern KEY_Macedonia_KJE               ,
-    pattern KEY_Macedonia_GJE               ,
-    pattern KEY_Macedonia_DSE               ,
-    pattern KEY_Mabovedot                   ,
-    pattern KEY_M                           ,
-    pattern KEY_Lstroke                     ,
-    pattern KEY_LogWindowTree               ,
-    pattern KEY_LogOff                      ,
-    pattern KEY_LogGrabInfo                 ,
-    pattern KEY_LiraSign                    ,
-    pattern KEY_Linefeed                    ,
-    pattern KEY_LightBulb                   ,
-    pattern KEY_Left                        ,
-    pattern KEY_Lcedilla                    ,
-    pattern KEY_Lcaron                      ,
-    pattern KEY_Lbelowdot                   ,
-    pattern KEY_LaunchF                     ,
-    pattern KEY_LaunchE                     ,
-    pattern KEY_LaunchD                     ,
-    pattern KEY_LaunchC                     ,
-    pattern KEY_LaunchB                     ,
-    pattern KEY_LaunchA                     ,
-    pattern KEY_Launch9                     ,
-    pattern KEY_Launch8                     ,
-    pattern KEY_Launch7                     ,
-    pattern KEY_Launch6                     ,
-    pattern KEY_Launch5                     ,
-    pattern KEY_Launch4                     ,
-    pattern KEY_Launch3                     ,
-    pattern KEY_Launch2                     ,
-    pattern KEY_Launch1                     ,
-    pattern KEY_Launch0                     ,
-    pattern KEY_Last_Virtual_Screen         ,
-    pattern KEY_Lacute                      ,
-    pattern KEY_L9                          ,
-    pattern KEY_L8                          ,
-    pattern KEY_L7                          ,
-    pattern KEY_L6                          ,
-    pattern KEY_L5                          ,
-    pattern KEY_L4                          ,
-    pattern KEY_L3                          ,
-    pattern KEY_L2                          ,
-    pattern KEY_L10                         ,
-    pattern KEY_L1                          ,
-    pattern KEY_L                           ,
-    pattern KEY_Korean_Won                  ,
-    pattern KEY_Kcedilla                    ,
-    pattern KEY_KbdLightOnOff               ,
-    pattern KEY_KbdBrightnessUp             ,
-    pattern KEY_KbdBrightnessDown           ,
-    pattern KEY_Katakana                    ,
-    pattern KEY_Kanji_Bangou                ,
-    pattern KEY_Kanji                       ,
-    pattern KEY_Kana_Shift                  ,
-    pattern KEY_Kana_Lock                   ,
-    pattern KEY_KP_Up                       ,
-    pattern KEY_KP_Tab                      ,
-    pattern KEY_KP_Subtract                 ,
-    pattern KEY_KP_Space                    ,
-    pattern KEY_KP_Separator                ,
-    pattern KEY_KP_Right                    ,
-    pattern KEY_KP_Prior                    ,
-    pattern KEY_KP_Page_Up                  ,
-    pattern KEY_KP_Page_Down                ,
-    pattern KEY_KP_Next                     ,
-    pattern KEY_KP_Multiply                 ,
-    pattern KEY_KP_Left                     ,
-    pattern KEY_KP_Insert                   ,
-    pattern KEY_KP_Home                     ,
-    pattern KEY_KP_F4                       ,
-    pattern KEY_KP_F3                       ,
-    pattern KEY_KP_F2                       ,
-    pattern KEY_KP_F1                       ,
-    pattern KEY_KP_Equal                    ,
-    pattern KEY_KP_Enter                    ,
-    pattern KEY_KP_End                      ,
-    pattern KEY_KP_Down                     ,
-    pattern KEY_KP_Divide                   ,
-    pattern KEY_KP_Delete                   ,
-    pattern KEY_KP_Decimal                  ,
-    pattern KEY_KP_Begin                    ,
-    pattern KEY_KP_Add                      ,
-    pattern KEY_KP_9                        ,
-    pattern KEY_KP_8                        ,
-    pattern KEY_KP_7                        ,
-    pattern KEY_KP_6                        ,
-    pattern KEY_KP_5                        ,
-    pattern KEY_KP_4                        ,
-    pattern KEY_KP_3                        ,
-    pattern KEY_KP_2                        ,
-    pattern KEY_KP_1                        ,
-    pattern KEY_KP_0                        ,
-    pattern KEY_K                           ,
-    pattern KEY_Jcircumflex                 ,
-    pattern KEY_J                           ,
-    pattern KEY_Itilde                      ,
-    pattern KEY_Iogonek                     ,
-    pattern KEY_Insert                      ,
-    pattern KEY_Imacron                     ,
-    pattern KEY_Ihook                       ,
-    pattern KEY_Igrave                      ,
-    pattern KEY_Idiaeresis                  ,
-    pattern KEY_Icircumflex                 ,
-    pattern KEY_Ibreve                      ,
-    pattern KEY_Ibelowdot                   ,
-    pattern KEY_Iacute                      ,
-    pattern KEY_Iabovedot                   ,
-    pattern KEY_ISO_Set_Margin_Right        ,
-    pattern KEY_ISO_Set_Margin_Left         ,
-    pattern KEY_ISO_Release_Margin_Right    ,
-    pattern KEY_ISO_Release_Margin_Left     ,
-    pattern KEY_ISO_Release_Both_Margins    ,
-    pattern KEY_ISO_Prev_Group_Lock         ,
-    pattern KEY_ISO_Prev_Group              ,
-    pattern KEY_ISO_Partial_Space_Right     ,
-    pattern KEY_ISO_Partial_Space_Left      ,
-    pattern KEY_ISO_Partial_Line_Up         ,
-    pattern KEY_ISO_Partial_Line_Down       ,
-    pattern KEY_ISO_Next_Group_Lock         ,
-    pattern KEY_ISO_Next_Group              ,
-    pattern KEY_ISO_Move_Line_Up            ,
-    pattern KEY_ISO_Move_Line_Down          ,
-    pattern KEY_ISO_Lock                    ,
-    pattern KEY_ISO_Level5_Shift            ,
-    pattern KEY_ISO_Level5_Lock             ,
-    pattern KEY_ISO_Level5_Latch            ,
-    pattern KEY_ISO_Level3_Shift            ,
-    pattern KEY_ISO_Level3_Lock             ,
-    pattern KEY_ISO_Level3_Latch            ,
-    pattern KEY_ISO_Level2_Latch            ,
-    pattern KEY_ISO_Left_Tab                ,
-    pattern KEY_ISO_Last_Group_Lock         ,
-    pattern KEY_ISO_Last_Group              ,
-    pattern KEY_ISO_Group_Shift             ,
-    pattern KEY_ISO_Group_Lock              ,
-    pattern KEY_ISO_Group_Latch             ,
-    pattern KEY_ISO_First_Group_Lock        ,
-    pattern KEY_ISO_First_Group             ,
-    pattern KEY_ISO_Fast_Cursor_Up          ,
-    pattern KEY_ISO_Fast_Cursor_Right       ,
-    pattern KEY_ISO_Fast_Cursor_Left        ,
-    pattern KEY_ISO_Fast_Cursor_Down        ,
-    pattern KEY_ISO_Enter                   ,
-    pattern KEY_ISO_Emphasize               ,
-    pattern KEY_ISO_Discontinuous_Underline ,
-    pattern KEY_ISO_Continuous_Underline    ,
-    pattern KEY_ISO_Center_Object           ,
-    pattern KEY_I                           ,
-    pattern KEY_Hyper_R                     ,
-    pattern KEY_Hyper_L                     ,
-    pattern KEY_Hstroke                     ,
-    pattern KEY_HotLinks                    ,
-    pattern KEY_HomePage                    ,
-    pattern KEY_Home                        ,
-    pattern KEY_History                     ,
-    pattern KEY_Hiragana_Katakana           ,
-    pattern KEY_Hiragana                    ,
-    pattern KEY_Hibernate                   ,
-    pattern KEY_Henkan_Mode                 ,
-    pattern KEY_Henkan                      ,
-    pattern KEY_Help                        ,
-    pattern KEY_Hebrew_switch               ,
-    pattern KEY_Hcircumflex                 ,
-    pattern KEY_Hankaku                     ,
-    pattern KEY_Hangul_switch               ,
-    pattern KEY_Hangul_YeorinHieuh          ,
-    pattern KEY_Hangul_YU                   ,
-    pattern KEY_Hangul_YO                   ,
-    pattern KEY_Hangul_YI                   ,
-    pattern KEY_Hangul_YEO                  ,
-    pattern KEY_Hangul_YE                   ,
-    pattern KEY_Hangul_YAE                  ,
-    pattern KEY_Hangul_YA                   ,
-    pattern KEY_Hangul_WI                   ,
-    pattern KEY_Hangul_WEO                  ,
-    pattern KEY_Hangul_WE                   ,
-    pattern KEY_Hangul_WAE                  ,
-    pattern KEY_Hangul_WA                   ,
-    pattern KEY_Hangul_U                    ,
-    pattern KEY_Hangul_Tieut                ,
-    pattern KEY_Hangul_SunkyeongeumPieub    ,
-    pattern KEY_Hangul_SunkyeongeumPhieuf   ,
-    pattern KEY_Hangul_SunkyeongeumMieum    ,
-    pattern KEY_Hangul_Start                ,
-    pattern KEY_Hangul_SsangSios            ,
-    pattern KEY_Hangul_SsangPieub           ,
-    pattern KEY_Hangul_SsangKiyeog          ,
-    pattern KEY_Hangul_SsangJieuj           ,
-    pattern KEY_Hangul_SsangDikeud          ,
-    pattern KEY_Hangul_Special              ,
-    pattern KEY_Hangul_Sios                 ,
-    pattern KEY_Hangul_SingleCandidate      ,
-    pattern KEY_Hangul_Romaja               ,
-    pattern KEY_Hangul_RieulYeorinHieuh     ,
-    pattern KEY_Hangul_RieulTieut           ,
-    pattern KEY_Hangul_RieulSios            ,
-    pattern KEY_Hangul_RieulPieub           ,
-    pattern KEY_Hangul_RieulPhieuf          ,
-    pattern KEY_Hangul_RieulMieum           ,
-    pattern KEY_Hangul_RieulKiyeog          ,
-    pattern KEY_Hangul_RieulHieuh           ,
-    pattern KEY_Hangul_Rieul                ,
-    pattern KEY_Hangul_PreviousCandidate    ,
-    pattern KEY_Hangul_PreHanja             ,
-    pattern KEY_Hangul_PostHanja            ,
-    pattern KEY_Hangul_PieubSios            ,
-    pattern KEY_Hangul_Pieub                ,
-    pattern KEY_Hangul_Phieuf               ,
-    pattern KEY_Hangul_PanSios              ,
-    pattern KEY_Hangul_OE                   ,
-    pattern KEY_Hangul_O                    ,
-    pattern KEY_Hangul_NieunJieuj           ,
-    pattern KEY_Hangul_NieunHieuh           ,
-    pattern KEY_Hangul_Nieun                ,
-    pattern KEY_Hangul_MultipleCandidate    ,
-    pattern KEY_Hangul_Mieum                ,
-    pattern KEY_Hangul_KkogjiDalrinIeung    ,
-    pattern KEY_Hangul_KiyeogSios           ,
-    pattern KEY_Hangul_Kiyeog               ,
-    pattern KEY_Hangul_Khieuq               ,
-    pattern KEY_Hangul_Jieuj                ,
-    pattern KEY_Hangul_Jeonja               ,
-    pattern KEY_Hangul_Jamo                 ,
-    pattern KEY_Hangul_J_YeorinHieuh        ,
-    pattern KEY_Hangul_J_Tieut              ,
-    pattern KEY_Hangul_J_SsangSios          ,
-    pattern KEY_Hangul_J_SsangKiyeog        ,
-    pattern KEY_Hangul_J_Sios               ,
-    pattern KEY_Hangul_J_RieulTieut         ,
-    pattern KEY_Hangul_J_RieulSios          ,
-    pattern KEY_Hangul_J_RieulPieub         ,
-    pattern KEY_Hangul_J_RieulPhieuf        ,
-    pattern KEY_Hangul_J_RieulMieum         ,
-    pattern KEY_Hangul_J_RieulKiyeog        ,
-    pattern KEY_Hangul_J_RieulHieuh         ,
-    pattern KEY_Hangul_J_Rieul              ,
-    pattern KEY_Hangul_J_PieubSios          ,
-    pattern KEY_Hangul_J_Pieub              ,
-    pattern KEY_Hangul_J_Phieuf             ,
-    pattern KEY_Hangul_J_PanSios            ,
-    pattern KEY_Hangul_J_NieunJieuj         ,
-    pattern KEY_Hangul_J_NieunHieuh         ,
-    pattern KEY_Hangul_J_Nieun              ,
-    pattern KEY_Hangul_J_Mieum              ,
-    pattern KEY_Hangul_J_KkogjiDalrinIeung  ,
-    pattern KEY_Hangul_J_KiyeogSios         ,
-    pattern KEY_Hangul_J_Kiyeog             ,
-    pattern KEY_Hangul_J_Khieuq             ,
-    pattern KEY_Hangul_J_Jieuj              ,
-    pattern KEY_Hangul_J_Ieung              ,
-    pattern KEY_Hangul_J_Hieuh              ,
-    pattern KEY_Hangul_J_Dikeud             ,
-    pattern KEY_Hangul_J_Cieuc              ,
-    pattern KEY_Hangul_Ieung                ,
-    pattern KEY_Hangul_I                    ,
-    pattern KEY_Hangul_Hieuh                ,
-    pattern KEY_Hangul_Hanja                ,
-    pattern KEY_Hangul_End                  ,
-    pattern KEY_Hangul_EU                   ,
-    pattern KEY_Hangul_EO                   ,
-    pattern KEY_Hangul_E                    ,
-    pattern KEY_Hangul_Dikeud               ,
-    pattern KEY_Hangul_Codeinput            ,
-    pattern KEY_Hangul_Cieuc                ,
-    pattern KEY_Hangul_Banja                ,
-    pattern KEY_Hangul_AraeAE               ,
-    pattern KEY_Hangul_AraeA                ,
-    pattern KEY_Hangul_AE                   ,
-    pattern KEY_Hangul_A                    ,
-    pattern KEY_Hangul                      ,
-    pattern KEY_H                           ,
-    pattern KEY_Green                       ,
-    pattern KEY_Greek_zeta                  ,
-    pattern KEY_Greek_xi                    ,
-    pattern KEY_Greek_upsilondieresis       ,
-    pattern KEY_Greek_upsilonaccentdieresis ,
-    pattern KEY_Greek_upsilonaccent         ,
-    pattern KEY_Greek_upsilon               ,
-    pattern KEY_Greek_theta                 ,
-    pattern KEY_Greek_tau                   ,
-    pattern KEY_Greek_switch                ,
-    pattern KEY_Greek_sigma                 ,
-    pattern KEY_Greek_rho                   ,
-    pattern KEY_Greek_psi                   ,
-    pattern KEY_Greek_pi                    ,
-    pattern KEY_Greek_phi                   ,
-    pattern KEY_Greek_omicronaccent         ,
-    pattern KEY_Greek_omicron               ,
-    pattern KEY_Greek_omegaaccent           ,
-    pattern KEY_Greek_omega                 ,
-    pattern KEY_Greek_nu                    ,
-    pattern KEY_Greek_mu                    ,
-    pattern KEY_Greek_lamda                 ,
-    pattern KEY_Greek_lambda                ,
-    pattern KEY_Greek_kappa                 ,
-    pattern KEY_Greek_iotadieresis          ,
-    pattern KEY_Greek_iotaaccentdieresis    ,
-    pattern KEY_Greek_iotaaccent            ,
-    pattern KEY_Greek_iota                  ,
-    pattern KEY_Greek_horizbar              ,
-    pattern KEY_Greek_gamma                 ,
-    pattern KEY_Greek_finalsmallsigma       ,
-    pattern KEY_Greek_etaaccent             ,
-    pattern KEY_Greek_eta                   ,
-    pattern KEY_Greek_epsilonaccent         ,
-    pattern KEY_Greek_epsilon               ,
-    pattern KEY_Greek_delta                 ,
-    pattern KEY_Greek_chi                   ,
-    pattern KEY_Greek_beta                  ,
-    pattern KEY_Greek_alphaaccent           ,
-    pattern KEY_Greek_alpha                 ,
-    pattern KEY_Greek_accentdieresis        ,
-    pattern KEY_Greek_ZETA                  ,
-    pattern KEY_Greek_XI                    ,
-    pattern KEY_Greek_UPSILONdieresis       ,
-    pattern KEY_Greek_UPSILONaccent         ,
-    pattern KEY_Greek_UPSILON               ,
-    pattern KEY_Greek_THETA                 ,
-    pattern KEY_Greek_TAU                   ,
-    pattern KEY_Greek_SIGMA                 ,
-    pattern KEY_Greek_RHO                   ,
-    pattern KEY_Greek_PSI                   ,
-    pattern KEY_Greek_PI                    ,
-    pattern KEY_Greek_PHI                   ,
-    pattern KEY_Greek_OMICRONaccent         ,
-    pattern KEY_Greek_OMICRON               ,
-    pattern KEY_Greek_OMEGAaccent           ,
-    pattern KEY_Greek_OMEGA                 ,
-    pattern KEY_Greek_NU                    ,
-    pattern KEY_Greek_MU                    ,
-    pattern KEY_Greek_LAMDA                 ,
-    pattern KEY_Greek_LAMBDA                ,
-    pattern KEY_Greek_KAPPA                 ,
-    pattern KEY_Greek_IOTAdieresis          ,
-    pattern KEY_Greek_IOTAdiaeresis         ,
-    pattern KEY_Greek_IOTAaccent            ,
-    pattern KEY_Greek_IOTA                  ,
-    pattern KEY_Greek_GAMMA                 ,
-    pattern KEY_Greek_ETAaccent             ,
-    pattern KEY_Greek_ETA                   ,
-    pattern KEY_Greek_EPSILONaccent         ,
-    pattern KEY_Greek_EPSILON               ,
-    pattern KEY_Greek_DELTA                 ,
-    pattern KEY_Greek_CHI                   ,
-    pattern KEY_Greek_BETA                  ,
-    pattern KEY_Greek_ALPHAaccent           ,
-    pattern KEY_Greek_ALPHA                 ,
-    pattern KEY_Go                          ,
-    pattern KEY_Georgian_zhar               ,
-    pattern KEY_Georgian_zen                ,
-    pattern KEY_Georgian_xan                ,
-    pattern KEY_Georgian_we                 ,
-    pattern KEY_Georgian_vin                ,
-    pattern KEY_Georgian_un                 ,
-    pattern KEY_Georgian_tar                ,
-    pattern KEY_Georgian_tan                ,
-    pattern KEY_Georgian_shin               ,
-    pattern KEY_Georgian_san                ,
-    pattern KEY_Georgian_rae                ,
-    pattern KEY_Georgian_qar                ,
-    pattern KEY_Georgian_phar               ,
-    pattern KEY_Georgian_par                ,
-    pattern KEY_Georgian_on                 ,
-    pattern KEY_Georgian_nar                ,
-    pattern KEY_Georgian_man                ,
-    pattern KEY_Georgian_las                ,
-    pattern KEY_Georgian_khar               ,
-    pattern KEY_Georgian_kan                ,
-    pattern KEY_Georgian_jil                ,
-    pattern KEY_Georgian_jhan               ,
-    pattern KEY_Georgian_in                 ,
-    pattern KEY_Georgian_hoe                ,
-    pattern KEY_Georgian_hie                ,
-    pattern KEY_Georgian_he                 ,
-    pattern KEY_Georgian_har                ,
-    pattern KEY_Georgian_hae                ,
-    pattern KEY_Georgian_ghan               ,
-    pattern KEY_Georgian_gan                ,
-    pattern KEY_Georgian_fi                 ,
-    pattern KEY_Georgian_en                 ,
-    pattern KEY_Georgian_don                ,
-    pattern KEY_Georgian_cil                ,
-    pattern KEY_Georgian_chin               ,
-    pattern KEY_Georgian_char               ,
-    pattern KEY_Georgian_can                ,
-    pattern KEY_Georgian_ban                ,
-    pattern KEY_Georgian_an                 ,
-    pattern KEY_Gcircumflex                 ,
-    pattern KEY_Gcedilla                    ,
-    pattern KEY_Gcaron                      ,
-    pattern KEY_Gbreve                      ,
-    pattern KEY_Game                        ,
-    pattern KEY_Gabovedot                   ,
-    pattern KEY_G                           ,
-    pattern KEY_FrameForward                ,
-    pattern KEY_FrameBack                   ,
-    pattern KEY_Forward                     ,
-    pattern KEY_First_Virtual_Screen        ,
-    pattern KEY_Find                        ,
-    pattern KEY_Finance                     ,
-    pattern KEY_Favorites                   ,
-    pattern KEY_Farsi_yeh                   ,
-    pattern KEY_Farsi_9                     ,
-    pattern KEY_Farsi_8                     ,
-    pattern KEY_Farsi_7                     ,
-    pattern KEY_Farsi_6                     ,
-    pattern KEY_Farsi_5                     ,
-    pattern KEY_Farsi_4                     ,
-    pattern KEY_Farsi_3                     ,
-    pattern KEY_Farsi_2                     ,
-    pattern KEY_Farsi_1                     ,
-    pattern KEY_Farsi_0                     ,
-    pattern KEY_Fabovedot                   ,
-    pattern KEY_FFrancSign                  ,
-    pattern KEY_F9                          ,
-    pattern KEY_F8                          ,
-    pattern KEY_F7                          ,
-    pattern KEY_F6                          ,
-    pattern KEY_F5                          ,
-    pattern KEY_F4                          ,
-    pattern KEY_F35                         ,
-    pattern KEY_F34                         ,
-    pattern KEY_F33                         ,
-    pattern KEY_F32                         ,
-    pattern KEY_F31                         ,
-    pattern KEY_F30                         ,
-    pattern KEY_F3                          ,
-    pattern KEY_F29                         ,
-    pattern KEY_F28                         ,
-    pattern KEY_F27                         ,
-    pattern KEY_F26                         ,
-    pattern KEY_F25                         ,
-    pattern KEY_F24                         ,
-    pattern KEY_F23                         ,
-    pattern KEY_F22                         ,
-    pattern KEY_F21                         ,
-    pattern KEY_F20                         ,
-    pattern KEY_F2                          ,
-    pattern KEY_F19                         ,
-    pattern KEY_F18                         ,
-    pattern KEY_F17                         ,
-    pattern KEY_F16                         ,
-    pattern KEY_F15                         ,
-    pattern KEY_F14                         ,
-    pattern KEY_F13                         ,
-    pattern KEY_F12                         ,
-    pattern KEY_F11                         ,
-    pattern KEY_F10                         ,
-    pattern KEY_F1                          ,
-    pattern KEY_F                           ,
-    pattern KEY_Explorer                    ,
-    pattern KEY_Execute                     ,
-    pattern KEY_Excel                       ,
-    pattern KEY_EuroSign                    ,
-    pattern KEY_Etilde                      ,
-    pattern KEY_Eth                         ,
-    pattern KEY_Escape                      ,
-    pattern KEY_Eogonek                     ,
-    pattern KEY_End                         ,
-    pattern KEY_Emacron                     ,
-    pattern KEY_Eject                       ,
-    pattern KEY_Eisu_toggle                 ,
-    pattern KEY_Eisu_Shift                  ,
-    pattern KEY_Ehook                       ,
-    pattern KEY_Egrave                      ,
-    pattern KEY_Ediaeresis                  ,
-    pattern KEY_EcuSign                     ,
-    pattern KEY_Ecircumflextilde            ,
-    pattern KEY_Ecircumflexhook             ,
-    pattern KEY_Ecircumflexgrave            ,
-    pattern KEY_Ecircumflexbelowdot         ,
-    pattern KEY_Ecircumflexacute            ,
-    pattern KEY_Ecircumflex                 ,
-    pattern KEY_Ecaron                      ,
-    pattern KEY_Ebelowdot                   ,
-    pattern KEY_Eacute                      ,
-    pattern KEY_Eabovedot                   ,
-    pattern KEY_EZH                         ,
-    pattern KEY_ETH                         ,
-    pattern KEY_ENG                         ,
-    pattern KEY_E                           ,
-    pattern KEY_Dstroke                     ,
-    pattern KEY_Down                        ,
-    pattern KEY_DongSign                    ,
-    pattern KEY_Documents                   ,
-    pattern KEY_Display                     ,
-    pattern KEY_Delete                      ,
-    pattern KEY_Dcaron                      ,
-    pattern KEY_Dabovedot                   ,
-    pattern KEY_DOS                         ,
-    pattern KEY_D                           ,
-    pattern KEY_Cyrillic_zhe_descender      ,
-    pattern KEY_Cyrillic_zhe                ,
-    pattern KEY_Cyrillic_ze                 ,
-    pattern KEY_Cyrillic_yu                 ,
-    pattern KEY_Cyrillic_yeru               ,
-    pattern KEY_Cyrillic_ya                 ,
-    pattern KEY_Cyrillic_ve                 ,
-    pattern KEY_Cyrillic_u_straight_bar     ,
-    pattern KEY_Cyrillic_u_straight         ,
-    pattern KEY_Cyrillic_u_macron           ,
-    pattern KEY_Cyrillic_u                  ,
-    pattern KEY_Cyrillic_tse                ,
-    pattern KEY_Cyrillic_te                 ,
-    pattern KEY_Cyrillic_softsign           ,
-    pattern KEY_Cyrillic_shorti             ,
-    pattern KEY_Cyrillic_shha               ,
-    pattern KEY_Cyrillic_shcha              ,
-    pattern KEY_Cyrillic_sha                ,
-    pattern KEY_Cyrillic_schwa              ,
-    pattern KEY_Cyrillic_pe                 ,
-    pattern KEY_Cyrillic_o_bar              ,
-    pattern KEY_Cyrillic_o                  ,
-    pattern KEY_Cyrillic_nje                ,
-    pattern KEY_Cyrillic_lje                ,
-    pattern KEY_Cyrillic_ka_vertstroke      ,
-    pattern KEY_Cyrillic_ka_descender       ,
-    pattern KEY_Cyrillic_ka                 ,
-    pattern KEY_Cyrillic_je                 ,
-    pattern KEY_Cyrillic_io                 ,
-    pattern KEY_Cyrillic_ie                 ,
-    pattern KEY_Cyrillic_i_macron           ,
-    pattern KEY_Cyrillic_i                  ,
-    pattern KEY_Cyrillic_hardsign           ,
-    pattern KEY_Cyrillic_ha_descender       ,
-    pattern KEY_Cyrillic_ha                 ,
-    pattern KEY_Cyrillic_ghe_bar            ,
-    pattern KEY_Cyrillic_ghe                ,
-    pattern KEY_Cyrillic_es                 ,
-    pattern KEY_Cyrillic_er                 ,
-    pattern KEY_Cyrillic_en_descender       ,
-    pattern KEY_Cyrillic_en                 ,
-    pattern KEY_Cyrillic_em                 ,
-    pattern KEY_Cyrillic_el                 ,
-    pattern KEY_Cyrillic_ef                 ,
-    pattern KEY_Cyrillic_e                  ,
-    pattern KEY_Cyrillic_dzhe               ,
-    pattern KEY_Cyrillic_de                 ,
-    pattern KEY_Cyrillic_che_vertstroke     ,
-    pattern KEY_Cyrillic_che_descender      ,
-    pattern KEY_Cyrillic_che                ,
-    pattern KEY_Cyrillic_be                 ,
-    pattern KEY_Cyrillic_a                  ,
-    pattern KEY_Cyrillic_ZHE_descender      ,
-    pattern KEY_Cyrillic_ZHE                ,
-    pattern KEY_Cyrillic_ZE                 ,
-    pattern KEY_Cyrillic_YU                 ,
-    pattern KEY_Cyrillic_YERU               ,
-    pattern KEY_Cyrillic_YA                 ,
-    pattern KEY_Cyrillic_VE                 ,
-    pattern KEY_Cyrillic_U_straight_bar     ,
-    pattern KEY_Cyrillic_U_straight         ,
-    pattern KEY_Cyrillic_U_macron           ,
-    pattern KEY_Cyrillic_U                  ,
-    pattern KEY_Cyrillic_TSE                ,
-    pattern KEY_Cyrillic_TE                 ,
-    pattern KEY_Cyrillic_SOFTSIGN           ,
-    pattern KEY_Cyrillic_SHORTI             ,
-    pattern KEY_Cyrillic_SHHA               ,
-    pattern KEY_Cyrillic_SHCHA              ,
-    pattern KEY_Cyrillic_SHA                ,
-    pattern KEY_Cyrillic_SCHWA              ,
-    pattern KEY_Cyrillic_PE                 ,
-    pattern KEY_Cyrillic_O_bar              ,
-    pattern KEY_Cyrillic_O                  ,
-    pattern KEY_Cyrillic_NJE                ,
-    pattern KEY_Cyrillic_LJE                ,
-    pattern KEY_Cyrillic_KA_vertstroke      ,
-    pattern KEY_Cyrillic_KA_descender       ,
-    pattern KEY_Cyrillic_KA                 ,
-    pattern KEY_Cyrillic_JE                 ,
-    pattern KEY_Cyrillic_I_macron           ,
-    pattern KEY_Cyrillic_IO                 ,
-    pattern KEY_Cyrillic_IE                 ,
-    pattern KEY_Cyrillic_I                  ,
-    pattern KEY_Cyrillic_HA_descender       ,
-    pattern KEY_Cyrillic_HARDSIGN           ,
-    pattern KEY_Cyrillic_HA                 ,
-    pattern KEY_Cyrillic_GHE_bar            ,
-    pattern KEY_Cyrillic_GHE                ,
-    pattern KEY_Cyrillic_ES                 ,
-    pattern KEY_Cyrillic_ER                 ,
-    pattern KEY_Cyrillic_EN_descender       ,
-    pattern KEY_Cyrillic_EN                 ,
-    pattern KEY_Cyrillic_EM                 ,
-    pattern KEY_Cyrillic_EL                 ,
-    pattern KEY_Cyrillic_EF                 ,
-    pattern KEY_Cyrillic_E                  ,
-    pattern KEY_Cyrillic_DZHE               ,
-    pattern KEY_Cyrillic_DE                 ,
-    pattern KEY_Cyrillic_CHE_vertstroke     ,
-    pattern KEY_Cyrillic_CHE_descender      ,
-    pattern KEY_Cyrillic_CHE                ,
-    pattern KEY_Cyrillic_BE                 ,
-    pattern KEY_Cyrillic_A                  ,
-    pattern KEY_CycleAngle                  ,
-    pattern KEY_Cut                         ,
-    pattern KEY_CruzeiroSign                ,
-    pattern KEY_Copy                        ,
-    pattern KEY_Control_R                   ,
-    pattern KEY_Control_L                   ,
-    pattern KEY_ContrastAdjust              ,
-    pattern KEY_Community                   ,
-    pattern KEY_ColonSign                   ,
-    pattern KEY_Codeinput                   ,
-    pattern KEY_Close                       ,
-    pattern KEY_ClearGrab                   ,
-    pattern KEY_Clear                       ,
-    pattern KEY_Ch                          ,
-    pattern KEY_Ccircumflex                 ,
-    pattern KEY_Ccedilla                    ,
-    pattern KEY_Ccaron                      ,
-    pattern KEY_Caps_Lock                   ,
-    pattern KEY_Cancel                      ,
-    pattern KEY_Calendar                    ,
-    pattern KEY_Calculator                  ,
-    pattern KEY_Cacute                      ,
-    pattern KEY_Cabovedot                   ,
-    pattern KEY_C_h                         ,
-    pattern KEY_C_H                         ,
-    pattern KEY_CH                          ,
-    pattern KEY_CD                          ,
-    pattern KEY_C                           ,
-    pattern KEY_Byelorussian_shortu         ,
-    pattern KEY_Byelorussian_SHORTU         ,
-    pattern KEY_BrightnessAdjust            ,
-    pattern KEY_Break                       ,
-    pattern KEY_BounceKeys_Enable           ,
-    pattern KEY_Book                        ,
-    pattern KEY_Bluetooth                   ,
-    pattern KEY_Blue                        ,
-    pattern KEY_Begin                       ,
-    pattern KEY_Battery                     ,
-    pattern KEY_BackSpace                   ,
-    pattern KEY_BackForward                 ,
-    pattern KEY_Back                        ,
-    pattern KEY_Babovedot                   ,
-    pattern KEY_B                           ,
-    pattern KEY_Away                        ,
-    pattern KEY_AudioStop                   ,
-    pattern KEY_AudioRewind                 ,
-    pattern KEY_AudioRepeat                 ,
-    pattern KEY_AudioRecord                 ,
-    pattern KEY_AudioRandomPlay             ,
-    pattern KEY_AudioRaiseVolume            ,
-    pattern KEY_AudioPrev                   ,
-    pattern KEY_AudioPlay                   ,
-    pattern KEY_AudioPause                  ,
-    pattern KEY_AudioNext                   ,
-    pattern KEY_AudioMute                   ,
-    pattern KEY_AudioMicMute                ,
-    pattern KEY_AudioMedia                  ,
-    pattern KEY_AudioLowerVolume            ,
-    pattern KEY_AudioForward                ,
-    pattern KEY_AudioCycleTrack             ,
-    pattern KEY_AudibleBell_Enable          ,
-    pattern KEY_Atilde                      ,
-    pattern KEY_Armenian_zhe                ,
-    pattern KEY_Armenian_za                 ,
-    pattern KEY_Armenian_yentamna           ,
-    pattern KEY_Armenian_yech               ,
-    pattern KEY_Armenian_vyun               ,
-    pattern KEY_Armenian_vo                 ,
-    pattern KEY_Armenian_vev                ,
-    pattern KEY_Armenian_verjaket           ,
-    pattern KEY_Armenian_tyun               ,
-    pattern KEY_Armenian_tso                ,
-    pattern KEY_Armenian_tsa                ,
-    pattern KEY_Armenian_to                 ,
-    pattern KEY_Armenian_tche               ,
-    pattern KEY_Armenian_shesht             ,
-    pattern KEY_Armenian_sha                ,
-    pattern KEY_Armenian_separation_mark    ,
-    pattern KEY_Armenian_se                 ,
-    pattern KEY_Armenian_re                 ,
-    pattern KEY_Armenian_ra                 ,
-    pattern KEY_Armenian_question           ,
-    pattern KEY_Armenian_pyur               ,
-    pattern KEY_Armenian_pe                 ,
-    pattern KEY_Armenian_paruyk             ,
-    pattern KEY_Armenian_o                  ,
-    pattern KEY_Armenian_nu                 ,
-    pattern KEY_Armenian_men                ,
-    pattern KEY_Armenian_lyun               ,
-    pattern KEY_Armenian_ligature_ew        ,
-    pattern KEY_Armenian_khe                ,
-    pattern KEY_Armenian_ken                ,
-    pattern KEY_Armenian_ke                 ,
-    pattern KEY_Armenian_je                 ,
-    pattern KEY_Armenian_ini                ,
-    pattern KEY_Armenian_hyphen             ,
-    pattern KEY_Armenian_ho                 ,
-    pattern KEY_Armenian_hi                 ,
-    pattern KEY_Armenian_gim                ,
-    pattern KEY_Armenian_ghat               ,
-    pattern KEY_Armenian_full_stop          ,
-    pattern KEY_Armenian_fe                 ,
-    pattern KEY_Armenian_exclam             ,
-    pattern KEY_Armenian_e                  ,
-    pattern KEY_Armenian_dza                ,
-    pattern KEY_Armenian_da                 ,
-    pattern KEY_Armenian_cha                ,
-    pattern KEY_Armenian_but                ,
-    pattern KEY_Armenian_ben                ,
-    pattern KEY_Armenian_ayb                ,
-    pattern KEY_Armenian_at                 ,
-    pattern KEY_Armenian_apostrophe         ,
-    pattern KEY_Armenian_amanak             ,
-    pattern KEY_Armenian_accent             ,
-    pattern KEY_Armenian_ZHE                ,
-    pattern KEY_Armenian_ZA                 ,
-    pattern KEY_Armenian_YECH               ,
-    pattern KEY_Armenian_VYUN               ,
-    pattern KEY_Armenian_VO                 ,
-    pattern KEY_Armenian_VEV                ,
-    pattern KEY_Armenian_TYUN               ,
-    pattern KEY_Armenian_TSO                ,
-    pattern KEY_Armenian_TSA                ,
-    pattern KEY_Armenian_TO                 ,
-    pattern KEY_Armenian_TCHE               ,
-    pattern KEY_Armenian_SHA                ,
-    pattern KEY_Armenian_SE                 ,
-    pattern KEY_Armenian_RE                 ,
-    pattern KEY_Armenian_RA                 ,
-    pattern KEY_Armenian_PYUR               ,
-    pattern KEY_Armenian_PE                 ,
-    pattern KEY_Armenian_O                  ,
-    pattern KEY_Armenian_NU                 ,
-    pattern KEY_Armenian_MEN                ,
-    pattern KEY_Armenian_LYUN               ,
-    pattern KEY_Armenian_KHE                ,
-    pattern KEY_Armenian_KEN                ,
-    pattern KEY_Armenian_KE                 ,
-    pattern KEY_Armenian_JE                 ,
-    pattern KEY_Armenian_INI                ,
-    pattern KEY_Armenian_HO                 ,
-    pattern KEY_Armenian_HI                 ,
-    pattern KEY_Armenian_GIM                ,
-    pattern KEY_Armenian_GHAT               ,
-    pattern KEY_Armenian_FE                 ,
-    pattern KEY_Armenian_E                  ,
-    pattern KEY_Armenian_DZA                ,
-    pattern KEY_Armenian_DA                 ,
-    pattern KEY_Armenian_CHA                ,
-    pattern KEY_Armenian_BEN                ,
-    pattern KEY_Armenian_AYB                ,
-    pattern KEY_Armenian_AT                 ,
-    pattern KEY_Aring                       ,
-    pattern KEY_Arabic_zain                 ,
-    pattern KEY_Arabic_zah                  ,
-    pattern KEY_Arabic_yeh_baree            ,
-    pattern KEY_Arabic_yeh                  ,
-    pattern KEY_Arabic_waw                  ,
-    pattern KEY_Arabic_veh                  ,
-    pattern KEY_Arabic_tteh                 ,
-    pattern KEY_Arabic_theh                 ,
-    pattern KEY_Arabic_thal                 ,
-    pattern KEY_Arabic_tehmarbuta           ,
-    pattern KEY_Arabic_teh                  ,
-    pattern KEY_Arabic_tcheh                ,
-    pattern KEY_Arabic_tatweel              ,
-    pattern KEY_Arabic_tah                  ,
-    pattern KEY_Arabic_switch               ,
-    pattern KEY_Arabic_superscript_alef     ,
-    pattern KEY_Arabic_sukun                ,
-    pattern KEY_Arabic_sheen                ,
-    pattern KEY_Arabic_shadda               ,
-    pattern KEY_Arabic_semicolon            ,
-    pattern KEY_Arabic_seen                 ,
-    pattern KEY_Arabic_sad                  ,
-    pattern KEY_Arabic_rreh                 ,
-    pattern KEY_Arabic_ra                   ,
-    pattern KEY_Arabic_question_mark        ,
-    pattern KEY_Arabic_qaf                  ,
-    pattern KEY_Arabic_percent              ,
-    pattern KEY_Arabic_peh                  ,
-    pattern KEY_Arabic_noon_ghunna          ,
-    pattern KEY_Arabic_noon                 ,
-    pattern KEY_Arabic_meem                 ,
-    pattern KEY_Arabic_maddaonalef          ,
-    pattern KEY_Arabic_madda_above          ,
-    pattern KEY_Arabic_lam                  ,
-    pattern KEY_Arabic_khah                 ,
-    pattern KEY_Arabic_keheh                ,
-    pattern KEY_Arabic_kasratan             ,
-    pattern KEY_Arabic_kasra                ,
-    pattern KEY_Arabic_kaf                  ,
-    pattern KEY_Arabic_jeh                  ,
-    pattern KEY_Arabic_jeem                 ,
-    pattern KEY_Arabic_heh_goal             ,
-    pattern KEY_Arabic_heh_doachashmee      ,
-    pattern KEY_Arabic_heh                  ,
-    pattern KEY_Arabic_hamzaunderalef       ,
-    pattern KEY_Arabic_hamzaonyeh           ,
-    pattern KEY_Arabic_hamzaonwaw           ,
-    pattern KEY_Arabic_hamzaonalef          ,
-    pattern KEY_Arabic_hamza_below          ,
-    pattern KEY_Arabic_hamza_above          ,
-    pattern KEY_Arabic_hamza                ,
-    pattern KEY_Arabic_hah                  ,
-    pattern KEY_Arabic_ha                   ,
-    pattern KEY_Arabic_ghain                ,
-    pattern KEY_Arabic_gaf                  ,
-    pattern KEY_Arabic_fullstop             ,
-    pattern KEY_Arabic_feh                  ,
-    pattern KEY_Arabic_fathatan             ,
-    pattern KEY_Arabic_fatha                ,
-    pattern KEY_Arabic_farsi_yeh            ,
-    pattern KEY_Arabic_ddal                 ,
-    pattern KEY_Arabic_dammatan             ,
-    pattern KEY_Arabic_damma                ,
-    pattern KEY_Arabic_dal                  ,
-    pattern KEY_Arabic_dad                  ,
-    pattern KEY_Arabic_comma                ,
-    pattern KEY_Arabic_beh                  ,
-    pattern KEY_Arabic_alefmaksura          ,
-    pattern KEY_Arabic_alef                 ,
-    pattern KEY_Arabic_ain                  ,
-    pattern KEY_Arabic_9                    ,
-    pattern KEY_Arabic_8                    ,
-    pattern KEY_Arabic_7                    ,
-    pattern KEY_Arabic_6                    ,
-    pattern KEY_Arabic_5                    ,
-    pattern KEY_Arabic_4                    ,
-    pattern KEY_Arabic_3                    ,
-    pattern KEY_Arabic_2                    ,
-    pattern KEY_Arabic_1                    ,
-    pattern KEY_Arabic_0                    ,
-    pattern KEY_ApplicationRight            ,
-    pattern KEY_ApplicationLeft             ,
-    pattern KEY_Aogonek                     ,
-    pattern KEY_Amacron                     ,
-    pattern KEY_Alt_R                       ,
-    pattern KEY_Alt_L                       ,
-    pattern KEY_Ahook                       ,
-    pattern KEY_Agrave                      ,
-    pattern KEY_Adiaeresis                  ,
-    pattern KEY_AddFavorite                 ,
-    pattern KEY_Acircumflextilde            ,
-    pattern KEY_Acircumflexhook             ,
-    pattern KEY_Acircumflexgrave            ,
-    pattern KEY_Acircumflexbelowdot         ,
-    pattern KEY_Acircumflexacute            ,
-    pattern KEY_Acircumflex                 ,
-    pattern KEY_AccessX_Feedback_Enable     ,
-    pattern KEY_AccessX_Enable              ,
-    pattern KEY_Abrevetilde                 ,
-    pattern KEY_Abrevehook                  ,
-    pattern KEY_Abrevegrave                 ,
-    pattern KEY_Abrevebelowdot              ,
-    pattern KEY_Abreveacute                 ,
-    pattern KEY_Abreve                      ,
-    pattern KEY_Abelowdot                   ,
-    pattern KEY_Aacute                      ,
-    pattern KEY_AE                          ,
-    pattern KEY_A                           ,
-    pattern KEY_9                           ,
-    pattern KEY_8                           ,
-    pattern KEY_7                           ,
-    pattern KEY_6                           ,
-    pattern KEY_5                           ,
-    pattern KEY_4                           ,
-    pattern KEY_3270_Test                   ,
-    pattern KEY_3270_Setup                  ,
-    pattern KEY_3270_Rule                   ,
-    pattern KEY_3270_Right2                 ,
-    pattern KEY_3270_Reset                  ,
-    pattern KEY_3270_Record                 ,
-    pattern KEY_3270_Quit                   ,
-    pattern KEY_3270_PrintScreen            ,
-    pattern KEY_3270_Play                   ,
-    pattern KEY_3270_PA3                    ,
-    pattern KEY_3270_PA2                    ,
-    pattern KEY_3270_PA1                    ,
-    pattern KEY_3270_Left2                  ,
-    pattern KEY_3270_KeyClick               ,
-    pattern KEY_3270_Jump                   ,
-    pattern KEY_3270_Ident                  ,
-    pattern KEY_3270_FieldMark              ,
-    pattern KEY_3270_ExSelect               ,
-    pattern KEY_3270_EraseInput             ,
-    pattern KEY_3270_EraseEOF               ,
-    pattern KEY_3270_Enter                  ,
-    pattern KEY_3270_Duplicate              ,
-    pattern KEY_3270_DeleteWord             ,
-    pattern KEY_3270_CursorSelect           ,
-    pattern KEY_3270_CursorBlink            ,
-    pattern KEY_3270_Copy                   ,
-    pattern KEY_3270_ChangeScreen           ,
-    pattern KEY_3270_BackTab                ,
-    pattern KEY_3270_Attn                   ,
-    pattern KEY_3270_AltCursor              ,
-    pattern KEY_3                           ,
-    pattern KEY_2                           ,
-    pattern KEY_1                           ,
-    pattern KEY_0                           ,
-    pattern EVENT_STOP                      ,
-    pattern EVENT_PROPAGATE                 ,
-    pattern CURRENT_TIME                    ,
-    pattern BUTTON_SECONDARY                ,
-    pattern BUTTON_PRIMARY                  ,
-    pattern BUTTON_MIDDLE                   ,
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-
-pattern PRIORITY_REDRAW = 20 :: Int32
-
-
-pattern PARENT_RELATIVE = 1 :: Int32
-
-
-pattern MAX_TIMECOORD_AXES = 128 :: Int32
-
-
-pattern KEY_zstroke = 16777654 :: Int32
-
-
-pattern KEY_zerosuperior = 16785520 :: Int32
-
-
-pattern KEY_zerosubscript = 16785536 :: Int32
-
-
-pattern KEY_zcaron = 446 :: Int32
-
-
-pattern KEY_zacute = 444 :: Int32
-
-
-pattern KEY_zabovedot = 447 :: Int32
-
-
-pattern KEY_z = 122 :: Int32
-
-
-pattern KEY_ytilde = 16785145 :: Int32
-
-
-pattern KEY_yhook = 16785143 :: Int32
-
-
-pattern KEY_ygrave = 16785139 :: Int32
-
-
-pattern KEY_yen = 165 :: Int32
-
-
-pattern KEY_ydiaeresis = 255 :: Int32
-
-
-pattern KEY_ycircumflex = 16777591 :: Int32
-
-
-pattern KEY_ybelowdot = 16785141 :: Int32
-
-
-pattern KEY_yacute = 253 :: Int32
-
-
-pattern KEY_y = 121 :: Int32
-
-
-pattern KEY_xabovedot = 16785035 :: Int32
-
-
-pattern KEY_x = 120 :: Int32
-
-
-pattern KEY_wgrave = 16785025 :: Int32
-
-
-pattern KEY_wdiaeresis = 16785029 :: Int32
-
-
-pattern KEY_wcircumflex = 16777589 :: Int32
-
-
-pattern KEY_wacute = 16785027 :: Int32
-
-
-pattern KEY_w = 119 :: Int32
-
-
-pattern KEY_vt = 2537 :: Int32
-
-
-pattern KEY_voicedsound = 1246 :: Int32
-
-
-pattern KEY_vertconnector = 2214 :: Int32
-
-
-pattern KEY_vertbar = 2552 :: Int32
-
-
-pattern KEY_variation = 2241 :: Int32
-
-
-pattern KEY_v = 118 :: Int32
-
-
-pattern KEY_utilde = 1021 :: Int32
-
-
-pattern KEY_uring = 505 :: Int32
-
-
-pattern KEY_uptack = 3022 :: Int32
-
-
-pattern KEY_upstile = 3027 :: Int32
-
-
-pattern KEY_upshoe = 3011 :: Int32
-
-
-pattern KEY_uprightcorner = 2539 :: Int32
-
-
-pattern KEY_upleftcorner = 2540 :: Int32
-
-
-pattern KEY_upcaret = 2985 :: Int32
-
-
-pattern KEY_uparrow = 2300 :: Int32
-
-
-pattern KEY_uogonek = 1017 :: Int32
-
-
-pattern KEY_union = 2269 :: Int32
-
-
-pattern KEY_underscore = 95 :: Int32
-
-
-pattern KEY_underbar = 3014 :: Int32
-
-
-pattern KEY_umacron = 1022 :: Int32
-
-
-pattern KEY_uhorntilde = 16785135 :: Int32
-
-
-pattern KEY_uhornhook = 16785133 :: Int32
-
-
-pattern KEY_uhorngrave = 16785131 :: Int32
-
-
-pattern KEY_uhornbelowdot = 16785137 :: Int32
-
-
-pattern KEY_uhornacute = 16785129 :: Int32
-
-
-pattern KEY_uhorn = 16777648 :: Int32
-
-
-pattern KEY_uhook = 16785127 :: Int32
-
-
-pattern KEY_ugrave = 249 :: Int32
-
-
-pattern KEY_udoubleacute = 507 :: Int32
-
-
-pattern KEY_udiaeresis = 252 :: Int32
-
-
-pattern KEY_ucircumflex = 251 :: Int32
-
-
-pattern KEY_ubreve = 765 :: Int32
-
-
-pattern KEY_ubelowdot = 16785125 :: Int32
-
-
-pattern KEY_uacute = 250 :: Int32
-
-
-pattern KEY_u = 117 :: Int32
-
-
-pattern KEY_twothirds = 2737 :: Int32
-
-
-pattern KEY_twosuperior = 178 :: Int32
-
-
-pattern KEY_twosubscript = 16785538 :: Int32
-
-
-pattern KEY_twofifths = 2739 :: Int32
-
-
-pattern KEY_tslash = 956 :: Int32
-
-
-pattern KEY_trademarkincircle = 2763 :: Int32
-
-
-pattern KEY_trademark = 2761 :: Int32
-
-
-pattern KEY_topvertsummationconnector = 2227 :: Int32
-
-
-pattern KEY_topt = 2551 :: Int32
-
-
-pattern KEY_toprightsummation = 2229 :: Int32
-
-
-pattern KEY_toprightsqbracket = 2217 :: Int32
-
-
-pattern KEY_toprightparens = 2221 :: Int32
-
-
-pattern KEY_topleftsummation = 2225 :: Int32
-
-
-pattern KEY_topleftsqbracket = 2215 :: Int32
-
-
-pattern KEY_topleftradical = 2210 :: Int32
-
-
-pattern KEY_topleftparens = 2219 :: Int32
-
-
-pattern KEY_topintegral = 2212 :: Int32
-
-
-pattern KEY_tintegral = 16785965 :: Int32
-
-
-pattern KEY_threesuperior = 179 :: Int32
-
-
-pattern KEY_threesubscript = 16785539 :: Int32
-
-
-pattern KEY_threequarters = 190 :: Int32
-
-
-pattern KEY_threefifths = 2740 :: Int32
-
-
-pattern KEY_threeeighths = 2756 :: Int32
-
-
-pattern KEY_thorn = 254 :: Int32
-
-
-pattern KEY_thinspace = 2727 :: Int32
-
-
-pattern KEY_therefore = 2240 :: Int32
-
-
-pattern KEY_telephonerecorder = 2810 :: Int32
-
-
-pattern KEY_telephone = 2809 :: Int32
-
-
-pattern KEY_tcedilla = 510 :: Int32
-
-
-pattern KEY_tcaron = 443 :: Int32
-
-
-pattern KEY_tabovedot = 16785003 :: Int32
-
-
-pattern KEY_t = 116 :: Int32
-
-
-pattern KEY_stricteq = 16786019 :: Int32
-
-
-pattern KEY_sterling = 163 :: Int32
-
-
-pattern KEY_ssharp = 223 :: Int32
-
-
-pattern KEY_squareroot = 16785946 :: Int32
-
-
-pattern KEY_space = 32 :: Int32
-
-
-pattern KEY_soliddiamond = 2528 :: Int32
-
-
-pattern KEY_slash = 47 :: Int32
-
-
-pattern KEY_sixsuperior = 16785526 :: Int32
-
-
-pattern KEY_sixsubscript = 16785542 :: Int32
-
-
-pattern KEY_singlelowquotemark = 2813 :: Int32
-
-
-pattern KEY_similarequal = 2249 :: Int32
-
-
-pattern KEY_signifblank = 2732 :: Int32
-
-
-pattern KEY_signaturemark = 2762 :: Int32
-
-
-pattern KEY_sevensuperior = 16785527 :: Int32
-
-
-pattern KEY_sevensubscript = 16785543 :: Int32
-
-
-pattern KEY_seveneighths = 2758 :: Int32
-
-
-pattern KEY_semivoicedsound = 1247 :: Int32
-
-
-pattern KEY_semicolon = 59 :: Int32
-
-
-pattern KEY_section = 167 :: Int32
-
-
-pattern KEY_seconds = 2775 :: Int32
-
-
-pattern KEY_script_switch = 65406 :: Int32
-
-
-pattern KEY_scircumflex = 766 :: Int32
-
-
-pattern KEY_schwa = 16777817 :: Int32
-
-
-pattern KEY_scedilla = 442 :: Int32
-
-
-pattern KEY_scaron = 441 :: Int32
-
-
-pattern KEY_sacute = 438 :: Int32
-
-
-pattern KEY_sabovedot = 16784993 :: Int32
-
-
-pattern KEY_s = 115 :: Int32
-
-
-pattern KEY_righttack = 3068 :: Int32
-
-
-pattern KEY_rightt = 2549 :: Int32
-
-
-pattern KEY_rightsinglequotemark = 2769 :: Int32
-
-
-pattern KEY_rightshoe = 3032 :: Int32
-
-
-pattern KEY_rightpointer = 2795 :: Int32
-
-
-pattern KEY_rightopentriangle = 2765 :: Int32
-
-
-pattern KEY_rightmiddlesummation = 2231 :: Int32
-
-
-pattern KEY_rightmiddlecurlybrace = 2224 :: Int32
-
-
-pattern KEY_rightdoublequotemark = 2771 :: Int32
-
-
-pattern KEY_rightcaret = 2982 :: Int32
-
-
-pattern KEY_rightarrow = 2301 :: Int32
-
-
-pattern KEY_rightanglebracket = 2750 :: Int32
-
-
-pattern KEY_registered = 174 :: Int32
-
-
-pattern KEY_rcedilla = 947 :: Int32
-
-
-pattern KEY_rcaron = 504 :: Int32
-
-
-pattern KEY_radical = 2262 :: Int32
-
-
-pattern KEY_racute = 480 :: Int32
-
-
-pattern KEY_r = 114 :: Int32
-
-
-pattern KEY_quoteright = 39 :: Int32
-
-
-pattern KEY_quoteleft = 96 :: Int32
-
-
-pattern KEY_quotedbl = 34 :: Int32
-
-
-pattern KEY_questiondown = 191 :: Int32
-
-
-pattern KEY_question = 63 :: Int32
-
-
-pattern KEY_quad = 3020 :: Int32
-
-
-pattern KEY_q = 113 :: Int32
-
-
-pattern KEY_punctspace = 2726 :: Int32
-
-
-pattern KEY_prolongedsound = 1200 :: Int32
-
-
-pattern KEY_prescription = 2772 :: Int32
-
-
-pattern KEY_plusminus = 177 :: Int32
-
-
-pattern KEY_plus = 43 :: Int32
-
-
-pattern KEY_phonographcopyright = 2811 :: Int32
-
-
-pattern KEY_permille = 2773 :: Int32
-
-
-pattern KEY_periodcentered = 183 :: Int32
-
-
-pattern KEY_period = 46 :: Int32
-
-
-pattern KEY_percent = 37 :: Int32
-
-
-pattern KEY_partialderivative = 2287 :: Int32
-
-
-pattern KEY_partdifferential = 16785922 :: Int32
-
-
-pattern KEY_parenright = 41 :: Int32
-
-
-pattern KEY_parenleft = 40 :: Int32
-
-
-pattern KEY_paragraph = 182 :: Int32
-
-
-pattern KEY_pabovedot = 16784983 :: Int32
-
-
-pattern KEY_p = 112 :: Int32
-
-
-pattern KEY_overline = 1150 :: Int32
-
-
-pattern KEY_overbar = 3008 :: Int32
-
-
-pattern KEY_otilde = 245 :: Int32
-
-
-pattern KEY_oslash = 248 :: Int32
-
-
-pattern KEY_ordfeminine = 170 :: Int32
-
-
-pattern KEY_opentribulletup = 2787 :: Int32
-
-
-pattern KEY_opentribulletdown = 2788 :: Int32
-
-
-pattern KEY_openstar = 2789 :: Int32
-
-
-pattern KEY_openrectbullet = 2786 :: Int32
-
-
-pattern KEY_ooblique = 248 :: Int32
-
-
-pattern KEY_onethird = 2736 :: Int32
-
-
-pattern KEY_onesuperior = 185 :: Int32
-
-
-pattern KEY_onesubscript = 16785537 :: Int32
-
-
-pattern KEY_onesixth = 2742 :: Int32
-
-
-pattern KEY_onequarter = 188 :: Int32
-
-
-pattern KEY_onehalf = 189 :: Int32
-
-
-pattern KEY_onefifth = 2738 :: Int32
-
-
-pattern KEY_oneeighth = 2755 :: Int32
-
-
-pattern KEY_omacron = 1010 :: Int32
-
-
-pattern KEY_ohorntilde = 16785121 :: Int32
-
-
-pattern KEY_ohornhook = 16785119 :: Int32
-
-
-pattern KEY_ohorngrave = 16785117 :: Int32
-
-
-pattern KEY_ohornbelowdot = 16785123 :: Int32
-
-
-pattern KEY_ohornacute = 16785115 :: Int32
-
-
-pattern KEY_ohorn = 16777633 :: Int32
-
-
-pattern KEY_ohook = 16785103 :: Int32
-
-
-pattern KEY_ograve = 242 :: Int32
-
-
-pattern KEY_ogonek = 434 :: Int32
-
-
-pattern KEY_oe = 5053 :: Int32
-
-
-pattern KEY_odoubleacute = 501 :: Int32
-
-
-pattern KEY_odiaeresis = 246 :: Int32
-
-
-pattern KEY_ocircumflextilde = 16785111 :: Int32
-
-
-pattern KEY_ocircumflexhook = 16785109 :: Int32
-
-
-pattern KEY_ocircumflexgrave = 16785107 :: Int32
-
-
-pattern KEY_ocircumflexbelowdot = 16785113 :: Int32
-
-
-pattern KEY_ocircumflexacute = 16785105 :: Int32
-
-
-pattern KEY_ocircumflex = 244 :: Int32
-
-
-pattern KEY_ocaron = 16777682 :: Int32
-
-
-pattern KEY_obelowdot = 16785101 :: Int32
-
-
-pattern KEY_obarred = 16777845 :: Int32
-
-
-pattern KEY_oacute = 243 :: Int32
-
-
-pattern KEY_o = 111 :: Int32
-
-
-pattern KEY_numerosign = 1712 :: Int32
-
-
-pattern KEY_numbersign = 35 :: Int32
-
-
-pattern KEY_ntilde = 241 :: Int32
-
-
-pattern KEY_notsign = 172 :: Int32
-
-
-pattern KEY_notidentical = 16786018 :: Int32
-
-
-pattern KEY_notequal = 2237 :: Int32
-
-
-pattern KEY_notelementof = 16785929 :: Int32
-
-
-pattern KEY_notapproxeq = 16785991 :: Int32
-
-
-pattern KEY_nobreakspace = 160 :: Int32
-
-
-pattern KEY_nl = 2536 :: Int32
-
-
-pattern KEY_ninesuperior = 16785529 :: Int32
-
-
-pattern KEY_ninesubscript = 16785545 :: Int32
-
-
-pattern KEY_ncedilla = 1009 :: Int32
-
-
-pattern KEY_ncaron = 498 :: Int32
-
-
-pattern KEY_nacute = 497 :: Int32
-
-
-pattern KEY_nabla = 2245 :: Int32
-
-
-pattern KEY_n = 110 :: Int32
-
-
-pattern KEY_musicalsharp = 2805 :: Int32
-
-
-pattern KEY_musicalflat = 2806 :: Int32
-
-
-pattern KEY_multiply = 215 :: Int32
-
-
-pattern KEY_mu = 181 :: Int32
-
-
-pattern KEY_minutes = 2774 :: Int32
-
-
-pattern KEY_minus = 45 :: Int32
-
-
-pattern KEY_masculine = 186 :: Int32
-
-
-pattern KEY_marker = 2751 :: Int32
-
-
-pattern KEY_maltesecross = 2800 :: Int32
-
-
-pattern KEY_malesymbol = 2807 :: Int32
-
-
-pattern KEY_macron = 175 :: Int32
-
-
-pattern KEY_mabovedot = 16784961 :: Int32
-
-
-pattern KEY_m = 109 :: Int32
-
-
-pattern KEY_lstroke = 435 :: Int32
-
-
-pattern KEY_lowrightcorner = 2538 :: Int32
-
-
-pattern KEY_lowleftcorner = 2541 :: Int32
-
-
-pattern KEY_logicalor = 2271 :: Int32
-
-
-pattern KEY_logicaland = 2270 :: Int32
-
-
-pattern KEY_lf = 2533 :: Int32
-
-
-pattern KEY_lessthanequal = 2236 :: Int32
-
-
-pattern KEY_less = 60 :: Int32
-
-
-pattern KEY_lefttack = 3036 :: Int32
-
-
-pattern KEY_leftt = 2548 :: Int32
-
-
-pattern KEY_leftsinglequotemark = 2768 :: Int32
-
-
-pattern KEY_leftshoe = 3034 :: Int32
-
-
-pattern KEY_leftradical = 2209 :: Int32
-
-
-pattern KEY_leftpointer = 2794 :: Int32
-
-
-pattern KEY_leftopentriangle = 2764 :: Int32
-
-
-pattern KEY_leftmiddlecurlybrace = 2223 :: Int32
-
-
-pattern KEY_leftdoublequotemark = 2770 :: Int32
-
-
-pattern KEY_leftcaret = 2979 :: Int32
-
-
-pattern KEY_leftarrow = 2299 :: Int32
-
-
-pattern KEY_leftanglebracket = 2748 :: Int32
-
-
-pattern KEY_lcedilla = 950 :: Int32
-
-
-pattern KEY_lcaron = 437 :: Int32
-
-
-pattern KEY_lbelowdot = 16784951 :: Int32
-
-
-pattern KEY_latincross = 2777 :: Int32
-
-
-pattern KEY_lacute = 485 :: Int32
-
-
-pattern KEY_l = 108 :: Int32
-
-
-pattern KEY_kra = 930 :: Int32
-
-
-pattern KEY_kcedilla = 1011 :: Int32
-
-
-pattern KEY_kappa = 930 :: Int32
-
-
-pattern KEY_kana_yu = 1197 :: Int32
-
-
-pattern KEY_kana_yo = 1198 :: Int32
-
-
-pattern KEY_kana_ya = 1196 :: Int32
-
-
-pattern KEY_kana_u = 1193 :: Int32
-
-
-pattern KEY_kana_tu = 1199 :: Int32
-
-
-pattern KEY_kana_tsu = 1199 :: Int32
-
-
-pattern KEY_kana_switch = 65406 :: Int32
-
-
-pattern KEY_kana_openingbracket = 1186 :: Int32
-
-
-pattern KEY_kana_o = 1195 :: Int32
-
-
-pattern KEY_kana_middledot = 1189 :: Int32
-
-
-pattern KEY_kana_i = 1192 :: Int32
-
-
-pattern KEY_kana_fullstop = 1185 :: Int32
-
-
-pattern KEY_kana_e = 1194 :: Int32
-
-
-pattern KEY_kana_conjunctive = 1189 :: Int32
-
-
-pattern KEY_kana_comma = 1188 :: Int32
-
-
-pattern KEY_kana_closingbracket = 1187 :: Int32
-
-
-pattern KEY_kana_a = 1191 :: Int32
-
-
-pattern KEY_kana_YU = 1237 :: Int32
-
-
-pattern KEY_kana_YO = 1238 :: Int32
-
-
-pattern KEY_kana_YA = 1236 :: Int32
-
-
-pattern KEY_kana_WO = 1190 :: Int32
-
-
-pattern KEY_kana_WA = 1244 :: Int32
-
-
-pattern KEY_kana_U = 1203 :: Int32
-
-
-pattern KEY_kana_TU = 1218 :: Int32
-
-
-pattern KEY_kana_TSU = 1218 :: Int32
-
-
-pattern KEY_kana_TO = 1220 :: Int32
-
-
-pattern KEY_kana_TI = 1217 :: Int32
-
-
-pattern KEY_kana_TE = 1219 :: Int32
-
-
-pattern KEY_kana_TA = 1216 :: Int32
-
-
-pattern KEY_kana_SU = 1213 :: Int32
-
-
-pattern KEY_kana_SO = 1215 :: Int32
-
-
-pattern KEY_kana_SHI = 1212 :: Int32
-
-
-pattern KEY_kana_SE = 1214 :: Int32
-
-
-pattern KEY_kana_SA = 1211 :: Int32
-
-
-pattern KEY_kana_RU = 1241 :: Int32
-
-
-pattern KEY_kana_RO = 1243 :: Int32
-
-
-pattern KEY_kana_RI = 1240 :: Int32
-
-
-pattern KEY_kana_RE = 1242 :: Int32
-
-
-pattern KEY_kana_RA = 1239 :: Int32
-
-
-pattern KEY_kana_O = 1205 :: Int32
-
-
-pattern KEY_kana_NU = 1223 :: Int32
-
-
-pattern KEY_kana_NO = 1225 :: Int32
-
-
-pattern KEY_kana_NI = 1222 :: Int32
-
-
-pattern KEY_kana_NE = 1224 :: Int32
-
-
-pattern KEY_kana_NA = 1221 :: Int32
-
-
-pattern KEY_kana_N = 1245 :: Int32
-
-
-pattern KEY_kana_MU = 1233 :: Int32
-
-
-pattern KEY_kana_MO = 1235 :: Int32
-
-
-pattern KEY_kana_MI = 1232 :: Int32
-
-
-pattern KEY_kana_ME = 1234 :: Int32
-
-
-pattern KEY_kana_MA = 1231 :: Int32
-
-
-pattern KEY_kana_KU = 1208 :: Int32
-
-
-pattern KEY_kana_KO = 1210 :: Int32
-
-
-pattern KEY_kana_KI = 1207 :: Int32
-
-
-pattern KEY_kana_KE = 1209 :: Int32
-
-
-pattern KEY_kana_KA = 1206 :: Int32
-
-
-pattern KEY_kana_I = 1202 :: Int32
-
-
-pattern KEY_kana_HU = 1228 :: Int32
-
-
-pattern KEY_kana_HO = 1230 :: Int32
-
-
-pattern KEY_kana_HI = 1227 :: Int32
-
-
-pattern KEY_kana_HE = 1229 :: Int32
-
-
-pattern KEY_kana_HA = 1226 :: Int32
-
-
-pattern KEY_kana_FU = 1228 :: Int32
-
-
-pattern KEY_kana_E = 1204 :: Int32
-
-
-pattern KEY_kana_CHI = 1217 :: Int32
-
-
-pattern KEY_kana_A = 1201 :: Int32
-
-
-pattern KEY_k = 107 :: Int32
-
-
-pattern KEY_jot = 3018 :: Int32
-
-
-pattern KEY_jcircumflex = 700 :: Int32
-
-
-pattern KEY_j = 106 :: Int32
-
-
-pattern KEY_itilde = 949 :: Int32
-
-
-pattern KEY_iogonek = 999 :: Int32
-
-
-pattern KEY_intersection = 2268 :: Int32
-
-
-pattern KEY_integral = 2239 :: Int32
-
-
-pattern KEY_infinity = 2242 :: Int32
-
-
-pattern KEY_includes = 2267 :: Int32
-
-
-pattern KEY_includedin = 2266 :: Int32
-
-
-pattern KEY_implies = 2254 :: Int32
-
-
-pattern KEY_imacron = 1007 :: Int32
-
-
-pattern KEY_ihook = 16785097 :: Int32
-
-
-pattern KEY_igrave = 236 :: Int32
-
-
-pattern KEY_ifonlyif = 2253 :: Int32
-
-
-pattern KEY_idotless = 697 :: Int32
-
-
-pattern KEY_idiaeresis = 239 :: Int32
-
-
-pattern KEY_identical = 2255 :: Int32
-
-
-pattern KEY_icircumflex = 238 :: Int32
-
-
-pattern KEY_ibreve = 16777517 :: Int32
-
-
-pattern KEY_ibelowdot = 16785099 :: Int32
-
-
-pattern KEY_iacute = 237 :: Int32
-
-
-pattern KEY_iTouch = 269025120 :: Int32
-
-
-pattern KEY_i = 105 :: Int32
-
-
-pattern KEY_hyphen = 173 :: Int32
-
-
-pattern KEY_ht = 2530 :: Int32
-
-
-pattern KEY_hstroke = 689 :: Int32
-
-
-pattern KEY_horizlinescan9 = 2547 :: Int32
-
-
-pattern KEY_horizlinescan7 = 2546 :: Int32
-
-
-pattern KEY_horizlinescan5 = 2545 :: Int32
-
-
-pattern KEY_horizlinescan3 = 2544 :: Int32
-
-
-pattern KEY_horizlinescan1 = 2543 :: Int32
-
-
-pattern KEY_horizconnector = 2211 :: Int32
-
-
-pattern KEY_hexagram = 2778 :: Int32
-
-
-pattern KEY_hebrew_zayin = 3302 :: Int32
-
-
-pattern KEY_hebrew_zain = 3302 :: Int32
-
-
-pattern KEY_hebrew_zadi = 3318 :: Int32
-
-
-pattern KEY_hebrew_zade = 3318 :: Int32
-
-
-pattern KEY_hebrew_yod = 3305 :: Int32
-
-
-pattern KEY_hebrew_waw = 3301 :: Int32
-
-
-pattern KEY_hebrew_teth = 3304 :: Int32
-
-
-pattern KEY_hebrew_tet = 3304 :: Int32
-
-
-pattern KEY_hebrew_taw = 3322 :: Int32
-
-
-pattern KEY_hebrew_taf = 3322 :: Int32
-
-
-pattern KEY_hebrew_shin = 3321 :: Int32
-
-
-pattern KEY_hebrew_samekh = 3313 :: Int32
-
-
-pattern KEY_hebrew_samech = 3313 :: Int32
-
-
-pattern KEY_hebrew_resh = 3320 :: Int32
-
-
-pattern KEY_hebrew_qoph = 3319 :: Int32
-
-
-pattern KEY_hebrew_pe = 3316 :: Int32
-
-
-pattern KEY_hebrew_nun = 3312 :: Int32
-
-
-pattern KEY_hebrew_mem = 3310 :: Int32
-
-
-pattern KEY_hebrew_lamed = 3308 :: Int32
-
-
-pattern KEY_hebrew_kuf = 3319 :: Int32
-
-
-pattern KEY_hebrew_kaph = 3307 :: Int32
-
-
-pattern KEY_hebrew_het = 3303 :: Int32
-
-
-pattern KEY_hebrew_he = 3300 :: Int32
-
-
-pattern KEY_hebrew_gimmel = 3298 :: Int32
-
-
-pattern KEY_hebrew_gimel = 3298 :: Int32
-
-
-pattern KEY_hebrew_finalzadi = 3317 :: Int32
-
-
-pattern KEY_hebrew_finalzade = 3317 :: Int32
-
-
-pattern KEY_hebrew_finalpe = 3315 :: Int32
-
-
-pattern KEY_hebrew_finalnun = 3311 :: Int32
-
-
-pattern KEY_hebrew_finalmem = 3309 :: Int32
-
-
-pattern KEY_hebrew_finalkaph = 3306 :: Int32
-
-
-pattern KEY_hebrew_doublelowline = 3295 :: Int32
-
-
-pattern KEY_hebrew_daleth = 3299 :: Int32
-
-
-pattern KEY_hebrew_dalet = 3299 :: Int32
-
-
-pattern KEY_hebrew_chet = 3303 :: Int32
-
-
-pattern KEY_hebrew_beth = 3297 :: Int32
-
-
-pattern KEY_hebrew_bet = 3297 :: Int32
-
-
-pattern KEY_hebrew_ayin = 3314 :: Int32
-
-
-pattern KEY_hebrew_aleph = 3296 :: Int32
-
-
-pattern KEY_heart = 2798 :: Int32
-
-
-pattern KEY_hcircumflex = 694 :: Int32
-
-
-pattern KEY_hairspace = 2728 :: Int32
-
-
-pattern KEY_h = 104 :: Int32
-
-
-pattern KEY_guillemotright = 187 :: Int32
-
-
-pattern KEY_guillemotleft = 171 :: Int32
-
-
-pattern KEY_greaterthanequal = 2238 :: Int32
-
-
-pattern KEY_greater = 62 :: Int32
-
-
-pattern KEY_grave = 96 :: Int32
-
-
-pattern KEY_gcircumflex = 760 :: Int32
-
-
-pattern KEY_gcedilla = 955 :: Int32
-
-
-pattern KEY_gcaron = 16777703 :: Int32
-
-
-pattern KEY_gbreve = 699 :: Int32
-
-
-pattern KEY_gabovedot = 757 :: Int32
-
-
-pattern KEY_g = 103 :: Int32
-
-
-pattern KEY_function = 2294 :: Int32
-
-
-pattern KEY_fourthroot = 16785948 :: Int32
-
-
-pattern KEY_foursuperior = 16785524 :: Int32
-
-
-pattern KEY_foursubscript = 16785540 :: Int32
-
-
-pattern KEY_fourfifths = 2741 :: Int32
-
-
-pattern KEY_fivesuperior = 16785525 :: Int32
-
-
-pattern KEY_fivesubscript = 16785541 :: Int32
-
-
-pattern KEY_fivesixths = 2743 :: Int32
-
-
-pattern KEY_fiveeighths = 2757 :: Int32
-
-
-pattern KEY_filledtribulletup = 2792 :: Int32
-
-
-pattern KEY_filledtribulletdown = 2793 :: Int32
-
-
-pattern KEY_filledrighttribullet = 2781 :: Int32
-
-
-pattern KEY_filledrectbullet = 2779 :: Int32
-
-
-pattern KEY_filledlefttribullet = 2780 :: Int32
-
-
-pattern KEY_figdash = 2747 :: Int32
-
-
-pattern KEY_ff = 2531 :: Int32
-
-
-pattern KEY_femalesymbol = 2808 :: Int32
-
-
-pattern KEY_fabovedot = 16784927 :: Int32
-
-
-pattern KEY_f = 102 :: Int32
-
-
-pattern KEY_ezh = 16777874 :: Int32
-
-
-pattern KEY_exclamdown = 161 :: Int32
-
-
-pattern KEY_exclam = 33 :: Int32
-
-
-pattern KEY_etilde = 16785085 :: Int32
-
-
-pattern KEY_eth = 240 :: Int32
-
-
-pattern KEY_equal = 61 :: Int32
-
-
-pattern KEY_eogonek = 490 :: Int32
-
-
-pattern KEY_enspace = 2722 :: Int32
-
-
-pattern KEY_enopensquarebullet = 2785 :: Int32
-
-
-pattern KEY_enopencircbullet = 2784 :: Int32
-
-
-pattern KEY_eng = 959 :: Int32
-
-
-pattern KEY_enfilledsqbullet = 2791 :: Int32
-
-
-pattern KEY_enfilledcircbullet = 2790 :: Int32
-
-
-pattern KEY_endash = 2730 :: Int32
-
-
-pattern KEY_emspace = 2721 :: Int32
-
-
-pattern KEY_emptyset = 16785925 :: Int32
-
-
-pattern KEY_emopenrectangle = 2767 :: Int32
-
-
-pattern KEY_emopencircle = 2766 :: Int32
-
-
-pattern KEY_emfilledrect = 2783 :: Int32
-
-
-pattern KEY_emfilledcircle = 2782 :: Int32
-
-
-pattern KEY_emdash = 2729 :: Int32
-
-
-pattern KEY_emacron = 954 :: Int32
-
-
-pattern KEY_em4space = 2724 :: Int32
-
-
-pattern KEY_em3space = 2723 :: Int32
-
-
-pattern KEY_ellipsis = 2734 :: Int32
-
-
-pattern KEY_elementof = 16785928 :: Int32
-
-
-pattern KEY_eightsuperior = 16785528 :: Int32
-
-
-pattern KEY_eightsubscript = 16785544 :: Int32
-
-
-pattern KEY_ehook = 16785083 :: Int32
-
-
-pattern KEY_egrave = 232 :: Int32
-
-
-pattern KEY_ediaeresis = 235 :: Int32
-
-
-pattern KEY_ecircumflextilde = 16785093 :: Int32
-
-
-pattern KEY_ecircumflexhook = 16785091 :: Int32
-
-
-pattern KEY_ecircumflexgrave = 16785089 :: Int32
-
-
-pattern KEY_ecircumflexbelowdot = 16785095 :: Int32
-
-
-pattern KEY_ecircumflexacute = 16785087 :: Int32
-
-
-pattern KEY_ecircumflex = 234 :: Int32
-
-
-pattern KEY_ecaron = 492 :: Int32
-
-
-pattern KEY_ebelowdot = 16785081 :: Int32
-
-
-pattern KEY_eacute = 233 :: Int32
-
-
-pattern KEY_eabovedot = 1004 :: Int32
-
-
-pattern KEY_e = 101 :: Int32
-
-
-pattern KEY_dstroke = 496 :: Int32
-
-
-pattern KEY_downtack = 3010 :: Int32
-
-
-pattern KEY_downstile = 3012 :: Int32
-
-
-pattern KEY_downshoe = 3030 :: Int32
-
-
-pattern KEY_downcaret = 2984 :: Int32
-
-
-pattern KEY_downarrow = 2302 :: Int32
-
-
-pattern KEY_doublelowquotemark = 2814 :: Int32
-
-
-pattern KEY_doubledagger = 2802 :: Int32
-
-
-pattern KEY_doubleacute = 445 :: Int32
-
-
-pattern KEY_doubbaselinedot = 2735 :: Int32
-
-
-pattern KEY_dollar = 36 :: Int32
-
-
-pattern KEY_division = 247 :: Int32
-
-
-pattern KEY_dintegral = 16785964 :: Int32
-
-
-pattern KEY_digitspace = 2725 :: Int32
-
-
-pattern KEY_diamond = 2797 :: Int32
-
-
-pattern KEY_diaeresis = 168 :: Int32
-
-
-pattern KEY_degree = 176 :: Int32
-
-
-pattern KEY_decimalpoint = 2749 :: Int32
-
-
-pattern KEY_dead_voiced_sound = 65118 :: Int32
-
-
-pattern KEY_dead_u = 65160 :: Int32
-
-
-pattern KEY_dead_tilde = 65107 :: Int32
-
-
-pattern KEY_dead_stroke = 65123 :: Int32
-
-
-pattern KEY_dead_small_schwa = 65162 :: Int32
-
-
-pattern KEY_dead_semivoiced_sound = 65119 :: Int32
-
-
-pattern KEY_dead_psili = 65124 :: Int32
-
-
-pattern KEY_dead_perispomeni = 65107 :: Int32
-
-
-pattern KEY_dead_ogonek = 65116 :: Int32
-
-
-pattern KEY_dead_o = 65158 :: Int32
-
-
-pattern KEY_dead_macron = 65108 :: Int32
-
-
-pattern KEY_dead_iota = 65117 :: Int32
-
-
-pattern KEY_dead_invertedbreve = 65133 :: Int32
-
-
-pattern KEY_dead_i = 65156 :: Int32
-
-
-pattern KEY_dead_horn = 65122 :: Int32
-
-
-pattern KEY_dead_hook = 65121 :: Int32
-
-
-pattern KEY_dead_greek = 65164 :: Int32
-
-
-pattern KEY_dead_grave = 65104 :: Int32
-
-
-pattern KEY_dead_e = 65154 :: Int32
-
-
-pattern KEY_dead_doublegrave = 65126 :: Int32
-
-
-pattern KEY_dead_doubleacute = 65113 :: Int32
-
-
-pattern KEY_dead_diaeresis = 65111 :: Int32
-
-
-pattern KEY_dead_dasia = 65125 :: Int32
-
-
-pattern KEY_dead_currency = 65135 :: Int32
-
-
-pattern KEY_dead_circumflex = 65106 :: Int32
-
-
-pattern KEY_dead_cedilla = 65115 :: Int32
-
-
-pattern KEY_dead_caron = 65114 :: Int32
-
-
-pattern KEY_dead_capital_schwa = 65163 :: Int32
-
-
-pattern KEY_dead_breve = 65109 :: Int32
-
-
-pattern KEY_dead_belowtilde = 65130 :: Int32
-
-
-pattern KEY_dead_belowring = 65127 :: Int32
-
-
-pattern KEY_dead_belowmacron = 65128 :: Int32
-
-
-pattern KEY_dead_belowdot = 65120 :: Int32
-
-
-pattern KEY_dead_belowdiaeresis = 65132 :: Int32
-
-
-pattern KEY_dead_belowcomma = 65134 :: Int32
-
-
-pattern KEY_dead_belowcircumflex = 65129 :: Int32
-
-
-pattern KEY_dead_belowbreve = 65131 :: Int32
-
-
-pattern KEY_dead_acute = 65105 :: Int32
-
-
-pattern KEY_dead_abovering = 65112 :: Int32
-
-
-pattern KEY_dead_abovereversedcomma = 65125 :: Int32
-
-
-pattern KEY_dead_abovedot = 65110 :: Int32
-
-
-pattern KEY_dead_abovecomma = 65124 :: Int32
-
-
-pattern KEY_dead_a = 65152 :: Int32
-
-
-pattern KEY_dead_U = 65161 :: Int32
-
-
-pattern KEY_dead_O = 65159 :: Int32
-
-
-pattern KEY_dead_I = 65157 :: Int32
-
-
-pattern KEY_dead_E = 65155 :: Int32
-
-
-pattern KEY_dead_A = 65153 :: Int32
-
-
-pattern KEY_dcaron = 495 :: Int32
-
-
-pattern KEY_dagger = 2801 :: Int32
-
-
-pattern KEY_dabovedot = 16784907 :: Int32
-
-
-pattern KEY_d = 100 :: Int32
-
-
-pattern KEY_cursor = 2815 :: Int32
-
-
-pattern KEY_currency = 164 :: Int32
-
-
-pattern KEY_cuberoot = 16785947 :: Int32
-
-
-pattern KEY_crossinglines = 2542 :: Int32
-
-
-pattern KEY_cr = 2532 :: Int32
-
-
-pattern KEY_copyright = 169 :: Int32
-
-
-pattern KEY_containsas = 16785931 :: Int32
-
-
-pattern KEY_comma = 44 :: Int32
-
-
-pattern KEY_colon = 58 :: Int32
-
-
-pattern KEY_club = 2796 :: Int32
-
-
-pattern KEY_circle = 3023 :: Int32
-
-
-pattern KEY_checkmark = 2803 :: Int32
-
-
-pattern KEY_checkerboard = 2529 :: Int32
-
-
-pattern KEY_ch = 65184 :: Int32
-
-
-pattern KEY_cent = 162 :: Int32
-
-
-pattern KEY_cedilla = 184 :: Int32
-
-
-pattern KEY_ccircumflex = 742 :: Int32
-
-
-pattern KEY_ccedilla = 231 :: Int32
-
-
-pattern KEY_ccaron = 488 :: Int32
-
-
-pattern KEY_caron = 439 :: Int32
-
-
-pattern KEY_caret = 2812 :: Int32
-
-
-pattern KEY_careof = 2744 :: Int32
-
-
-pattern KEY_cacute = 486 :: Int32
-
-
-pattern KEY_cabovedot = 741 :: Int32
-
-
-pattern KEY_c_h = 65187 :: Int32
-
-
-pattern KEY_c = 99 :: Int32
-
-
-pattern KEY_brokenbar = 166 :: Int32
-
-
-pattern KEY_breve = 418 :: Int32
-
-
-pattern KEY_braille_dots_8 = 16787584 :: Int32
-
-
-pattern KEY_braille_dots_78 = 16787648 :: Int32
-
-
-pattern KEY_braille_dots_7 = 16787520 :: Int32
-
-
-pattern KEY_braille_dots_68 = 16787616 :: Int32
-
-
-pattern KEY_braille_dots_678 = 16787680 :: Int32
-
-
-pattern KEY_braille_dots_67 = 16787552 :: Int32
-
-
-pattern KEY_braille_dots_6 = 16787488 :: Int32
-
-
-pattern KEY_braille_dots_58 = 16787600 :: Int32
-
-
-pattern KEY_braille_dots_578 = 16787664 :: Int32
-
-
-pattern KEY_braille_dots_57 = 16787536 :: Int32
-
-
-pattern KEY_braille_dots_568 = 16787632 :: Int32
-
-
-pattern KEY_braille_dots_5678 = 16787696 :: Int32
-
-
-pattern KEY_braille_dots_567 = 16787568 :: Int32
-
-
-pattern KEY_braille_dots_56 = 16787504 :: Int32
-
-
-pattern KEY_braille_dots_5 = 16787472 :: Int32
-
-
-pattern KEY_braille_dots_48 = 16787592 :: Int32
-
-
-pattern KEY_braille_dots_478 = 16787656 :: Int32
-
-
-pattern KEY_braille_dots_47 = 16787528 :: Int32
-
-
-pattern KEY_braille_dots_468 = 16787624 :: Int32
-
-
-pattern KEY_braille_dots_4678 = 16787688 :: Int32
-
-
-pattern KEY_braille_dots_467 = 16787560 :: Int32
-
-
-pattern KEY_braille_dots_46 = 16787496 :: Int32
-
-
-pattern KEY_braille_dots_458 = 16787608 :: Int32
-
-
-pattern KEY_braille_dots_4578 = 16787672 :: Int32
-
-
-pattern KEY_braille_dots_457 = 16787544 :: Int32
-
-
-pattern KEY_braille_dots_4568 = 16787640 :: Int32
-
-
-pattern KEY_braille_dots_45678 = 16787704 :: Int32
-
-
-pattern KEY_braille_dots_4567 = 16787576 :: Int32
-
-
-pattern KEY_braille_dots_456 = 16787512 :: Int32
-
-
-pattern KEY_braille_dots_45 = 16787480 :: Int32
-
-
-pattern KEY_braille_dots_4 = 16787464 :: Int32
-
-
-pattern KEY_braille_dots_38 = 16787588 :: Int32
-
-
-pattern KEY_braille_dots_378 = 16787652 :: Int32
-
-
-pattern KEY_braille_dots_37 = 16787524 :: Int32
-
-
-pattern KEY_braille_dots_368 = 16787620 :: Int32
-
-
-pattern KEY_braille_dots_3678 = 16787684 :: Int32
-
-
-pattern KEY_braille_dots_367 = 16787556 :: Int32
-
-
-pattern KEY_braille_dots_36 = 16787492 :: Int32
-
-
-pattern KEY_braille_dots_358 = 16787604 :: Int32
-
-
-pattern KEY_braille_dots_3578 = 16787668 :: Int32
-
-
-pattern KEY_braille_dots_357 = 16787540 :: Int32
-
-
-pattern KEY_braille_dots_3568 = 16787636 :: Int32
-
-
-pattern KEY_braille_dots_35678 = 16787700 :: Int32
-
-
-pattern KEY_braille_dots_3567 = 16787572 :: Int32
-
-
-pattern KEY_braille_dots_356 = 16787508 :: Int32
-
-
-pattern KEY_braille_dots_35 = 16787476 :: Int32
-
-
-pattern KEY_braille_dots_348 = 16787596 :: Int32
-
-
-pattern KEY_braille_dots_3478 = 16787660 :: Int32
-
-
-pattern KEY_braille_dots_347 = 16787532 :: Int32
-
-
-pattern KEY_braille_dots_3468 = 16787628 :: Int32
-
-
-pattern KEY_braille_dots_34678 = 16787692 :: Int32
-
-
-pattern KEY_braille_dots_3467 = 16787564 :: Int32
-
-
-pattern KEY_braille_dots_346 = 16787500 :: Int32
-
-
-pattern KEY_braille_dots_3458 = 16787612 :: Int32
-
-
-pattern KEY_braille_dots_34578 = 16787676 :: Int32
-
-
-pattern KEY_braille_dots_3457 = 16787548 :: Int32
-
-
-pattern KEY_braille_dots_34568 = 16787644 :: Int32
-
-
-pattern KEY_braille_dots_345678 = 16787708 :: Int32
-
-
-pattern KEY_braille_dots_34567 = 16787580 :: Int32
-
-
-pattern KEY_braille_dots_3456 = 16787516 :: Int32
-
-
-pattern KEY_braille_dots_345 = 16787484 :: Int32
-
-
-pattern KEY_braille_dots_34 = 16787468 :: Int32
-
-
-pattern KEY_braille_dots_3 = 16787460 :: Int32
-
-
-pattern KEY_braille_dots_28 = 16787586 :: Int32
-
-
-pattern KEY_braille_dots_278 = 16787650 :: Int32
-
-
-pattern KEY_braille_dots_27 = 16787522 :: Int32
-
-
-pattern KEY_braille_dots_268 = 16787618 :: Int32
-
-
-pattern KEY_braille_dots_2678 = 16787682 :: Int32
-
-
-pattern KEY_braille_dots_267 = 16787554 :: Int32
-
-
-pattern KEY_braille_dots_26 = 16787490 :: Int32
-
-
-pattern KEY_braille_dots_258 = 16787602 :: Int32
-
-
-pattern KEY_braille_dots_2578 = 16787666 :: Int32
-
-
-pattern KEY_braille_dots_257 = 16787538 :: Int32
-
-
-pattern KEY_braille_dots_2568 = 16787634 :: Int32
-
-
-pattern KEY_braille_dots_25678 = 16787698 :: Int32
-
-
-pattern KEY_braille_dots_2567 = 16787570 :: Int32
-
-
-pattern KEY_braille_dots_256 = 16787506 :: Int32
-
-
-pattern KEY_braille_dots_25 = 16787474 :: Int32
-
-
-pattern KEY_braille_dots_248 = 16787594 :: Int32
-
-
-pattern KEY_braille_dots_2478 = 16787658 :: Int32
-
-
-pattern KEY_braille_dots_247 = 16787530 :: Int32
-
-
-pattern KEY_braille_dots_2468 = 16787626 :: Int32
-
-
-pattern KEY_braille_dots_24678 = 16787690 :: Int32
-
-
-pattern KEY_braille_dots_2467 = 16787562 :: Int32
-
-
-pattern KEY_braille_dots_246 = 16787498 :: Int32
-
-
-pattern KEY_braille_dots_2458 = 16787610 :: Int32
-
-
-pattern KEY_braille_dots_24578 = 16787674 :: Int32
-
-
-pattern KEY_braille_dots_2457 = 16787546 :: Int32
-
-
-pattern KEY_braille_dots_24568 = 16787642 :: Int32
-
-
-pattern KEY_braille_dots_245678 = 16787706 :: Int32
-
-
-pattern KEY_braille_dots_24567 = 16787578 :: Int32
-
-
-pattern KEY_braille_dots_2456 = 16787514 :: Int32
-
-
-pattern KEY_braille_dots_245 = 16787482 :: Int32
-
-
-pattern KEY_braille_dots_24 = 16787466 :: Int32
-
-
-pattern KEY_braille_dots_238 = 16787590 :: Int32
-
-
-pattern KEY_braille_dots_2378 = 16787654 :: Int32
-
-
-pattern KEY_braille_dots_237 = 16787526 :: Int32
-
-
-pattern KEY_braille_dots_2368 = 16787622 :: Int32
-
-
-pattern KEY_braille_dots_23678 = 16787686 :: Int32
-
-
-pattern KEY_braille_dots_2367 = 16787558 :: Int32
-
-
-pattern KEY_braille_dots_236 = 16787494 :: Int32
-
-
-pattern KEY_braille_dots_2358 = 16787606 :: Int32
-
-
-pattern KEY_braille_dots_23578 = 16787670 :: Int32
-
-
-pattern KEY_braille_dots_2357 = 16787542 :: Int32
-
-
-pattern KEY_braille_dots_23568 = 16787638 :: Int32
-
-
-pattern KEY_braille_dots_235678 = 16787702 :: Int32
-
-
-pattern KEY_braille_dots_23567 = 16787574 :: Int32
-
-
-pattern KEY_braille_dots_2356 = 16787510 :: Int32
-
-
-pattern KEY_braille_dots_235 = 16787478 :: Int32
-
-
-pattern KEY_braille_dots_2348 = 16787598 :: Int32
-
-
-pattern KEY_braille_dots_23478 = 16787662 :: Int32
-
-
-pattern KEY_braille_dots_2347 = 16787534 :: Int32
-
-
-pattern KEY_braille_dots_23468 = 16787630 :: Int32
-
-
-pattern KEY_braille_dots_234678 = 16787694 :: Int32
-
-
-pattern KEY_braille_dots_23467 = 16787566 :: Int32
-
-
-pattern KEY_braille_dots_2346 = 16787502 :: Int32
-
-
-pattern KEY_braille_dots_23458 = 16787614 :: Int32
-
-
-pattern KEY_braille_dots_234578 = 16787678 :: Int32
-
-
-pattern KEY_braille_dots_23457 = 16787550 :: Int32
-
-
-pattern KEY_braille_dots_234568 = 16787646 :: Int32
-
-
-pattern KEY_braille_dots_2345678 = 16787710 :: Int32
-
-
-pattern KEY_braille_dots_234567 = 16787582 :: Int32
-
-
-pattern KEY_braille_dots_23456 = 16787518 :: Int32
-
-
-pattern KEY_braille_dots_2345 = 16787486 :: Int32
-
-
-pattern KEY_braille_dots_234 = 16787470 :: Int32
-
-
-pattern KEY_braille_dots_23 = 16787462 :: Int32
-
-
-pattern KEY_braille_dots_2 = 16787458 :: Int32
-
-
-pattern KEY_braille_dots_18 = 16787585 :: Int32
-
-
-pattern KEY_braille_dots_178 = 16787649 :: Int32
-
-
-pattern KEY_braille_dots_17 = 16787521 :: Int32
-
-
-pattern KEY_braille_dots_168 = 16787617 :: Int32
-
-
-pattern KEY_braille_dots_1678 = 16787681 :: Int32
-
-
-pattern KEY_braille_dots_167 = 16787553 :: Int32
-
-
-pattern KEY_braille_dots_16 = 16787489 :: Int32
-
-
-pattern KEY_braille_dots_158 = 16787601 :: Int32
-
-
-pattern KEY_braille_dots_1578 = 16787665 :: Int32
-
-
-pattern KEY_braille_dots_157 = 16787537 :: Int32
-
-
-pattern KEY_braille_dots_1568 = 16787633 :: Int32
-
-
-pattern KEY_braille_dots_15678 = 16787697 :: Int32
-
-
-pattern KEY_braille_dots_1567 = 16787569 :: Int32
-
-
-pattern KEY_braille_dots_156 = 16787505 :: Int32
-
-
-pattern KEY_braille_dots_15 = 16787473 :: Int32
-
-
-pattern KEY_braille_dots_148 = 16787593 :: Int32
-
-
-pattern KEY_braille_dots_1478 = 16787657 :: Int32
-
-
-pattern KEY_braille_dots_147 = 16787529 :: Int32
-
-
-pattern KEY_braille_dots_1468 = 16787625 :: Int32
-
-
-pattern KEY_braille_dots_14678 = 16787689 :: Int32
-
-
-pattern KEY_braille_dots_1467 = 16787561 :: Int32
-
-
-pattern KEY_braille_dots_146 = 16787497 :: Int32
-
-
-pattern KEY_braille_dots_1458 = 16787609 :: Int32
-
-
-pattern KEY_braille_dots_14578 = 16787673 :: Int32
-
-
-pattern KEY_braille_dots_1457 = 16787545 :: Int32
-
-
-pattern KEY_braille_dots_14568 = 16787641 :: Int32
-
-
-pattern KEY_braille_dots_145678 = 16787705 :: Int32
-
-
-pattern KEY_braille_dots_14567 = 16787577 :: Int32
-
-
-pattern KEY_braille_dots_1456 = 16787513 :: Int32
-
-
-pattern KEY_braille_dots_145 = 16787481 :: Int32
-
-
-pattern KEY_braille_dots_14 = 16787465 :: Int32
-
-
-pattern KEY_braille_dots_138 = 16787589 :: Int32
-
-
-pattern KEY_braille_dots_1378 = 16787653 :: Int32
-
-
-pattern KEY_braille_dots_137 = 16787525 :: Int32
-
-
-pattern KEY_braille_dots_1368 = 16787621 :: Int32
-
-
-pattern KEY_braille_dots_13678 = 16787685 :: Int32
-
-
-pattern KEY_braille_dots_1367 = 16787557 :: Int32
-
-
-pattern KEY_braille_dots_136 = 16787493 :: Int32
-
-
-pattern KEY_braille_dots_1358 = 16787605 :: Int32
-
-
-pattern KEY_braille_dots_13578 = 16787669 :: Int32
-
-
-pattern KEY_braille_dots_1357 = 16787541 :: Int32
-
-
-pattern KEY_braille_dots_13568 = 16787637 :: Int32
-
-
-pattern KEY_braille_dots_135678 = 16787701 :: Int32
-
-
-pattern KEY_braille_dots_13567 = 16787573 :: Int32
-
-
-pattern KEY_braille_dots_1356 = 16787509 :: Int32
-
-
-pattern KEY_braille_dots_135 = 16787477 :: Int32
-
-
-pattern KEY_braille_dots_1348 = 16787597 :: Int32
-
-
-pattern KEY_braille_dots_13478 = 16787661 :: Int32
-
-
-pattern KEY_braille_dots_1347 = 16787533 :: Int32
-
-
-pattern KEY_braille_dots_13468 = 16787629 :: Int32
-
-
-pattern KEY_braille_dots_134678 = 16787693 :: Int32
-
-
-pattern KEY_braille_dots_13467 = 16787565 :: Int32
-
-
-pattern KEY_braille_dots_1346 = 16787501 :: Int32
-
-
-pattern KEY_braille_dots_13458 = 16787613 :: Int32
-
-
-pattern KEY_braille_dots_134578 = 16787677 :: Int32
-
-
-pattern KEY_braille_dots_13457 = 16787549 :: Int32
-
-
-pattern KEY_braille_dots_134568 = 16787645 :: Int32
-
-
-pattern KEY_braille_dots_1345678 = 16787709 :: Int32
-
-
-pattern KEY_braille_dots_134567 = 16787581 :: Int32
-
-
-pattern KEY_braille_dots_13456 = 16787517 :: Int32
-
-
-pattern KEY_braille_dots_1345 = 16787485 :: Int32
-
-
-pattern KEY_braille_dots_134 = 16787469 :: Int32
-
-
-pattern KEY_braille_dots_13 = 16787461 :: Int32
-
-
-pattern KEY_braille_dots_128 = 16787587 :: Int32
-
-
-pattern KEY_braille_dots_1278 = 16787651 :: Int32
-
-
-pattern KEY_braille_dots_127 = 16787523 :: Int32
-
-
-pattern KEY_braille_dots_1268 = 16787619 :: Int32
-
-
-pattern KEY_braille_dots_12678 = 16787683 :: Int32
-
-
-pattern KEY_braille_dots_1267 = 16787555 :: Int32
-
-
-pattern KEY_braille_dots_126 = 16787491 :: Int32
-
-
-pattern KEY_braille_dots_1258 = 16787603 :: Int32
-
-
-pattern KEY_braille_dots_12578 = 16787667 :: Int32
-
-
-pattern KEY_braille_dots_1257 = 16787539 :: Int32
-
-
-pattern KEY_braille_dots_12568 = 16787635 :: Int32
-
-
-pattern KEY_braille_dots_125678 = 16787699 :: Int32
-
-
-pattern KEY_braille_dots_12567 = 16787571 :: Int32
-
-
-pattern KEY_braille_dots_1256 = 16787507 :: Int32
-
-
-pattern KEY_braille_dots_125 = 16787475 :: Int32
-
-
-pattern KEY_braille_dots_1248 = 16787595 :: Int32
-
-
-pattern KEY_braille_dots_12478 = 16787659 :: Int32
-
-
-pattern KEY_braille_dots_1247 = 16787531 :: Int32
-
-
-pattern KEY_braille_dots_12468 = 16787627 :: Int32
-
-
-pattern KEY_braille_dots_124678 = 16787691 :: Int32
-
-
-pattern KEY_braille_dots_12467 = 16787563 :: Int32
-
-
-pattern KEY_braille_dots_1246 = 16787499 :: Int32
-
-
-pattern KEY_braille_dots_12458 = 16787611 :: Int32
-
-
-pattern KEY_braille_dots_124578 = 16787675 :: Int32
-
-
-pattern KEY_braille_dots_12457 = 16787547 :: Int32
-
-
-pattern KEY_braille_dots_124568 = 16787643 :: Int32
-
-
-pattern KEY_braille_dots_1245678 = 16787707 :: Int32
-
-
-pattern KEY_braille_dots_124567 = 16787579 :: Int32
-
-
-pattern KEY_braille_dots_12456 = 16787515 :: Int32
-
-
-pattern KEY_braille_dots_1245 = 16787483 :: Int32
-
-
-pattern KEY_braille_dots_124 = 16787467 :: Int32
-
-
-pattern KEY_braille_dots_1238 = 16787591 :: Int32
-
-
-pattern KEY_braille_dots_12378 = 16787655 :: Int32
-
-
-pattern KEY_braille_dots_1237 = 16787527 :: Int32
-
-
-pattern KEY_braille_dots_12368 = 16787623 :: Int32
-
-
-pattern KEY_braille_dots_123678 = 16787687 :: Int32
-
-
-pattern KEY_braille_dots_12367 = 16787559 :: Int32
-
-
-pattern KEY_braille_dots_1236 = 16787495 :: Int32
-
-
-pattern KEY_braille_dots_12358 = 16787607 :: Int32
-
-
-pattern KEY_braille_dots_123578 = 16787671 :: Int32
-
-
-pattern KEY_braille_dots_12357 = 16787543 :: Int32
-
-
-pattern KEY_braille_dots_123568 = 16787639 :: Int32
-
-
-pattern KEY_braille_dots_1235678 = 16787703 :: Int32
-
-
-pattern KEY_braille_dots_123567 = 16787575 :: Int32
-
-
-pattern KEY_braille_dots_12356 = 16787511 :: Int32
-
-
-pattern KEY_braille_dots_1235 = 16787479 :: Int32
-
-
-pattern KEY_braille_dots_12348 = 16787599 :: Int32
-
-
-pattern KEY_braille_dots_123478 = 16787663 :: Int32
-
-
-pattern KEY_braille_dots_12347 = 16787535 :: Int32
-
-
-pattern KEY_braille_dots_123468 = 16787631 :: Int32
-
-
-pattern KEY_braille_dots_1234678 = 16787695 :: Int32
-
-
-pattern KEY_braille_dots_123467 = 16787567 :: Int32
-
-
-pattern KEY_braille_dots_12346 = 16787503 :: Int32
-
-
-pattern KEY_braille_dots_123458 = 16787615 :: Int32
-
-
-pattern KEY_braille_dots_1234578 = 16787679 :: Int32
-
-
-pattern KEY_braille_dots_123457 = 16787551 :: Int32
-
-
-pattern KEY_braille_dots_1234568 = 16787647 :: Int32
-
-
-pattern KEY_braille_dots_12345678 = 16787711 :: Int32
-
-
-pattern KEY_braille_dots_1234567 = 16787583 :: Int32
-
-
-pattern KEY_braille_dots_123456 = 16787519 :: Int32
-
-
-pattern KEY_braille_dots_12345 = 16787487 :: Int32
-
-
-pattern KEY_braille_dots_1234 = 16787471 :: Int32
-
-
-pattern KEY_braille_dots_123 = 16787463 :: Int32
-
-
-pattern KEY_braille_dots_12 = 16787459 :: Int32
-
-
-pattern KEY_braille_dots_1 = 16787457 :: Int32
-
-
-pattern KEY_braille_dot_9 = 65529 :: Int32
-
-
-pattern KEY_braille_dot_8 = 65528 :: Int32
-
-
-pattern KEY_braille_dot_7 = 65527 :: Int32
-
-
-pattern KEY_braille_dot_6 = 65526 :: Int32
-
-
-pattern KEY_braille_dot_5 = 65525 :: Int32
-
-
-pattern KEY_braille_dot_4 = 65524 :: Int32
-
-
-pattern KEY_braille_dot_3 = 65523 :: Int32
-
-
-pattern KEY_braille_dot_2 = 65522 :: Int32
-
-
-pattern KEY_braille_dot_10 = 65530 :: Int32
-
-
-pattern KEY_braille_dot_1 = 65521 :: Int32
-
-
-pattern KEY_braille_blank = 16787456 :: Int32
-
-
-pattern KEY_bracketright = 93 :: Int32
-
-
-pattern KEY_bracketleft = 91 :: Int32
-
-
-pattern KEY_braceright = 125 :: Int32
-
-
-pattern KEY_braceleft = 123 :: Int32
-
-
-pattern KEY_botvertsummationconnector = 2228 :: Int32
-
-
-pattern KEY_bott = 2550 :: Int32
-
-
-pattern KEY_botrightsummation = 2230 :: Int32
-
-
-pattern KEY_botrightsqbracket = 2218 :: Int32
-
-
-pattern KEY_botrightparens = 2222 :: Int32
-
-
-pattern KEY_botleftsummation = 2226 :: Int32
-
-
-pattern KEY_botleftsqbracket = 2216 :: Int32
-
-
-pattern KEY_botleftparens = 2220 :: Int32
-
-
-pattern KEY_botintegral = 2213 :: Int32
-
-
-pattern KEY_blank = 2527 :: Int32
-
-
-pattern KEY_because = 16785973 :: Int32
-
-
-pattern KEY_bar = 124 :: Int32
-
-
-pattern KEY_ballotcross = 2804 :: Int32
-
-
-pattern KEY_backslash = 92 :: Int32
-
-
-pattern KEY_babovedot = 16784899 :: Int32
-
-
-pattern KEY_b = 98 :: Int32
-
-
-pattern KEY_atilde = 227 :: Int32
-
-
-pattern KEY_at = 64 :: Int32
-
-
-pattern KEY_asterisk = 42 :: Int32
-
-
-pattern KEY_asciitilde = 126 :: Int32
-
-
-pattern KEY_asciicircum = 94 :: Int32
-
-
-pattern KEY_aring = 229 :: Int32
-
-
-pattern KEY_approximate = 2248 :: Int32
-
-
-pattern KEY_approxeq = 16785992 :: Int32
-
-
-pattern KEY_apostrophe = 39 :: Int32
-
-
-pattern KEY_aogonek = 433 :: Int32
-
-
-pattern KEY_ampersand = 38 :: Int32
-
-
-pattern KEY_amacron = 992 :: Int32
-
-
-pattern KEY_ahook = 16785059 :: Int32
-
-
-pattern KEY_agrave = 224 :: Int32
-
-
-pattern KEY_ae = 230 :: Int32
-
-
-pattern KEY_adiaeresis = 228 :: Int32
-
-
-pattern KEY_acute = 180 :: Int32
-
-
-pattern KEY_acircumflextilde = 16785067 :: Int32
-
-
-pattern KEY_acircumflexhook = 16785065 :: Int32
-
-
-pattern KEY_acircumflexgrave = 16785063 :: Int32
-
-
-pattern KEY_acircumflexbelowdot = 16785069 :: Int32
-
-
-pattern KEY_acircumflexacute = 16785061 :: Int32
-
-
-pattern KEY_acircumflex = 226 :: Int32
-
-
-pattern KEY_abrevetilde = 16785077 :: Int32
-
-
-pattern KEY_abrevehook = 16785075 :: Int32
-
-
-pattern KEY_abrevegrave = 16785073 :: Int32
-
-
-pattern KEY_abrevebelowdot = 16785079 :: Int32
-
-
-pattern KEY_abreveacute = 16785071 :: Int32
-
-
-pattern KEY_abreve = 483 :: Int32
-
-
-pattern KEY_abovedot = 511 :: Int32
-
-
-pattern KEY_abelowdot = 16785057 :: Int32
-
-
-pattern KEY_aacute = 225 :: Int32
-
-
-pattern KEY_a = 97 :: Int32
-
-
-pattern KEY_Zstroke = 16777653 :: Int32
-
-
-pattern KEY_ZoomOut = 269025164 :: Int32
-
-
-pattern KEY_ZoomIn = 269025163 :: Int32
-
-
-pattern KEY_Zenkaku_Hankaku = 65322 :: Int32
-
-
-pattern KEY_Zenkaku = 65320 :: Int32
-
-
-pattern KEY_Zen_Koho = 65341 :: Int32
-
-
-pattern KEY_Zcaron = 430 :: Int32
-
-
-pattern KEY_Zacute = 428 :: Int32
-
-
-pattern KEY_Zabovedot = 431 :: Int32
-
-
-pattern KEY_Z = 90 :: Int32
-
-
-pattern KEY_Ytilde = 16785144 :: Int32
-
-
-pattern KEY_Yhook = 16785142 :: Int32
-
-
-pattern KEY_Ygrave = 16785138 :: Int32
-
-
-pattern KEY_Yellow = 269025189 :: Int32
-
-
-pattern KEY_Ydiaeresis = 5054 :: Int32
-
-
-pattern KEY_Ycircumflex = 16777590 :: Int32
-
-
-pattern KEY_Ybelowdot = 16785140 :: Int32
-
-
-pattern KEY_Yacute = 221 :: Int32
-
-
-pattern KEY_Y = 89 :: Int32
-
-
-pattern KEY_Xfer = 269025162 :: Int32
-
-
-pattern KEY_Xabovedot = 16785034 :: Int32
-
-
-pattern KEY_X = 88 :: Int32
-
-
-pattern KEY_Word = 269025161 :: Int32
-
-
-pattern KEY_WonSign = 16785577 :: Int32
-
-
-pattern KEY_WindowClear = 269025109 :: Int32
-
-
-pattern KEY_WheelButton = 269025160 :: Int32
-
-
-pattern KEY_Wgrave = 16785024 :: Int32
-
-
-pattern KEY_WebCam = 269025167 :: Int32
-
-
-pattern KEY_Wdiaeresis = 16785028 :: Int32
-
-
-pattern KEY_Wcircumflex = 16777588 :: Int32
-
-
-pattern KEY_WakeUp = 269025067 :: Int32
-
-
-pattern KEY_Wacute = 16785026 :: Int32
-
-
-pattern KEY_WWW = 269025070 :: Int32
-
-
-pattern KEY_WLAN = 269025173 :: Int32
-
-
-pattern KEY_W = 87 :: Int32
-
-
-pattern KEY_VoidSymbol = 16777215 :: Int32
-
-
-pattern KEY_View = 269025185 :: Int32
-
-
-pattern KEY_Video = 269025159 :: Int32
-
-
-pattern KEY_VendorHome = 269025076 :: Int32
-
-
-pattern KEY_V = 86 :: Int32
-
-
-pattern KEY_Utilde = 989 :: Int32
-
-
-pattern KEY_UserPB = 269025156 :: Int32
-
-
-pattern KEY_User2KB = 269025158 :: Int32
-
-
-pattern KEY_User1KB = 269025157 :: Int32
-
-
-pattern KEY_Uring = 473 :: Int32
-
-
-pattern KEY_Up = 65362 :: Int32
-
-
-pattern KEY_Uogonek = 985 :: Int32
-
-
-pattern KEY_Ungrab = 269024800 :: Int32
-
-
-pattern KEY_Undo = 65381 :: Int32
-
-
-pattern KEY_Umacron = 990 :: Int32
-
-
-pattern KEY_Ukranian_yi = 1703 :: Int32
-
-
-pattern KEY_Ukranian_je = 1700 :: Int32
-
-
-pattern KEY_Ukranian_i = 1702 :: Int32
-
-
-pattern KEY_Ukranian_YI = 1719 :: Int32
-
-
-pattern KEY_Ukranian_JE = 1716 :: Int32
-
-
-pattern KEY_Ukranian_I = 1718 :: Int32
-
-
-pattern KEY_Ukrainian_yi = 1703 :: Int32
-
-
-pattern KEY_Ukrainian_ie = 1700 :: Int32
-
-
-pattern KEY_Ukrainian_i = 1702 :: Int32
-
-
-pattern KEY_Ukrainian_ghe_with_upturn = 1709 :: Int32
-
-
-pattern KEY_Ukrainian_YI = 1719 :: Int32
-
-
-pattern KEY_Ukrainian_IE = 1716 :: Int32
-
-
-pattern KEY_Ukrainian_I = 1718 :: Int32
-
-
-pattern KEY_Ukrainian_GHE_WITH_UPTURN = 1725 :: Int32
-
-
-pattern KEY_Uhorntilde = 16785134 :: Int32
-
-
-pattern KEY_Uhornhook = 16785132 :: Int32
-
-
-pattern KEY_Uhorngrave = 16785130 :: Int32
-
-
-pattern KEY_Uhornbelowdot = 16785136 :: Int32
-
-
-pattern KEY_Uhornacute = 16785128 :: Int32
-
-
-pattern KEY_Uhorn = 16777647 :: Int32
-
-
-pattern KEY_Uhook = 16785126 :: Int32
-
-
-pattern KEY_Ugrave = 217 :: Int32
-
-
-pattern KEY_Udoubleacute = 475 :: Int32
-
-
-pattern KEY_Udiaeresis = 220 :: Int32
-
-
-pattern KEY_Ucircumflex = 219 :: Int32
-
-
-pattern KEY_Ubreve = 733 :: Int32
-
-
-pattern KEY_Ubelowdot = 16785124 :: Int32
-
-
-pattern KEY_Uacute = 218 :: Int32
-
-
-pattern KEY_UWB = 269025174 :: Int32
-
-
-pattern KEY_U = 85 :: Int32
-
-
-pattern KEY_Tslash = 940 :: Int32
-
-
-pattern KEY_Travel = 269025154 :: Int32
-
-
-pattern KEY_Touroku = 65323 :: Int32
-
-
-pattern KEY_TouchpadToggle = 269025193 :: Int32
-
-
-pattern KEY_TouchpadOn = 269025200 :: Int32
-
-
-pattern KEY_TouchpadOff = 269025201 :: Int32
-
-
-pattern KEY_TopMenu = 269025186 :: Int32
-
-
-pattern KEY_Tools = 269025153 :: Int32
-
-
-pattern KEY_ToDoList = 269025055 :: Int32
-
-
-pattern KEY_Time = 269025183 :: Int32
-
-
-pattern KEY_Thorn = 222 :: Int32
-
-
-pattern KEY_Thai_yoying = 3501 :: Int32
-
-
-pattern KEY_Thai_yoyak = 3522 :: Int32
-
-
-pattern KEY_Thai_wowaen = 3527 :: Int32
-
-
-pattern KEY_Thai_totao = 3509 :: Int32
-
-
-pattern KEY_Thai_topatak = 3503 :: Int32
-
-
-pattern KEY_Thai_thothung = 3510 :: Int32
-
-
-pattern KEY_Thai_thothong = 3512 :: Int32
-
-
-pattern KEY_Thai_thothan = 3504 :: Int32
-
-
-pattern KEY_Thai_thothahan = 3511 :: Int32
-
-
-pattern KEY_Thai_thophuthao = 3506 :: Int32
-
-
-pattern KEY_Thai_thonangmontho = 3505 :: Int32
-
-
-pattern KEY_Thai_thanthakhat = 3564 :: Int32
-
-
-pattern KEY_Thai_sosua = 3530 :: Int32
-
-
-pattern KEY_Thai_soso = 3499 :: Int32
-
-
-pattern KEY_Thai_sosala = 3528 :: Int32
-
-
-pattern KEY_Thai_sorusi = 3529 :: Int32
-
-
-pattern KEY_Thai_sarauu = 3545 :: Int32
-
-
-pattern KEY_Thai_sarauee = 3543 :: Int32
-
-
-pattern KEY_Thai_saraue = 3542 :: Int32
-
-
-pattern KEY_Thai_sarau = 3544 :: Int32
-
-
-pattern KEY_Thai_sarao = 3554 :: Int32
-
-
-pattern KEY_Thai_saraii = 3541 :: Int32
-
-
-pattern KEY_Thai_sarai = 3540 :: Int32
-
-
-pattern KEY_Thai_sarae = 3552 :: Int32
-
-
-pattern KEY_Thai_saraam = 3539 :: Int32
-
-
-pattern KEY_Thai_saraaimaimuan = 3555 :: Int32
-
-
-pattern KEY_Thai_saraaimaimalai = 3556 :: Int32
-
-
-pattern KEY_Thai_saraae = 3553 :: Int32
-
-
-pattern KEY_Thai_saraaa = 3538 :: Int32
-
-
-pattern KEY_Thai_saraa = 3536 :: Int32
-
-
-pattern KEY_Thai_ru = 3524 :: Int32
-
-
-pattern KEY_Thai_rorua = 3523 :: Int32
-
-
-pattern KEY_Thai_popla = 3515 :: Int32
-
-
-pattern KEY_Thai_phosamphao = 3520 :: Int32
-
-
-pattern KEY_Thai_phophung = 3516 :: Int32
-
-
-pattern KEY_Thai_phophan = 3518 :: Int32
-
-
-pattern KEY_Thai_phinthu = 3546 :: Int32
-
-
-pattern KEY_Thai_paiyannoi = 3535 :: Int32
-
-
-pattern KEY_Thai_oang = 3533 :: Int32
-
-
-pattern KEY_Thai_nonu = 3513 :: Int32
-
-
-pattern KEY_Thai_nonen = 3507 :: Int32
-
-
-pattern KEY_Thai_nikhahit = 3565 :: Int32
-
-
-pattern KEY_Thai_ngongu = 3495 :: Int32
-
-
-pattern KEY_Thai_moma = 3521 :: Int32
-
-
-pattern KEY_Thai_maiyamok = 3558 :: Int32
-
-
-pattern KEY_Thai_maitri = 3562 :: Int32
-
-
-pattern KEY_Thai_maitho = 3561 :: Int32
-
-
-pattern KEY_Thai_maitaikhu = 3559 :: Int32
-
-
-pattern KEY_Thai_maihanakat_maitho = 3550 :: Int32
-
-
-pattern KEY_Thai_maihanakat = 3537 :: Int32
-
-
-pattern KEY_Thai_maiek = 3560 :: Int32
-
-
-pattern KEY_Thai_maichattawa = 3563 :: Int32
-
-
-pattern KEY_Thai_lu = 3526 :: Int32
-
-
-pattern KEY_Thai_loling = 3525 :: Int32
-
-
-pattern KEY_Thai_lochula = 3532 :: Int32
-
-
-pattern KEY_Thai_leksun = 3568 :: Int32
-
-
-pattern KEY_Thai_leksong = 3570 :: Int32
-
-
-pattern KEY_Thai_leksi = 3572 :: Int32
-
-
-pattern KEY_Thai_leksam = 3571 :: Int32
-
-
-pattern KEY_Thai_lekpaet = 3576 :: Int32
-
-
-pattern KEY_Thai_leknung = 3569 :: Int32
-
-
-pattern KEY_Thai_lekkao = 3577 :: Int32
-
-
-pattern KEY_Thai_lekhok = 3574 :: Int32
-
-
-pattern KEY_Thai_lekha = 3573 :: Int32
-
-
-pattern KEY_Thai_lekchet = 3575 :: Int32
-
-
-pattern KEY_Thai_lakkhangyao = 3557 :: Int32
-
-
-pattern KEY_Thai_kokai = 3489 :: Int32
-
-
-pattern KEY_Thai_khorakhang = 3494 :: Int32
-
-
-pattern KEY_Thai_khokhwai = 3492 :: Int32
-
-
-pattern KEY_Thai_khokhuat = 3491 :: Int32
-
-
-pattern KEY_Thai_khokhon = 3493 :: Int32
-
-
-pattern KEY_Thai_khokhai = 3490 :: Int32
-
-
-pattern KEY_Thai_honokhuk = 3534 :: Int32
-
-
-pattern KEY_Thai_hohip = 3531 :: Int32
-
-
-pattern KEY_Thai_fofan = 3519 :: Int32
-
-
-pattern KEY_Thai_fofa = 3517 :: Int32
-
-
-pattern KEY_Thai_dodek = 3508 :: Int32
-
-
-pattern KEY_Thai_dochada = 3502 :: Int32
-
-
-pattern KEY_Thai_chochoe = 3500 :: Int32
-
-
-pattern KEY_Thai_choching = 3497 :: Int32
-
-
-pattern KEY_Thai_chochang = 3498 :: Int32
-
-
-pattern KEY_Thai_chochan = 3496 :: Int32
-
-
-pattern KEY_Thai_bobaimai = 3514 :: Int32
-
-
-pattern KEY_Thai_baht = 3551 :: Int32
-
-
-pattern KEY_Terminate_Server = 65237 :: Int32
-
-
-pattern KEY_Terminal = 269025152 :: Int32
-
-
-pattern KEY_Tcedilla = 478 :: Int32
-
-
-pattern KEY_Tcaron = 427 :: Int32
-
-
-pattern KEY_TaskPane = 269025151 :: Int32
-
-
-pattern KEY_Tabovedot = 16785002 :: Int32
-
-
-pattern KEY_Tab = 65289 :: Int32
-
-
-pattern KEY_THORN = 222 :: Int32
-
-
-pattern KEY_T = 84 :: Int32
-
-
-pattern KEY_Sys_Req = 65301 :: Int32
-
-
-pattern KEY_Switch_VT_9 = 269024777 :: Int32
-
-
-pattern KEY_Switch_VT_8 = 269024776 :: Int32
-
-
-pattern KEY_Switch_VT_7 = 269024775 :: Int32
-
-
-pattern KEY_Switch_VT_6 = 269024774 :: Int32
-
-
-pattern KEY_Switch_VT_5 = 269024773 :: Int32
-
-
-pattern KEY_Switch_VT_4 = 269024772 :: Int32
-
-
-pattern KEY_Switch_VT_3 = 269024771 :: Int32
-
-
-pattern KEY_Switch_VT_2 = 269024770 :: Int32
-
-
-pattern KEY_Switch_VT_12 = 269024780 :: Int32
-
-
-pattern KEY_Switch_VT_11 = 269024779 :: Int32
-
-
-pattern KEY_Switch_VT_10 = 269024778 :: Int32
-
-
-pattern KEY_Switch_VT_1 = 269024769 :: Int32
-
-
-pattern KEY_Suspend = 269025191 :: Int32
-
-
-pattern KEY_Support = 269025150 :: Int32
-
-
-pattern KEY_Super_R = 65516 :: Int32
-
-
-pattern KEY_Super_L = 65515 :: Int32
-
-
-pattern KEY_Subtitle = 269025178 :: Int32
-
-
-pattern KEY_Stop = 269025064 :: Int32
-
-
-pattern KEY_StickyKeys_Enable = 65141 :: Int32
-
-
-pattern KEY_Start = 269025050 :: Int32
-
-
-pattern KEY_Standby = 269025040 :: Int32
-
-
-pattern KEY_SplitScreen = 269025149 :: Int32
-
-
-pattern KEY_Spell = 269025148 :: Int32
-
-
-pattern KEY_SlowKeys_Enable = 65139 :: Int32
-
-
-pattern KEY_Sleep = 269025071 :: Int32
-
-
-pattern KEY_Sinh_ya = 16780730 :: Int32
-
-
-pattern KEY_Sinh_va = 16780736 :: Int32
-
-
-pattern KEY_Sinh_uu2 = 16780758 :: Int32
-
-
-pattern KEY_Sinh_uu = 16780684 :: Int32
-
-
-pattern KEY_Sinh_u2 = 16780756 :: Int32
-
-
-pattern KEY_Sinh_u = 16780683 :: Int32
-
-
-pattern KEY_Sinh_ttha = 16780712 :: Int32
-
-
-pattern KEY_Sinh_tta = 16780711 :: Int32
-
-
-pattern KEY_Sinh_thha = 16780718 :: Int32
-
-
-pattern KEY_Sinh_tha = 16780717 :: Int32
-
-
-pattern KEY_Sinh_ssha = 16780738 :: Int32
-
-
-pattern KEY_Sinh_sha = 16780737 :: Int32
-
-
-pattern KEY_Sinh_sa = 16780739 :: Int32
-
-
-pattern KEY_Sinh_ruu2 = 16780786 :: Int32
-
-
-pattern KEY_Sinh_ru2 = 16780760 :: Int32
-
-
-pattern KEY_Sinh_rii = 16780686 :: Int32
-
-
-pattern KEY_Sinh_ri = 16780685 :: Int32
-
-
-pattern KEY_Sinh_ra = 16780731 :: Int32
-
-
-pattern KEY_Sinh_pha = 16780725 :: Int32
-
-
-pattern KEY_Sinh_pa = 16780724 :: Int32
-
-
-pattern KEY_Sinh_oo2 = 16780765 :: Int32
-
-
-pattern KEY_Sinh_oo = 16780693 :: Int32
-
-
-pattern KEY_Sinh_o2 = 16780764 :: Int32
-
-
-pattern KEY_Sinh_o = 16780692 :: Int32
-
-
-pattern KEY_Sinh_nya = 16780708 :: Int32
-
-
-pattern KEY_Sinh_nna = 16780715 :: Int32
-
-
-pattern KEY_Sinh_nja = 16780710 :: Int32
-
-
-pattern KEY_Sinh_nga = 16780703 :: Int32
-
-
-pattern KEY_Sinh_ng2 = 16780702 :: Int32
-
-
-pattern KEY_Sinh_ng = 16780674 :: Int32
-
-
-pattern KEY_Sinh_ndha = 16780723 :: Int32
-
-
-pattern KEY_Sinh_ndda = 16780716 :: Int32
-
-
-pattern KEY_Sinh_na = 16780721 :: Int32
-
-
-pattern KEY_Sinh_mba = 16780729 :: Int32
-
-
-pattern KEY_Sinh_ma = 16780728 :: Int32
-
-
-pattern KEY_Sinh_luu2 = 16780787 :: Int32
-
-
-pattern KEY_Sinh_luu = 16780688 :: Int32
-
-
-pattern KEY_Sinh_lu2 = 16780767 :: Int32
-
-
-pattern KEY_Sinh_lu = 16780687 :: Int32
-
-
-pattern KEY_Sinh_lla = 16780741 :: Int32
-
-
-pattern KEY_Sinh_la = 16780733 :: Int32
-
-
-pattern KEY_Sinh_kunddaliya = 16780788 :: Int32
-
-
-pattern KEY_Sinh_kha = 16780699 :: Int32
-
-
-pattern KEY_Sinh_ka = 16780698 :: Int32
-
-
-pattern KEY_Sinh_jnya = 16780709 :: Int32
-
-
-pattern KEY_Sinh_jha = 16780707 :: Int32
-
-
-pattern KEY_Sinh_ja = 16780706 :: Int32
-
-
-pattern KEY_Sinh_ii2 = 16780755 :: Int32
-
-
-pattern KEY_Sinh_ii = 16780682 :: Int32
-
-
-pattern KEY_Sinh_i2 = 16780754 :: Int32
-
-
-pattern KEY_Sinh_i = 16780681 :: Int32
-
-
-pattern KEY_Sinh_ha = 16780740 :: Int32
-
-
-pattern KEY_Sinh_h2 = 16780675 :: Int32
-
-
-pattern KEY_Sinh_gha = 16780701 :: Int32
-
-
-pattern KEY_Sinh_ga = 16780700 :: Int32
-
-
-pattern KEY_Sinh_fa = 16780742 :: Int32
-
-
-pattern KEY_Sinh_ee2 = 16780762 :: Int32
-
-
-pattern KEY_Sinh_ee = 16780690 :: Int32
-
-
-pattern KEY_Sinh_e2 = 16780761 :: Int32
-
-
-pattern KEY_Sinh_e = 16780689 :: Int32
-
-
-pattern KEY_Sinh_dhha = 16780720 :: Int32
-
-
-pattern KEY_Sinh_dha = 16780719 :: Int32
-
-
-pattern KEY_Sinh_ddha = 16780714 :: Int32
-
-
-pattern KEY_Sinh_dda = 16780713 :: Int32
-
-
-pattern KEY_Sinh_cha = 16780705 :: Int32
-
-
-pattern KEY_Sinh_ca = 16780704 :: Int32
-
-
-pattern KEY_Sinh_bha = 16780727 :: Int32
-
-
-pattern KEY_Sinh_ba = 16780726 :: Int32
-
-
-pattern KEY_Sinh_au2 = 16780766 :: Int32
-
-
-pattern KEY_Sinh_au = 16780694 :: Int32
-
-
-pattern KEY_Sinh_al = 16780746 :: Int32
-
-
-pattern KEY_Sinh_ai2 = 16780763 :: Int32
-
-
-pattern KEY_Sinh_ai = 16780691 :: Int32
-
-
-pattern KEY_Sinh_aee2 = 16780753 :: Int32
-
-
-pattern KEY_Sinh_aee = 16780680 :: Int32
-
-
-pattern KEY_Sinh_ae2 = 16780752 :: Int32
-
-
-pattern KEY_Sinh_ae = 16780679 :: Int32
-
-
-pattern KEY_Sinh_aa2 = 16780751 :: Int32
-
-
-pattern KEY_Sinh_aa = 16780678 :: Int32
-
-
-pattern KEY_Sinh_a = 16780677 :: Int32
-
-
-pattern KEY_SingleCandidate = 65340 :: Int32
-
-
-pattern KEY_Shop = 269025078 :: Int32
-
-
-pattern KEY_Shift_R = 65506 :: Int32
-
-
-pattern KEY_Shift_Lock = 65510 :: Int32
-
-
-pattern KEY_Shift_L = 65505 :: Int32
-
-
-pattern KEY_Serbian_tshe = 1707 :: Int32
-
-
-pattern KEY_Serbian_nje = 1706 :: Int32
-
-
-pattern KEY_Serbian_lje = 1705 :: Int32
-
-
-pattern KEY_Serbian_je = 1704 :: Int32
-
-
-pattern KEY_Serbian_dze = 1711 :: Int32
-
-
-pattern KEY_Serbian_dje = 1697 :: Int32
-
-
-pattern KEY_Serbian_TSHE = 1723 :: Int32
-
-
-pattern KEY_Serbian_NJE = 1722 :: Int32
-
-
-pattern KEY_Serbian_LJE = 1721 :: Int32
-
-
-pattern KEY_Serbian_JE = 1720 :: Int32
-
-
-pattern KEY_Serbian_DZE = 1727 :: Int32
-
-
-pattern KEY_Serbian_DJE = 1713 :: Int32
-
-
-pattern KEY_Send = 269025147 :: Int32
-
-
-pattern KEY_SelectButton = 269025184 :: Int32
-
-
-pattern KEY_Select = 65376 :: Int32
-
-
-pattern KEY_Search = 269025051 :: Int32
-
-
-pattern KEY_Scroll_Lock = 65300 :: Int32
-
-
-pattern KEY_ScrollUp = 269025144 :: Int32
-
-
-pattern KEY_ScrollDown = 269025145 :: Int32
-
-
-pattern KEY_ScrollClick = 269025146 :: Int32
-
-
-pattern KEY_ScreenSaver = 269025069 :: Int32
-
-
-pattern KEY_Scircumflex = 734 :: Int32
-
-
-pattern KEY_Scedilla = 426 :: Int32
-
-
-pattern KEY_Scaron = 425 :: Int32
-
-
-pattern KEY_Save = 269025143 :: Int32
-
-
-pattern KEY_Sacute = 422 :: Int32
-
-
-pattern KEY_Sabovedot = 16784992 :: Int32
-
-
-pattern KEY_SCHWA = 16777615 :: Int32
-
-
-pattern KEY_S = 83 :: Int32
-
-
-pattern KEY_RupeeSign = 16785576 :: Int32
-
-
-pattern KEY_RotationPB = 269025141 :: Int32
-
-
-pattern KEY_RotationKB = 269025142 :: Int32
-
-
-pattern KEY_RotateWindows = 269025140 :: Int32
-
-
-pattern KEY_Romaji = 65316 :: Int32
-
-
-pattern KEY_RockerUp = 269025059 :: Int32
-
-
-pattern KEY_RockerEnter = 269025061 :: Int32
-
-
-pattern KEY_RockerDown = 269025060 :: Int32
-
-
-pattern KEY_Right = 65363 :: Int32
-
-
-pattern KEY_Return = 65293 :: Int32
-
-
-pattern KEY_Reply = 269025138 :: Int32
-
-
-pattern KEY_RepeatKeys_Enable = 65138 :: Int32
-
-
-pattern KEY_Reload = 269025139 :: Int32
-
-
-pattern KEY_Refresh = 269025065 :: Int32
-
-
-pattern KEY_Redo = 65382 :: Int32
-
-
-pattern KEY_Red = 269025187 :: Int32
-
-
-pattern KEY_Rcedilla = 931 :: Int32
-
-
-pattern KEY_Rcaron = 472 :: Int32
-
-
-pattern KEY_Racute = 448 :: Int32
-
-
-pattern KEY_R9 = 65498 :: Int32
-
-
-pattern KEY_R8 = 65497 :: Int32
-
-
-pattern KEY_R7 = 65496 :: Int32
-
-
-pattern KEY_R6 = 65495 :: Int32
-
-
-pattern KEY_R5 = 65494 :: Int32
-
-
-pattern KEY_R4 = 65493 :: Int32
-
-
-pattern KEY_R3 = 65492 :: Int32
-
-
-pattern KEY_R2 = 65491 :: Int32
-
-
-pattern KEY_R15 = 65504 :: Int32
-
-
-pattern KEY_R14 = 65503 :: Int32
-
-
-pattern KEY_R13 = 65502 :: Int32
-
-
-pattern KEY_R12 = 65501 :: Int32
-
-
-pattern KEY_R11 = 65500 :: Int32
-
-
-pattern KEY_R10 = 65499 :: Int32
-
-
-pattern KEY_R1 = 65490 :: Int32
-
-
-pattern KEY_R = 82 :: Int32
-
-
-pattern KEY_Q = 81 :: Int32
-
-
-pattern KEY_Prior = 65365 :: Int32
-
-
-pattern KEY_Print = 65377 :: Int32
-
-
-pattern KEY_PreviousCandidate = 65342 :: Int32
-
-
-pattern KEY_Prev_Virtual_Screen = 65233 :: Int32
-
-
-pattern KEY_Prev_VMode = 269024803 :: Int32
-
-
-pattern KEY_PowerOff = 269025066 :: Int32
-
-
-pattern KEY_PowerDown = 269025057 :: Int32
-
-
-pattern KEY_Pointer_UpRight = 65253 :: Int32
-
-
-pattern KEY_Pointer_UpLeft = 65252 :: Int32
-
-
-pattern KEY_Pointer_Up = 65250 :: Int32
-
-
-pattern KEY_Pointer_Right = 65249 :: Int32
-
-
-pattern KEY_Pointer_Left = 65248 :: Int32
-
-
-pattern KEY_Pointer_EnableKeys = 65273 :: Int32
-
-
-pattern KEY_Pointer_Drag_Dflt = 65268 :: Int32
-
-
-pattern KEY_Pointer_Drag5 = 65277 :: Int32
-
-
-pattern KEY_Pointer_Drag4 = 65272 :: Int32
-
-
-pattern KEY_Pointer_Drag3 = 65271 :: Int32
-
-
-pattern KEY_Pointer_Drag2 = 65270 :: Int32
-
-
-pattern KEY_Pointer_Drag1 = 65269 :: Int32
-
-
-pattern KEY_Pointer_DownRight = 65255 :: Int32
-
-
-pattern KEY_Pointer_DownLeft = 65254 :: Int32
-
-
-pattern KEY_Pointer_Down = 65251 :: Int32
-
-
-pattern KEY_Pointer_DfltBtnPrev = 65276 :: Int32
-
-
-pattern KEY_Pointer_DfltBtnNext = 65275 :: Int32
-
-
-pattern KEY_Pointer_DblClick_Dflt = 65262 :: Int32
-
-
-pattern KEY_Pointer_DblClick5 = 65267 :: Int32
-
-
-pattern KEY_Pointer_DblClick4 = 65266 :: Int32
-
-
-pattern KEY_Pointer_DblClick3 = 65265 :: Int32
-
-
-pattern KEY_Pointer_DblClick2 = 65264 :: Int32
-
-
-pattern KEY_Pointer_DblClick1 = 65263 :: Int32
-
-
-pattern KEY_Pointer_Button_Dflt = 65256 :: Int32
-
-
-pattern KEY_Pointer_Button5 = 65261 :: Int32
-
-
-pattern KEY_Pointer_Button4 = 65260 :: Int32
-
-
-pattern KEY_Pointer_Button3 = 65259 :: Int32
-
-
-pattern KEY_Pointer_Button2 = 65258 :: Int32
-
-
-pattern KEY_Pointer_Button1 = 65257 :: Int32
-
-
-pattern KEY_Pointer_Accelerate = 65274 :: Int32
-
-
-pattern KEY_Pictures = 269025169 :: Int32
-
-
-pattern KEY_Phone = 269025134 :: Int32
-
-
-pattern KEY_PesetaSign = 16785575 :: Int32
-
-
-pattern KEY_Pause = 65299 :: Int32
-
-
-pattern KEY_Paste = 269025133 :: Int32
-
-
-pattern KEY_Page_Up = 65365 :: Int32
-
-
-pattern KEY_Page_Down = 65366 :: Int32
-
-
-pattern KEY_Pabovedot = 16784982 :: Int32
-
-
-pattern KEY_P = 80 :: Int32
-
-
-pattern KEY_Overlay2_Enable = 65145 :: Int32
-
-
-pattern KEY_Overlay1_Enable = 65144 :: Int32
-
-
-pattern KEY_Otilde = 213 :: Int32
-
-
-pattern KEY_Oslash = 216 :: Int32
-
-
-pattern KEY_Option = 269025132 :: Int32
-
-
-pattern KEY_OpenURL = 269025080 :: Int32
-
-
-pattern KEY_Open = 269025131 :: Int32
-
-
-pattern KEY_Ooblique = 216 :: Int32
-
-
-pattern KEY_Omacron = 978 :: Int32
-
-
-pattern KEY_Ohorntilde = 16785120 :: Int32
-
-
-pattern KEY_Ohornhook = 16785118 :: Int32
-
-
-pattern KEY_Ohorngrave = 16785116 :: Int32
-
-
-pattern KEY_Ohornbelowdot = 16785122 :: Int32
-
-
-pattern KEY_Ohornacute = 16785114 :: Int32
-
-
-pattern KEY_Ohorn = 16777632 :: Int32
-
-
-pattern KEY_Ohook = 16785102 :: Int32
-
-
-pattern KEY_Ograve = 210 :: Int32
-
-
-pattern KEY_OfficeHome = 269025130 :: Int32
-
-
-pattern KEY_Odoubleacute = 469 :: Int32
-
-
-pattern KEY_Odiaeresis = 214 :: Int32
-
-
-pattern KEY_Ocircumflextilde = 16785110 :: Int32
-
-
-pattern KEY_Ocircumflexhook = 16785108 :: Int32
-
-
-pattern KEY_Ocircumflexgrave = 16785106 :: Int32
-
-
-pattern KEY_Ocircumflexbelowdot = 16785112 :: Int32
-
-
-pattern KEY_Ocircumflexacute = 16785104 :: Int32
-
-
-pattern KEY_Ocircumflex = 212 :: Int32
-
-
-pattern KEY_Ocaron = 16777681 :: Int32
-
-
-pattern KEY_Obelowdot = 16785100 :: Int32
-
-
-pattern KEY_Obarred = 16777631 :: Int32
-
-
-pattern KEY_Oacute = 211 :: Int32
-
-
-pattern KEY_OE = 5052 :: Int32
-
-
-pattern KEY_O = 79 :: Int32
-
-
-pattern KEY_Num_Lock = 65407 :: Int32
-
-
-pattern KEY_Ntilde = 209 :: Int32
-
-
-pattern KEY_Next_Virtual_Screen = 65234 :: Int32
-
-
-pattern KEY_Next_VMode = 269024802 :: Int32
-
-
-pattern KEY_Next = 65366 :: Int32
-
-
-pattern KEY_News = 269025129 :: Int32
-
-
-pattern KEY_NewSheqelSign = 16785578 :: Int32
-
-
-pattern KEY_New = 269025128 :: Int32
-
-
-pattern KEY_Ncedilla = 977 :: Int32
-
-
-pattern KEY_Ncaron = 466 :: Int32
-
-
-pattern KEY_NairaSign = 16785574 :: Int32
-
-
-pattern KEY_Nacute = 465 :: Int32
-
-
-pattern KEY_N = 78 :: Int32
-
-
-pattern KEY_MySites = 269025127 :: Int32
-
-
-pattern KEY_MyComputer = 269025075 :: Int32
-
-
-pattern KEY_Music = 269025170 :: Int32
-
-
-pattern KEY_MultipleCandidate = 65341 :: Int32
-
-
-pattern KEY_Multi_key = 65312 :: Int32
-
-
-pattern KEY_Muhenkan = 65314 :: Int32
-
-
-pattern KEY_MouseKeys_Enable = 65142 :: Int32
-
-
-pattern KEY_MouseKeys_Accel_Enable = 65143 :: Int32
-
-
-pattern KEY_MonBrightnessUp = 269025026 :: Int32
-
-
-pattern KEY_MonBrightnessDown = 269025027 :: Int32
-
-
-pattern KEY_Mode_switch = 65406 :: Int32
-
-
-pattern KEY_ModeLock = 269025025 :: Int32
-
-
-pattern KEY_MillSign = 16785573 :: Int32
-
-
-pattern KEY_Meta_R = 65512 :: Int32
-
-
-pattern KEY_Meta_L = 65511 :: Int32
-
-
-pattern KEY_Messenger = 269025166 :: Int32
-
-
-pattern KEY_MenuPB = 269025126 :: Int32
-
-
-pattern KEY_MenuKB = 269025125 :: Int32
-
-
-pattern KEY_Menu = 65383 :: Int32
-
-
-pattern KEY_Memo = 269025054 :: Int32
-
-
-pattern KEY_Meeting = 269025123 :: Int32
-
-
-pattern KEY_Massyo = 65324 :: Int32
-
-
-pattern KEY_Market = 269025122 :: Int32
-
-
-pattern KEY_MailForward = 269025168 :: Int32
-
-
-pattern KEY_Mail = 269025049 :: Int32
-
-
-pattern KEY_Mae_Koho = 65342 :: Int32
-
-
-pattern KEY_Macedonia_kje = 1708 :: Int32
-
-
-pattern KEY_Macedonia_gje = 1698 :: Int32
-
-
-pattern KEY_Macedonia_dse = 1701 :: Int32
-
-
-pattern KEY_Macedonia_KJE = 1724 :: Int32
-
-
-pattern KEY_Macedonia_GJE = 1714 :: Int32
-
-
-pattern KEY_Macedonia_DSE = 1717 :: Int32
-
-
-pattern KEY_Mabovedot = 16784960 :: Int32
-
-
-pattern KEY_M = 77 :: Int32
-
-
-pattern KEY_Lstroke = 419 :: Int32
-
-
-pattern KEY_LogWindowTree = 269024804 :: Int32
-
-
-pattern KEY_LogOff = 269025121 :: Int32
-
-
-pattern KEY_LogGrabInfo = 269024805 :: Int32
-
-
-pattern KEY_LiraSign = 16785572 :: Int32
-
-
-pattern KEY_Linefeed = 65290 :: Int32
-
-
-pattern KEY_LightBulb = 269025077 :: Int32
-
-
-pattern KEY_Left = 65361 :: Int32
-
-
-pattern KEY_Lcedilla = 934 :: Int32
-
-
-pattern KEY_Lcaron = 421 :: Int32
-
-
-pattern KEY_Lbelowdot = 16784950 :: Int32
-
-
-pattern KEY_LaunchF = 269025103 :: Int32
-
-
-pattern KEY_LaunchE = 269025102 :: Int32
-
-
-pattern KEY_LaunchD = 269025101 :: Int32
-
-
-pattern KEY_LaunchC = 269025100 :: Int32
-
-
-pattern KEY_LaunchB = 269025099 :: Int32
-
-
-pattern KEY_LaunchA = 269025098 :: Int32
-
-
-pattern KEY_Launch9 = 269025097 :: Int32
-
-
-pattern KEY_Launch8 = 269025096 :: Int32
-
-
-pattern KEY_Launch7 = 269025095 :: Int32
-
-
-pattern KEY_Launch6 = 269025094 :: Int32
-
-
-pattern KEY_Launch5 = 269025093 :: Int32
-
-
-pattern KEY_Launch4 = 269025092 :: Int32
-
-
-pattern KEY_Launch3 = 269025091 :: Int32
-
-
-pattern KEY_Launch2 = 269025090 :: Int32
-
-
-pattern KEY_Launch1 = 269025089 :: Int32
-
-
-pattern KEY_Launch0 = 269025088 :: Int32
-
-
-pattern KEY_Last_Virtual_Screen = 65236 :: Int32
-
-
-pattern KEY_Lacute = 453 :: Int32
-
-
-pattern KEY_L9 = 65488 :: Int32
-
-
-pattern KEY_L8 = 65487 :: Int32
-
-
-pattern KEY_L7 = 65486 :: Int32
-
-
-pattern KEY_L6 = 65485 :: Int32
-
-
-pattern KEY_L5 = 65484 :: Int32
-
-
-pattern KEY_L4 = 65483 :: Int32
-
-
-pattern KEY_L3 = 65482 :: Int32
-
-
-pattern KEY_L2 = 65481 :: Int32
-
-
-pattern KEY_L10 = 65489 :: Int32
-
-
-pattern KEY_L1 = 65480 :: Int32
-
-
-pattern KEY_L = 76 :: Int32
-
-
-pattern KEY_Korean_Won = 3839 :: Int32
-
-
-pattern KEY_Kcedilla = 979 :: Int32
-
-
-pattern KEY_KbdLightOnOff = 269025028 :: Int32
-
-
-pattern KEY_KbdBrightnessUp = 269025029 :: Int32
-
-
-pattern KEY_KbdBrightnessDown = 269025030 :: Int32
-
-
-pattern KEY_Katakana = 65318 :: Int32
-
-
-pattern KEY_Kanji_Bangou = 65335 :: Int32
-
-
-pattern KEY_Kanji = 65313 :: Int32
-
-
-pattern KEY_Kana_Shift = 65326 :: Int32
-
-
-pattern KEY_Kana_Lock = 65325 :: Int32
-
-
-pattern KEY_KP_Up = 65431 :: Int32
-
-
-pattern KEY_KP_Tab = 65417 :: Int32
-
-
-pattern KEY_KP_Subtract = 65453 :: Int32
-
-
-pattern KEY_KP_Space = 65408 :: Int32
-
-
-pattern KEY_KP_Separator = 65452 :: Int32
-
-
-pattern KEY_KP_Right = 65432 :: Int32
-
-
-pattern KEY_KP_Prior = 65434 :: Int32
-
-
-pattern KEY_KP_Page_Up = 65434 :: Int32
-
-
-pattern KEY_KP_Page_Down = 65435 :: Int32
-
-
-pattern KEY_KP_Next = 65435 :: Int32
-
-
-pattern KEY_KP_Multiply = 65450 :: Int32
-
-
-pattern KEY_KP_Left = 65430 :: Int32
-
-
-pattern KEY_KP_Insert = 65438 :: Int32
-
-
-pattern KEY_KP_Home = 65429 :: Int32
-
-
-pattern KEY_KP_F4 = 65428 :: Int32
-
-
-pattern KEY_KP_F3 = 65427 :: Int32
-
-
-pattern KEY_KP_F2 = 65426 :: Int32
-
-
-pattern KEY_KP_F1 = 65425 :: Int32
-
-
-pattern KEY_KP_Equal = 65469 :: Int32
-
-
-pattern KEY_KP_Enter = 65421 :: Int32
-
-
-pattern KEY_KP_End = 65436 :: Int32
-
-
-pattern KEY_KP_Down = 65433 :: Int32
-
-
-pattern KEY_KP_Divide = 65455 :: Int32
-
-
-pattern KEY_KP_Delete = 65439 :: Int32
-
-
-pattern KEY_KP_Decimal = 65454 :: Int32
-
-
-pattern KEY_KP_Begin = 65437 :: Int32
-
-
-pattern KEY_KP_Add = 65451 :: Int32
-
-
-pattern KEY_KP_9 = 65465 :: Int32
-
-
-pattern KEY_KP_8 = 65464 :: Int32
-
-
-pattern KEY_KP_7 = 65463 :: Int32
-
-
-pattern KEY_KP_6 = 65462 :: Int32
-
-
-pattern KEY_KP_5 = 65461 :: Int32
-
-
-pattern KEY_KP_4 = 65460 :: Int32
-
-
-pattern KEY_KP_3 = 65459 :: Int32
-
-
-pattern KEY_KP_2 = 65458 :: Int32
-
-
-pattern KEY_KP_1 = 65457 :: Int32
-
-
-pattern KEY_KP_0 = 65456 :: Int32
-
-
-pattern KEY_K = 75 :: Int32
-
-
-pattern KEY_Jcircumflex = 684 :: Int32
-
-
-pattern KEY_J = 74 :: Int32
-
-
-pattern KEY_Itilde = 933 :: Int32
-
-
-pattern KEY_Iogonek = 967 :: Int32
-
-
-pattern KEY_Insert = 65379 :: Int32
-
-
-pattern KEY_Imacron = 975 :: Int32
-
-
-pattern KEY_Ihook = 16785096 :: Int32
-
-
-pattern KEY_Igrave = 204 :: Int32
-
-
-pattern KEY_Idiaeresis = 207 :: Int32
-
-
-pattern KEY_Icircumflex = 206 :: Int32
-
-
-pattern KEY_Ibreve = 16777516 :: Int32
-
-
-pattern KEY_Ibelowdot = 16785098 :: Int32
-
-
-pattern KEY_Iacute = 205 :: Int32
-
-
-pattern KEY_Iabovedot = 681 :: Int32
-
-
-pattern KEY_ISO_Set_Margin_Right = 65064 :: Int32
-
-
-pattern KEY_ISO_Set_Margin_Left = 65063 :: Int32
-
-
-pattern KEY_ISO_Release_Margin_Right = 65066 :: Int32
-
-
-pattern KEY_ISO_Release_Margin_Left = 65065 :: Int32
-
-
-pattern KEY_ISO_Release_Both_Margins = 65067 :: Int32
-
-
-pattern KEY_ISO_Prev_Group_Lock = 65035 :: Int32
-
-
-pattern KEY_ISO_Prev_Group = 65034 :: Int32
-
-
-pattern KEY_ISO_Partial_Space_Right = 65062 :: Int32
-
-
-pattern KEY_ISO_Partial_Space_Left = 65061 :: Int32
-
-
-pattern KEY_ISO_Partial_Line_Up = 65059 :: Int32
-
-
-pattern KEY_ISO_Partial_Line_Down = 65060 :: Int32
-
-
-pattern KEY_ISO_Next_Group_Lock = 65033 :: Int32
-
-
-pattern KEY_ISO_Next_Group = 65032 :: Int32
-
-
-pattern KEY_ISO_Move_Line_Up = 65057 :: Int32
-
-
-pattern KEY_ISO_Move_Line_Down = 65058 :: Int32
-
-
-pattern KEY_ISO_Lock = 65025 :: Int32
-
-
-pattern KEY_ISO_Level5_Shift = 65041 :: Int32
-
-
-pattern KEY_ISO_Level5_Lock = 65043 :: Int32
-
-
-pattern KEY_ISO_Level5_Latch = 65042 :: Int32
-
-
-pattern KEY_ISO_Level3_Shift = 65027 :: Int32
-
-
-pattern KEY_ISO_Level3_Lock = 65029 :: Int32
-
-
-pattern KEY_ISO_Level3_Latch = 65028 :: Int32
-
-
-pattern KEY_ISO_Level2_Latch = 65026 :: Int32
-
-
-pattern KEY_ISO_Left_Tab = 65056 :: Int32
-
-
-pattern KEY_ISO_Last_Group_Lock = 65039 :: Int32
-
-
-pattern KEY_ISO_Last_Group = 65038 :: Int32
-
-
-pattern KEY_ISO_Group_Shift = 65406 :: Int32
-
-
-pattern KEY_ISO_Group_Lock = 65031 :: Int32
-
-
-pattern KEY_ISO_Group_Latch = 65030 :: Int32
-
-
-pattern KEY_ISO_First_Group_Lock = 65037 :: Int32
-
-
-pattern KEY_ISO_First_Group = 65036 :: Int32
-
-
-pattern KEY_ISO_Fast_Cursor_Up = 65070 :: Int32
-
-
-pattern KEY_ISO_Fast_Cursor_Right = 65069 :: Int32
-
-
-pattern KEY_ISO_Fast_Cursor_Left = 65068 :: Int32
-
-
-pattern KEY_ISO_Fast_Cursor_Down = 65071 :: Int32
-
-
-pattern KEY_ISO_Enter = 65076 :: Int32
-
-
-pattern KEY_ISO_Emphasize = 65074 :: Int32
-
-
-pattern KEY_ISO_Discontinuous_Underline = 65073 :: Int32
-
-
-pattern KEY_ISO_Continuous_Underline = 65072 :: Int32
-
-
-pattern KEY_ISO_Center_Object = 65075 :: Int32
-
-
-pattern KEY_I = 73 :: Int32
-
-
-pattern KEY_Hyper_R = 65518 :: Int32
-
-
-pattern KEY_Hyper_L = 65517 :: Int32
-
-
-pattern KEY_Hstroke = 673 :: Int32
-
-
-pattern KEY_HotLinks = 269025082 :: Int32
-
-
-pattern KEY_HomePage = 269025048 :: Int32
-
-
-pattern KEY_Home = 65360 :: Int32
-
-
-pattern KEY_History = 269025079 :: Int32
-
-
-pattern KEY_Hiragana_Katakana = 65319 :: Int32
-
-
-pattern KEY_Hiragana = 65317 :: Int32
-
-
-pattern KEY_Hibernate = 269025192 :: Int32
-
-
-pattern KEY_Henkan_Mode = 65315 :: Int32
-
-
-pattern KEY_Henkan = 65315 :: Int32
-
-
-pattern KEY_Help = 65386 :: Int32
-
-
-pattern KEY_Hebrew_switch = 65406 :: Int32
-
-
-pattern KEY_Hcircumflex = 678 :: Int32
-
-
-pattern KEY_Hankaku = 65321 :: Int32
-
-
-pattern KEY_Hangul_switch = 65406 :: Int32
-
-
-pattern KEY_Hangul_YeorinHieuh = 3829 :: Int32
-
-
-pattern KEY_Hangul_YU = 3792 :: Int32
-
-
-pattern KEY_Hangul_YO = 3787 :: Int32
-
-
-pattern KEY_Hangul_YI = 3794 :: Int32
-
-
-pattern KEY_Hangul_YEO = 3781 :: Int32
-
-
-pattern KEY_Hangul_YE = 3782 :: Int32
-
-
-pattern KEY_Hangul_YAE = 3778 :: Int32
-
-
-pattern KEY_Hangul_YA = 3777 :: Int32
-
-
-pattern KEY_Hangul_WI = 3791 :: Int32
-
-
-pattern KEY_Hangul_WEO = 3789 :: Int32
-
-
-pattern KEY_Hangul_WE = 3790 :: Int32
-
-
-pattern KEY_Hangul_WAE = 3785 :: Int32
-
-
-pattern KEY_Hangul_WA = 3784 :: Int32
-
-
-pattern KEY_Hangul_U = 3788 :: Int32
-
-
-pattern KEY_Hangul_Tieut = 3772 :: Int32
-
-
-pattern KEY_Hangul_SunkyeongeumPieub = 3825 :: Int32
-
-
-pattern KEY_Hangul_SunkyeongeumPhieuf = 3828 :: Int32
-
-
-pattern KEY_Hangul_SunkyeongeumMieum = 3824 :: Int32
-
-
-pattern KEY_Hangul_Start = 65330 :: Int32
-
-
-pattern KEY_Hangul_SsangSios = 3766 :: Int32
-
-
-pattern KEY_Hangul_SsangPieub = 3763 :: Int32
-
-
-pattern KEY_Hangul_SsangKiyeog = 3746 :: Int32
-
-
-pattern KEY_Hangul_SsangJieuj = 3769 :: Int32
-
-
-pattern KEY_Hangul_SsangDikeud = 3752 :: Int32
-
-
-pattern KEY_Hangul_Special = 65343 :: Int32
-
-
-pattern KEY_Hangul_Sios = 3765 :: Int32
-
-
-pattern KEY_Hangul_SingleCandidate = 65340 :: Int32
-
-
-pattern KEY_Hangul_Romaja = 65334 :: Int32
-
-
-pattern KEY_Hangul_RieulYeorinHieuh = 3823 :: Int32
-
-
-pattern KEY_Hangul_RieulTieut = 3758 :: Int32
-
-
-pattern KEY_Hangul_RieulSios = 3757 :: Int32
-
-
-pattern KEY_Hangul_RieulPieub = 3756 :: Int32
-
-
-pattern KEY_Hangul_RieulPhieuf = 3759 :: Int32
-
-
-pattern KEY_Hangul_RieulMieum = 3755 :: Int32
-
-
-pattern KEY_Hangul_RieulKiyeog = 3754 :: Int32
-
-
-pattern KEY_Hangul_RieulHieuh = 3760 :: Int32
-
-
-pattern KEY_Hangul_Rieul = 3753 :: Int32
-
-
-pattern KEY_Hangul_PreviousCandidate = 65342 :: Int32
-
-
-pattern KEY_Hangul_PreHanja = 65338 :: Int32
-
-
-pattern KEY_Hangul_PostHanja = 65339 :: Int32
-
-
-pattern KEY_Hangul_PieubSios = 3764 :: Int32
-
-
-pattern KEY_Hangul_Pieub = 3762 :: Int32
-
-
-pattern KEY_Hangul_Phieuf = 3773 :: Int32
-
-
-pattern KEY_Hangul_PanSios = 3826 :: Int32
-
-
-pattern KEY_Hangul_OE = 3786 :: Int32
-
-
-pattern KEY_Hangul_O = 3783 :: Int32
-
-
-pattern KEY_Hangul_NieunJieuj = 3749 :: Int32
-
-
-pattern KEY_Hangul_NieunHieuh = 3750 :: Int32
-
-
-pattern KEY_Hangul_Nieun = 3748 :: Int32
-
-
-pattern KEY_Hangul_MultipleCandidate = 65341 :: Int32
-
-
-pattern KEY_Hangul_Mieum = 3761 :: Int32
-
-
-pattern KEY_Hangul_KkogjiDalrinIeung = 3827 :: Int32
-
-
-pattern KEY_Hangul_KiyeogSios = 3747 :: Int32
-
-
-pattern KEY_Hangul_Kiyeog = 3745 :: Int32
-
-
-pattern KEY_Hangul_Khieuq = 3771 :: Int32
-
-
-pattern KEY_Hangul_Jieuj = 3768 :: Int32
-
-
-pattern KEY_Hangul_Jeonja = 65336 :: Int32
-
-
-pattern KEY_Hangul_Jamo = 65333 :: Int32
-
-
-pattern KEY_Hangul_J_YeorinHieuh = 3834 :: Int32
-
-
-pattern KEY_Hangul_J_Tieut = 3820 :: Int32
-
-
-pattern KEY_Hangul_J_SsangSios = 3815 :: Int32
-
-
-pattern KEY_Hangul_J_SsangKiyeog = 3797 :: Int32
-
-
-pattern KEY_Hangul_J_Sios = 3814 :: Int32
-
-
-pattern KEY_Hangul_J_RieulTieut = 3808 :: Int32
-
-
-pattern KEY_Hangul_J_RieulSios = 3807 :: Int32
-
-
-pattern KEY_Hangul_J_RieulPieub = 3806 :: Int32
-
-
-pattern KEY_Hangul_J_RieulPhieuf = 3809 :: Int32
-
-
-pattern KEY_Hangul_J_RieulMieum = 3805 :: Int32
-
-
-pattern KEY_Hangul_J_RieulKiyeog = 3804 :: Int32
-
-
-pattern KEY_Hangul_J_RieulHieuh = 3810 :: Int32
-
-
-pattern KEY_Hangul_J_Rieul = 3803 :: Int32
-
-
-pattern KEY_Hangul_J_PieubSios = 3813 :: Int32
-
-
-pattern KEY_Hangul_J_Pieub = 3812 :: Int32
-
-
-pattern KEY_Hangul_J_Phieuf = 3821 :: Int32
-
-
-pattern KEY_Hangul_J_PanSios = 3832 :: Int32
-
-
-pattern KEY_Hangul_J_NieunJieuj = 3800 :: Int32
-
-
-pattern KEY_Hangul_J_NieunHieuh = 3801 :: Int32
-
-
-pattern KEY_Hangul_J_Nieun = 3799 :: Int32
-
-
-pattern KEY_Hangul_J_Mieum = 3811 :: Int32
-
-
-pattern KEY_Hangul_J_KkogjiDalrinIeung = 3833 :: Int32
-
-
-pattern KEY_Hangul_J_KiyeogSios = 3798 :: Int32
-
-
-pattern KEY_Hangul_J_Kiyeog = 3796 :: Int32
-
-
-pattern KEY_Hangul_J_Khieuq = 3819 :: Int32
-
-
-pattern KEY_Hangul_J_Jieuj = 3817 :: Int32
-
-
-pattern KEY_Hangul_J_Ieung = 3816 :: Int32
-
-
-pattern KEY_Hangul_J_Hieuh = 3822 :: Int32
-
-
-pattern KEY_Hangul_J_Dikeud = 3802 :: Int32
-
-
-pattern KEY_Hangul_J_Cieuc = 3818 :: Int32
-
-
-pattern KEY_Hangul_Ieung = 3767 :: Int32
-
-
-pattern KEY_Hangul_I = 3795 :: Int32
-
-
-pattern KEY_Hangul_Hieuh = 3774 :: Int32
-
-
-pattern KEY_Hangul_Hanja = 65332 :: Int32
-
-
-pattern KEY_Hangul_End = 65331 :: Int32
-
-
-pattern KEY_Hangul_EU = 3793 :: Int32
-
-
-pattern KEY_Hangul_EO = 3779 :: Int32
-
-
-pattern KEY_Hangul_E = 3780 :: Int32
-
-
-pattern KEY_Hangul_Dikeud = 3751 :: Int32
-
-
-pattern KEY_Hangul_Codeinput = 65335 :: Int32
-
-
-pattern KEY_Hangul_Cieuc = 3770 :: Int32
-
-
-pattern KEY_Hangul_Banja = 65337 :: Int32
-
-
-pattern KEY_Hangul_AraeAE = 3831 :: Int32
-
-
-pattern KEY_Hangul_AraeA = 3830 :: Int32
-
-
-pattern KEY_Hangul_AE = 3776 :: Int32
-
-
-pattern KEY_Hangul_A = 3775 :: Int32
-
-
-pattern KEY_Hangul = 65329 :: Int32
-
-
-pattern KEY_H = 72 :: Int32
-
-
-pattern KEY_Green = 269025188 :: Int32
-
-
-pattern KEY_Greek_zeta = 2022 :: Int32
-
-
-pattern KEY_Greek_xi = 2030 :: Int32
-
-
-pattern KEY_Greek_upsilondieresis = 1977 :: Int32
-
-
-pattern KEY_Greek_upsilonaccentdieresis = 1978 :: Int32
-
-
-pattern KEY_Greek_upsilonaccent = 1976 :: Int32
-
-
-pattern KEY_Greek_upsilon = 2037 :: Int32
-
-
-pattern KEY_Greek_theta = 2024 :: Int32
-
-
-pattern KEY_Greek_tau = 2036 :: Int32
-
-
-pattern KEY_Greek_switch = 65406 :: Int32
-
-
-pattern KEY_Greek_sigma = 2034 :: Int32
-
-
-pattern KEY_Greek_rho = 2033 :: Int32
-
-
-pattern KEY_Greek_psi = 2040 :: Int32
-
-
-pattern KEY_Greek_pi = 2032 :: Int32
-
-
-pattern KEY_Greek_phi = 2038 :: Int32
-
-
-pattern KEY_Greek_omicronaccent = 1975 :: Int32
-
-
-pattern KEY_Greek_omicron = 2031 :: Int32
-
-
-pattern KEY_Greek_omegaaccent = 1979 :: Int32
-
-
-pattern KEY_Greek_omega = 2041 :: Int32
-
-
-pattern KEY_Greek_nu = 2029 :: Int32
-
-
-pattern KEY_Greek_mu = 2028 :: Int32
-
-
-pattern KEY_Greek_lamda = 2027 :: Int32
-
-
-pattern KEY_Greek_lambda = 2027 :: Int32
-
-
-pattern KEY_Greek_kappa = 2026 :: Int32
-
-
-pattern KEY_Greek_iotadieresis = 1973 :: Int32
-
-
-pattern KEY_Greek_iotaaccentdieresis = 1974 :: Int32
-
-
-pattern KEY_Greek_iotaaccent = 1972 :: Int32
-
-
-pattern KEY_Greek_iota = 2025 :: Int32
-
-
-pattern KEY_Greek_horizbar = 1967 :: Int32
-
-
-pattern KEY_Greek_gamma = 2019 :: Int32
-
-
-pattern KEY_Greek_finalsmallsigma = 2035 :: Int32
-
-
-pattern KEY_Greek_etaaccent = 1971 :: Int32
-
-
-pattern KEY_Greek_eta = 2023 :: Int32
-
-
-pattern KEY_Greek_epsilonaccent = 1970 :: Int32
-
-
-pattern KEY_Greek_epsilon = 2021 :: Int32
-
-
-pattern KEY_Greek_delta = 2020 :: Int32
-
-
-pattern KEY_Greek_chi = 2039 :: Int32
-
-
-pattern KEY_Greek_beta = 2018 :: Int32
-
-
-pattern KEY_Greek_alphaaccent = 1969 :: Int32
-
-
-pattern KEY_Greek_alpha = 2017 :: Int32
-
-
-pattern KEY_Greek_accentdieresis = 1966 :: Int32
-
-
-pattern KEY_Greek_ZETA = 1990 :: Int32
-
-
-pattern KEY_Greek_XI = 1998 :: Int32
-
-
-pattern KEY_Greek_UPSILONdieresis = 1961 :: Int32
-
-
-pattern KEY_Greek_UPSILONaccent = 1960 :: Int32
-
-
-pattern KEY_Greek_UPSILON = 2005 :: Int32
-
-
-pattern KEY_Greek_THETA = 1992 :: Int32
-
-
-pattern KEY_Greek_TAU = 2004 :: Int32
-
-
-pattern KEY_Greek_SIGMA = 2002 :: Int32
-
-
-pattern KEY_Greek_RHO = 2001 :: Int32
-
-
-pattern KEY_Greek_PSI = 2008 :: Int32
-
-
-pattern KEY_Greek_PI = 2000 :: Int32
-
-
-pattern KEY_Greek_PHI = 2006 :: Int32
-
-
-pattern KEY_Greek_OMICRONaccent = 1959 :: Int32
-
-
-pattern KEY_Greek_OMICRON = 1999 :: Int32
-
-
-pattern KEY_Greek_OMEGAaccent = 1963 :: Int32
-
-
-pattern KEY_Greek_OMEGA = 2009 :: Int32
-
-
-pattern KEY_Greek_NU = 1997 :: Int32
-
-
-pattern KEY_Greek_MU = 1996 :: Int32
-
-
-pattern KEY_Greek_LAMDA = 1995 :: Int32
-
-
-pattern KEY_Greek_LAMBDA = 1995 :: Int32
-
-
-pattern KEY_Greek_KAPPA = 1994 :: Int32
-
-
-pattern KEY_Greek_IOTAdieresis = 1957 :: Int32
-
-
-pattern KEY_Greek_IOTAdiaeresis = 1957 :: Int32
-
-
-pattern KEY_Greek_IOTAaccent = 1956 :: Int32
-
-
-pattern KEY_Greek_IOTA = 1993 :: Int32
-
-
-pattern KEY_Greek_GAMMA = 1987 :: Int32
-
-
-pattern KEY_Greek_ETAaccent = 1955 :: Int32
-
-
-pattern KEY_Greek_ETA = 1991 :: Int32
-
-
-pattern KEY_Greek_EPSILONaccent = 1954 :: Int32
-
-
-pattern KEY_Greek_EPSILON = 1989 :: Int32
-
-
-pattern KEY_Greek_DELTA = 1988 :: Int32
-
-
-pattern KEY_Greek_CHI = 2007 :: Int32
-
-
-pattern KEY_Greek_BETA = 1986 :: Int32
-
-
-pattern KEY_Greek_ALPHAaccent = 1953 :: Int32
-
-
-pattern KEY_Greek_ALPHA = 1985 :: Int32
-
-
-pattern KEY_Go = 269025119 :: Int32
-
-
-pattern KEY_Georgian_zhar = 16781535 :: Int32
-
-
-pattern KEY_Georgian_zen = 16781526 :: Int32
-
-
-pattern KEY_Georgian_xan = 16781550 :: Int32
-
-
-pattern KEY_Georgian_we = 16781555 :: Int32
-
-
-pattern KEY_Georgian_vin = 16781525 :: Int32
-
-
-pattern KEY_Georgian_un = 16781539 :: Int32
-
-
-pattern KEY_Georgian_tar = 16781538 :: Int32
-
-
-pattern KEY_Georgian_tan = 16781527 :: Int32
-
-
-pattern KEY_Georgian_shin = 16781544 :: Int32
-
-
-pattern KEY_Georgian_san = 16781537 :: Int32
-
-
-pattern KEY_Georgian_rae = 16781536 :: Int32
-
-
-pattern KEY_Georgian_qar = 16781543 :: Int32
-
-
-pattern KEY_Georgian_phar = 16781540 :: Int32
-
-
-pattern KEY_Georgian_par = 16781534 :: Int32
-
-
-pattern KEY_Georgian_on = 16781533 :: Int32
-
-
-pattern KEY_Georgian_nar = 16781532 :: Int32
-
-
-pattern KEY_Georgian_man = 16781531 :: Int32
-
-
-pattern KEY_Georgian_las = 16781530 :: Int32
-
-
-pattern KEY_Georgian_khar = 16781541 :: Int32
-
-
-pattern KEY_Georgian_kan = 16781529 :: Int32
-
-
-pattern KEY_Georgian_jil = 16781547 :: Int32
-
-
-pattern KEY_Georgian_jhan = 16781551 :: Int32
-
-
-pattern KEY_Georgian_in = 16781528 :: Int32
-
-
-pattern KEY_Georgian_hoe = 16781557 :: Int32
-
-
-pattern KEY_Georgian_hie = 16781554 :: Int32
-
-
-pattern KEY_Georgian_he = 16781553 :: Int32
-
-
-pattern KEY_Georgian_har = 16781556 :: Int32
-
-
-pattern KEY_Georgian_hae = 16781552 :: Int32
-
-
-pattern KEY_Georgian_ghan = 16781542 :: Int32
-
-
-pattern KEY_Georgian_gan = 16781522 :: Int32
-
-
-pattern KEY_Georgian_fi = 16781558 :: Int32
-
-
-pattern KEY_Georgian_en = 16781524 :: Int32
-
-
-pattern KEY_Georgian_don = 16781523 :: Int32
-
-
-pattern KEY_Georgian_cil = 16781548 :: Int32
-
-
-pattern KEY_Georgian_chin = 16781545 :: Int32
-
-
-pattern KEY_Georgian_char = 16781549 :: Int32
-
-
-pattern KEY_Georgian_can = 16781546 :: Int32
-
-
-pattern KEY_Georgian_ban = 16781521 :: Int32
-
-
-pattern KEY_Georgian_an = 16781520 :: Int32
-
-
-pattern KEY_Gcircumflex = 728 :: Int32
-
-
-pattern KEY_Gcedilla = 939 :: Int32
-
-
-pattern KEY_Gcaron = 16777702 :: Int32
-
-
-pattern KEY_Gbreve = 683 :: Int32
-
-
-pattern KEY_Game = 269025118 :: Int32
-
-
-pattern KEY_Gabovedot = 725 :: Int32
-
-
-pattern KEY_G = 71 :: Int32
-
-
-pattern KEY_FrameForward = 269025182 :: Int32
-
-
-pattern KEY_FrameBack = 269025181 :: Int32
-
-
-pattern KEY_Forward = 269025063 :: Int32
-
-
-pattern KEY_First_Virtual_Screen = 65232 :: Int32
-
-
-pattern KEY_Find = 65384 :: Int32
-
-
-pattern KEY_Finance = 269025084 :: Int32
-
-
-pattern KEY_Favorites = 269025072 :: Int32
-
-
-pattern KEY_Farsi_yeh = 16778956 :: Int32
-
-
-pattern KEY_Farsi_9 = 16779001 :: Int32
-
-
-pattern KEY_Farsi_8 = 16779000 :: Int32
-
-
-pattern KEY_Farsi_7 = 16778999 :: Int32
-
-
-pattern KEY_Farsi_6 = 16778998 :: Int32
-
-
-pattern KEY_Farsi_5 = 16778997 :: Int32
-
-
-pattern KEY_Farsi_4 = 16778996 :: Int32
-
-
-pattern KEY_Farsi_3 = 16778995 :: Int32
-
-
-pattern KEY_Farsi_2 = 16778994 :: Int32
-
-
-pattern KEY_Farsi_1 = 16778993 :: Int32
-
-
-pattern KEY_Farsi_0 = 16778992 :: Int32
-
-
-pattern KEY_Fabovedot = 16784926 :: Int32
-
-
-pattern KEY_FFrancSign = 16785571 :: Int32
-
-
-pattern KEY_F9 = 65478 :: Int32
-
-
-pattern KEY_F8 = 65477 :: Int32
-
-
-pattern KEY_F7 = 65476 :: Int32
-
-
-pattern KEY_F6 = 65475 :: Int32
-
-
-pattern KEY_F5 = 65474 :: Int32
-
-
-pattern KEY_F4 = 65473 :: Int32
-
-
-pattern KEY_F35 = 65504 :: Int32
-
-
-pattern KEY_F34 = 65503 :: Int32
-
-
-pattern KEY_F33 = 65502 :: Int32
-
-
-pattern KEY_F32 = 65501 :: Int32
-
-
-pattern KEY_F31 = 65500 :: Int32
-
-
-pattern KEY_F30 = 65499 :: Int32
-
-
-pattern KEY_F3 = 65472 :: Int32
-
-
-pattern KEY_F29 = 65498 :: Int32
-
-
-pattern KEY_F28 = 65497 :: Int32
-
-
-pattern KEY_F27 = 65496 :: Int32
-
-
-pattern KEY_F26 = 65495 :: Int32
-
-
-pattern KEY_F25 = 65494 :: Int32
-
-
-pattern KEY_F24 = 65493 :: Int32
-
-
-pattern KEY_F23 = 65492 :: Int32
-
-
-pattern KEY_F22 = 65491 :: Int32
-
-
-pattern KEY_F21 = 65490 :: Int32
-
-
-pattern KEY_F20 = 65489 :: Int32
-
-
-pattern KEY_F2 = 65471 :: Int32
-
-
-pattern KEY_F19 = 65488 :: Int32
-
-
-pattern KEY_F18 = 65487 :: Int32
-
-
-pattern KEY_F17 = 65486 :: Int32
-
-
-pattern KEY_F16 = 65485 :: Int32
-
-
-pattern KEY_F15 = 65484 :: Int32
-
-
-pattern KEY_F14 = 65483 :: Int32
-
-
-pattern KEY_F13 = 65482 :: Int32
-
-
-pattern KEY_F12 = 65481 :: Int32
-
-
-pattern KEY_F11 = 65480 :: Int32
-
-
-pattern KEY_F10 = 65479 :: Int32
-
-
-pattern KEY_F1 = 65470 :: Int32
-
-
-pattern KEY_F = 70 :: Int32
-
-
-pattern KEY_Explorer = 269025117 :: Int32
-
-
-pattern KEY_Execute = 65378 :: Int32
-
-
-pattern KEY_Excel = 269025116 :: Int32
-
-
-pattern KEY_EuroSign = 8364 :: Int32
-
-
-pattern KEY_Etilde = 16785084 :: Int32
-
-
-pattern KEY_Eth = 208 :: Int32
-
-
-pattern KEY_Escape = 65307 :: Int32
-
-
-pattern KEY_Eogonek = 458 :: Int32
-
-
-pattern KEY_End = 65367 :: Int32
-
-
-pattern KEY_Emacron = 938 :: Int32
-
-
-pattern KEY_Eject = 269025068 :: Int32
-
-
-pattern KEY_Eisu_toggle = 65328 :: Int32
-
-
-pattern KEY_Eisu_Shift = 65327 :: Int32
-
-
-pattern KEY_Ehook = 16785082 :: Int32
-
-
-pattern KEY_Egrave = 200 :: Int32
-
-
-pattern KEY_Ediaeresis = 203 :: Int32
-
-
-pattern KEY_EcuSign = 16785568 :: Int32
-
-
-pattern KEY_Ecircumflextilde = 16785092 :: Int32
-
-
-pattern KEY_Ecircumflexhook = 16785090 :: Int32
-
-
-pattern KEY_Ecircumflexgrave = 16785088 :: Int32
-
-
-pattern KEY_Ecircumflexbelowdot = 16785094 :: Int32
-
-
-pattern KEY_Ecircumflexacute = 16785086 :: Int32
-
-
-pattern KEY_Ecircumflex = 202 :: Int32
-
-
-pattern KEY_Ecaron = 460 :: Int32
-
-
-pattern KEY_Ebelowdot = 16785080 :: Int32
-
-
-pattern KEY_Eacute = 201 :: Int32
-
-
-pattern KEY_Eabovedot = 972 :: Int32
-
-
-pattern KEY_EZH = 16777655 :: Int32
-
-
-pattern KEY_ETH = 208 :: Int32
-
-
-pattern KEY_ENG = 957 :: Int32
-
-
-pattern KEY_E = 69 :: Int32
-
-
-pattern KEY_Dstroke = 464 :: Int32
-
-
-pattern KEY_Down = 65364 :: Int32
-
-
-pattern KEY_DongSign = 16785579 :: Int32
-
-
-pattern KEY_Documents = 269025115 :: Int32
-
-
-pattern KEY_Display = 269025113 :: Int32
-
-
-pattern KEY_Delete = 65535 :: Int32
-
-
-pattern KEY_Dcaron = 463 :: Int32
-
-
-pattern KEY_Dabovedot = 16784906 :: Int32
-
-
-pattern KEY_DOS = 269025114 :: Int32
-
-
-pattern KEY_D = 68 :: Int32
-
-
-pattern KEY_Cyrillic_zhe_descender = 16778391 :: Int32
-
-
-pattern KEY_Cyrillic_zhe = 1750 :: Int32
-
-
-pattern KEY_Cyrillic_ze = 1754 :: Int32
-
-
-pattern KEY_Cyrillic_yu = 1728 :: Int32
-
-
-pattern KEY_Cyrillic_yeru = 1753 :: Int32
-
-
-pattern KEY_Cyrillic_ya = 1745 :: Int32
-
-
-pattern KEY_Cyrillic_ve = 1751 :: Int32
-
-
-pattern KEY_Cyrillic_u_straight_bar = 16778417 :: Int32
-
-
-pattern KEY_Cyrillic_u_straight = 16778415 :: Int32
-
-
-pattern KEY_Cyrillic_u_macron = 16778479 :: Int32
-
-
-pattern KEY_Cyrillic_u = 1749 :: Int32
-
-
-pattern KEY_Cyrillic_tse = 1731 :: Int32
-
-
-pattern KEY_Cyrillic_te = 1748 :: Int32
-
-
-pattern KEY_Cyrillic_softsign = 1752 :: Int32
-
-
-pattern KEY_Cyrillic_shorti = 1738 :: Int32
-
-
-pattern KEY_Cyrillic_shha = 16778427 :: Int32
-
-
-pattern KEY_Cyrillic_shcha = 1757 :: Int32
-
-
-pattern KEY_Cyrillic_sha = 1755 :: Int32
-
-
-pattern KEY_Cyrillic_schwa = 16778457 :: Int32
-
-
-pattern KEY_Cyrillic_pe = 1744 :: Int32
-
-
-pattern KEY_Cyrillic_o_bar = 16778473 :: Int32
-
-
-pattern KEY_Cyrillic_o = 1743 :: Int32
-
-
-pattern KEY_Cyrillic_nje = 1706 :: Int32
-
-
-pattern KEY_Cyrillic_lje = 1705 :: Int32
-
-
-pattern KEY_Cyrillic_ka_vertstroke = 16778397 :: Int32
-
-
-pattern KEY_Cyrillic_ka_descender = 16778395 :: Int32
-
-
-pattern KEY_Cyrillic_ka = 1739 :: Int32
-
-
-pattern KEY_Cyrillic_je = 1704 :: Int32
-
-
-pattern KEY_Cyrillic_io = 1699 :: Int32
-
-
-pattern KEY_Cyrillic_ie = 1733 :: Int32
-
-
-pattern KEY_Cyrillic_i_macron = 16778467 :: Int32
-
-
-pattern KEY_Cyrillic_i = 1737 :: Int32
-
-
-pattern KEY_Cyrillic_hardsign = 1759 :: Int32
-
-
-pattern KEY_Cyrillic_ha_descender = 16778419 :: Int32
-
-
-pattern KEY_Cyrillic_ha = 1736 :: Int32
-
-
-pattern KEY_Cyrillic_ghe_bar = 16778387 :: Int32
-
-
-pattern KEY_Cyrillic_ghe = 1735 :: Int32
-
-
-pattern KEY_Cyrillic_es = 1747 :: Int32
-
-
-pattern KEY_Cyrillic_er = 1746 :: Int32
-
-
-pattern KEY_Cyrillic_en_descender = 16778403 :: Int32
-
-
-pattern KEY_Cyrillic_en = 1742 :: Int32
-
-
-pattern KEY_Cyrillic_em = 1741 :: Int32
-
-
-pattern KEY_Cyrillic_el = 1740 :: Int32
-
-
-pattern KEY_Cyrillic_ef = 1734 :: Int32
-
-
-pattern KEY_Cyrillic_e = 1756 :: Int32
-
-
-pattern KEY_Cyrillic_dzhe = 1711 :: Int32
-
-
-pattern KEY_Cyrillic_de = 1732 :: Int32
-
-
-pattern KEY_Cyrillic_che_vertstroke = 16778425 :: Int32
-
-
-pattern KEY_Cyrillic_che_descender = 16778423 :: Int32
-
-
-pattern KEY_Cyrillic_che = 1758 :: Int32
-
-
-pattern KEY_Cyrillic_be = 1730 :: Int32
-
-
-pattern KEY_Cyrillic_a = 1729 :: Int32
-
-
-pattern KEY_Cyrillic_ZHE_descender = 16778390 :: Int32
-
-
-pattern KEY_Cyrillic_ZHE = 1782 :: Int32
-
-
-pattern KEY_Cyrillic_ZE = 1786 :: Int32
-
-
-pattern KEY_Cyrillic_YU = 1760 :: Int32
-
-
-pattern KEY_Cyrillic_YERU = 1785 :: Int32
-
-
-pattern KEY_Cyrillic_YA = 1777 :: Int32
-
-
-pattern KEY_Cyrillic_VE = 1783 :: Int32
-
-
-pattern KEY_Cyrillic_U_straight_bar = 16778416 :: Int32
-
-
-pattern KEY_Cyrillic_U_straight = 16778414 :: Int32
-
-
-pattern KEY_Cyrillic_U_macron = 16778478 :: Int32
-
-
-pattern KEY_Cyrillic_U = 1781 :: Int32
-
-
-pattern KEY_Cyrillic_TSE = 1763 :: Int32
-
-
-pattern KEY_Cyrillic_TE = 1780 :: Int32
-
-
-pattern KEY_Cyrillic_SOFTSIGN = 1784 :: Int32
-
-
-pattern KEY_Cyrillic_SHORTI = 1770 :: Int32
-
-
-pattern KEY_Cyrillic_SHHA = 16778426 :: Int32
-
-
-pattern KEY_Cyrillic_SHCHA = 1789 :: Int32
-
-
-pattern KEY_Cyrillic_SHA = 1787 :: Int32
-
-
-pattern KEY_Cyrillic_SCHWA = 16778456 :: Int32
-
-
-pattern KEY_Cyrillic_PE = 1776 :: Int32
-
-
-pattern KEY_Cyrillic_O_bar = 16778472 :: Int32
-
-
-pattern KEY_Cyrillic_O = 1775 :: Int32
-
-
-pattern KEY_Cyrillic_NJE = 1722 :: Int32
-
-
-pattern KEY_Cyrillic_LJE = 1721 :: Int32
-
-
-pattern KEY_Cyrillic_KA_vertstroke = 16778396 :: Int32
-
-
-pattern KEY_Cyrillic_KA_descender = 16778394 :: Int32
-
-
-pattern KEY_Cyrillic_KA = 1771 :: Int32
-
-
-pattern KEY_Cyrillic_JE = 1720 :: Int32
-
-
-pattern KEY_Cyrillic_I_macron = 16778466 :: Int32
-
-
-pattern KEY_Cyrillic_IO = 1715 :: Int32
-
-
-pattern KEY_Cyrillic_IE = 1765 :: Int32
-
-
-pattern KEY_Cyrillic_I = 1769 :: Int32
-
-
-pattern KEY_Cyrillic_HA_descender = 16778418 :: Int32
-
-
-pattern KEY_Cyrillic_HARDSIGN = 1791 :: Int32
-
-
-pattern KEY_Cyrillic_HA = 1768 :: Int32
-
-
-pattern KEY_Cyrillic_GHE_bar = 16778386 :: Int32
-
-
-pattern KEY_Cyrillic_GHE = 1767 :: Int32
-
-
-pattern KEY_Cyrillic_ES = 1779 :: Int32
-
-
-pattern KEY_Cyrillic_ER = 1778 :: Int32
-
-
-pattern KEY_Cyrillic_EN_descender = 16778402 :: Int32
-
-
-pattern KEY_Cyrillic_EN = 1774 :: Int32
-
-
-pattern KEY_Cyrillic_EM = 1773 :: Int32
-
-
-pattern KEY_Cyrillic_EL = 1772 :: Int32
-
-
-pattern KEY_Cyrillic_EF = 1766 :: Int32
-
-
-pattern KEY_Cyrillic_E = 1788 :: Int32
-
-
-pattern KEY_Cyrillic_DZHE = 1727 :: Int32
-
-
-pattern KEY_Cyrillic_DE = 1764 :: Int32
-
-
-pattern KEY_Cyrillic_CHE_vertstroke = 16778424 :: Int32
-
-
-pattern KEY_Cyrillic_CHE_descender = 16778422 :: Int32
-
-
-pattern KEY_Cyrillic_CHE = 1790 :: Int32
-
-
-pattern KEY_Cyrillic_BE = 1762 :: Int32
-
-
-pattern KEY_Cyrillic_A = 1761 :: Int32
-
-
-pattern KEY_CycleAngle = 269025180 :: Int32
-
-
-pattern KEY_Cut = 269025112 :: Int32
-
-
-pattern KEY_CruzeiroSign = 16785570 :: Int32
-
-
-pattern KEY_Copy = 269025111 :: Int32
-
-
-pattern KEY_Control_R = 65508 :: Int32
-
-
-pattern KEY_Control_L = 65507 :: Int32
-
-
-pattern KEY_ContrastAdjust = 269025058 :: Int32
-
-
-pattern KEY_Community = 269025085 :: Int32
-
-
-pattern KEY_ColonSign = 16785569 :: Int32
-
-
-pattern KEY_Codeinput = 65335 :: Int32
-
-
-pattern KEY_Close = 269025110 :: Int32
-
-
-pattern KEY_ClearGrab = 269024801 :: Int32
-
-
-pattern KEY_Clear = 65291 :: Int32
-
-
-pattern KEY_Ch = 65185 :: Int32
-
-
-pattern KEY_Ccircumflex = 710 :: Int32
-
-
-pattern KEY_Ccedilla = 199 :: Int32
-
-
-pattern KEY_Ccaron = 456 :: Int32
-
-
-pattern KEY_Caps_Lock = 65509 :: Int32
-
-
-pattern KEY_Cancel = 65385 :: Int32
-
-
-pattern KEY_Calendar = 269025056 :: Int32
-
-
-pattern KEY_Calculator = 269025053 :: Int32
-
-
-pattern KEY_Cacute = 454 :: Int32
-
-
-pattern KEY_Cabovedot = 709 :: Int32
-
-
-pattern KEY_C_h = 65188 :: Int32
-
-
-pattern KEY_C_H = 65189 :: Int32
-
-
-pattern KEY_CH = 65186 :: Int32
-
-
-pattern KEY_CD = 269025107 :: Int32
-
-
-pattern KEY_C = 67 :: Int32
-
-
-pattern KEY_Byelorussian_shortu = 1710 :: Int32
-
-
-pattern KEY_Byelorussian_SHORTU = 1726 :: Int32
-
-
-pattern KEY_BrightnessAdjust = 269025083 :: Int32
-
-
-pattern KEY_Break = 65387 :: Int32
-
-
-pattern KEY_BounceKeys_Enable = 65140 :: Int32
-
-
-pattern KEY_Book = 269025106 :: Int32
-
-
-pattern KEY_Bluetooth = 269025172 :: Int32
-
-
-pattern KEY_Blue = 269025190 :: Int32
-
-
-pattern KEY_Begin = 65368 :: Int32
-
-
-pattern KEY_Battery = 269025171 :: Int32
-
-
-pattern KEY_BackSpace = 65288 :: Int32
-
-
-pattern KEY_BackForward = 269025087 :: Int32
-
-
-pattern KEY_Back = 269025062 :: Int32
-
-
-pattern KEY_Babovedot = 16784898 :: Int32
-
-
-pattern KEY_B = 66 :: Int32
-
-
-pattern KEY_Away = 269025165 :: Int32
-
-
-pattern KEY_AudioStop = 269025045 :: Int32
-
-
-pattern KEY_AudioRewind = 269025086 :: Int32
-
-
-pattern KEY_AudioRepeat = 269025176 :: Int32
-
-
-pattern KEY_AudioRecord = 269025052 :: Int32
-
-
-pattern KEY_AudioRandomPlay = 269025177 :: Int32
-
-
-pattern KEY_AudioRaiseVolume = 269025043 :: Int32
-
-
-pattern KEY_AudioPrev = 269025046 :: Int32
-
-
-pattern KEY_AudioPlay = 269025044 :: Int32
-
-
-pattern KEY_AudioPause = 269025073 :: Int32
-
-
-pattern KEY_AudioNext = 269025047 :: Int32
-
-
-pattern KEY_AudioMute = 269025042 :: Int32
-
-
-pattern KEY_AudioMicMute = 269025202 :: Int32
-
-
-pattern KEY_AudioMedia = 269025074 :: Int32
-
-
-pattern KEY_AudioLowerVolume = 269025041 :: Int32
-
-
-pattern KEY_AudioForward = 269025175 :: Int32
-
-
-pattern KEY_AudioCycleTrack = 269025179 :: Int32
-
-
-pattern KEY_AudibleBell_Enable = 65146 :: Int32
-
-
-pattern KEY_Atilde = 195 :: Int32
-
-
-pattern KEY_Armenian_zhe = 16778602 :: Int32
-
-
-pattern KEY_Armenian_za = 16778598 :: Int32
-
-
-pattern KEY_Armenian_yentamna = 16778634 :: Int32
-
-
-pattern KEY_Armenian_yech = 16778597 :: Int32
-
-
-pattern KEY_Armenian_vyun = 16778626 :: Int32
-
-
-pattern KEY_Armenian_vo = 16778616 :: Int32
-
-
-pattern KEY_Armenian_vev = 16778622 :: Int32
-
-
-pattern KEY_Armenian_verjaket = 16778633 :: Int32
-
-
-pattern KEY_Armenian_tyun = 16778623 :: Int32
-
-
-pattern KEY_Armenian_tso = 16778625 :: Int32
-
-
-pattern KEY_Armenian_tsa = 16778606 :: Int32
-
-
-pattern KEY_Armenian_to = 16778601 :: Int32
-
-
-pattern KEY_Armenian_tche = 16778611 :: Int32
-
-
-pattern KEY_Armenian_shesht = 16778587 :: Int32
-
-
-pattern KEY_Armenian_sha = 16778615 :: Int32
-
-
-pattern KEY_Armenian_separation_mark = 16778589 :: Int32
-
-
-pattern KEY_Armenian_se = 16778621 :: Int32
-
-
-pattern KEY_Armenian_re = 16778624 :: Int32
-
-
-pattern KEY_Armenian_ra = 16778620 :: Int32
-
-
-pattern KEY_Armenian_question = 16778590 :: Int32
-
-
-pattern KEY_Armenian_pyur = 16778627 :: Int32
-
-
-pattern KEY_Armenian_pe = 16778618 :: Int32
-
-
-pattern KEY_Armenian_paruyk = 16778590 :: Int32
-
-
-pattern KEY_Armenian_o = 16778629 :: Int32
-
-
-pattern KEY_Armenian_nu = 16778614 :: Int32
-
-
-pattern KEY_Armenian_men = 16778612 :: Int32
-
-
-pattern KEY_Armenian_lyun = 16778604 :: Int32
-
-
-pattern KEY_Armenian_ligature_ew = 16778631 :: Int32
-
-
-pattern KEY_Armenian_khe = 16778605 :: Int32
-
-
-pattern KEY_Armenian_ken = 16778607 :: Int32
-
-
-pattern KEY_Armenian_ke = 16778628 :: Int32
-
-
-pattern KEY_Armenian_je = 16778619 :: Int32
-
-
-pattern KEY_Armenian_ini = 16778603 :: Int32
-
-
-pattern KEY_Armenian_hyphen = 16778634 :: Int32
-
-
-pattern KEY_Armenian_ho = 16778608 :: Int32
-
-
-pattern KEY_Armenian_hi = 16778613 :: Int32
-
-
-pattern KEY_Armenian_gim = 16778595 :: Int32
-
-
-pattern KEY_Armenian_ghat = 16778610 :: Int32
-
-
-pattern KEY_Armenian_full_stop = 16778633 :: Int32
-
-
-pattern KEY_Armenian_fe = 16778630 :: Int32
-
-
-pattern KEY_Armenian_exclam = 16778588 :: Int32
-
-
-pattern KEY_Armenian_e = 16778599 :: Int32
-
-
-pattern KEY_Armenian_dza = 16778609 :: Int32
-
-
-pattern KEY_Armenian_da = 16778596 :: Int32
-
-
-pattern KEY_Armenian_cha = 16778617 :: Int32
-
-
-pattern KEY_Armenian_but = 16778589 :: Int32
-
-
-pattern KEY_Armenian_ben = 16778594 :: Int32
-
-
-pattern KEY_Armenian_ayb = 16778593 :: Int32
-
-
-pattern KEY_Armenian_at = 16778600 :: Int32
-
-
-pattern KEY_Armenian_apostrophe = 16778586 :: Int32
-
-
-pattern KEY_Armenian_amanak = 16778588 :: Int32
-
-
-pattern KEY_Armenian_accent = 16778587 :: Int32
-
-
-pattern KEY_Armenian_ZHE = 16778554 :: Int32
-
-
-pattern KEY_Armenian_ZA = 16778550 :: Int32
-
-
-pattern KEY_Armenian_YECH = 16778549 :: Int32
-
-
-pattern KEY_Armenian_VYUN = 16778578 :: Int32
-
-
-pattern KEY_Armenian_VO = 16778568 :: Int32
-
-
-pattern KEY_Armenian_VEV = 16778574 :: Int32
-
-
-pattern KEY_Armenian_TYUN = 16778575 :: Int32
-
-
-pattern KEY_Armenian_TSO = 16778577 :: Int32
-
-
-pattern KEY_Armenian_TSA = 16778558 :: Int32
-
-
-pattern KEY_Armenian_TO = 16778553 :: Int32
-
-
-pattern KEY_Armenian_TCHE = 16778563 :: Int32
-
-
-pattern KEY_Armenian_SHA = 16778567 :: Int32
-
-
-pattern KEY_Armenian_SE = 16778573 :: Int32
-
-
-pattern KEY_Armenian_RE = 16778576 :: Int32
-
-
-pattern KEY_Armenian_RA = 16778572 :: Int32
-
-
-pattern KEY_Armenian_PYUR = 16778579 :: Int32
-
-
-pattern KEY_Armenian_PE = 16778570 :: Int32
-
-
-pattern KEY_Armenian_O = 16778581 :: Int32
-
-
-pattern KEY_Armenian_NU = 16778566 :: Int32
-
-
-pattern KEY_Armenian_MEN = 16778564 :: Int32
-
-
-pattern KEY_Armenian_LYUN = 16778556 :: Int32
-
-
-pattern KEY_Armenian_KHE = 16778557 :: Int32
-
-
-pattern KEY_Armenian_KEN = 16778559 :: Int32
-
-
-pattern KEY_Armenian_KE = 16778580 :: Int32
-
-
-pattern KEY_Armenian_JE = 16778571 :: Int32
-
-
-pattern KEY_Armenian_INI = 16778555 :: Int32
-
-
-pattern KEY_Armenian_HO = 16778560 :: Int32
-
-
-pattern KEY_Armenian_HI = 16778565 :: Int32
-
-
-pattern KEY_Armenian_GIM = 16778547 :: Int32
-
-
-pattern KEY_Armenian_GHAT = 16778562 :: Int32
-
-
-pattern KEY_Armenian_FE = 16778582 :: Int32
-
-
-pattern KEY_Armenian_E = 16778551 :: Int32
-
-
-pattern KEY_Armenian_DZA = 16778561 :: Int32
-
-
-pattern KEY_Armenian_DA = 16778548 :: Int32
-
-
-pattern KEY_Armenian_CHA = 16778569 :: Int32
-
-
-pattern KEY_Armenian_BEN = 16778546 :: Int32
-
-
-pattern KEY_Armenian_AYB = 16778545 :: Int32
-
-
-pattern KEY_Armenian_AT = 16778552 :: Int32
-
-
-pattern KEY_Aring = 197 :: Int32
-
-
-pattern KEY_Arabic_zain = 1490 :: Int32
-
-
-pattern KEY_Arabic_zah = 1496 :: Int32
-
-
-pattern KEY_Arabic_yeh_baree = 16778962 :: Int32
-
-
-pattern KEY_Arabic_yeh = 1514 :: Int32
-
-
-pattern KEY_Arabic_waw = 1512 :: Int32
-
-
-pattern KEY_Arabic_veh = 16778916 :: Int32
-
-
-pattern KEY_Arabic_tteh = 16778873 :: Int32
-
-
-pattern KEY_Arabic_theh = 1483 :: Int32
-
-
-pattern KEY_Arabic_thal = 1488 :: Int32
-
-
-pattern KEY_Arabic_tehmarbuta = 1481 :: Int32
-
-
-pattern KEY_Arabic_teh = 1482 :: Int32
-
-
-pattern KEY_Arabic_tcheh = 16778886 :: Int32
-
-
-pattern KEY_Arabic_tatweel = 1504 :: Int32
-
-
-pattern KEY_Arabic_tah = 1495 :: Int32
-
-
-pattern KEY_Arabic_switch = 65406 :: Int32
-
-
-pattern KEY_Arabic_superscript_alef = 16778864 :: Int32
-
-
-pattern KEY_Arabic_sukun = 1522 :: Int32
-
-
-pattern KEY_Arabic_sheen = 1492 :: Int32
-
-
-pattern KEY_Arabic_shadda = 1521 :: Int32
-
-
-pattern KEY_Arabic_semicolon = 1467 :: Int32
-
-
-pattern KEY_Arabic_seen = 1491 :: Int32
-
-
-pattern KEY_Arabic_sad = 1493 :: Int32
-
-
-pattern KEY_Arabic_rreh = 16778897 :: Int32
-
-
-pattern KEY_Arabic_ra = 1489 :: Int32
-
-
-pattern KEY_Arabic_question_mark = 1471 :: Int32
-
-
-pattern KEY_Arabic_qaf = 1506 :: Int32
-
-
-pattern KEY_Arabic_percent = 16778858 :: Int32
-
-
-pattern KEY_Arabic_peh = 16778878 :: Int32
-
-
-pattern KEY_Arabic_noon_ghunna = 16778938 :: Int32
-
-
-pattern KEY_Arabic_noon = 1510 :: Int32
-
-
-pattern KEY_Arabic_meem = 1509 :: Int32
-
-
-pattern KEY_Arabic_maddaonalef = 1474 :: Int32
-
-
-pattern KEY_Arabic_madda_above = 16778835 :: Int32
-
-
-pattern KEY_Arabic_lam = 1508 :: Int32
-
-
-pattern KEY_Arabic_khah = 1486 :: Int32
-
-
-pattern KEY_Arabic_keheh = 16778921 :: Int32
-
-
-pattern KEY_Arabic_kasratan = 1517 :: Int32
-
-
-pattern KEY_Arabic_kasra = 1520 :: Int32
-
-
-pattern KEY_Arabic_kaf = 1507 :: Int32
-
-
-pattern KEY_Arabic_jeh = 16778904 :: Int32
-
-
-pattern KEY_Arabic_jeem = 1484 :: Int32
-
-
-pattern KEY_Arabic_heh_goal = 16778945 :: Int32
-
-
-pattern KEY_Arabic_heh_doachashmee = 16778942 :: Int32
-
-
-pattern KEY_Arabic_heh = 1511 :: Int32
-
-
-pattern KEY_Arabic_hamzaunderalef = 1477 :: Int32
-
-
-pattern KEY_Arabic_hamzaonyeh = 1478 :: Int32
-
-
-pattern KEY_Arabic_hamzaonwaw = 1476 :: Int32
-
-
-pattern KEY_Arabic_hamzaonalef = 1475 :: Int32
-
-
-pattern KEY_Arabic_hamza_below = 16778837 :: Int32
-
-
-pattern KEY_Arabic_hamza_above = 16778836 :: Int32
-
-
-pattern KEY_Arabic_hamza = 1473 :: Int32
-
-
-pattern KEY_Arabic_hah = 1485 :: Int32
-
-
-pattern KEY_Arabic_ha = 1511 :: Int32
-
-
-pattern KEY_Arabic_ghain = 1498 :: Int32
-
-
-pattern KEY_Arabic_gaf = 16778927 :: Int32
-
-
-pattern KEY_Arabic_fullstop = 16778964 :: Int32
-
-
-pattern KEY_Arabic_feh = 1505 :: Int32
-
-
-pattern KEY_Arabic_fathatan = 1515 :: Int32
-
-
-pattern KEY_Arabic_fatha = 1518 :: Int32
-
-
-pattern KEY_Arabic_farsi_yeh = 16778956 :: Int32
-
-
-pattern KEY_Arabic_ddal = 16778888 :: Int32
-
-
-pattern KEY_Arabic_dammatan = 1516 :: Int32
-
-
-pattern KEY_Arabic_damma = 1519 :: Int32
-
-
-pattern KEY_Arabic_dal = 1487 :: Int32
-
-
-pattern KEY_Arabic_dad = 1494 :: Int32
-
-
-pattern KEY_Arabic_comma = 1452 :: Int32
-
-
-pattern KEY_Arabic_beh = 1480 :: Int32
-
-
-pattern KEY_Arabic_alefmaksura = 1513 :: Int32
-
-
-pattern KEY_Arabic_alef = 1479 :: Int32
-
-
-pattern KEY_Arabic_ain = 1497 :: Int32
-
-
-pattern KEY_Arabic_9 = 16778857 :: Int32
-
-
-pattern KEY_Arabic_8 = 16778856 :: Int32
-
-
-pattern KEY_Arabic_7 = 16778855 :: Int32
-
-
-pattern KEY_Arabic_6 = 16778854 :: Int32
-
-
-pattern KEY_Arabic_5 = 16778853 :: Int32
-
-
-pattern KEY_Arabic_4 = 16778852 :: Int32
-
-
-pattern KEY_Arabic_3 = 16778851 :: Int32
-
-
-pattern KEY_Arabic_2 = 16778850 :: Int32
-
-
-pattern KEY_Arabic_1 = 16778849 :: Int32
-
-
-pattern KEY_Arabic_0 = 16778848 :: Int32
-
-
-pattern KEY_ApplicationRight = 269025105 :: Int32
-
-
-pattern KEY_ApplicationLeft = 269025104 :: Int32
-
-
-pattern KEY_Aogonek = 417 :: Int32
-
-
-pattern KEY_Amacron = 960 :: Int32
-
-
-pattern KEY_Alt_R = 65514 :: Int32
-
-
-pattern KEY_Alt_L = 65513 :: Int32
-
-
-pattern KEY_Ahook = 16785058 :: Int32
-
-
-pattern KEY_Agrave = 192 :: Int32
-
-
-pattern KEY_Adiaeresis = 196 :: Int32
-
-
-pattern KEY_AddFavorite = 269025081 :: Int32
-
-
-pattern KEY_Acircumflextilde = 16785066 :: Int32
-
-
-pattern KEY_Acircumflexhook = 16785064 :: Int32
-
-
-pattern KEY_Acircumflexgrave = 16785062 :: Int32
-
-
-pattern KEY_Acircumflexbelowdot = 16785068 :: Int32
-
-
-pattern KEY_Acircumflexacute = 16785060 :: Int32
-
-
-pattern KEY_Acircumflex = 194 :: Int32
-
-
-pattern KEY_AccessX_Feedback_Enable = 65137 :: Int32
-
-
-pattern KEY_AccessX_Enable = 65136 :: Int32
-
-
-pattern KEY_Abrevetilde = 16785076 :: Int32
-
-
-pattern KEY_Abrevehook = 16785074 :: Int32
-
-
-pattern KEY_Abrevegrave = 16785072 :: Int32
-
-
-pattern KEY_Abrevebelowdot = 16785078 :: Int32
-
-
-pattern KEY_Abreveacute = 16785070 :: Int32
-
-
-pattern KEY_Abreve = 451 :: Int32
-
-
-pattern KEY_Abelowdot = 16785056 :: Int32
-
-
-pattern KEY_Aacute = 193 :: Int32
-
-
-pattern KEY_AE = 198 :: Int32
-
-
-pattern KEY_A = 65 :: Int32
-
-
-pattern KEY_9 = 57 :: Int32
-
-
-pattern KEY_8 = 56 :: Int32
-
-
-pattern KEY_7 = 55 :: Int32
-
-
-pattern KEY_6 = 54 :: Int32
-
-
-pattern KEY_5 = 53 :: Int32
-
-
-pattern KEY_4 = 52 :: Int32
-
-
-pattern KEY_3270_Test = 64781 :: Int32
-
-
-pattern KEY_3270_Setup = 64791 :: Int32
-
-
-pattern KEY_3270_Rule = 64788 :: Int32
-
-
-pattern KEY_3270_Right2 = 64771 :: Int32
-
-
-pattern KEY_3270_Reset = 64776 :: Int32
-
-
-pattern KEY_3270_Record = 64792 :: Int32
-
-
-pattern KEY_3270_Quit = 64777 :: Int32
-
-
-pattern KEY_3270_PrintScreen = 64797 :: Int32
-
-
-pattern KEY_3270_Play = 64790 :: Int32
-
-
-pattern KEY_3270_PA3 = 64780 :: Int32
-
-
-pattern KEY_3270_PA2 = 64779 :: Int32
-
-
-pattern KEY_3270_PA1 = 64778 :: Int32
-
-
-pattern KEY_3270_Left2 = 64772 :: Int32
-
-
-pattern KEY_3270_KeyClick = 64785 :: Int32
-
-
-pattern KEY_3270_Jump = 64786 :: Int32
-
-
-pattern KEY_3270_Ident = 64787 :: Int32
-
-
-pattern KEY_3270_FieldMark = 64770 :: Int32
-
-
-pattern KEY_3270_ExSelect = 64795 :: Int32
-
-
-pattern KEY_3270_EraseInput = 64775 :: Int32
-
-
-pattern KEY_3270_EraseEOF = 64774 :: Int32
-
-
-pattern KEY_3270_Enter = 64798 :: Int32
-
-
-pattern KEY_3270_Duplicate = 64769 :: Int32
-
-
-pattern KEY_3270_DeleteWord = 64794 :: Int32
-
-
-pattern KEY_3270_CursorSelect = 64796 :: Int32
-
-
-pattern KEY_3270_CursorBlink = 64783 :: Int32
-
-
-pattern KEY_3270_Copy = 64789 :: Int32
-
-
-pattern KEY_3270_ChangeScreen = 64793 :: Int32
-
-
-pattern KEY_3270_BackTab = 64773 :: Int32
-
-
-pattern KEY_3270_Attn = 64782 :: Int32
-
-
-pattern KEY_3270_AltCursor = 64784 :: Int32
-
-
-pattern KEY_3 = 51 :: Int32
-
-
-pattern KEY_2 = 50 :: Int32
-
-
-pattern KEY_1 = 49 :: Int32
-
-
-pattern KEY_0 = 48 :: Int32
-
-
-pattern EVENT_STOP = True :: Bool
-
-
-pattern EVENT_PROPAGATE = False :: Bool
-
-
-pattern CURRENT_TIME = 0 :: Int32
-
-
-pattern BUTTON_SECONDARY = 3 :: Int32
-
-
-pattern BUTTON_PRIMARY = 1 :: Int32
-
-
-pattern BUTTON_MIDDLE = 2 :: Int32
-
-
diff --git a/GI/Gdk/Enums.hs b/GI/Gdk/Enums.hs
deleted file mode 100644
--- a/GI/Gdk/Enums.hs
+++ /dev/null
@@ -1,1355 +0,0 @@
-
-{- |
-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.Gdk.Enums
-    ( 
-    catchGLError                            ,
-    handleGLError                           ,
-
--- * Exported types
-    WindowWindowClass(..)                   ,
-    WindowTypeHint(..)                      ,
-    WindowType(..)                          ,
-    WindowEdge(..)                          ,
-    VisualType(..)                          ,
-    VisibilityState(..)                     ,
-    Status(..)                              ,
-    SettingAction(..)                       ,
-    ScrollDirection(..)                     ,
-    PropertyState(..)                       ,
-    PropMode(..)                            ,
-    OwnerChange(..)                         ,
-    NotifyType(..)                          ,
-    ModifierIntent(..)                      ,
-    InputSource(..)                         ,
-    InputMode(..)                           ,
-    Gravity(..)                             ,
-    GrabStatus(..)                          ,
-    GrabOwnership(..)                       ,
-    GLError(..)                             ,
-    FullscreenMode(..)                      ,
-    FilterReturn(..)                        ,
-    EventType(..)                           ,
-    DragProtocol(..)                        ,
-    DeviceType(..)                          ,
-    CursorType(..)                          ,
-    CrossingMode(..)                        ,
-    ByteOrder(..)                           ,
-    AxisUse(..)                             ,
-
-
-    ) 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
-
-
-
-
--- Enum WindowWindowClass
-
-data WindowWindowClass = 
-      WindowWindowClassInputOutput
-    | WindowWindowClassInputOnly
-    | AnotherWindowWindowClass Int
-    deriving (Show, Eq)
-
-instance Enum WindowWindowClass where
-    fromEnum WindowWindowClassInputOutput = 0
-    fromEnum WindowWindowClassInputOnly = 1
-    fromEnum (AnotherWindowWindowClass k) = k
-
-    toEnum 0 = WindowWindowClassInputOutput
-    toEnum 1 = WindowWindowClassInputOnly
-    toEnum k = AnotherWindowWindowClass k
-
-foreign import ccall "gdk_window_window_class_get_type" c_gdk_window_window_class_get_type :: 
-    IO GType
-
-instance BoxedEnum WindowWindowClass where
-    boxedEnumType _ = c_gdk_window_window_class_get_type
-
--- Enum WindowTypeHint
-
-data WindowTypeHint = 
-      WindowTypeHintNormal
-    | WindowTypeHintDialog
-    | WindowTypeHintMenu
-    | WindowTypeHintToolbar
-    | WindowTypeHintSplashscreen
-    | WindowTypeHintUtility
-    | WindowTypeHintDock
-    | WindowTypeHintDesktop
-    | WindowTypeHintDropdownMenu
-    | WindowTypeHintPopupMenu
-    | WindowTypeHintTooltip
-    | WindowTypeHintNotification
-    | WindowTypeHintCombo
-    | WindowTypeHintDnd
-    | AnotherWindowTypeHint Int
-    deriving (Show, Eq)
-
-instance Enum WindowTypeHint where
-    fromEnum WindowTypeHintNormal = 0
-    fromEnum WindowTypeHintDialog = 1
-    fromEnum WindowTypeHintMenu = 2
-    fromEnum WindowTypeHintToolbar = 3
-    fromEnum WindowTypeHintSplashscreen = 4
-    fromEnum WindowTypeHintUtility = 5
-    fromEnum WindowTypeHintDock = 6
-    fromEnum WindowTypeHintDesktop = 7
-    fromEnum WindowTypeHintDropdownMenu = 8
-    fromEnum WindowTypeHintPopupMenu = 9
-    fromEnum WindowTypeHintTooltip = 10
-    fromEnum WindowTypeHintNotification = 11
-    fromEnum WindowTypeHintCombo = 12
-    fromEnum WindowTypeHintDnd = 13
-    fromEnum (AnotherWindowTypeHint k) = k
-
-    toEnum 0 = WindowTypeHintNormal
-    toEnum 1 = WindowTypeHintDialog
-    toEnum 2 = WindowTypeHintMenu
-    toEnum 3 = WindowTypeHintToolbar
-    toEnum 4 = WindowTypeHintSplashscreen
-    toEnum 5 = WindowTypeHintUtility
-    toEnum 6 = WindowTypeHintDock
-    toEnum 7 = WindowTypeHintDesktop
-    toEnum 8 = WindowTypeHintDropdownMenu
-    toEnum 9 = WindowTypeHintPopupMenu
-    toEnum 10 = WindowTypeHintTooltip
-    toEnum 11 = WindowTypeHintNotification
-    toEnum 12 = WindowTypeHintCombo
-    toEnum 13 = WindowTypeHintDnd
-    toEnum k = AnotherWindowTypeHint k
-
-foreign import ccall "gdk_window_type_hint_get_type" c_gdk_window_type_hint_get_type :: 
-    IO GType
-
-instance BoxedEnum WindowTypeHint where
-    boxedEnumType _ = c_gdk_window_type_hint_get_type
-
--- Enum WindowType
-
-data WindowType = 
-      WindowTypeRoot
-    | WindowTypeToplevel
-    | WindowTypeChild
-    | WindowTypeTemp
-    | WindowTypeForeign
-    | WindowTypeOffscreen
-    | WindowTypeSubsurface
-    | AnotherWindowType Int
-    deriving (Show, Eq)
-
-instance Enum WindowType where
-    fromEnum WindowTypeRoot = 0
-    fromEnum WindowTypeToplevel = 1
-    fromEnum WindowTypeChild = 2
-    fromEnum WindowTypeTemp = 3
-    fromEnum WindowTypeForeign = 4
-    fromEnum WindowTypeOffscreen = 5
-    fromEnum WindowTypeSubsurface = 6
-    fromEnum (AnotherWindowType k) = k
-
-    toEnum 0 = WindowTypeRoot
-    toEnum 1 = WindowTypeToplevel
-    toEnum 2 = WindowTypeChild
-    toEnum 3 = WindowTypeTemp
-    toEnum 4 = WindowTypeForeign
-    toEnum 5 = WindowTypeOffscreen
-    toEnum 6 = WindowTypeSubsurface
-    toEnum k = AnotherWindowType k
-
-foreign import ccall "gdk_window_type_get_type" c_gdk_window_type_get_type :: 
-    IO GType
-
-instance BoxedEnum WindowType where
-    boxedEnumType _ = c_gdk_window_type_get_type
-
--- Enum WindowEdge
-
-data WindowEdge = 
-      WindowEdgeNorthWest
-    | WindowEdgeNorth
-    | WindowEdgeNorthEast
-    | WindowEdgeWest
-    | WindowEdgeEast
-    | WindowEdgeSouthWest
-    | WindowEdgeSouth
-    | WindowEdgeSouthEast
-    | AnotherWindowEdge Int
-    deriving (Show, Eq)
-
-instance Enum WindowEdge where
-    fromEnum WindowEdgeNorthWest = 0
-    fromEnum WindowEdgeNorth = 1
-    fromEnum WindowEdgeNorthEast = 2
-    fromEnum WindowEdgeWest = 3
-    fromEnum WindowEdgeEast = 4
-    fromEnum WindowEdgeSouthWest = 5
-    fromEnum WindowEdgeSouth = 6
-    fromEnum WindowEdgeSouthEast = 7
-    fromEnum (AnotherWindowEdge k) = k
-
-    toEnum 0 = WindowEdgeNorthWest
-    toEnum 1 = WindowEdgeNorth
-    toEnum 2 = WindowEdgeNorthEast
-    toEnum 3 = WindowEdgeWest
-    toEnum 4 = WindowEdgeEast
-    toEnum 5 = WindowEdgeSouthWest
-    toEnum 6 = WindowEdgeSouth
-    toEnum 7 = WindowEdgeSouthEast
-    toEnum k = AnotherWindowEdge k
-
-foreign import ccall "gdk_window_edge_get_type" c_gdk_window_edge_get_type :: 
-    IO GType
-
-instance BoxedEnum WindowEdge where
-    boxedEnumType _ = c_gdk_window_edge_get_type
-
--- Enum VisualType
-
-data VisualType = 
-      VisualTypeStaticGray
-    | VisualTypeGrayscale
-    | VisualTypeStaticColor
-    | VisualTypePseudoColor
-    | VisualTypeTrueColor
-    | VisualTypeDirectColor
-    | AnotherVisualType Int
-    deriving (Show, Eq)
-
-instance Enum VisualType where
-    fromEnum VisualTypeStaticGray = 0
-    fromEnum VisualTypeGrayscale = 1
-    fromEnum VisualTypeStaticColor = 2
-    fromEnum VisualTypePseudoColor = 3
-    fromEnum VisualTypeTrueColor = 4
-    fromEnum VisualTypeDirectColor = 5
-    fromEnum (AnotherVisualType k) = k
-
-    toEnum 0 = VisualTypeStaticGray
-    toEnum 1 = VisualTypeGrayscale
-    toEnum 2 = VisualTypeStaticColor
-    toEnum 3 = VisualTypePseudoColor
-    toEnum 4 = VisualTypeTrueColor
-    toEnum 5 = VisualTypeDirectColor
-    toEnum k = AnotherVisualType k
-
-foreign import ccall "gdk_visual_type_get_type" c_gdk_visual_type_get_type :: 
-    IO GType
-
-instance BoxedEnum VisualType where
-    boxedEnumType _ = c_gdk_visual_type_get_type
-
--- Enum VisibilityState
-
-data VisibilityState = 
-      VisibilityStateUnobscured
-    | VisibilityStatePartial
-    | VisibilityStateFullyObscured
-    | AnotherVisibilityState Int
-    deriving (Show, Eq)
-
-instance Enum VisibilityState where
-    fromEnum VisibilityStateUnobscured = 0
-    fromEnum VisibilityStatePartial = 1
-    fromEnum VisibilityStateFullyObscured = 2
-    fromEnum (AnotherVisibilityState k) = k
-
-    toEnum 0 = VisibilityStateUnobscured
-    toEnum 1 = VisibilityStatePartial
-    toEnum 2 = VisibilityStateFullyObscured
-    toEnum k = AnotherVisibilityState k
-
-foreign import ccall "gdk_visibility_state_get_type" c_gdk_visibility_state_get_type :: 
-    IO GType
-
-instance BoxedEnum VisibilityState where
-    boxedEnumType _ = c_gdk_visibility_state_get_type
-
--- Enum Status
-
-data Status = 
-      StatusOk
-    | StatusError
-    | StatusErrorParam
-    | StatusErrorFile
-    | StatusErrorMem
-    | AnotherStatus Int
-    deriving (Show, Eq)
-
-instance Enum Status where
-    fromEnum StatusOk = 0
-    fromEnum StatusError = -1
-    fromEnum StatusErrorParam = -2
-    fromEnum StatusErrorFile = -3
-    fromEnum StatusErrorMem = -4
-    fromEnum (AnotherStatus k) = k
-
-    toEnum -4 = StatusErrorMem
-    toEnum -3 = StatusErrorFile
-    toEnum -2 = StatusErrorParam
-    toEnum -1 = StatusError
-    toEnum 0 = StatusOk
-    toEnum k = AnotherStatus k
-
-foreign import ccall "gdk_status_get_type" c_gdk_status_get_type :: 
-    IO GType
-
-instance BoxedEnum Status where
-    boxedEnumType _ = c_gdk_status_get_type
-
--- Enum SettingAction
-
-data SettingAction = 
-      SettingActionNew
-    | SettingActionChanged
-    | SettingActionDeleted
-    | AnotherSettingAction Int
-    deriving (Show, Eq)
-
-instance Enum SettingAction where
-    fromEnum SettingActionNew = 0
-    fromEnum SettingActionChanged = 1
-    fromEnum SettingActionDeleted = 2
-    fromEnum (AnotherSettingAction k) = k
-
-    toEnum 0 = SettingActionNew
-    toEnum 1 = SettingActionChanged
-    toEnum 2 = SettingActionDeleted
-    toEnum k = AnotherSettingAction k
-
-foreign import ccall "gdk_setting_action_get_type" c_gdk_setting_action_get_type :: 
-    IO GType
-
-instance BoxedEnum SettingAction where
-    boxedEnumType _ = c_gdk_setting_action_get_type
-
--- Enum ScrollDirection
-
-data ScrollDirection = 
-      ScrollDirectionUp
-    | ScrollDirectionDown
-    | ScrollDirectionLeft
-    | ScrollDirectionRight
-    | ScrollDirectionSmooth
-    | AnotherScrollDirection Int
-    deriving (Show, Eq)
-
-instance Enum ScrollDirection where
-    fromEnum ScrollDirectionUp = 0
-    fromEnum ScrollDirectionDown = 1
-    fromEnum ScrollDirectionLeft = 2
-    fromEnum ScrollDirectionRight = 3
-    fromEnum ScrollDirectionSmooth = 4
-    fromEnum (AnotherScrollDirection k) = k
-
-    toEnum 0 = ScrollDirectionUp
-    toEnum 1 = ScrollDirectionDown
-    toEnum 2 = ScrollDirectionLeft
-    toEnum 3 = ScrollDirectionRight
-    toEnum 4 = ScrollDirectionSmooth
-    toEnum k = AnotherScrollDirection k
-
-foreign import ccall "gdk_scroll_direction_get_type" c_gdk_scroll_direction_get_type :: 
-    IO GType
-
-instance BoxedEnum ScrollDirection where
-    boxedEnumType _ = c_gdk_scroll_direction_get_type
-
--- Enum PropertyState
-
-data PropertyState = 
-      PropertyStateNewValue
-    | PropertyStateDelete
-    | AnotherPropertyState Int
-    deriving (Show, Eq)
-
-instance Enum PropertyState where
-    fromEnum PropertyStateNewValue = 0
-    fromEnum PropertyStateDelete = 1
-    fromEnum (AnotherPropertyState k) = k
-
-    toEnum 0 = PropertyStateNewValue
-    toEnum 1 = PropertyStateDelete
-    toEnum k = AnotherPropertyState k
-
-foreign import ccall "gdk_property_state_get_type" c_gdk_property_state_get_type :: 
-    IO GType
-
-instance BoxedEnum PropertyState where
-    boxedEnumType _ = c_gdk_property_state_get_type
-
--- Enum PropMode
-
-data PropMode = 
-      PropModeReplace
-    | PropModePrepend
-    | PropModeAppend
-    | AnotherPropMode Int
-    deriving (Show, Eq)
-
-instance Enum PropMode where
-    fromEnum PropModeReplace = 0
-    fromEnum PropModePrepend = 1
-    fromEnum PropModeAppend = 2
-    fromEnum (AnotherPropMode k) = k
-
-    toEnum 0 = PropModeReplace
-    toEnum 1 = PropModePrepend
-    toEnum 2 = PropModeAppend
-    toEnum k = AnotherPropMode k
-
-foreign import ccall "gdk_prop_mode_get_type" c_gdk_prop_mode_get_type :: 
-    IO GType
-
-instance BoxedEnum PropMode where
-    boxedEnumType _ = c_gdk_prop_mode_get_type
-
--- Enum OwnerChange
-
-data OwnerChange = 
-      OwnerChangeNewOwner
-    | OwnerChangeDestroy
-    | OwnerChangeClose
-    | AnotherOwnerChange Int
-    deriving (Show, Eq)
-
-instance Enum OwnerChange where
-    fromEnum OwnerChangeNewOwner = 0
-    fromEnum OwnerChangeDestroy = 1
-    fromEnum OwnerChangeClose = 2
-    fromEnum (AnotherOwnerChange k) = k
-
-    toEnum 0 = OwnerChangeNewOwner
-    toEnum 1 = OwnerChangeDestroy
-    toEnum 2 = OwnerChangeClose
-    toEnum k = AnotherOwnerChange k
-
-foreign import ccall "gdk_owner_change_get_type" c_gdk_owner_change_get_type :: 
-    IO GType
-
-instance BoxedEnum OwnerChange where
-    boxedEnumType _ = c_gdk_owner_change_get_type
-
--- Enum NotifyType
-
-data NotifyType = 
-      NotifyTypeAncestor
-    | NotifyTypeVirtual
-    | NotifyTypeInferior
-    | NotifyTypeNonlinear
-    | NotifyTypeNonlinearVirtual
-    | NotifyTypeUnknown
-    | AnotherNotifyType Int
-    deriving (Show, Eq)
-
-instance Enum NotifyType where
-    fromEnum NotifyTypeAncestor = 0
-    fromEnum NotifyTypeVirtual = 1
-    fromEnum NotifyTypeInferior = 2
-    fromEnum NotifyTypeNonlinear = 3
-    fromEnum NotifyTypeNonlinearVirtual = 4
-    fromEnum NotifyTypeUnknown = 5
-    fromEnum (AnotherNotifyType k) = k
-
-    toEnum 0 = NotifyTypeAncestor
-    toEnum 1 = NotifyTypeVirtual
-    toEnum 2 = NotifyTypeInferior
-    toEnum 3 = NotifyTypeNonlinear
-    toEnum 4 = NotifyTypeNonlinearVirtual
-    toEnum 5 = NotifyTypeUnknown
-    toEnum k = AnotherNotifyType k
-
-foreign import ccall "gdk_notify_type_get_type" c_gdk_notify_type_get_type :: 
-    IO GType
-
-instance BoxedEnum NotifyType where
-    boxedEnumType _ = c_gdk_notify_type_get_type
-
--- Enum ModifierIntent
-
-data ModifierIntent = 
-      ModifierIntentPrimaryAccelerator
-    | ModifierIntentContextMenu
-    | ModifierIntentExtendSelection
-    | ModifierIntentModifySelection
-    | ModifierIntentNoTextInput
-    | ModifierIntentShiftGroup
-    | AnotherModifierIntent Int
-    deriving (Show, Eq)
-
-instance Enum ModifierIntent where
-    fromEnum ModifierIntentPrimaryAccelerator = 0
-    fromEnum ModifierIntentContextMenu = 1
-    fromEnum ModifierIntentExtendSelection = 2
-    fromEnum ModifierIntentModifySelection = 3
-    fromEnum ModifierIntentNoTextInput = 4
-    fromEnum ModifierIntentShiftGroup = 5
-    fromEnum (AnotherModifierIntent k) = k
-
-    toEnum 0 = ModifierIntentPrimaryAccelerator
-    toEnum 1 = ModifierIntentContextMenu
-    toEnum 2 = ModifierIntentExtendSelection
-    toEnum 3 = ModifierIntentModifySelection
-    toEnum 4 = ModifierIntentNoTextInput
-    toEnum 5 = ModifierIntentShiftGroup
-    toEnum k = AnotherModifierIntent k
-
-foreign import ccall "gdk_modifier_intent_get_type" c_gdk_modifier_intent_get_type :: 
-    IO GType
-
-instance BoxedEnum ModifierIntent where
-    boxedEnumType _ = c_gdk_modifier_intent_get_type
-
--- Enum InputSource
-
-data InputSource = 
-      InputSourceMouse
-    | InputSourcePen
-    | InputSourceEraser
-    | InputSourceCursor
-    | InputSourceKeyboard
-    | InputSourceTouchscreen
-    | InputSourceTouchpad
-    | AnotherInputSource Int
-    deriving (Show, Eq)
-
-instance Enum InputSource where
-    fromEnum InputSourceMouse = 0
-    fromEnum InputSourcePen = 1
-    fromEnum InputSourceEraser = 2
-    fromEnum InputSourceCursor = 3
-    fromEnum InputSourceKeyboard = 4
-    fromEnum InputSourceTouchscreen = 5
-    fromEnum InputSourceTouchpad = 6
-    fromEnum (AnotherInputSource k) = k
-
-    toEnum 0 = InputSourceMouse
-    toEnum 1 = InputSourcePen
-    toEnum 2 = InputSourceEraser
-    toEnum 3 = InputSourceCursor
-    toEnum 4 = InputSourceKeyboard
-    toEnum 5 = InputSourceTouchscreen
-    toEnum 6 = InputSourceTouchpad
-    toEnum k = AnotherInputSource k
-
-foreign import ccall "gdk_input_source_get_type" c_gdk_input_source_get_type :: 
-    IO GType
-
-instance BoxedEnum InputSource where
-    boxedEnumType _ = c_gdk_input_source_get_type
-
--- Enum InputMode
-
-data InputMode = 
-      InputModeDisabled
-    | InputModeScreen
-    | InputModeWindow
-    | AnotherInputMode Int
-    deriving (Show, Eq)
-
-instance Enum InputMode where
-    fromEnum InputModeDisabled = 0
-    fromEnum InputModeScreen = 1
-    fromEnum InputModeWindow = 2
-    fromEnum (AnotherInputMode k) = k
-
-    toEnum 0 = InputModeDisabled
-    toEnum 1 = InputModeScreen
-    toEnum 2 = InputModeWindow
-    toEnum k = AnotherInputMode k
-
-foreign import ccall "gdk_input_mode_get_type" c_gdk_input_mode_get_type :: 
-    IO GType
-
-instance BoxedEnum InputMode where
-    boxedEnumType _ = c_gdk_input_mode_get_type
-
--- Enum Gravity
-
-data Gravity = 
-      GravityNorthWest
-    | GravityNorth
-    | GravityNorthEast
-    | GravityWest
-    | GravityCenter
-    | GravityEast
-    | GravitySouthWest
-    | GravitySouth
-    | GravitySouthEast
-    | GravityStatic
-    | AnotherGravity Int
-    deriving (Show, Eq)
-
-instance Enum Gravity where
-    fromEnum GravityNorthWest = 1
-    fromEnum GravityNorth = 2
-    fromEnum GravityNorthEast = 3
-    fromEnum GravityWest = 4
-    fromEnum GravityCenter = 5
-    fromEnum GravityEast = 6
-    fromEnum GravitySouthWest = 7
-    fromEnum GravitySouth = 8
-    fromEnum GravitySouthEast = 9
-    fromEnum GravityStatic = 10
-    fromEnum (AnotherGravity k) = k
-
-    toEnum 1 = GravityNorthWest
-    toEnum 2 = GravityNorth
-    toEnum 3 = GravityNorthEast
-    toEnum 4 = GravityWest
-    toEnum 5 = GravityCenter
-    toEnum 6 = GravityEast
-    toEnum 7 = GravitySouthWest
-    toEnum 8 = GravitySouth
-    toEnum 9 = GravitySouthEast
-    toEnum 10 = GravityStatic
-    toEnum k = AnotherGravity k
-
-foreign import ccall "gdk_gravity_get_type" c_gdk_gravity_get_type :: 
-    IO GType
-
-instance BoxedEnum Gravity where
-    boxedEnumType _ = c_gdk_gravity_get_type
-
--- Enum GrabStatus
-
-data GrabStatus = 
-      GrabStatusSuccess
-    | GrabStatusAlreadyGrabbed
-    | GrabStatusInvalidTime
-    | GrabStatusNotViewable
-    | GrabStatusFrozen
-    | GrabStatusFailed
-    | AnotherGrabStatus Int
-    deriving (Show, Eq)
-
-instance Enum GrabStatus where
-    fromEnum GrabStatusSuccess = 0
-    fromEnum GrabStatusAlreadyGrabbed = 1
-    fromEnum GrabStatusInvalidTime = 2
-    fromEnum GrabStatusNotViewable = 3
-    fromEnum GrabStatusFrozen = 4
-    fromEnum GrabStatusFailed = 5
-    fromEnum (AnotherGrabStatus k) = k
-
-    toEnum 0 = GrabStatusSuccess
-    toEnum 1 = GrabStatusAlreadyGrabbed
-    toEnum 2 = GrabStatusInvalidTime
-    toEnum 3 = GrabStatusNotViewable
-    toEnum 4 = GrabStatusFrozen
-    toEnum 5 = GrabStatusFailed
-    toEnum k = AnotherGrabStatus k
-
-foreign import ccall "gdk_grab_status_get_type" c_gdk_grab_status_get_type :: 
-    IO GType
-
-instance BoxedEnum GrabStatus where
-    boxedEnumType _ = c_gdk_grab_status_get_type
-
--- Enum GrabOwnership
-
-data GrabOwnership = 
-      GrabOwnershipNone
-    | GrabOwnershipWindow
-    | GrabOwnershipApplication
-    | AnotherGrabOwnership Int
-    deriving (Show, Eq)
-
-instance Enum GrabOwnership where
-    fromEnum GrabOwnershipNone = 0
-    fromEnum GrabOwnershipWindow = 1
-    fromEnum GrabOwnershipApplication = 2
-    fromEnum (AnotherGrabOwnership k) = k
-
-    toEnum 0 = GrabOwnershipNone
-    toEnum 1 = GrabOwnershipWindow
-    toEnum 2 = GrabOwnershipApplication
-    toEnum k = AnotherGrabOwnership k
-
-foreign import ccall "gdk_grab_ownership_get_type" c_gdk_grab_ownership_get_type :: 
-    IO GType
-
-instance BoxedEnum GrabOwnership where
-    boxedEnumType _ = c_gdk_grab_ownership_get_type
-
--- Enum GLError
-
-data GLError = 
-      GLErrorNotAvailable
-    | GLErrorUnsupportedFormat
-    | GLErrorUnsupportedProfile
-    | AnotherGLError Int
-    deriving (Show, Eq)
-
-instance Enum GLError where
-    fromEnum GLErrorNotAvailable = 0
-    fromEnum GLErrorUnsupportedFormat = 1
-    fromEnum GLErrorUnsupportedProfile = 2
-    fromEnum (AnotherGLError k) = k
-
-    toEnum 0 = GLErrorNotAvailable
-    toEnum 1 = GLErrorUnsupportedFormat
-    toEnum 2 = GLErrorUnsupportedProfile
-    toEnum k = AnotherGLError k
-
-instance GErrorClass GLError where
-    gerrorClassDomain _ = "gdk-gl-error-quark"
-
-catchGLError ::
-    IO a ->
-    (GLError -> GErrorMessage -> IO a) ->
-    IO a
-catchGLError = catchGErrorJustDomain
-
-handleGLError ::
-    (GLError -> GErrorMessage -> IO a) ->
-    IO a ->
-    IO a
-handleGLError = handleGErrorJustDomain
-
-foreign import ccall "gdk_gl_error_get_type" c_gdk_gl_error_get_type :: 
-    IO GType
-
-instance BoxedEnum GLError where
-    boxedEnumType _ = c_gdk_gl_error_get_type
-
--- Enum FullscreenMode
-
-data FullscreenMode = 
-      FullscreenModeCurrentMonitor
-    | FullscreenModeAllMonitors
-    | AnotherFullscreenMode Int
-    deriving (Show, Eq)
-
-instance Enum FullscreenMode where
-    fromEnum FullscreenModeCurrentMonitor = 0
-    fromEnum FullscreenModeAllMonitors = 1
-    fromEnum (AnotherFullscreenMode k) = k
-
-    toEnum 0 = FullscreenModeCurrentMonitor
-    toEnum 1 = FullscreenModeAllMonitors
-    toEnum k = AnotherFullscreenMode k
-
-foreign import ccall "gdk_fullscreen_mode_get_type" c_gdk_fullscreen_mode_get_type :: 
-    IO GType
-
-instance BoxedEnum FullscreenMode where
-    boxedEnumType _ = c_gdk_fullscreen_mode_get_type
-
--- Enum FilterReturn
-
-data FilterReturn = 
-      FilterReturnContinue
-    | FilterReturnTranslate
-    | FilterReturnRemove
-    | AnotherFilterReturn Int
-    deriving (Show, Eq)
-
-instance Enum FilterReturn where
-    fromEnum FilterReturnContinue = 0
-    fromEnum FilterReturnTranslate = 1
-    fromEnum FilterReturnRemove = 2
-    fromEnum (AnotherFilterReturn k) = k
-
-    toEnum 0 = FilterReturnContinue
-    toEnum 1 = FilterReturnTranslate
-    toEnum 2 = FilterReturnRemove
-    toEnum k = AnotherFilterReturn k
-
-foreign import ccall "gdk_filter_return_get_type" c_gdk_filter_return_get_type :: 
-    IO GType
-
-instance BoxedEnum FilterReturn where
-    boxedEnumType _ = c_gdk_filter_return_get_type
-
--- Enum EventType
-
-data EventType = 
-      EventTypeNothing
-    | EventTypeDelete
-    | EventTypeDestroy
-    | EventTypeExpose
-    | EventTypeMotionNotify
-    | EventTypeButtonPress
-    | EventType2buttonPress
-    | EventTypeDoubleButtonPress
-    | EventType3buttonPress
-    | EventTypeTripleButtonPress
-    | EventTypeButtonRelease
-    | EventTypeKeyPress
-    | EventTypeKeyRelease
-    | EventTypeEnterNotify
-    | EventTypeLeaveNotify
-    | EventTypeFocusChange
-    | EventTypeConfigure
-    | EventTypeMap
-    | EventTypeUnmap
-    | EventTypePropertyNotify
-    | EventTypeSelectionClear
-    | EventTypeSelectionRequest
-    | EventTypeSelectionNotify
-    | EventTypeProximityIn
-    | EventTypeProximityOut
-    | EventTypeDragEnter
-    | EventTypeDragLeave
-    | EventTypeDragMotion
-    | EventTypeDragStatus
-    | EventTypeDropStart
-    | EventTypeDropFinished
-    | EventTypeClientEvent
-    | EventTypeVisibilityNotify
-    | EventTypeScroll
-    | EventTypeWindowState
-    | EventTypeSetting
-    | EventTypeOwnerChange
-    | EventTypeGrabBroken
-    | EventTypeDamage
-    | EventTypeTouchBegin
-    | EventTypeTouchUpdate
-    | EventTypeTouchEnd
-    | EventTypeTouchCancel
-    | EventTypeEventLast
-    | AnotherEventType Int
-    deriving (Show, Eq)
-
-instance Enum EventType where
-    fromEnum EventTypeNothing = -1
-    fromEnum EventTypeDelete = 0
-    fromEnum EventTypeDestroy = 1
-    fromEnum EventTypeExpose = 2
-    fromEnum EventTypeMotionNotify = 3
-    fromEnum EventTypeButtonPress = 4
-    fromEnum EventType2buttonPress = 5
-    fromEnum EventTypeDoubleButtonPress = 5
-    fromEnum EventType3buttonPress = 6
-    fromEnum EventTypeTripleButtonPress = 6
-    fromEnum EventTypeButtonRelease = 7
-    fromEnum EventTypeKeyPress = 8
-    fromEnum EventTypeKeyRelease = 9
-    fromEnum EventTypeEnterNotify = 10
-    fromEnum EventTypeLeaveNotify = 11
-    fromEnum EventTypeFocusChange = 12
-    fromEnum EventTypeConfigure = 13
-    fromEnum EventTypeMap = 14
-    fromEnum EventTypeUnmap = 15
-    fromEnum EventTypePropertyNotify = 16
-    fromEnum EventTypeSelectionClear = 17
-    fromEnum EventTypeSelectionRequest = 18
-    fromEnum EventTypeSelectionNotify = 19
-    fromEnum EventTypeProximityIn = 20
-    fromEnum EventTypeProximityOut = 21
-    fromEnum EventTypeDragEnter = 22
-    fromEnum EventTypeDragLeave = 23
-    fromEnum EventTypeDragMotion = 24
-    fromEnum EventTypeDragStatus = 25
-    fromEnum EventTypeDropStart = 26
-    fromEnum EventTypeDropFinished = 27
-    fromEnum EventTypeClientEvent = 28
-    fromEnum EventTypeVisibilityNotify = 29
-    fromEnum EventTypeScroll = 31
-    fromEnum EventTypeWindowState = 32
-    fromEnum EventTypeSetting = 33
-    fromEnum EventTypeOwnerChange = 34
-    fromEnum EventTypeGrabBroken = 35
-    fromEnum EventTypeDamage = 36
-    fromEnum EventTypeTouchBegin = 37
-    fromEnum EventTypeTouchUpdate = 38
-    fromEnum EventTypeTouchEnd = 39
-    fromEnum EventTypeTouchCancel = 40
-    fromEnum EventTypeEventLast = 41
-    fromEnum (AnotherEventType k) = k
-
-    toEnum -1 = EventTypeNothing
-    toEnum 0 = EventTypeDelete
-    toEnum 1 = EventTypeDestroy
-    toEnum 2 = EventTypeExpose
-    toEnum 3 = EventTypeMotionNotify
-    toEnum 4 = EventTypeButtonPress
-    toEnum 5 = EventType2buttonPress
-    toEnum 6 = EventType3buttonPress
-    toEnum 7 = EventTypeButtonRelease
-    toEnum 8 = EventTypeKeyPress
-    toEnum 9 = EventTypeKeyRelease
-    toEnum 10 = EventTypeEnterNotify
-    toEnum 11 = EventTypeLeaveNotify
-    toEnum 12 = EventTypeFocusChange
-    toEnum 13 = EventTypeConfigure
-    toEnum 14 = EventTypeMap
-    toEnum 15 = EventTypeUnmap
-    toEnum 16 = EventTypePropertyNotify
-    toEnum 17 = EventTypeSelectionClear
-    toEnum 18 = EventTypeSelectionRequest
-    toEnum 19 = EventTypeSelectionNotify
-    toEnum 20 = EventTypeProximityIn
-    toEnum 21 = EventTypeProximityOut
-    toEnum 22 = EventTypeDragEnter
-    toEnum 23 = EventTypeDragLeave
-    toEnum 24 = EventTypeDragMotion
-    toEnum 25 = EventTypeDragStatus
-    toEnum 26 = EventTypeDropStart
-    toEnum 27 = EventTypeDropFinished
-    toEnum 28 = EventTypeClientEvent
-    toEnum 29 = EventTypeVisibilityNotify
-    toEnum 31 = EventTypeScroll
-    toEnum 32 = EventTypeWindowState
-    toEnum 33 = EventTypeSetting
-    toEnum 34 = EventTypeOwnerChange
-    toEnum 35 = EventTypeGrabBroken
-    toEnum 36 = EventTypeDamage
-    toEnum 37 = EventTypeTouchBegin
-    toEnum 38 = EventTypeTouchUpdate
-    toEnum 39 = EventTypeTouchEnd
-    toEnum 40 = EventTypeTouchCancel
-    toEnum 41 = EventTypeEventLast
-    toEnum k = AnotherEventType k
-
-foreign import ccall "gdk_event_type_get_type" c_gdk_event_type_get_type :: 
-    IO GType
-
-instance BoxedEnum EventType where
-    boxedEnumType _ = c_gdk_event_type_get_type
-
--- Enum DragProtocol
-
-data DragProtocol = 
-      DragProtocolNone
-    | DragProtocolMotif
-    | DragProtocolXdnd
-    | DragProtocolRootwin
-    | DragProtocolWin32Dropfiles
-    | DragProtocolOle2
-    | DragProtocolLocal
-    | DragProtocolWayland
-    | AnotherDragProtocol Int
-    deriving (Show, Eq)
-
-instance Enum DragProtocol where
-    fromEnum DragProtocolNone = 0
-    fromEnum DragProtocolMotif = 1
-    fromEnum DragProtocolXdnd = 2
-    fromEnum DragProtocolRootwin = 3
-    fromEnum DragProtocolWin32Dropfiles = 4
-    fromEnum DragProtocolOle2 = 5
-    fromEnum DragProtocolLocal = 6
-    fromEnum DragProtocolWayland = 7
-    fromEnum (AnotherDragProtocol k) = k
-
-    toEnum 0 = DragProtocolNone
-    toEnum 1 = DragProtocolMotif
-    toEnum 2 = DragProtocolXdnd
-    toEnum 3 = DragProtocolRootwin
-    toEnum 4 = DragProtocolWin32Dropfiles
-    toEnum 5 = DragProtocolOle2
-    toEnum 6 = DragProtocolLocal
-    toEnum 7 = DragProtocolWayland
-    toEnum k = AnotherDragProtocol k
-
-foreign import ccall "gdk_drag_protocol_get_type" c_gdk_drag_protocol_get_type :: 
-    IO GType
-
-instance BoxedEnum DragProtocol where
-    boxedEnumType _ = c_gdk_drag_protocol_get_type
-
--- Enum DeviceType
-
-data DeviceType = 
-      DeviceTypeMaster
-    | DeviceTypeSlave
-    | DeviceTypeFloating
-    | AnotherDeviceType Int
-    deriving (Show, Eq)
-
-instance Enum DeviceType where
-    fromEnum DeviceTypeMaster = 0
-    fromEnum DeviceTypeSlave = 1
-    fromEnum DeviceTypeFloating = 2
-    fromEnum (AnotherDeviceType k) = k
-
-    toEnum 0 = DeviceTypeMaster
-    toEnum 1 = DeviceTypeSlave
-    toEnum 2 = DeviceTypeFloating
-    toEnum k = AnotherDeviceType k
-
-foreign import ccall "gdk_device_type_get_type" c_gdk_device_type_get_type :: 
-    IO GType
-
-instance BoxedEnum DeviceType where
-    boxedEnumType _ = c_gdk_device_type_get_type
-
--- Enum CursorType
-
-data CursorType = 
-      CursorTypeXCursor
-    | CursorTypeArrow
-    | CursorTypeBasedArrowDown
-    | CursorTypeBasedArrowUp
-    | CursorTypeBoat
-    | CursorTypeBogosity
-    | CursorTypeBottomLeftCorner
-    | CursorTypeBottomRightCorner
-    | CursorTypeBottomSide
-    | CursorTypeBottomTee
-    | CursorTypeBoxSpiral
-    | CursorTypeCenterPtr
-    | CursorTypeCircle
-    | CursorTypeClock
-    | CursorTypeCoffeeMug
-    | CursorTypeCross
-    | CursorTypeCrossReverse
-    | CursorTypeCrosshair
-    | CursorTypeDiamondCross
-    | CursorTypeDot
-    | CursorTypeDotbox
-    | CursorTypeDoubleArrow
-    | CursorTypeDraftLarge
-    | CursorTypeDraftSmall
-    | CursorTypeDrapedBox
-    | CursorTypeExchange
-    | CursorTypeFleur
-    | CursorTypeGobbler
-    | CursorTypeGumby
-    | CursorTypeHand1
-    | CursorTypeHand2
-    | CursorTypeHeart
-    | CursorTypeIcon
-    | CursorTypeIronCross
-    | CursorTypeLeftPtr
-    | CursorTypeLeftSide
-    | CursorTypeLeftTee
-    | CursorTypeLeftbutton
-    | CursorTypeLlAngle
-    | CursorTypeLrAngle
-    | CursorTypeMan
-    | CursorTypeMiddlebutton
-    | CursorTypeMouse
-    | CursorTypePencil
-    | CursorTypePirate
-    | CursorTypePlus
-    | CursorTypeQuestionArrow
-    | CursorTypeRightPtr
-    | CursorTypeRightSide
-    | CursorTypeRightTee
-    | CursorTypeRightbutton
-    | CursorTypeRtlLogo
-    | CursorTypeSailboat
-    | CursorTypeSbDownArrow
-    | CursorTypeSbHDoubleArrow
-    | CursorTypeSbLeftArrow
-    | CursorTypeSbRightArrow
-    | CursorTypeSbUpArrow
-    | CursorTypeSbVDoubleArrow
-    | CursorTypeShuttle
-    | CursorTypeSizing
-    | CursorTypeSpider
-    | CursorTypeSpraycan
-    | CursorTypeStar
-    | CursorTypeTarget
-    | CursorTypeTcross
-    | CursorTypeTopLeftArrow
-    | CursorTypeTopLeftCorner
-    | CursorTypeTopRightCorner
-    | CursorTypeTopSide
-    | CursorTypeTopTee
-    | CursorTypeTrek
-    | CursorTypeUlAngle
-    | CursorTypeUmbrella
-    | CursorTypeUrAngle
-    | CursorTypeWatch
-    | CursorTypeXterm
-    | CursorTypeLastCursor
-    | CursorTypeBlankCursor
-    | CursorTypeCursorIsPixmap
-    | AnotherCursorType Int
-    deriving (Show, Eq)
-
-instance Enum CursorType where
-    fromEnum CursorTypeXCursor = 0
-    fromEnum CursorTypeArrow = 2
-    fromEnum CursorTypeBasedArrowDown = 4
-    fromEnum CursorTypeBasedArrowUp = 6
-    fromEnum CursorTypeBoat = 8
-    fromEnum CursorTypeBogosity = 10
-    fromEnum CursorTypeBottomLeftCorner = 12
-    fromEnum CursorTypeBottomRightCorner = 14
-    fromEnum CursorTypeBottomSide = 16
-    fromEnum CursorTypeBottomTee = 18
-    fromEnum CursorTypeBoxSpiral = 20
-    fromEnum CursorTypeCenterPtr = 22
-    fromEnum CursorTypeCircle = 24
-    fromEnum CursorTypeClock = 26
-    fromEnum CursorTypeCoffeeMug = 28
-    fromEnum CursorTypeCross = 30
-    fromEnum CursorTypeCrossReverse = 32
-    fromEnum CursorTypeCrosshair = 34
-    fromEnum CursorTypeDiamondCross = 36
-    fromEnum CursorTypeDot = 38
-    fromEnum CursorTypeDotbox = 40
-    fromEnum CursorTypeDoubleArrow = 42
-    fromEnum CursorTypeDraftLarge = 44
-    fromEnum CursorTypeDraftSmall = 46
-    fromEnum CursorTypeDrapedBox = 48
-    fromEnum CursorTypeExchange = 50
-    fromEnum CursorTypeFleur = 52
-    fromEnum CursorTypeGobbler = 54
-    fromEnum CursorTypeGumby = 56
-    fromEnum CursorTypeHand1 = 58
-    fromEnum CursorTypeHand2 = 60
-    fromEnum CursorTypeHeart = 62
-    fromEnum CursorTypeIcon = 64
-    fromEnum CursorTypeIronCross = 66
-    fromEnum CursorTypeLeftPtr = 68
-    fromEnum CursorTypeLeftSide = 70
-    fromEnum CursorTypeLeftTee = 72
-    fromEnum CursorTypeLeftbutton = 74
-    fromEnum CursorTypeLlAngle = 76
-    fromEnum CursorTypeLrAngle = 78
-    fromEnum CursorTypeMan = 80
-    fromEnum CursorTypeMiddlebutton = 82
-    fromEnum CursorTypeMouse = 84
-    fromEnum CursorTypePencil = 86
-    fromEnum CursorTypePirate = 88
-    fromEnum CursorTypePlus = 90
-    fromEnum CursorTypeQuestionArrow = 92
-    fromEnum CursorTypeRightPtr = 94
-    fromEnum CursorTypeRightSide = 96
-    fromEnum CursorTypeRightTee = 98
-    fromEnum CursorTypeRightbutton = 100
-    fromEnum CursorTypeRtlLogo = 102
-    fromEnum CursorTypeSailboat = 104
-    fromEnum CursorTypeSbDownArrow = 106
-    fromEnum CursorTypeSbHDoubleArrow = 108
-    fromEnum CursorTypeSbLeftArrow = 110
-    fromEnum CursorTypeSbRightArrow = 112
-    fromEnum CursorTypeSbUpArrow = 114
-    fromEnum CursorTypeSbVDoubleArrow = 116
-    fromEnum CursorTypeShuttle = 118
-    fromEnum CursorTypeSizing = 120
-    fromEnum CursorTypeSpider = 122
-    fromEnum CursorTypeSpraycan = 124
-    fromEnum CursorTypeStar = 126
-    fromEnum CursorTypeTarget = 128
-    fromEnum CursorTypeTcross = 130
-    fromEnum CursorTypeTopLeftArrow = 132
-    fromEnum CursorTypeTopLeftCorner = 134
-    fromEnum CursorTypeTopRightCorner = 136
-    fromEnum CursorTypeTopSide = 138
-    fromEnum CursorTypeTopTee = 140
-    fromEnum CursorTypeTrek = 142
-    fromEnum CursorTypeUlAngle = 144
-    fromEnum CursorTypeUmbrella = 146
-    fromEnum CursorTypeUrAngle = 148
-    fromEnum CursorTypeWatch = 150
-    fromEnum CursorTypeXterm = 152
-    fromEnum CursorTypeLastCursor = 153
-    fromEnum CursorTypeBlankCursor = -2
-    fromEnum CursorTypeCursorIsPixmap = -1
-    fromEnum (AnotherCursorType k) = k
-
-    toEnum -2 = CursorTypeBlankCursor
-    toEnum -1 = CursorTypeCursorIsPixmap
-    toEnum 0 = CursorTypeXCursor
-    toEnum 2 = CursorTypeArrow
-    toEnum 4 = CursorTypeBasedArrowDown
-    toEnum 6 = CursorTypeBasedArrowUp
-    toEnum 8 = CursorTypeBoat
-    toEnum 10 = CursorTypeBogosity
-    toEnum 12 = CursorTypeBottomLeftCorner
-    toEnum 14 = CursorTypeBottomRightCorner
-    toEnum 16 = CursorTypeBottomSide
-    toEnum 18 = CursorTypeBottomTee
-    toEnum 20 = CursorTypeBoxSpiral
-    toEnum 22 = CursorTypeCenterPtr
-    toEnum 24 = CursorTypeCircle
-    toEnum 26 = CursorTypeClock
-    toEnum 28 = CursorTypeCoffeeMug
-    toEnum 30 = CursorTypeCross
-    toEnum 32 = CursorTypeCrossReverse
-    toEnum 34 = CursorTypeCrosshair
-    toEnum 36 = CursorTypeDiamondCross
-    toEnum 38 = CursorTypeDot
-    toEnum 40 = CursorTypeDotbox
-    toEnum 42 = CursorTypeDoubleArrow
-    toEnum 44 = CursorTypeDraftLarge
-    toEnum 46 = CursorTypeDraftSmall
-    toEnum 48 = CursorTypeDrapedBox
-    toEnum 50 = CursorTypeExchange
-    toEnum 52 = CursorTypeFleur
-    toEnum 54 = CursorTypeGobbler
-    toEnum 56 = CursorTypeGumby
-    toEnum 58 = CursorTypeHand1
-    toEnum 60 = CursorTypeHand2
-    toEnum 62 = CursorTypeHeart
-    toEnum 64 = CursorTypeIcon
-    toEnum 66 = CursorTypeIronCross
-    toEnum 68 = CursorTypeLeftPtr
-    toEnum 70 = CursorTypeLeftSide
-    toEnum 72 = CursorTypeLeftTee
-    toEnum 74 = CursorTypeLeftbutton
-    toEnum 76 = CursorTypeLlAngle
-    toEnum 78 = CursorTypeLrAngle
-    toEnum 80 = CursorTypeMan
-    toEnum 82 = CursorTypeMiddlebutton
-    toEnum 84 = CursorTypeMouse
-    toEnum 86 = CursorTypePencil
-    toEnum 88 = CursorTypePirate
-    toEnum 90 = CursorTypePlus
-    toEnum 92 = CursorTypeQuestionArrow
-    toEnum 94 = CursorTypeRightPtr
-    toEnum 96 = CursorTypeRightSide
-    toEnum 98 = CursorTypeRightTee
-    toEnum 100 = CursorTypeRightbutton
-    toEnum 102 = CursorTypeRtlLogo
-    toEnum 104 = CursorTypeSailboat
-    toEnum 106 = CursorTypeSbDownArrow
-    toEnum 108 = CursorTypeSbHDoubleArrow
-    toEnum 110 = CursorTypeSbLeftArrow
-    toEnum 112 = CursorTypeSbRightArrow
-    toEnum 114 = CursorTypeSbUpArrow
-    toEnum 116 = CursorTypeSbVDoubleArrow
-    toEnum 118 = CursorTypeShuttle
-    toEnum 120 = CursorTypeSizing
-    toEnum 122 = CursorTypeSpider
-    toEnum 124 = CursorTypeSpraycan
-    toEnum 126 = CursorTypeStar
-    toEnum 128 = CursorTypeTarget
-    toEnum 130 = CursorTypeTcross
-    toEnum 132 = CursorTypeTopLeftArrow
-    toEnum 134 = CursorTypeTopLeftCorner
-    toEnum 136 = CursorTypeTopRightCorner
-    toEnum 138 = CursorTypeTopSide
-    toEnum 140 = CursorTypeTopTee
-    toEnum 142 = CursorTypeTrek
-    toEnum 144 = CursorTypeUlAngle
-    toEnum 146 = CursorTypeUmbrella
-    toEnum 148 = CursorTypeUrAngle
-    toEnum 150 = CursorTypeWatch
-    toEnum 152 = CursorTypeXterm
-    toEnum 153 = CursorTypeLastCursor
-    toEnum k = AnotherCursorType k
-
-foreign import ccall "gdk_cursor_type_get_type" c_gdk_cursor_type_get_type :: 
-    IO GType
-
-instance BoxedEnum CursorType where
-    boxedEnumType _ = c_gdk_cursor_type_get_type
-
--- Enum CrossingMode
-
-data CrossingMode = 
-      CrossingModeNormal
-    | CrossingModeGrab
-    | CrossingModeUngrab
-    | CrossingModeGtkGrab
-    | CrossingModeGtkUngrab
-    | CrossingModeStateChanged
-    | CrossingModeTouchBegin
-    | CrossingModeTouchEnd
-    | CrossingModeDeviceSwitch
-    | AnotherCrossingMode Int
-    deriving (Show, Eq)
-
-instance Enum CrossingMode where
-    fromEnum CrossingModeNormal = 0
-    fromEnum CrossingModeGrab = 1
-    fromEnum CrossingModeUngrab = 2
-    fromEnum CrossingModeGtkGrab = 3
-    fromEnum CrossingModeGtkUngrab = 4
-    fromEnum CrossingModeStateChanged = 5
-    fromEnum CrossingModeTouchBegin = 6
-    fromEnum CrossingModeTouchEnd = 7
-    fromEnum CrossingModeDeviceSwitch = 8
-    fromEnum (AnotherCrossingMode k) = k
-
-    toEnum 0 = CrossingModeNormal
-    toEnum 1 = CrossingModeGrab
-    toEnum 2 = CrossingModeUngrab
-    toEnum 3 = CrossingModeGtkGrab
-    toEnum 4 = CrossingModeGtkUngrab
-    toEnum 5 = CrossingModeStateChanged
-    toEnum 6 = CrossingModeTouchBegin
-    toEnum 7 = CrossingModeTouchEnd
-    toEnum 8 = CrossingModeDeviceSwitch
-    toEnum k = AnotherCrossingMode k
-
-foreign import ccall "gdk_crossing_mode_get_type" c_gdk_crossing_mode_get_type :: 
-    IO GType
-
-instance BoxedEnum CrossingMode where
-    boxedEnumType _ = c_gdk_crossing_mode_get_type
-
--- Enum ByteOrder
-
-data ByteOrder = 
-      ByteOrderLsbFirst
-    | ByteOrderMsbFirst
-    | AnotherByteOrder Int
-    deriving (Show, Eq)
-
-instance Enum ByteOrder where
-    fromEnum ByteOrderLsbFirst = 0
-    fromEnum ByteOrderMsbFirst = 1
-    fromEnum (AnotherByteOrder k) = k
-
-    toEnum 0 = ByteOrderLsbFirst
-    toEnum 1 = ByteOrderMsbFirst
-    toEnum k = AnotherByteOrder k
-
-foreign import ccall "gdk_byte_order_get_type" c_gdk_byte_order_get_type :: 
-    IO GType
-
-instance BoxedEnum ByteOrder where
-    boxedEnumType _ = c_gdk_byte_order_get_type
-
--- Enum AxisUse
-
-data AxisUse = 
-      AxisUseIgnore
-    | AxisUseX
-    | AxisUseY
-    | AxisUsePressure
-    | AxisUseXtilt
-    | AxisUseYtilt
-    | AxisUseWheel
-    | AxisUseLast
-    | AnotherAxisUse Int
-    deriving (Show, Eq)
-
-instance Enum AxisUse where
-    fromEnum AxisUseIgnore = 0
-    fromEnum AxisUseX = 1
-    fromEnum AxisUseY = 2
-    fromEnum AxisUsePressure = 3
-    fromEnum AxisUseXtilt = 4
-    fromEnum AxisUseYtilt = 5
-    fromEnum AxisUseWheel = 6
-    fromEnum AxisUseLast = 7
-    fromEnum (AnotherAxisUse k) = k
-
-    toEnum 0 = AxisUseIgnore
-    toEnum 1 = AxisUseX
-    toEnum 2 = AxisUseY
-    toEnum 3 = AxisUsePressure
-    toEnum 4 = AxisUseXtilt
-    toEnum 5 = AxisUseYtilt
-    toEnum 6 = AxisUseWheel
-    toEnum 7 = AxisUseLast
-    toEnum k = AnotherAxisUse k
-
-foreign import ccall "gdk_axis_use_get_type" c_gdk_axis_use_get_type :: 
-    IO GType
-
-instance BoxedEnum AxisUse where
-    boxedEnumType _ = c_gdk_axis_use_get_type
-
-
diff --git a/GI/Gdk/Flags.hs b/GI/Gdk/Flags.hs
deleted file mode 100644
--- a/GI/Gdk/Flags.hs
+++ /dev/null
@@ -1,533 +0,0 @@
-
-{- |
-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.Gdk.Flags
-    ( 
-
--- * Exported types
-    WindowState(..)                         ,
-    WindowHints(..)                         ,
-    WindowAttributesType(..)                ,
-    WMFunction(..)                          ,
-    WMDecoration(..)                        ,
-    ModifierType(..)                        ,
-    FrameClockPhase(..)                     ,
-    EventMask(..)                           ,
-    DragAction(..)                          ,
-
-
-    ) 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
-
-
-
-
--- Flags WindowState
-
-data WindowState = 
-      WindowStateWithdrawn
-    | WindowStateIconified
-    | WindowStateMaximized
-    | WindowStateSticky
-    | WindowStateFullscreen
-    | WindowStateAbove
-    | WindowStateBelow
-    | WindowStateFocused
-    | WindowStateTiled
-    | AnotherWindowState Int
-    deriving (Show, Eq)
-
-instance Enum WindowState where
-    fromEnum WindowStateWithdrawn = 1
-    fromEnum WindowStateIconified = 2
-    fromEnum WindowStateMaximized = 4
-    fromEnum WindowStateSticky = 8
-    fromEnum WindowStateFullscreen = 16
-    fromEnum WindowStateAbove = 32
-    fromEnum WindowStateBelow = 64
-    fromEnum WindowStateFocused = 128
-    fromEnum WindowStateTiled = 256
-    fromEnum (AnotherWindowState k) = k
-
-    toEnum 1 = WindowStateWithdrawn
-    toEnum 2 = WindowStateIconified
-    toEnum 4 = WindowStateMaximized
-    toEnum 8 = WindowStateSticky
-    toEnum 16 = WindowStateFullscreen
-    toEnum 32 = WindowStateAbove
-    toEnum 64 = WindowStateBelow
-    toEnum 128 = WindowStateFocused
-    toEnum 256 = WindowStateTiled
-    toEnum k = AnotherWindowState k
-
-foreign import ccall "gdk_window_state_get_type" c_gdk_window_state_get_type :: 
-    IO GType
-
-instance BoxedEnum WindowState where
-    boxedEnumType _ = c_gdk_window_state_get_type
-
-instance IsGFlag WindowState
-
--- Flags WindowHints
-
-data WindowHints = 
-      WindowHintsPos
-    | WindowHintsMinSize
-    | WindowHintsMaxSize
-    | WindowHintsBaseSize
-    | WindowHintsAspect
-    | WindowHintsResizeInc
-    | WindowHintsWinGravity
-    | WindowHintsUserPos
-    | WindowHintsUserSize
-    | AnotherWindowHints Int
-    deriving (Show, Eq)
-
-instance Enum WindowHints where
-    fromEnum WindowHintsPos = 1
-    fromEnum WindowHintsMinSize = 2
-    fromEnum WindowHintsMaxSize = 4
-    fromEnum WindowHintsBaseSize = 8
-    fromEnum WindowHintsAspect = 16
-    fromEnum WindowHintsResizeInc = 32
-    fromEnum WindowHintsWinGravity = 64
-    fromEnum WindowHintsUserPos = 128
-    fromEnum WindowHintsUserSize = 256
-    fromEnum (AnotherWindowHints k) = k
-
-    toEnum 1 = WindowHintsPos
-    toEnum 2 = WindowHintsMinSize
-    toEnum 4 = WindowHintsMaxSize
-    toEnum 8 = WindowHintsBaseSize
-    toEnum 16 = WindowHintsAspect
-    toEnum 32 = WindowHintsResizeInc
-    toEnum 64 = WindowHintsWinGravity
-    toEnum 128 = WindowHintsUserPos
-    toEnum 256 = WindowHintsUserSize
-    toEnum k = AnotherWindowHints k
-
-foreign import ccall "gdk_window_hints_get_type" c_gdk_window_hints_get_type :: 
-    IO GType
-
-instance BoxedEnum WindowHints where
-    boxedEnumType _ = c_gdk_window_hints_get_type
-
-instance IsGFlag WindowHints
-
--- Flags WindowAttributesType
-
-data WindowAttributesType = 
-      WindowAttributesTypeTitle
-    | WindowAttributesTypeX
-    | WindowAttributesTypeY
-    | WindowAttributesTypeCursor
-    | WindowAttributesTypeVisual
-    | WindowAttributesTypeWmclass
-    | WindowAttributesTypeNoredir
-    | WindowAttributesTypeTypeHint
-    | AnotherWindowAttributesType Int
-    deriving (Show, Eq)
-
-instance Enum WindowAttributesType where
-    fromEnum WindowAttributesTypeTitle = 2
-    fromEnum WindowAttributesTypeX = 4
-    fromEnum WindowAttributesTypeY = 8
-    fromEnum WindowAttributesTypeCursor = 16
-    fromEnum WindowAttributesTypeVisual = 32
-    fromEnum WindowAttributesTypeWmclass = 64
-    fromEnum WindowAttributesTypeNoredir = 128
-    fromEnum WindowAttributesTypeTypeHint = 256
-    fromEnum (AnotherWindowAttributesType k) = k
-
-    toEnum 2 = WindowAttributesTypeTitle
-    toEnum 4 = WindowAttributesTypeX
-    toEnum 8 = WindowAttributesTypeY
-    toEnum 16 = WindowAttributesTypeCursor
-    toEnum 32 = WindowAttributesTypeVisual
-    toEnum 64 = WindowAttributesTypeWmclass
-    toEnum 128 = WindowAttributesTypeNoredir
-    toEnum 256 = WindowAttributesTypeTypeHint
-    toEnum k = AnotherWindowAttributesType k
-
-foreign import ccall "gdk_window_attributes_type_get_type" c_gdk_window_attributes_type_get_type :: 
-    IO GType
-
-instance BoxedEnum WindowAttributesType where
-    boxedEnumType _ = c_gdk_window_attributes_type_get_type
-
-instance IsGFlag WindowAttributesType
-
--- Flags WMFunction
-
-data WMFunction = 
-      WMFunctionAll
-    | WMFunctionResize
-    | WMFunctionMove
-    | WMFunctionMinimize
-    | WMFunctionMaximize
-    | WMFunctionClose
-    | AnotherWMFunction Int
-    deriving (Show, Eq)
-
-instance Enum WMFunction where
-    fromEnum WMFunctionAll = 1
-    fromEnum WMFunctionResize = 2
-    fromEnum WMFunctionMove = 4
-    fromEnum WMFunctionMinimize = 8
-    fromEnum WMFunctionMaximize = 16
-    fromEnum WMFunctionClose = 32
-    fromEnum (AnotherWMFunction k) = k
-
-    toEnum 1 = WMFunctionAll
-    toEnum 2 = WMFunctionResize
-    toEnum 4 = WMFunctionMove
-    toEnum 8 = WMFunctionMinimize
-    toEnum 16 = WMFunctionMaximize
-    toEnum 32 = WMFunctionClose
-    toEnum k = AnotherWMFunction k
-
-foreign import ccall "gdk_wm_function_get_type" c_gdk_wm_function_get_type :: 
-    IO GType
-
-instance BoxedEnum WMFunction where
-    boxedEnumType _ = c_gdk_wm_function_get_type
-
-instance IsGFlag WMFunction
-
--- Flags WMDecoration
-
-data WMDecoration = 
-      WMDecorationAll
-    | WMDecorationBorder
-    | WMDecorationResizeh
-    | WMDecorationTitle
-    | WMDecorationMenu
-    | WMDecorationMinimize
-    | WMDecorationMaximize
-    | AnotherWMDecoration Int
-    deriving (Show, Eq)
-
-instance Enum WMDecoration where
-    fromEnum WMDecorationAll = 1
-    fromEnum WMDecorationBorder = 2
-    fromEnum WMDecorationResizeh = 4
-    fromEnum WMDecorationTitle = 8
-    fromEnum WMDecorationMenu = 16
-    fromEnum WMDecorationMinimize = 32
-    fromEnum WMDecorationMaximize = 64
-    fromEnum (AnotherWMDecoration k) = k
-
-    toEnum 1 = WMDecorationAll
-    toEnum 2 = WMDecorationBorder
-    toEnum 4 = WMDecorationResizeh
-    toEnum 8 = WMDecorationTitle
-    toEnum 16 = WMDecorationMenu
-    toEnum 32 = WMDecorationMinimize
-    toEnum 64 = WMDecorationMaximize
-    toEnum k = AnotherWMDecoration k
-
-foreign import ccall "gdk_wm_decoration_get_type" c_gdk_wm_decoration_get_type :: 
-    IO GType
-
-instance BoxedEnum WMDecoration where
-    boxedEnumType _ = c_gdk_wm_decoration_get_type
-
-instance IsGFlag WMDecoration
-
--- Flags ModifierType
-
-data ModifierType = 
-      ModifierTypeShiftMask
-    | ModifierTypeLockMask
-    | ModifierTypeControlMask
-    | ModifierTypeMod1Mask
-    | ModifierTypeMod2Mask
-    | ModifierTypeMod3Mask
-    | ModifierTypeMod4Mask
-    | ModifierTypeMod5Mask
-    | ModifierTypeButton1Mask
-    | ModifierTypeButton2Mask
-    | ModifierTypeButton3Mask
-    | ModifierTypeButton4Mask
-    | ModifierTypeButton5Mask
-    | ModifierTypeModifierReserved13Mask
-    | ModifierTypeModifierReserved14Mask
-    | ModifierTypeModifierReserved15Mask
-    | ModifierTypeModifierReserved16Mask
-    | ModifierTypeModifierReserved17Mask
-    | ModifierTypeModifierReserved18Mask
-    | ModifierTypeModifierReserved19Mask
-    | ModifierTypeModifierReserved20Mask
-    | ModifierTypeModifierReserved21Mask
-    | ModifierTypeModifierReserved22Mask
-    | ModifierTypeModifierReserved23Mask
-    | ModifierTypeModifierReserved24Mask
-    | ModifierTypeModifierReserved25Mask
-    | ModifierTypeSuperMask
-    | ModifierTypeHyperMask
-    | ModifierTypeMetaMask
-    | ModifierTypeModifierReserved29Mask
-    | ModifierTypeReleaseMask
-    | ModifierTypeModifierMask
-    | AnotherModifierType Int
-    deriving (Show, Eq)
-
-instance Enum ModifierType where
-    fromEnum ModifierTypeShiftMask = 1
-    fromEnum ModifierTypeLockMask = 2
-    fromEnum ModifierTypeControlMask = 4
-    fromEnum ModifierTypeMod1Mask = 8
-    fromEnum ModifierTypeMod2Mask = 16
-    fromEnum ModifierTypeMod3Mask = 32
-    fromEnum ModifierTypeMod4Mask = 64
-    fromEnum ModifierTypeMod5Mask = 128
-    fromEnum ModifierTypeButton1Mask = 256
-    fromEnum ModifierTypeButton2Mask = 512
-    fromEnum ModifierTypeButton3Mask = 1024
-    fromEnum ModifierTypeButton4Mask = 2048
-    fromEnum ModifierTypeButton5Mask = 4096
-    fromEnum ModifierTypeModifierReserved13Mask = 8192
-    fromEnum ModifierTypeModifierReserved14Mask = 16384
-    fromEnum ModifierTypeModifierReserved15Mask = 32768
-    fromEnum ModifierTypeModifierReserved16Mask = 65536
-    fromEnum ModifierTypeModifierReserved17Mask = 131072
-    fromEnum ModifierTypeModifierReserved18Mask = 262144
-    fromEnum ModifierTypeModifierReserved19Mask = 524288
-    fromEnum ModifierTypeModifierReserved20Mask = 1048576
-    fromEnum ModifierTypeModifierReserved21Mask = 2097152
-    fromEnum ModifierTypeModifierReserved22Mask = 4194304
-    fromEnum ModifierTypeModifierReserved23Mask = 8388608
-    fromEnum ModifierTypeModifierReserved24Mask = 16777216
-    fromEnum ModifierTypeModifierReserved25Mask = 33554432
-    fromEnum ModifierTypeSuperMask = 67108864
-    fromEnum ModifierTypeHyperMask = 134217728
-    fromEnum ModifierTypeMetaMask = 268435456
-    fromEnum ModifierTypeModifierReserved29Mask = 536870912
-    fromEnum ModifierTypeReleaseMask = 1073741824
-    fromEnum ModifierTypeModifierMask = 1543512063
-    fromEnum (AnotherModifierType k) = k
-
-    toEnum 1 = ModifierTypeShiftMask
-    toEnum 2 = ModifierTypeLockMask
-    toEnum 4 = ModifierTypeControlMask
-    toEnum 8 = ModifierTypeMod1Mask
-    toEnum 16 = ModifierTypeMod2Mask
-    toEnum 32 = ModifierTypeMod3Mask
-    toEnum 64 = ModifierTypeMod4Mask
-    toEnum 128 = ModifierTypeMod5Mask
-    toEnum 256 = ModifierTypeButton1Mask
-    toEnum 512 = ModifierTypeButton2Mask
-    toEnum 1024 = ModifierTypeButton3Mask
-    toEnum 2048 = ModifierTypeButton4Mask
-    toEnum 4096 = ModifierTypeButton5Mask
-    toEnum 8192 = ModifierTypeModifierReserved13Mask
-    toEnum 16384 = ModifierTypeModifierReserved14Mask
-    toEnum 32768 = ModifierTypeModifierReserved15Mask
-    toEnum 65536 = ModifierTypeModifierReserved16Mask
-    toEnum 131072 = ModifierTypeModifierReserved17Mask
-    toEnum 262144 = ModifierTypeModifierReserved18Mask
-    toEnum 524288 = ModifierTypeModifierReserved19Mask
-    toEnum 1048576 = ModifierTypeModifierReserved20Mask
-    toEnum 2097152 = ModifierTypeModifierReserved21Mask
-    toEnum 4194304 = ModifierTypeModifierReserved22Mask
-    toEnum 8388608 = ModifierTypeModifierReserved23Mask
-    toEnum 16777216 = ModifierTypeModifierReserved24Mask
-    toEnum 33554432 = ModifierTypeModifierReserved25Mask
-    toEnum 67108864 = ModifierTypeSuperMask
-    toEnum 134217728 = ModifierTypeHyperMask
-    toEnum 268435456 = ModifierTypeMetaMask
-    toEnum 536870912 = ModifierTypeModifierReserved29Mask
-    toEnum 1073741824 = ModifierTypeReleaseMask
-    toEnum 1543512063 = ModifierTypeModifierMask
-    toEnum k = AnotherModifierType k
-
-foreign import ccall "gdk_modifier_type_get_type" c_gdk_modifier_type_get_type :: 
-    IO GType
-
-instance BoxedEnum ModifierType where
-    boxedEnumType _ = c_gdk_modifier_type_get_type
-
-instance IsGFlag ModifierType
-
--- Flags FrameClockPhase
-
-data FrameClockPhase = 
-      FrameClockPhaseNone
-    | FrameClockPhaseFlushEvents
-    | FrameClockPhaseBeforePaint
-    | FrameClockPhaseUpdate
-    | FrameClockPhaseLayout
-    | FrameClockPhasePaint
-    | FrameClockPhaseResumeEvents
-    | FrameClockPhaseAfterPaint
-    | AnotherFrameClockPhase Int
-    deriving (Show, Eq)
-
-instance Enum FrameClockPhase where
-    fromEnum FrameClockPhaseNone = 0
-    fromEnum FrameClockPhaseFlushEvents = 1
-    fromEnum FrameClockPhaseBeforePaint = 2
-    fromEnum FrameClockPhaseUpdate = 4
-    fromEnum FrameClockPhaseLayout = 8
-    fromEnum FrameClockPhasePaint = 16
-    fromEnum FrameClockPhaseResumeEvents = 32
-    fromEnum FrameClockPhaseAfterPaint = 64
-    fromEnum (AnotherFrameClockPhase k) = k
-
-    toEnum 0 = FrameClockPhaseNone
-    toEnum 1 = FrameClockPhaseFlushEvents
-    toEnum 2 = FrameClockPhaseBeforePaint
-    toEnum 4 = FrameClockPhaseUpdate
-    toEnum 8 = FrameClockPhaseLayout
-    toEnum 16 = FrameClockPhasePaint
-    toEnum 32 = FrameClockPhaseResumeEvents
-    toEnum 64 = FrameClockPhaseAfterPaint
-    toEnum k = AnotherFrameClockPhase k
-
-foreign import ccall "gdk_frame_clock_phase_get_type" c_gdk_frame_clock_phase_get_type :: 
-    IO GType
-
-instance BoxedEnum FrameClockPhase where
-    boxedEnumType _ = c_gdk_frame_clock_phase_get_type
-
-instance IsGFlag FrameClockPhase
-
--- Flags EventMask
-
-data EventMask = 
-      EventMaskExposureMask
-    | EventMaskPointerMotionMask
-    | EventMaskPointerMotionHintMask
-    | EventMaskButtonMotionMask
-    | EventMaskButton1MotionMask
-    | EventMaskButton2MotionMask
-    | EventMaskButton3MotionMask
-    | EventMaskButtonPressMask
-    | EventMaskButtonReleaseMask
-    | EventMaskKeyPressMask
-    | EventMaskKeyReleaseMask
-    | EventMaskEnterNotifyMask
-    | EventMaskLeaveNotifyMask
-    | EventMaskFocusChangeMask
-    | EventMaskStructureMask
-    | EventMaskPropertyChangeMask
-    | EventMaskVisibilityNotifyMask
-    | EventMaskProximityInMask
-    | EventMaskProximityOutMask
-    | EventMaskSubstructureMask
-    | EventMaskScrollMask
-    | EventMaskTouchMask
-    | EventMaskSmoothScrollMask
-    | EventMaskAllEventsMask
-    | AnotherEventMask Int
-    deriving (Show, Eq)
-
-instance Enum EventMask where
-    fromEnum EventMaskExposureMask = 2
-    fromEnum EventMaskPointerMotionMask = 4
-    fromEnum EventMaskPointerMotionHintMask = 8
-    fromEnum EventMaskButtonMotionMask = 16
-    fromEnum EventMaskButton1MotionMask = 32
-    fromEnum EventMaskButton2MotionMask = 64
-    fromEnum EventMaskButton3MotionMask = 128
-    fromEnum EventMaskButtonPressMask = 256
-    fromEnum EventMaskButtonReleaseMask = 512
-    fromEnum EventMaskKeyPressMask = 1024
-    fromEnum EventMaskKeyReleaseMask = 2048
-    fromEnum EventMaskEnterNotifyMask = 4096
-    fromEnum EventMaskLeaveNotifyMask = 8192
-    fromEnum EventMaskFocusChangeMask = 16384
-    fromEnum EventMaskStructureMask = 32768
-    fromEnum EventMaskPropertyChangeMask = 65536
-    fromEnum EventMaskVisibilityNotifyMask = 131072
-    fromEnum EventMaskProximityInMask = 262144
-    fromEnum EventMaskProximityOutMask = 524288
-    fromEnum EventMaskSubstructureMask = 1048576
-    fromEnum EventMaskScrollMask = 2097152
-    fromEnum EventMaskTouchMask = 4194304
-    fromEnum EventMaskSmoothScrollMask = 8388608
-    fromEnum EventMaskAllEventsMask = 16777214
-    fromEnum (AnotherEventMask k) = k
-
-    toEnum 2 = EventMaskExposureMask
-    toEnum 4 = EventMaskPointerMotionMask
-    toEnum 8 = EventMaskPointerMotionHintMask
-    toEnum 16 = EventMaskButtonMotionMask
-    toEnum 32 = EventMaskButton1MotionMask
-    toEnum 64 = EventMaskButton2MotionMask
-    toEnum 128 = EventMaskButton3MotionMask
-    toEnum 256 = EventMaskButtonPressMask
-    toEnum 512 = EventMaskButtonReleaseMask
-    toEnum 1024 = EventMaskKeyPressMask
-    toEnum 2048 = EventMaskKeyReleaseMask
-    toEnum 4096 = EventMaskEnterNotifyMask
-    toEnum 8192 = EventMaskLeaveNotifyMask
-    toEnum 16384 = EventMaskFocusChangeMask
-    toEnum 32768 = EventMaskStructureMask
-    toEnum 65536 = EventMaskPropertyChangeMask
-    toEnum 131072 = EventMaskVisibilityNotifyMask
-    toEnum 262144 = EventMaskProximityInMask
-    toEnum 524288 = EventMaskProximityOutMask
-    toEnum 1048576 = EventMaskSubstructureMask
-    toEnum 2097152 = EventMaskScrollMask
-    toEnum 4194304 = EventMaskTouchMask
-    toEnum 8388608 = EventMaskSmoothScrollMask
-    toEnum 16777214 = EventMaskAllEventsMask
-    toEnum k = AnotherEventMask k
-
-foreign import ccall "gdk_event_mask_get_type" c_gdk_event_mask_get_type :: 
-    IO GType
-
-instance BoxedEnum EventMask where
-    boxedEnumType _ = c_gdk_event_mask_get_type
-
-instance IsGFlag EventMask
-
--- Flags DragAction
-
-data DragAction = 
-      DragActionDefault
-    | DragActionCopy
-    | DragActionMove
-    | DragActionLink
-    | DragActionPrivate
-    | DragActionAsk
-    | AnotherDragAction Int
-    deriving (Show, Eq)
-
-instance Enum DragAction where
-    fromEnum DragActionDefault = 1
-    fromEnum DragActionCopy = 2
-    fromEnum DragActionMove = 4
-    fromEnum DragActionLink = 8
-    fromEnum DragActionPrivate = 16
-    fromEnum DragActionAsk = 32
-    fromEnum (AnotherDragAction k) = k
-
-    toEnum 1 = DragActionDefault
-    toEnum 2 = DragActionCopy
-    toEnum 4 = DragActionMove
-    toEnum 8 = DragActionLink
-    toEnum 16 = DragActionPrivate
-    toEnum 32 = DragActionAsk
-    toEnum k = AnotherDragAction k
-
-foreign import ccall "gdk_drag_action_get_type" c_gdk_drag_action_get_type :: 
-    IO GType
-
-instance BoxedEnum DragAction where
-    boxedEnumType _ = c_gdk_drag_action_get_type
-
-instance IsGFlag DragAction
-
-
diff --git a/GI/Gdk/Functions.hs b/GI/Gdk/Functions.hs
deleted file mode 100644
--- a/GI/Gdk/Functions.hs
+++ /dev/null
@@ -1,3419 +0,0 @@
-
-{- |
-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.Gdk.Functions
-    ( 
-
- -- * Methods
--- ** addOptionEntriesLibgtkOnly
-    addOptionEntriesLibgtkOnly              ,
-
-
--- ** atomIntern
-    atomIntern                              ,
-
-
--- ** atomInternStaticString
-    atomInternStaticString                  ,
-
-
--- ** beep
-    beep                                    ,
-
-
--- ** cairoCreate
-    cairoCreate                             ,
-
-
--- ** cairoDrawFromGl
-    cairoDrawFromGl                         ,
-
-
--- ** cairoGetClipRectangle
-    cairoGetClipRectangle                   ,
-
-
--- ** cairoRectangle
-    cairoRectangle                          ,
-
-
--- ** cairoRegion
-    cairoRegion                             ,
-
-
--- ** cairoRegionCreateFromSurface
-    cairoRegionCreateFromSurface            ,
-
-
--- ** cairoSetSourceColor
-    cairoSetSourceColor                     ,
-
-
--- ** cairoSetSourcePixbuf
-    cairoSetSourcePixbuf                    ,
-
-
--- ** cairoSetSourceRgba
-    cairoSetSourceRgba                      ,
-
-
--- ** cairoSetSourceWindow
-    cairoSetSourceWindow                    ,
-
-
--- ** cairoSurfaceCreateFromPixbuf
-    cairoSurfaceCreateFromPixbuf            ,
-
-
--- ** colorParse
-    colorParse                              ,
-
-
--- ** disableMultidevice
-    disableMultidevice                      ,
-
-
--- ** dragAbort
-    dragAbort                               ,
-
-
--- ** dragBegin
-    dragBegin                               ,
-
-
--- ** dragBeginForDevice
-    dragBeginForDevice                      ,
-
-
--- ** dragDrop
-    dragDrop                                ,
-
-
--- ** dragDropSucceeded
-    dragDropSucceeded                       ,
-
-
--- ** dragFindWindowForScreen
-    dragFindWindowForScreen                 ,
-
-
--- ** dragGetSelection
-    dragGetSelection                        ,
-
-
--- ** dragMotion
-    dragMotion                              ,
-
-
--- ** dragStatus
-    dragStatus                              ,
-
-
--- ** dropFinish
-    dropFinish                              ,
-
-
--- ** dropReply
-    dropReply                               ,
-
-
--- ** errorTrapPop
-    errorTrapPop                            ,
-
-
--- ** errorTrapPopIgnored
-    errorTrapPopIgnored                     ,
-
-
--- ** errorTrapPush
-    errorTrapPush                           ,
-
-
--- ** eventGet
-    eventGet                                ,
-
-
--- ** eventHandlerSet
-    eventHandlerSet                         ,
-
-
--- ** eventPeek
-    eventPeek                               ,
-
-
--- ** eventRequestMotions
-    eventRequestMotions                     ,
-
-
--- ** eventsGetAngle
-    eventsGetAngle                          ,
-
-
--- ** eventsGetCenter
-    eventsGetCenter                         ,
-
-
--- ** eventsGetDistance
-    eventsGetDistance                       ,
-
-
--- ** eventsPending
-    eventsPending                           ,
-
-
--- ** flush
-    flush                                   ,
-
-
--- ** getDefaultRootWindow
-    getDefaultRootWindow                    ,
-
-
--- ** getDisplay
-    getDisplay                              ,
-
-
--- ** getDisplayArgName
-    getDisplayArgName                       ,
-
-
--- ** getProgramClass
-    getProgramClass                         ,
-
-
--- ** getShowEvents
-    getShowEvents                           ,
-
-
--- ** glErrorQuark
-    glErrorQuark                            ,
-
-
--- ** init
-    init                                    ,
-
-
--- ** initCheck
-    initCheck                               ,
-
-
--- ** keyboardGrab
-    keyboardGrab                            ,
-
-
--- ** keyboardUngrab
-    keyboardUngrab                          ,
-
-
--- ** keyvalConvertCase
-    keyvalConvertCase                       ,
-
-
--- ** keyvalFromName
-    keyvalFromName                          ,
-
-
--- ** keyvalIsLower
-    keyvalIsLower                           ,
-
-
--- ** keyvalIsUpper
-    keyvalIsUpper                           ,
-
-
--- ** keyvalName
-    keyvalName                              ,
-
-
--- ** keyvalToLower
-    keyvalToLower                           ,
-
-
--- ** keyvalToUnicode
-    keyvalToUnicode                         ,
-
-
--- ** keyvalToUpper
-    keyvalToUpper                           ,
-
-
--- ** listVisuals
-    listVisuals                             ,
-
-
--- ** notifyStartupComplete
-    notifyStartupComplete                   ,
-
-
--- ** notifyStartupCompleteWithId
-    notifyStartupCompleteWithId             ,
-
-
--- ** offscreenWindowGetEmbedder
-    offscreenWindowGetEmbedder              ,
-
-
--- ** offscreenWindowGetSurface
-    offscreenWindowGetSurface               ,
-
-
--- ** offscreenWindowSetEmbedder
-    offscreenWindowSetEmbedder              ,
-
-
--- ** pangoContextGet
-    pangoContextGet                         ,
-
-
--- ** pangoContextGetForScreen
-    pangoContextGetForScreen                ,
-
-
--- ** parseArgs
-    parseArgs                               ,
-
-
--- ** pixbufGetFromSurface
-    pixbufGetFromSurface                    ,
-
-
--- ** pixbufGetFromWindow
-    pixbufGetFromWindow                     ,
-
-
--- ** pointerGrab
-    pointerGrab                             ,
-
-
--- ** pointerIsGrabbed
-    pointerIsGrabbed                        ,
-
-
--- ** pointerUngrab
-    pointerUngrab                           ,
-
-
--- ** preParseLibgtkOnly
-    preParseLibgtkOnly                      ,
-
-
--- ** propertyDelete
-    propertyDelete                          ,
-
-
--- ** propertyGet
-    propertyGet                             ,
-
-
--- ** queryDepths
-    queryDepths                             ,
-
-
--- ** queryVisualTypes
-    queryVisualTypes                        ,
-
-
--- ** rectangleGetType
-    rectangleGetType                        ,
-
-
--- ** rectangleIntersect
-    rectangleIntersect                      ,
-
-
--- ** rectangleUnion
-    rectangleUnion                          ,
-
-
--- ** selectionConvert
-    selectionConvert                        ,
-
-
--- ** selectionOwnerGet
-    selectionOwnerGet                       ,
-
-
--- ** selectionOwnerGetForDisplay
-    selectionOwnerGetForDisplay             ,
-
-
--- ** selectionOwnerSet
-    selectionOwnerSet                       ,
-
-
--- ** selectionOwnerSetForDisplay
-    selectionOwnerSetForDisplay             ,
-
-
--- ** selectionSendNotify
-    selectionSendNotify                     ,
-
-
--- ** selectionSendNotifyForDisplay
-    selectionSendNotifyForDisplay           ,
-
-
--- ** setAllowedBackends
-    setAllowedBackends                      ,
-
-
--- ** setDoubleClickTime
-    setDoubleClickTime                      ,
-
-
--- ** setProgramClass
-    setProgramClass                         ,
-
-
--- ** setShowEvents
-    setShowEvents                           ,
-
-
--- ** settingGet
-    settingGet                              ,
-
-
--- ** synthesizeWindowState
-    synthesizeWindowState                   ,
-
-
--- ** testRenderSync
-    testRenderSync                          ,
-
-
--- ** testSimulateButton
-    testSimulateButton                      ,
-
-
--- ** testSimulateKey
-    testSimulateKey                         ,
-
-
--- ** textPropertyToUtf8ListForDisplay
-    textPropertyToUtf8ListForDisplay        ,
-
-
--- ** threadsAddIdle
-    threadsAddIdle                          ,
-
-
--- ** threadsAddTimeout
-    threadsAddTimeout                       ,
-
-
--- ** threadsAddTimeoutSeconds
-    threadsAddTimeoutSeconds                ,
-
-
--- ** threadsEnter
-    threadsEnter                            ,
-
-
--- ** threadsInit
-    threadsInit                             ,
-
-
--- ** threadsLeave
-    threadsLeave                            ,
-
-
--- ** unicodeToKeyval
-    unicodeToKeyval                         ,
-
-
--- ** utf8ToStringTarget
-    utf8ToStringTarget                      ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-import qualified GI.GLib as GLib
-import qualified GI.GdkPixbuf as GdkPixbuf
-import qualified GI.Pango as Pango
-import qualified GI.Cairo as Cairo
-
--- function gdk_utf8_to_string_target
--- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_utf8_to_string_target" gdk_utf8_to_string_target :: 
-    CString ->                              -- str : TBasicType TUTF8
-    IO CString
-
-
-utf8ToStringTarget ::
-    (MonadIO m) =>
-    T.Text ->                               -- str
-    m T.Text
-utf8ToStringTarget str = liftIO $ do
-    str' <- textToCString str
-    result <- gdk_utf8_to_string_target str'
-    checkUnexpectedReturnNULL "gdk_utf8_to_string_target" result
-    result' <- cstringToText result
-    freeMem result
-    freeMem str'
-    return result'
-
-
--- function gdk_unicode_to_keyval
--- Args : [Arg {argName = "wc", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "wc", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_unicode_to_keyval" gdk_unicode_to_keyval :: 
-    Word32 ->                               -- wc : TBasicType TUInt32
-    IO Word32
-
-
-unicodeToKeyval ::
-    (MonadIO m) =>
-    Word32 ->                               -- wc
-    m Word32
-unicodeToKeyval wc = liftIO $ do
-    result <- gdk_unicode_to_keyval wc
-    return result
-
-
--- function gdk_threads_leave
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_threads_leave" gdk_threads_leave :: 
-    IO ()
-
-{-# DEPRECATED threadsLeave ["(Since version 3.6)","All GDK and GTK+ calls should be made from the main","    thread"]#-}
-threadsLeave ::
-    (MonadIO m) =>
-    m ()
-threadsLeave  = liftIO $ do
-    gdk_threads_leave
-    return ()
-
-
--- function gdk_threads_init
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_threads_init" gdk_threads_init :: 
-    IO ()
-
-{-# DEPRECATED threadsInit ["(Since version 3.6)","All GDK and GTK+ calls should be made from the main","    thread"]#-}
-threadsInit ::
-    (MonadIO m) =>
-    m ()
-threadsInit  = liftIO $ do
-    gdk_threads_init
-    return ()
-
-
--- function gdk_threads_enter
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_threads_enter" gdk_threads_enter :: 
-    IO ()
-
-{-# DEPRECATED threadsEnter ["(Since version 3.6)","All GDK and GTK+ calls should be made from the main","    thread"]#-}
-threadsEnter ::
-    (MonadIO m) =>
-    m ()
-threadsEnter  = liftIO $ do
-    gdk_threads_enter
-    return ()
-
-
--- function gdk_threads_add_timeout_seconds_full
--- Args : [Arg {argName = "priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "function", argType = TInterface "GLib" "SourceFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "function", argType = TInterface "GLib" "SourceFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing}]
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_threads_add_timeout_seconds_full" gdk_threads_add_timeout_seconds_full :: 
-    Int32 ->                                -- priority : TBasicType TInt32
-    Word32 ->                               -- interval : TBasicType TUInt32
-    FunPtr GLib.SourceFuncC ->              -- function : TInterface "GLib" "SourceFunc"
-    Ptr () ->                               -- data : TBasicType TVoid
-    FunPtr GLib.DestroyNotifyC ->           -- notify : TInterface "GLib" "DestroyNotify"
-    IO Word32
-
-
-threadsAddTimeoutSeconds ::
-    (MonadIO m) =>
-    Int32 ->                                -- priority
-    Word32 ->                               -- interval
-    GLib.SourceFunc ->                      -- function
-    m Word32
-threadsAddTimeoutSeconds priority interval function = liftIO $ do
-    function' <- GLib.mkSourceFunc (GLib.sourceFuncWrapper Nothing function)
-    let data_ = castFunPtrToPtr function'
-    let notify = safeFreeFunPtrPtr
-    result <- gdk_threads_add_timeout_seconds_full priority interval function' data_ notify
-    return result
-
-
--- function gdk_threads_add_timeout_full
--- Args : [Arg {argName = "priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "function", argType = TInterface "GLib" "SourceFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "interval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "function", argType = TInterface "GLib" "SourceFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, transfer = TransferNothing}]
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_threads_add_timeout_full" gdk_threads_add_timeout_full :: 
-    Int32 ->                                -- priority : TBasicType TInt32
-    Word32 ->                               -- interval : TBasicType TUInt32
-    FunPtr GLib.SourceFuncC ->              -- function : TInterface "GLib" "SourceFunc"
-    Ptr () ->                               -- data : TBasicType TVoid
-    FunPtr GLib.DestroyNotifyC ->           -- notify : TInterface "GLib" "DestroyNotify"
-    IO Word32
-
-
-threadsAddTimeout ::
-    (MonadIO m) =>
-    Int32 ->                                -- priority
-    Word32 ->                               -- interval
-    GLib.SourceFunc ->                      -- function
-    m Word32
-threadsAddTimeout priority interval function = liftIO $ do
-    function' <- GLib.mkSourceFunc (GLib.sourceFuncWrapper Nothing function)
-    let data_ = castFunPtrToPtr function'
-    let notify = safeFreeFunPtrPtr
-    result <- gdk_threads_add_timeout_full priority interval function' data_ notify
-    return result
-
-
--- function gdk_threads_add_idle_full
--- Args : [Arg {argName = "priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "function", argType = TInterface "GLib" "SourceFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "function", argType = TInterface "GLib" "SourceFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, transfer = TransferNothing}]
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_threads_add_idle_full" gdk_threads_add_idle_full :: 
-    Int32 ->                                -- priority : TBasicType TInt32
-    FunPtr GLib.SourceFuncC ->              -- function : TInterface "GLib" "SourceFunc"
-    Ptr () ->                               -- data : TBasicType TVoid
-    FunPtr GLib.DestroyNotifyC ->           -- notify : TInterface "GLib" "DestroyNotify"
-    IO Word32
-
-
-threadsAddIdle ::
-    (MonadIO m) =>
-    Int32 ->                                -- priority
-    GLib.SourceFunc ->                      -- function
-    m Word32
-threadsAddIdle priority function = liftIO $ do
-    function' <- GLib.mkSourceFunc (GLib.sourceFuncWrapper Nothing function)
-    let data_ = castFunPtrToPtr function'
-    let notify = safeFreeFunPtrPtr
-    result <- gdk_threads_add_idle_full priority function' data_ notify
-    return result
-
-
--- function gdk_text_property_to_utf8_list_for_display
--- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "encoding", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "format", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "list", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : [Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "encoding", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "format", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_text_property_to_utf8_list_for_display" gdk_text_property_to_utf8_list_for_display :: 
-    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
-    Ptr Atom ->                             -- encoding : TInterface "Gdk" "Atom"
-    Int32 ->                                -- format : TBasicType TInt32
-    Ptr Word8 ->                            -- text : TCArray False (-1) 4 (TBasicType TUInt8)
-    Int32 ->                                -- length : TBasicType TInt32
-    Ptr (Ptr CString) ->                    -- list : TCArray True (-1) (-1) (TBasicType TUTF8)
-    IO Int32
-
-
-textPropertyToUtf8ListForDisplay ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- display
-    Atom ->                                 -- encoding
-    Int32 ->                                -- format
-    ByteString ->                           -- text
-    m (Int32,[T.Text])
-textPropertyToUtf8ListForDisplay display encoding format text = liftIO $ do
-    let length_ = fromIntegral $ B.length text
-    let display' = unsafeManagedPtrCastPtr display
-    let encoding' = unsafeManagedPtrGetPtr encoding
-    text' <- packByteString text
-    list <- allocMem :: IO (Ptr (Ptr CString))
-    result <- gdk_text_property_to_utf8_list_for_display display' encoding' format text' length_ list
-    list' <- peek list
-    list'' <- unpackZeroTerminatedUTF8CArray list'
-    mapZeroTerminatedCArray freeMem list'
-    freeMem list'
-    touchManagedPtr display
-    touchManagedPtr encoding
-    freeMem text'
-    freeMem list
-    return (result, list'')
-
-
--- function gdk_test_simulate_key
--- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key_pressrelease", argType = TInterface "Gdk" "EventType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key_pressrelease", argType = TInterface "Gdk" "EventType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_test_simulate_key" gdk_test_simulate_key :: 
-    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
-    Int32 ->                                -- x : TBasicType TInt32
-    Int32 ->                                -- y : TBasicType TInt32
-    Word32 ->                               -- keyval : TBasicType TUInt32
-    CUInt ->                                -- modifiers : TInterface "Gdk" "ModifierType"
-    CUInt ->                                -- key_pressrelease : TInterface "Gdk" "EventType"
-    IO CInt
-
-
-testSimulateKey ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- window
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    Word32 ->                               -- keyval
-    [ModifierType] ->                       -- modifiers
-    EventType ->                            -- key_pressrelease
-    m Bool
-testSimulateKey window x y keyval modifiers key_pressrelease = liftIO $ do
-    let window' = unsafeManagedPtrCastPtr window
-    let modifiers' = gflagsToWord modifiers
-    let key_pressrelease' = (fromIntegral . fromEnum) key_pressrelease
-    result <- gdk_test_simulate_key window' x y keyval modifiers' key_pressrelease'
-    let result' = (/= 0) result
-    touchManagedPtr window
-    return result'
-
-
--- function gdk_test_simulate_button
--- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button_pressrelease", argType = TInterface "Gdk" "EventType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button_pressrelease", argType = TInterface "Gdk" "EventType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_test_simulate_button" gdk_test_simulate_button :: 
-    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
-    Int32 ->                                -- x : TBasicType TInt32
-    Int32 ->                                -- y : TBasicType TInt32
-    Word32 ->                               -- button : TBasicType TUInt32
-    CUInt ->                                -- modifiers : TInterface "Gdk" "ModifierType"
-    CUInt ->                                -- button_pressrelease : TInterface "Gdk" "EventType"
-    IO CInt
-
-
-testSimulateButton ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- window
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    Word32 ->                               -- button
-    [ModifierType] ->                       -- modifiers
-    EventType ->                            -- button_pressrelease
-    m Bool
-testSimulateButton window x y button modifiers button_pressrelease = liftIO $ do
-    let window' = unsafeManagedPtrCastPtr window
-    let modifiers' = gflagsToWord modifiers
-    let button_pressrelease' = (fromIntegral . fromEnum) button_pressrelease
-    result <- gdk_test_simulate_button window' x y button modifiers' button_pressrelease'
-    let result' = (/= 0) result
-    touchManagedPtr window
-    return result'
-
-
--- function gdk_test_render_sync
--- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_test_render_sync" gdk_test_render_sync :: 
-    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
-    IO ()
-
-
-testRenderSync ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- window
-    m ()
-testRenderSync window = liftIO $ do
-    let window' = unsafeManagedPtrCastPtr window
-    gdk_test_render_sync window'
-    touchManagedPtr window
-    return ()
-
-
--- function gdk_synthesize_window_state
--- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "unset_flags", argType = TInterface "Gdk" "WindowState", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "set_flags", argType = TInterface "Gdk" "WindowState", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "unset_flags", argType = TInterface "Gdk" "WindowState", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "set_flags", argType = TInterface "Gdk" "WindowState", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_synthesize_window_state" gdk_synthesize_window_state :: 
-    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
-    CUInt ->                                -- unset_flags : TInterface "Gdk" "WindowState"
-    CUInt ->                                -- set_flags : TInterface "Gdk" "WindowState"
-    IO ()
-
-
-synthesizeWindowState ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- window
-    [WindowState] ->                        -- unset_flags
-    [WindowState] ->                        -- set_flags
-    m ()
-synthesizeWindowState window unset_flags set_flags_ = liftIO $ do
-    let window' = unsafeManagedPtrCastPtr window
-    let unset_flags' = gflagsToWord unset_flags
-    let set_flags_' = gflagsToWord set_flags_
-    gdk_synthesize_window_state window' unset_flags' set_flags_'
-    touchManagedPtr window
-    return ()
-
-
--- function gdk_setting_get
--- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_setting_get" gdk_setting_get :: 
-    CString ->                              -- name : TBasicType TUTF8
-    Ptr GValue ->                           -- value : TInterface "GObject" "Value"
-    IO CInt
-
-
-settingGet ::
-    (MonadIO m) =>
-    T.Text ->                               -- name
-    GValue ->                               -- value
-    m Bool
-settingGet name value = liftIO $ do
-    name' <- textToCString name
-    let value' = unsafeManagedPtrGetPtr value
-    result <- gdk_setting_get name' value'
-    let result' = (/= 0) result
-    touchManagedPtr value
-    freeMem name'
-    return result'
-
-
--- function gdk_set_show_events
--- Args : [Arg {argName = "show_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "show_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_set_show_events" gdk_set_show_events :: 
-    CInt ->                                 -- show_events : TBasicType TBoolean
-    IO ()
-
-
-setShowEvents ::
-    (MonadIO m) =>
-    Bool ->                                 -- show_events
-    m ()
-setShowEvents show_events = liftIO $ do
-    let show_events' = (fromIntegral . fromEnum) show_events
-    gdk_set_show_events show_events'
-    return ()
-
-
--- function gdk_set_program_class
--- Args : [Arg {argName = "program_class", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "program_class", 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 "gdk_set_program_class" gdk_set_program_class :: 
-    CString ->                              -- program_class : TBasicType TUTF8
-    IO ()
-
-
-setProgramClass ::
-    (MonadIO m) =>
-    T.Text ->                               -- program_class
-    m ()
-setProgramClass program_class = liftIO $ do
-    program_class' <- textToCString program_class
-    gdk_set_program_class program_class'
-    freeMem program_class'
-    return ()
-
-
--- function gdk_set_double_click_time
--- Args : [Arg {argName = "msec", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "msec", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_set_double_click_time" gdk_set_double_click_time :: 
-    Word32 ->                               -- msec : TBasicType TUInt32
-    IO ()
-
-
-setDoubleClickTime ::
-    (MonadIO m) =>
-    Word32 ->                               -- msec
-    m ()
-setDoubleClickTime msec = liftIO $ do
-    gdk_set_double_click_time msec
-    return ()
-
-
--- function gdk_set_allowed_backends
--- Args : [Arg {argName = "backends", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "backends", 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 "gdk_set_allowed_backends" gdk_set_allowed_backends :: 
-    CString ->                              -- backends : TBasicType TUTF8
-    IO ()
-
-
-setAllowedBackends ::
-    (MonadIO m) =>
-    T.Text ->                               -- backends
-    m ()
-setAllowedBackends backends = liftIO $ do
-    backends' <- textToCString backends
-    gdk_set_allowed_backends backends'
-    freeMem backends'
-    return ()
-
-
--- function gdk_selection_send_notify_for_display
--- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "requestor", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "requestor", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_selection_send_notify_for_display" gdk_selection_send_notify_for_display :: 
-    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
-    Ptr Window ->                           -- requestor : TInterface "Gdk" "Window"
-    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"
-    Ptr Atom ->                             -- target : TInterface "Gdk" "Atom"
-    Ptr Atom ->                             -- property : TInterface "Gdk" "Atom"
-    Word32 ->                               -- time_ : TBasicType TUInt32
-    IO ()
-
-
-selectionSendNotifyForDisplay ::
-    (MonadIO m, DisplayK a, WindowK b) =>
-    a ->                                    -- display
-    b ->                                    -- requestor
-    Atom ->                                 -- selection
-    Atom ->                                 -- target
-    Atom ->                                 -- property
-    Word32 ->                               -- time_
-    m ()
-selectionSendNotifyForDisplay display requestor selection target property time_ = liftIO $ do
-    let display' = unsafeManagedPtrCastPtr display
-    let requestor' = unsafeManagedPtrCastPtr requestor
-    let selection' = unsafeManagedPtrGetPtr selection
-    let target' = unsafeManagedPtrGetPtr target
-    let property' = unsafeManagedPtrGetPtr property
-    gdk_selection_send_notify_for_display display' requestor' selection' target' property' time_
-    touchManagedPtr display
-    touchManagedPtr requestor
-    touchManagedPtr selection
-    touchManagedPtr target
-    touchManagedPtr property
-    return ()
-
-
--- function gdk_selection_send_notify
--- Args : [Arg {argName = "requestor", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "requestor", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_selection_send_notify" gdk_selection_send_notify :: 
-    Ptr Window ->                           -- requestor : TInterface "Gdk" "Window"
-    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"
-    Ptr Atom ->                             -- target : TInterface "Gdk" "Atom"
-    Ptr Atom ->                             -- property : TInterface "Gdk" "Atom"
-    Word32 ->                               -- time_ : TBasicType TUInt32
-    IO ()
-
-
-selectionSendNotify ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- requestor
-    Atom ->                                 -- selection
-    Atom ->                                 -- target
-    Atom ->                                 -- property
-    Word32 ->                               -- time_
-    m ()
-selectionSendNotify requestor selection target property time_ = liftIO $ do
-    let requestor' = unsafeManagedPtrCastPtr requestor
-    let selection' = unsafeManagedPtrGetPtr selection
-    let target' = unsafeManagedPtrGetPtr target
-    let property' = unsafeManagedPtrGetPtr property
-    gdk_selection_send_notify requestor' selection' target' property' time_
-    touchManagedPtr requestor
-    touchManagedPtr selection
-    touchManagedPtr target
-    touchManagedPtr property
-    return ()
-
-
--- function gdk_selection_owner_set_for_display
--- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "send_event", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "send_event", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_selection_owner_set_for_display" gdk_selection_owner_set_for_display :: 
-    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
-    Ptr Window ->                           -- owner : TInterface "Gdk" "Window"
-    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"
-    Word32 ->                               -- time_ : TBasicType TUInt32
-    CInt ->                                 -- send_event : TBasicType TBoolean
-    IO CInt
-
-
-selectionOwnerSetForDisplay ::
-    (MonadIO m, DisplayK a, WindowK b) =>
-    a ->                                    -- display
-    Maybe (b) ->                            -- owner
-    Atom ->                                 -- selection
-    Word32 ->                               -- time_
-    Bool ->                                 -- send_event
-    m Bool
-selectionOwnerSetForDisplay display owner selection time_ send_event = liftIO $ do
-    let display' = unsafeManagedPtrCastPtr display
-    maybeOwner <- case owner of
-        Nothing -> return nullPtr
-        Just jOwner -> do
-            let jOwner' = unsafeManagedPtrCastPtr jOwner
-            return jOwner'
-    let selection' = unsafeManagedPtrGetPtr selection
-    let send_event' = (fromIntegral . fromEnum) send_event
-    result <- gdk_selection_owner_set_for_display display' maybeOwner selection' time_ send_event'
-    let result' = (/= 0) result
-    touchManagedPtr display
-    whenJust owner touchManagedPtr
-    touchManagedPtr selection
-    return result'
-
-
--- function gdk_selection_owner_set
--- Args : [Arg {argName = "owner", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "send_event", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "owner", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "send_event", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_selection_owner_set" gdk_selection_owner_set :: 
-    Ptr Window ->                           -- owner : TInterface "Gdk" "Window"
-    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"
-    Word32 ->                               -- time_ : TBasicType TUInt32
-    CInt ->                                 -- send_event : TBasicType TBoolean
-    IO CInt
-
-
-selectionOwnerSet ::
-    (MonadIO m, WindowK a) =>
-    Maybe (a) ->                            -- owner
-    Atom ->                                 -- selection
-    Word32 ->                               -- time_
-    Bool ->                                 -- send_event
-    m Bool
-selectionOwnerSet owner selection time_ send_event = liftIO $ do
-    maybeOwner <- case owner of
-        Nothing -> return nullPtr
-        Just jOwner -> do
-            let jOwner' = unsafeManagedPtrCastPtr jOwner
-            return jOwner'
-    let selection' = unsafeManagedPtrGetPtr selection
-    let send_event' = (fromIntegral . fromEnum) send_event
-    result <- gdk_selection_owner_set maybeOwner selection' time_ send_event'
-    let result' = (/= 0) result
-    whenJust owner touchManagedPtr
-    touchManagedPtr selection
-    return result'
-
-
--- function gdk_selection_owner_get_for_display
--- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_selection_owner_get_for_display" gdk_selection_owner_get_for_display :: 
-    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
-    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"
-    IO (Ptr Window)
-
-
-selectionOwnerGetForDisplay ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- display
-    Atom ->                                 -- selection
-    m Window
-selectionOwnerGetForDisplay display selection = liftIO $ do
-    let display' = unsafeManagedPtrCastPtr display
-    let selection' = unsafeManagedPtrGetPtr selection
-    result <- gdk_selection_owner_get_for_display display' selection'
-    checkUnexpectedReturnNULL "gdk_selection_owner_get_for_display" result
-    result' <- (newObject Window) result
-    touchManagedPtr display
-    touchManagedPtr selection
-    return result'
-
-
--- function gdk_selection_owner_get
--- Args : [Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_selection_owner_get" gdk_selection_owner_get :: 
-    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"
-    IO (Ptr Window)
-
-
-selectionOwnerGet ::
-    (MonadIO m) =>
-    Atom ->                                 -- selection
-    m Window
-selectionOwnerGet selection = liftIO $ do
-    let selection' = unsafeManagedPtrGetPtr selection
-    result <- gdk_selection_owner_get selection'
-    checkUnexpectedReturnNULL "gdk_selection_owner_get" result
-    result' <- (newObject Window) result
-    touchManagedPtr selection
-    return result'
-
-
--- function gdk_selection_convert
--- Args : [Arg {argName = "requestor", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "requestor", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_selection_convert" gdk_selection_convert :: 
-    Ptr Window ->                           -- requestor : TInterface "Gdk" "Window"
-    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"
-    Ptr Atom ->                             -- target : TInterface "Gdk" "Atom"
-    Word32 ->                               -- time_ : TBasicType TUInt32
-    IO ()
-
-
-selectionConvert ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- requestor
-    Atom ->                                 -- selection
-    Atom ->                                 -- target
-    Word32 ->                               -- time_
-    m ()
-selectionConvert requestor selection target time_ = liftIO $ do
-    let requestor' = unsafeManagedPtrCastPtr requestor
-    let selection' = unsafeManagedPtrGetPtr selection
-    let target' = unsafeManagedPtrGetPtr target
-    gdk_selection_convert requestor' selection' target' time_
-    touchManagedPtr requestor
-    touchManagedPtr selection
-    touchManagedPtr target
-    return ()
-
-
--- function gdk_rectangle_union
--- Args : [Arg {argName = "src1", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src2", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest", argType = TInterface "cairo" "RectangleInt", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "src1", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src2", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_rectangle_union" gdk_rectangle_union :: 
-    Ptr Cairo.RectangleInt ->               -- src1 : TInterface "cairo" "RectangleInt"
-    Ptr Cairo.RectangleInt ->               -- src2 : TInterface "cairo" "RectangleInt"
-    Ptr Cairo.RectangleInt ->               -- dest : TInterface "cairo" "RectangleInt"
-    IO ()
-
-
-rectangleUnion ::
-    (MonadIO m) =>
-    Cairo.RectangleInt ->                   -- src1
-    Cairo.RectangleInt ->                   -- src2
-    m (Cairo.RectangleInt)
-rectangleUnion src1 src2 = liftIO $ do
-    let src1' = unsafeManagedPtrGetPtr src1
-    let src2' = unsafeManagedPtrGetPtr src2
-    dest <- callocBoxedBytes 16 :: IO (Ptr Cairo.RectangleInt)
-    gdk_rectangle_union src1' src2' dest
-    dest' <- (wrapBoxed Cairo.RectangleInt) dest
-    touchManagedPtr src1
-    touchManagedPtr src2
-    return dest'
-
-
--- function gdk_rectangle_intersect
--- Args : [Arg {argName = "src1", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src2", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest", argType = TInterface "cairo" "RectangleInt", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "src1", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src2", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_rectangle_intersect" gdk_rectangle_intersect :: 
-    Ptr Cairo.RectangleInt ->               -- src1 : TInterface "cairo" "RectangleInt"
-    Ptr Cairo.RectangleInt ->               -- src2 : TInterface "cairo" "RectangleInt"
-    Ptr Cairo.RectangleInt ->               -- dest : TInterface "cairo" "RectangleInt"
-    IO CInt
-
-
-rectangleIntersect ::
-    (MonadIO m) =>
-    Cairo.RectangleInt ->                   -- src1
-    Cairo.RectangleInt ->                   -- src2
-    m (Bool,Cairo.RectangleInt)
-rectangleIntersect src1 src2 = liftIO $ do
-    let src1' = unsafeManagedPtrGetPtr src1
-    let src2' = unsafeManagedPtrGetPtr src2
-    dest <- callocBoxedBytes 16 :: IO (Ptr Cairo.RectangleInt)
-    result <- gdk_rectangle_intersect src1' src2' dest
-    let result' = (/= 0) result
-    dest' <- (wrapBoxed Cairo.RectangleInt) dest
-    touchManagedPtr src1
-    touchManagedPtr src2
-    return (result', dest')
-
-
--- function gdk_rectangle_get_type
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TGType
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_rectangle_get_type" gdk_rectangle_get_type :: 
-    IO CGType
-
-
-rectangleGetType ::
-    (MonadIO m) =>
-    m GType
-rectangleGetType  = liftIO $ do
-    result <- gdk_rectangle_get_type
-    let result' = GType result
-    return result'
-
-
--- function gdk_query_visual_types
--- Args : [Arg {argName = "visual_types", argType = TCArray False (-1) 1 (TInterface "Gdk" "VisualType"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "count", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : [Arg {argName = "count", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- hInArgs : []
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_query_visual_types" gdk_query_visual_types :: 
-    Ptr (Ptr CUInt) ->                      -- visual_types : TCArray False (-1) 1 (TInterface "Gdk" "VisualType")
-    Ptr Int32 ->                            -- count : TBasicType TInt32
-    IO ()
-
-
-queryVisualTypes ::
-    (MonadIO m) =>
-    m ([VisualType])
-queryVisualTypes  = liftIO $ do
-    visual_types <- allocMem :: IO (Ptr (Ptr CUInt))
-    count <- allocMem :: IO (Ptr Int32)
-    gdk_query_visual_types visual_types count
-    count' <- peek count
-    visual_types' <- peek visual_types
-    visual_types'' <- (unpackStorableArrayWithLength count') visual_types'
-    let visual_types''' = map (toEnum . fromIntegral) visual_types''
-    freeMem visual_types
-    freeMem count
-    return visual_types'''
-
-
--- function gdk_query_depths
--- Args : [Arg {argName = "depths", argType = TCArray False (-1) 1 (TBasicType TInt32), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "count", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : [Arg {argName = "count", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- hInArgs : []
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_query_depths" gdk_query_depths :: 
-    Ptr (Ptr Int32) ->                      -- depths : TCArray False (-1) 1 (TBasicType TInt32)
-    Ptr Int32 ->                            -- count : TBasicType TInt32
-    IO ()
-
-
-queryDepths ::
-    (MonadIO m) =>
-    m ([Int32])
-queryDepths  = liftIO $ do
-    depths <- allocMem :: IO (Ptr (Ptr Int32))
-    count <- allocMem :: IO (Ptr Int32)
-    gdk_query_depths depths count
-    count' <- peek count
-    depths' <- peek depths
-    depths'' <- (unpackStorableArrayWithLength count') depths'
-    freeMem depths
-    freeMem count
-    return depths''
-
-
--- function gdk_property_get
--- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pdelete", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "actual_property_type", argType = TInterface "Gdk" "Atom", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "actual_format", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "actual_length", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "data", argType = TCArray False (-1) 8 (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : [Arg {argName = "actual_length", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pdelete", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_property_get" gdk_property_get :: 
-    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
-    Ptr Atom ->                             -- property : TInterface "Gdk" "Atom"
-    Ptr Atom ->                             -- type : TInterface "Gdk" "Atom"
-    Word64 ->                               -- offset : TBasicType TUInt64
-    Word64 ->                               -- length : TBasicType TUInt64
-    Int32 ->                                -- pdelete : TBasicType TInt32
-    Ptr (Ptr Atom) ->                       -- actual_property_type : TInterface "Gdk" "Atom"
-    Ptr Int32 ->                            -- actual_format : TBasicType TInt32
-    Ptr Int32 ->                            -- actual_length : TBasicType TInt32
-    Ptr (Ptr Word8) ->                      -- data : TCArray False (-1) 8 (TBasicType TUInt8)
-    IO CInt
-
-
-propertyGet ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- window
-    Atom ->                                 -- property
-    Atom ->                                 -- type
-    Word64 ->                               -- offset
-    Word64 ->                               -- length
-    Int32 ->                                -- pdelete
-    m (Bool,Atom,Int32,ByteString)
-propertyGet window property type_ offset length_ pdelete = liftIO $ do
-    let window' = unsafeManagedPtrCastPtr window
-    let property' = unsafeManagedPtrGetPtr property
-    let type_' = unsafeManagedPtrGetPtr type_
-    actual_property_type <- allocMem :: IO (Ptr (Ptr Atom))
-    actual_format <- allocMem :: IO (Ptr Int32)
-    actual_length <- allocMem :: IO (Ptr Int32)
-    data_ <- allocMem :: IO (Ptr (Ptr Word8))
-    result <- gdk_property_get window' property' type_' offset length_ pdelete actual_property_type actual_format actual_length data_
-    actual_length' <- peek actual_length
-    let result' = (/= 0) result
-    actual_property_type' <- peek actual_property_type
-    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
-    actual_property_type'' <- (\x -> Atom <$> newForeignPtr_ x) actual_property_type'
-    actual_format' <- peek actual_format
-    data_' <- peek data_
-    data_'' <- (unpackByteStringWithLength actual_length') data_'
-    freeMem data_'
-    touchManagedPtr window
-    touchManagedPtr property
-    touchManagedPtr type_
-    freeMem actual_property_type
-    freeMem actual_format
-    freeMem actual_length
-    freeMem data_
-    return (result', actual_property_type'', actual_format', data_'')
-
-
--- function gdk_property_delete
--- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "property", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_property_delete" gdk_property_delete :: 
-    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
-    Ptr Atom ->                             -- property : TInterface "Gdk" "Atom"
-    IO ()
-
-
-propertyDelete ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- window
-    Atom ->                                 -- property
-    m ()
-propertyDelete window property = liftIO $ do
-    let window' = unsafeManagedPtrCastPtr window
-    let property' = unsafeManagedPtrGetPtr property
-    gdk_property_delete window' property'
-    touchManagedPtr window
-    touchManagedPtr property
-    return ()
-
-
--- function gdk_pre_parse_libgtk_only
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_pre_parse_libgtk_only" gdk_pre_parse_libgtk_only :: 
-    IO ()
-
-{-# DEPRECATED preParseLibgtkOnly ["(Since version 3.16)","This symbol was never meant to be used outside","  of GTK+"]#-}
-preParseLibgtkOnly ::
-    (MonadIO m) =>
-    m ()
-preParseLibgtkOnly  = liftIO $ do
-    gdk_pre_parse_libgtk_only
-    return ()
-
-
--- function gdk_pointer_ungrab
--- Args : [Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_pointer_ungrab" gdk_pointer_ungrab :: 
-    Word32 ->                               -- time_ : TBasicType TUInt32
-    IO ()
-
-{-# DEPRECATED pointerUngrab ["(Since version 3.0)","Use gdk_device_ungrab(), together with gdk_device_grab()","            instead."]#-}
-pointerUngrab ::
-    (MonadIO m) =>
-    Word32 ->                               -- time_
-    m ()
-pointerUngrab time_ = liftIO $ do
-    gdk_pointer_ungrab time_
-    return ()
-
-
--- function gdk_pointer_is_grabbed
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_pointer_is_grabbed" gdk_pointer_is_grabbed :: 
-    IO CInt
-
-{-# DEPRECATED pointerIsGrabbed ["(Since version 3.0)","Use gdk_display_device_is_grabbed() instead."]#-}
-pointerIsGrabbed ::
-    (MonadIO m) =>
-    m Bool
-pointerIsGrabbed  = liftIO $ do
-    result <- gdk_pointer_is_grabbed
-    let result' = (/= 0) result
-    return result'
-
-
--- function gdk_pointer_grab
--- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "confine_to", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "confine_to", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "GrabStatus"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_pointer_grab" gdk_pointer_grab :: 
-    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
-    CInt ->                                 -- owner_events : TBasicType TBoolean
-    CUInt ->                                -- event_mask : TInterface "Gdk" "EventMask"
-    Ptr Window ->                           -- confine_to : TInterface "Gdk" "Window"
-    Ptr Cursor ->                           -- cursor : TInterface "Gdk" "Cursor"
-    Word32 ->                               -- time_ : TBasicType TUInt32
-    IO CUInt
-
-{-# DEPRECATED pointerGrab ["(Since version 3.0)","Use gdk_device_grab() instead."]#-}
-pointerGrab ::
-    (MonadIO m, WindowK a, WindowK b, CursorK c) =>
-    a ->                                    -- window
-    Bool ->                                 -- owner_events
-    [EventMask] ->                          -- event_mask
-    Maybe (b) ->                            -- confine_to
-    Maybe (c) ->                            -- cursor
-    Word32 ->                               -- time_
-    m GrabStatus
-pointerGrab window owner_events event_mask confine_to cursor time_ = liftIO $ do
-    let window' = unsafeManagedPtrCastPtr window
-    let owner_events' = (fromIntegral . fromEnum) owner_events
-    let event_mask' = gflagsToWord event_mask
-    maybeConfine_to <- case confine_to of
-        Nothing -> return nullPtr
-        Just jConfine_to -> do
-            let jConfine_to' = unsafeManagedPtrCastPtr jConfine_to
-            return jConfine_to'
-    maybeCursor <- case cursor of
-        Nothing -> return nullPtr
-        Just jCursor -> do
-            let jCursor' = unsafeManagedPtrCastPtr jCursor
-            return jCursor'
-    result <- gdk_pointer_grab window' owner_events' event_mask' maybeConfine_to maybeCursor time_
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr window
-    whenJust confine_to touchManagedPtr
-    whenJust cursor touchManagedPtr
-    return result'
-
-
--- function gdk_pixbuf_get_from_window
--- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GdkPixbuf" "Pixbuf"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_pixbuf_get_from_window" gdk_pixbuf_get_from_window :: 
-    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
-    Int32 ->                                -- src_x : TBasicType TInt32
-    Int32 ->                                -- src_y : TBasicType TInt32
-    Int32 ->                                -- width : TBasicType TInt32
-    Int32 ->                                -- height : TBasicType TInt32
-    IO (Ptr GdkPixbuf.Pixbuf)
-
-
-pixbufGetFromWindow ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- window
-    Int32 ->                                -- src_x
-    Int32 ->                                -- src_y
-    Int32 ->                                -- width
-    Int32 ->                                -- height
-    m GdkPixbuf.Pixbuf
-pixbufGetFromWindow window src_x src_y width height = liftIO $ do
-    let window' = unsafeManagedPtrCastPtr window
-    result <- gdk_pixbuf_get_from_window window' src_x src_y width height
-    checkUnexpectedReturnNULL "gdk_pixbuf_get_from_window" result
-    result' <- (wrapObject GdkPixbuf.Pixbuf) result
-    touchManagedPtr window
-    return result'
-
-
--- function gdk_pixbuf_get_from_surface
--- Args : [Arg {argName = "surface", argType = TInterface "cairo" "Surface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "surface", argType = TInterface "cairo" "Surface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "src_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GdkPixbuf" "Pixbuf"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_pixbuf_get_from_surface" gdk_pixbuf_get_from_surface :: 
-    Ptr Cairo.Surface ->                    -- surface : TInterface "cairo" "Surface"
-    Int32 ->                                -- src_x : TBasicType TInt32
-    Int32 ->                                -- src_y : TBasicType TInt32
-    Int32 ->                                -- width : TBasicType TInt32
-    Int32 ->                                -- height : TBasicType TInt32
-    IO (Ptr GdkPixbuf.Pixbuf)
-
-
-pixbufGetFromSurface ::
-    (MonadIO m) =>
-    Cairo.Surface ->                        -- surface
-    Int32 ->                                -- src_x
-    Int32 ->                                -- src_y
-    Int32 ->                                -- width
-    Int32 ->                                -- height
-    m GdkPixbuf.Pixbuf
-pixbufGetFromSurface surface src_x src_y width height = liftIO $ do
-    let surface' = unsafeManagedPtrGetPtr surface
-    result <- gdk_pixbuf_get_from_surface surface' src_x src_y width height
-    checkUnexpectedReturnNULL "gdk_pixbuf_get_from_surface" result
-    result' <- (wrapObject GdkPixbuf.Pixbuf) result
-    touchManagedPtr surface
-    return result'
-
-
--- function gdk_parse_args
--- Args : [Arg {argName = "argc", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : [Arg {argName = "argc", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- hInArgs : [Arg {argName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_parse_args" gdk_parse_args :: 
-    Ptr Int32 ->                            -- argc : TBasicType TInt32
-    Ptr (Ptr CString) ->                    -- argv : TCArray False (-1) 0 (TBasicType TUTF8)
-    IO ()
-
-
-parseArgs ::
-    (MonadIO m) =>
-    [T.Text] ->                             -- argv
-    m ([T.Text])
-parseArgs argv = liftIO $ do
-    let argc = fromIntegral $ length argv
-    argc' <- allocMem :: IO (Ptr Int32)
-    poke argc' argc
-    argv' <- packUTF8CArray argv
-    argv'' <- allocMem :: IO (Ptr (Ptr CString))
-    poke argv'' argv'
-    gdk_parse_args argc' argv''
-    argc'' <- peek argc'
-    argv''' <- peek argv''
-    argv'''' <- (unpackUTF8CArrayWithLength argc'') argv'''
-    (mapCArrayWithLength argc'') freeMem argv'''
-    freeMem argv'''
-    freeMem argc'
-    freeMem argv''
-    return argv''''
-
-
--- function gdk_pango_context_get_for_screen
--- 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 "Pango" "Context"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_pango_context_get_for_screen" gdk_pango_context_get_for_screen :: 
-    Ptr Screen ->                           -- screen : TInterface "Gdk" "Screen"
-    IO (Ptr Pango.Context)
-
-
-pangoContextGetForScreen ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- screen
-    m Pango.Context
-pangoContextGetForScreen screen = liftIO $ do
-    let screen' = unsafeManagedPtrCastPtr screen
-    result <- gdk_pango_context_get_for_screen screen'
-    checkUnexpectedReturnNULL "gdk_pango_context_get_for_screen" result
-    result' <- (wrapObject Pango.Context) result
-    touchManagedPtr screen
-    return result'
-
-
--- function gdk_pango_context_get
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TInterface "Pango" "Context"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_pango_context_get" gdk_pango_context_get :: 
-    IO (Ptr Pango.Context)
-
-
-pangoContextGet ::
-    (MonadIO m) =>
-    m Pango.Context
-pangoContextGet  = liftIO $ do
-    result <- gdk_pango_context_get
-    checkUnexpectedReturnNULL "gdk_pango_context_get" result
-    result' <- (wrapObject Pango.Context) result
-    return result'
-
-
--- function gdk_offscreen_window_set_embedder
--- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "embedder", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "embedder", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_offscreen_window_set_embedder" gdk_offscreen_window_set_embedder :: 
-    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
-    Ptr Window ->                           -- embedder : TInterface "Gdk" "Window"
-    IO ()
-
-
-offscreenWindowSetEmbedder ::
-    (MonadIO m, WindowK a, WindowK b) =>
-    a ->                                    -- window
-    b ->                                    -- embedder
-    m ()
-offscreenWindowSetEmbedder window embedder = liftIO $ do
-    let window' = unsafeManagedPtrCastPtr window
-    let embedder' = unsafeManagedPtrCastPtr embedder
-    gdk_offscreen_window_set_embedder window' embedder'
-    touchManagedPtr window
-    touchManagedPtr embedder
-    return ()
-
-
--- function gdk_offscreen_window_get_surface
--- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "cairo" "Surface"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_offscreen_window_get_surface" gdk_offscreen_window_get_surface :: 
-    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
-    IO (Ptr Cairo.Surface)
-
-
-offscreenWindowGetSurface ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- window
-    m Cairo.Surface
-offscreenWindowGetSurface window = liftIO $ do
-    let window' = unsafeManagedPtrCastPtr window
-    result <- gdk_offscreen_window_get_surface window'
-    checkUnexpectedReturnNULL "gdk_offscreen_window_get_surface" result
-    result' <- (newBoxed Cairo.Surface) result
-    touchManagedPtr window
-    return result'
-
-
--- function gdk_offscreen_window_get_embedder
--- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_offscreen_window_get_embedder" gdk_offscreen_window_get_embedder :: 
-    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
-    IO (Ptr Window)
-
-
-offscreenWindowGetEmbedder ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- window
-    m Window
-offscreenWindowGetEmbedder window = liftIO $ do
-    let window' = unsafeManagedPtrCastPtr window
-    result <- gdk_offscreen_window_get_embedder window'
-    checkUnexpectedReturnNULL "gdk_offscreen_window_get_embedder" result
-    result' <- (newObject Window) result
-    touchManagedPtr window
-    return result'
-
-
--- function gdk_notify_startup_complete_with_id
--- Args : [Arg {argName = "startup_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "startup_id", 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 "gdk_notify_startup_complete_with_id" gdk_notify_startup_complete_with_id :: 
-    CString ->                              -- startup_id : TBasicType TUTF8
-    IO ()
-
-
-notifyStartupCompleteWithId ::
-    (MonadIO m) =>
-    T.Text ->                               -- startup_id
-    m ()
-notifyStartupCompleteWithId startup_id = liftIO $ do
-    startup_id' <- textToCString startup_id
-    gdk_notify_startup_complete_with_id startup_id'
-    freeMem startup_id'
-    return ()
-
-
--- function gdk_notify_startup_complete
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_notify_startup_complete" gdk_notify_startup_complete :: 
-    IO ()
-
-
-notifyStartupComplete ::
-    (MonadIO m) =>
-    m ()
-notifyStartupComplete  = liftIO $ do
-    gdk_notify_startup_complete
-    return ()
-
-
--- function gdk_list_visuals
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TGList (TInterface "Gdk" "Visual")
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_list_visuals" gdk_list_visuals :: 
-    IO (Ptr (GList (Ptr Visual)))
-
-
-listVisuals ::
-    (MonadIO m) =>
-    m [Visual]
-listVisuals  = liftIO $ do
-    result <- gdk_list_visuals
-    checkUnexpectedReturnNULL "gdk_list_visuals" result
-    result' <- unpackGList result
-    result'' <- mapM (newObject Visual) result'
-    g_list_free result
-    return result''
-
-
--- function gdk_keyval_to_upper
--- Args : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keyval_to_upper" gdk_keyval_to_upper :: 
-    Word32 ->                               -- keyval : TBasicType TUInt32
-    IO Word32
-
-
-keyvalToUpper ::
-    (MonadIO m) =>
-    Word32 ->                               -- keyval
-    m Word32
-keyvalToUpper keyval = liftIO $ do
-    result <- gdk_keyval_to_upper keyval
-    return result
-
-
--- function gdk_keyval_to_unicode
--- Args : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keyval_to_unicode" gdk_keyval_to_unicode :: 
-    Word32 ->                               -- keyval : TBasicType TUInt32
-    IO Word32
-
-
-keyvalToUnicode ::
-    (MonadIO m) =>
-    Word32 ->                               -- keyval
-    m Word32
-keyvalToUnicode keyval = liftIO $ do
-    result <- gdk_keyval_to_unicode keyval
-    return result
-
-
--- function gdk_keyval_to_lower
--- Args : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keyval_to_lower" gdk_keyval_to_lower :: 
-    Word32 ->                               -- keyval : TBasicType TUInt32
-    IO Word32
-
-
-keyvalToLower ::
-    (MonadIO m) =>
-    Word32 ->                               -- keyval
-    m Word32
-keyvalToLower keyval = liftIO $ do
-    result <- gdk_keyval_to_lower keyval
-    return result
-
-
--- function gdk_keyval_name
--- Args : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keyval_name" gdk_keyval_name :: 
-    Word32 ->                               -- keyval : TBasicType TUInt32
-    IO CString
-
-
-keyvalName ::
-    (MonadIO m) =>
-    Word32 ->                               -- keyval
-    m T.Text
-keyvalName keyval = liftIO $ do
-    result <- gdk_keyval_name keyval
-    checkUnexpectedReturnNULL "gdk_keyval_name" result
-    result' <- cstringToText result
-    return result'
-
-
--- function gdk_keyval_is_upper
--- Args : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keyval_is_upper" gdk_keyval_is_upper :: 
-    Word32 ->                               -- keyval : TBasicType TUInt32
-    IO CInt
-
-
-keyvalIsUpper ::
-    (MonadIO m) =>
-    Word32 ->                               -- keyval
-    m Bool
-keyvalIsUpper keyval = liftIO $ do
-    result <- gdk_keyval_is_upper keyval
-    let result' = (/= 0) result
-    return result'
-
-
--- function gdk_keyval_is_lower
--- Args : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keyval_is_lower" gdk_keyval_is_lower :: 
-    Word32 ->                               -- keyval : TBasicType TUInt32
-    IO CInt
-
-
-keyvalIsLower ::
-    (MonadIO m) =>
-    Word32 ->                               -- keyval
-    m Bool
-keyvalIsLower keyval = liftIO $ do
-    result <- gdk_keyval_is_lower keyval
-    let result' = (/= 0) result
-    return result'
-
-
--- function gdk_keyval_from_name
--- Args : [Arg {argName = "keyval_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "keyval_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keyval_from_name" gdk_keyval_from_name :: 
-    CString ->                              -- keyval_name : TBasicType TUTF8
-    IO Word32
-
-
-keyvalFromName ::
-    (MonadIO m) =>
-    T.Text ->                               -- keyval_name
-    m Word32
-keyvalFromName keyval_name = liftIO $ do
-    keyval_name' <- textToCString keyval_name
-    result <- gdk_keyval_from_name keyval_name'
-    freeMem keyval_name'
-    return result
-
-
--- function gdk_keyval_convert_case
--- Args : [Arg {argName = "symbol", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "lower", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "upper", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "symbol", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keyval_convert_case" gdk_keyval_convert_case :: 
-    Word32 ->                               -- symbol : TBasicType TUInt32
-    Ptr Word32 ->                           -- lower : TBasicType TUInt32
-    Ptr Word32 ->                           -- upper : TBasicType TUInt32
-    IO ()
-
-
-keyvalConvertCase ::
-    (MonadIO m) =>
-    Word32 ->                               -- symbol
-    m (Word32,Word32)
-keyvalConvertCase symbol = liftIO $ do
-    lower <- allocMem :: IO (Ptr Word32)
-    upper <- allocMem :: IO (Ptr Word32)
-    gdk_keyval_convert_case symbol lower upper
-    lower' <- peek lower
-    upper' <- peek upper
-    freeMem lower
-    freeMem upper
-    return (lower', upper')
-
-
--- function gdk_keyboard_ungrab
--- Args : [Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keyboard_ungrab" gdk_keyboard_ungrab :: 
-    Word32 ->                               -- time_ : TBasicType TUInt32
-    IO ()
-
-{-# DEPRECATED keyboardUngrab ["(Since version 3.0)","Use gdk_device_ungrab(), together with gdk_device_grab()","            instead."]#-}
-keyboardUngrab ::
-    (MonadIO m) =>
-    Word32 ->                               -- time_
-    m ()
-keyboardUngrab time_ = liftIO $ do
-    gdk_keyboard_ungrab time_
-    return ()
-
-
--- function gdk_keyboard_grab
--- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "GrabStatus"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keyboard_grab" gdk_keyboard_grab :: 
-    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
-    CInt ->                                 -- owner_events : TBasicType TBoolean
-    Word32 ->                               -- time_ : TBasicType TUInt32
-    IO CUInt
-
-{-# DEPRECATED keyboardGrab ["(Since version 3.0)","Use gdk_device_grab() instead."]#-}
-keyboardGrab ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- window
-    Bool ->                                 -- owner_events
-    Word32 ->                               -- time_
-    m GrabStatus
-keyboardGrab window owner_events time_ = liftIO $ do
-    let window' = unsafeManagedPtrCastPtr window
-    let owner_events' = (fromIntegral . fromEnum) owner_events
-    result <- gdk_keyboard_grab window' owner_events' time_
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr window
-    return result'
-
-
--- function gdk_init_check
--- Args : [Arg {argName = "argc", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : [Arg {argName = "argc", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- hInArgs : [Arg {argName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_init_check" gdk_init_check :: 
-    Ptr Int32 ->                            -- argc : TBasicType TInt32
-    Ptr (Ptr CString) ->                    -- argv : TCArray False (-1) 0 (TBasicType TUTF8)
-    IO CInt
-
-
-initCheck ::
-    (MonadIO m) =>
-    [T.Text] ->                             -- argv
-    m (Bool,[T.Text])
-initCheck argv = liftIO $ do
-    let argc = fromIntegral $ length argv
-    argc' <- allocMem :: IO (Ptr Int32)
-    poke argc' argc
-    argv' <- packUTF8CArray argv
-    argv'' <- allocMem :: IO (Ptr (Ptr CString))
-    poke argv'' argv'
-    result <- gdk_init_check argc' argv''
-    argc'' <- peek argc'
-    let result' = (/= 0) result
-    argv''' <- peek argv''
-    argv'''' <- (unpackUTF8CArrayWithLength argc'') argv'''
-    (mapCArrayWithLength argc'') freeMem argv'''
-    freeMem argv'''
-    freeMem argc'
-    freeMem argv''
-    return (result', argv'''')
-
-
--- function gdk_init
--- Args : [Arg {argName = "argc", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : [Arg {argName = "argc", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- hInArgs : [Arg {argName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_init" gdk_init :: 
-    Ptr Int32 ->                            -- argc : TBasicType TInt32
-    Ptr (Ptr CString) ->                    -- argv : TCArray False (-1) 0 (TBasicType TUTF8)
-    IO ()
-
-
-init ::
-    (MonadIO m) =>
-    [T.Text] ->                             -- argv
-    m ([T.Text])
-init argv = liftIO $ do
-    let argc = fromIntegral $ length argv
-    argc' <- allocMem :: IO (Ptr Int32)
-    poke argc' argc
-    argv' <- packUTF8CArray argv
-    argv'' <- allocMem :: IO (Ptr (Ptr CString))
-    poke argv'' argv'
-    gdk_init argc' argv''
-    argc'' <- peek argc'
-    argv''' <- peek argv''
-    argv'''' <- (unpackUTF8CArrayWithLength argc'') argv'''
-    (mapCArrayWithLength argc'') freeMem argv'''
-    freeMem argv'''
-    freeMem argc'
-    freeMem argv''
-    return argv''''
-
-
--- function gdk_gl_error_quark
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_gl_error_quark" gdk_gl_error_quark :: 
-    IO Word32
-
-
-glErrorQuark ::
-    (MonadIO m) =>
-    m Word32
-glErrorQuark  = liftIO $ do
-    result <- gdk_gl_error_quark
-    return result
-
-
--- function gdk_get_show_events
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_get_show_events" gdk_get_show_events :: 
-    IO CInt
-
-
-getShowEvents ::
-    (MonadIO m) =>
-    m Bool
-getShowEvents  = liftIO $ do
-    result <- gdk_get_show_events
-    let result' = (/= 0) result
-    return result'
-
-
--- function gdk_get_program_class
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_get_program_class" gdk_get_program_class :: 
-    IO CString
-
-
-getProgramClass ::
-    (MonadIO m) =>
-    m T.Text
-getProgramClass  = liftIO $ do
-    result <- gdk_get_program_class
-    checkUnexpectedReturnNULL "gdk_get_program_class" result
-    result' <- cstringToText result
-    return result'
-
-
--- function gdk_get_display_arg_name
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_get_display_arg_name" gdk_get_display_arg_name :: 
-    IO CString
-
-
-getDisplayArgName ::
-    (MonadIO m) =>
-    m T.Text
-getDisplayArgName  = liftIO $ do
-    result <- gdk_get_display_arg_name
-    checkUnexpectedReturnNULL "gdk_get_display_arg_name" result
-    result' <- cstringToText result
-    return result'
-
-
--- function gdk_get_display
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_get_display" gdk_get_display :: 
-    IO CString
-
-{-# DEPRECATED getDisplay ["(Since version 3.8)","Call gdk_display_get_name (gdk_display_get_default ()))","   instead."]#-}
-getDisplay ::
-    (MonadIO m) =>
-    m T.Text
-getDisplay  = liftIO $ do
-    result <- gdk_get_display
-    checkUnexpectedReturnNULL "gdk_get_display" result
-    result' <- cstringToText result
-    freeMem result
-    return result'
-
-
--- function gdk_get_default_root_window
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_get_default_root_window" gdk_get_default_root_window :: 
-    IO (Ptr Window)
-
-
-getDefaultRootWindow ::
-    (MonadIO m) =>
-    m Window
-getDefaultRootWindow  = liftIO $ do
-    result <- gdk_get_default_root_window
-    checkUnexpectedReturnNULL "gdk_get_default_root_window" result
-    result' <- (newObject Window) result
-    return result'
-
-
--- function gdk_flush
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_flush" gdk_flush :: 
-    IO ()
-
-
-flush ::
-    (MonadIO m) =>
-    m ()
-flush  = liftIO $ do
-    gdk_flush
-    return ()
-
-
--- function gdk_events_pending
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_events_pending" gdk_events_pending :: 
-    IO CInt
-
-
-eventsPending ::
-    (MonadIO m) =>
-    m Bool
-eventsPending  = liftIO $ do
-    result <- gdk_events_pending
-    let result' = (/= 0) result
-    return result'
-
-
--- function gdk_events_get_distance
--- Args : [Arg {argName = "event1", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event2", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "distance", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "event1", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event2", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_events_get_distance" gdk_events_get_distance :: 
-    Ptr Event ->                            -- event1 : TInterface "Gdk" "Event"
-    Ptr Event ->                            -- event2 : TInterface "Gdk" "Event"
-    Ptr CDouble ->                          -- distance : TBasicType TDouble
-    IO CInt
-
-
-eventsGetDistance ::
-    (MonadIO m) =>
-    Event ->                                -- event1
-    Event ->                                -- event2
-    m (Bool,Double)
-eventsGetDistance event1 event2 = liftIO $ do
-    let event1' = unsafeManagedPtrGetPtr event1
-    let event2' = unsafeManagedPtrGetPtr event2
-    distance <- allocMem :: IO (Ptr CDouble)
-    result <- gdk_events_get_distance event1' event2' distance
-    let result' = (/= 0) result
-    distance' <- peek distance
-    let distance'' = realToFrac distance'
-    touchManagedPtr event1
-    touchManagedPtr event2
-    freeMem distance
-    return (result', distance'')
-
-
--- function gdk_events_get_center
--- Args : [Arg {argName = "event1", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event2", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "event1", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event2", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_events_get_center" gdk_events_get_center :: 
-    Ptr Event ->                            -- event1 : TInterface "Gdk" "Event"
-    Ptr Event ->                            -- event2 : TInterface "Gdk" "Event"
-    Ptr CDouble ->                          -- x : TBasicType TDouble
-    Ptr CDouble ->                          -- y : TBasicType TDouble
-    IO CInt
-
-
-eventsGetCenter ::
-    (MonadIO m) =>
-    Event ->                                -- event1
-    Event ->                                -- event2
-    m (Bool,Double,Double)
-eventsGetCenter event1 event2 = liftIO $ do
-    let event1' = unsafeManagedPtrGetPtr event1
-    let event2' = unsafeManagedPtrGetPtr event2
-    x <- allocMem :: IO (Ptr CDouble)
-    y <- allocMem :: IO (Ptr CDouble)
-    result <- gdk_events_get_center event1' event2' x y
-    let result' = (/= 0) result
-    x' <- peek x
-    let x'' = realToFrac x'
-    y' <- peek y
-    let y'' = realToFrac y'
-    touchManagedPtr event1
-    touchManagedPtr event2
-    freeMem x
-    freeMem y
-    return (result', x'', y'')
-
-
--- function gdk_events_get_angle
--- Args : [Arg {argName = "event1", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event2", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "angle", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "event1", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event2", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_events_get_angle" gdk_events_get_angle :: 
-    Ptr Event ->                            -- event1 : TInterface "Gdk" "Event"
-    Ptr Event ->                            -- event2 : TInterface "Gdk" "Event"
-    Ptr CDouble ->                          -- angle : TBasicType TDouble
-    IO CInt
-
-
-eventsGetAngle ::
-    (MonadIO m) =>
-    Event ->                                -- event1
-    Event ->                                -- event2
-    m (Bool,Double)
-eventsGetAngle event1 event2 = liftIO $ do
-    let event1' = unsafeManagedPtrGetPtr event1
-    let event2' = unsafeManagedPtrGetPtr event2
-    angle <- allocMem :: IO (Ptr CDouble)
-    result <- gdk_events_get_angle event1' event2' angle
-    let result' = (/= 0) result
-    angle' <- peek angle
-    let angle'' = realToFrac angle'
-    touchManagedPtr event1
-    touchManagedPtr event2
-    freeMem angle
-    return (result', angle'')
-
-
--- function gdk_event_request_motions
--- Args : [Arg {argName = "event", argType = TInterface "Gdk" "EventMotion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "event", argType = TInterface "Gdk" "EventMotion", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_request_motions" gdk_event_request_motions :: 
-    Ptr EventMotion ->                      -- event : TInterface "Gdk" "EventMotion"
-    IO ()
-
-
-eventRequestMotions ::
-    (MonadIO m) =>
-    EventMotion ->                          -- event
-    m ()
-eventRequestMotions event = liftIO $ do
-    let event' = unsafeManagedPtrGetPtr event
-    gdk_event_request_motions event'
-    touchManagedPtr event
-    return ()
-
-
--- function gdk_event_peek
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TInterface "Gdk" "Event"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_peek" gdk_event_peek :: 
-    IO (Ptr Event)
-
-
-eventPeek ::
-    (MonadIO m) =>
-    m Event
-eventPeek  = liftIO $ do
-    result <- gdk_event_peek
-    checkUnexpectedReturnNULL "gdk_event_peek" result
-    result' <- (wrapBoxed Event) result
-    return result'
-
-
--- function gdk_event_handler_set
--- Args : [Arg {argName = "func", argType = TInterface "Gdk" "EventFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 1, argDestroy = 2, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "func", argType = TInterface "Gdk" "EventFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 1, argDestroy = 2, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_handler_set" gdk_event_handler_set :: 
-    FunPtr EventFuncC ->                    -- func : TInterface "Gdk" "EventFunc"
-    Ptr () ->                               -- data : TBasicType TVoid
-    FunPtr GLib.DestroyNotifyC ->           -- notify : TInterface "GLib" "DestroyNotify"
-    IO ()
-
-
-eventHandlerSet ::
-    (MonadIO m) =>
-    EventFunc ->                            -- func
-    m ()
-eventHandlerSet func = liftIO $ do
-    func' <- mkEventFunc (eventFuncWrapper Nothing func)
-    let data_ = castFunPtrToPtr func'
-    let notify = safeFreeFunPtrPtr
-    gdk_event_handler_set func' data_ notify
-    return ()
-
-
--- function gdk_event_get
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TInterface "Gdk" "Event"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_get" gdk_event_get :: 
-    IO (Ptr Event)
-
-
-eventGet ::
-    (MonadIO m) =>
-    m Event
-eventGet  = liftIO $ do
-    result <- gdk_event_get
-    checkUnexpectedReturnNULL "gdk_event_get" result
-    result' <- (wrapBoxed Event) result
-    return result'
-
-
--- function gdk_error_trap_push
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_error_trap_push" gdk_error_trap_push :: 
-    IO ()
-
-
-errorTrapPush ::
-    (MonadIO m) =>
-    m ()
-errorTrapPush  = liftIO $ do
-    gdk_error_trap_push
-    return ()
-
-
--- function gdk_error_trap_pop_ignored
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_error_trap_pop_ignored" gdk_error_trap_pop_ignored :: 
-    IO ()
-
-
-errorTrapPopIgnored ::
-    (MonadIO m) =>
-    m ()
-errorTrapPopIgnored  = liftIO $ do
-    gdk_error_trap_pop_ignored
-    return ()
-
-
--- function gdk_error_trap_pop
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_error_trap_pop" gdk_error_trap_pop :: 
-    IO Int32
-
-
-errorTrapPop ::
-    (MonadIO m) =>
-    m Int32
-errorTrapPop  = liftIO $ do
-    result <- gdk_error_trap_pop
-    return result
-
-
--- function gdk_drop_reply
--- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accepted", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accepted", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_drop_reply" gdk_drop_reply :: 
-    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"
-    CInt ->                                 -- accepted : TBasicType TBoolean
-    Word32 ->                               -- time_ : TBasicType TUInt32
-    IO ()
-
-
-dropReply ::
-    (MonadIO m, DragContextK a) =>
-    a ->                                    -- context
-    Bool ->                                 -- accepted
-    Word32 ->                               -- time_
-    m ()
-dropReply context accepted time_ = liftIO $ do
-    let context' = unsafeManagedPtrCastPtr context
-    let accepted' = (fromIntegral . fromEnum) accepted
-    gdk_drop_reply context' accepted' time_
-    touchManagedPtr context
-    return ()
-
-
--- function gdk_drop_finish
--- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "success", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "success", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_drop_finish" gdk_drop_finish :: 
-    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"
-    CInt ->                                 -- success : TBasicType TBoolean
-    Word32 ->                               -- time_ : TBasicType TUInt32
-    IO ()
-
-
-dropFinish ::
-    (MonadIO m, DragContextK a) =>
-    a ->                                    -- context
-    Bool ->                                 -- success
-    Word32 ->                               -- time_
-    m ()
-dropFinish context success time_ = liftIO $ do
-    let context' = unsafeManagedPtrCastPtr context
-    let success' = (fromIntegral . fromEnum) success
-    gdk_drop_finish context' success' time_
-    touchManagedPtr context
-    return ()
-
-
--- function gdk_drag_status
--- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "action", argType = TInterface "Gdk" "DragAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "action", argType = TInterface "Gdk" "DragAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_drag_status" gdk_drag_status :: 
-    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"
-    CUInt ->                                -- action : TInterface "Gdk" "DragAction"
-    Word32 ->                               -- time_ : TBasicType TUInt32
-    IO ()
-
-
-dragStatus ::
-    (MonadIO m, DragContextK a) =>
-    a ->                                    -- context
-    [DragAction] ->                         -- action
-    Word32 ->                               -- time_
-    m ()
-dragStatus context action time_ = liftIO $ do
-    let context' = unsafeManagedPtrCastPtr context
-    let action' = gflagsToWord action
-    gdk_drag_status context' action' time_
-    touchManagedPtr context
-    return ()
-
-
--- function gdk_drag_motion
--- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocol", argType = TInterface "Gdk" "DragProtocol", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "suggested_action", argType = TInterface "Gdk" "DragAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "possible_actions", argType = TInterface "Gdk" "DragAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocol", argType = TInterface "Gdk" "DragProtocol", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "suggested_action", argType = TInterface "Gdk" "DragAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "possible_actions", argType = TInterface "Gdk" "DragAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_drag_motion" gdk_drag_motion :: 
-    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"
-    Ptr Window ->                           -- dest_window : TInterface "Gdk" "Window"
-    CUInt ->                                -- protocol : TInterface "Gdk" "DragProtocol"
-    Int32 ->                                -- x_root : TBasicType TInt32
-    Int32 ->                                -- y_root : TBasicType TInt32
-    CUInt ->                                -- suggested_action : TInterface "Gdk" "DragAction"
-    CUInt ->                                -- possible_actions : TInterface "Gdk" "DragAction"
-    Word32 ->                               -- time_ : TBasicType TUInt32
-    IO CInt
-
-
-dragMotion ::
-    (MonadIO m, DragContextK a, WindowK b) =>
-    a ->                                    -- context
-    b ->                                    -- dest_window
-    DragProtocol ->                         -- protocol
-    Int32 ->                                -- x_root
-    Int32 ->                                -- y_root
-    [DragAction] ->                         -- suggested_action
-    [DragAction] ->                         -- possible_actions
-    Word32 ->                               -- time_
-    m Bool
-dragMotion context dest_window protocol x_root y_root suggested_action possible_actions time_ = liftIO $ do
-    let context' = unsafeManagedPtrCastPtr context
-    let dest_window' = unsafeManagedPtrCastPtr dest_window
-    let protocol' = (fromIntegral . fromEnum) protocol
-    let suggested_action' = gflagsToWord suggested_action
-    let possible_actions' = gflagsToWord possible_actions
-    result <- gdk_drag_motion context' dest_window' protocol' x_root y_root suggested_action' possible_actions' time_
-    let result' = (/= 0) result
-    touchManagedPtr context
-    touchManagedPtr dest_window
-    return result'
-
-
--- function gdk_drag_get_selection
--- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Atom"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_drag_get_selection" gdk_drag_get_selection :: 
-    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"
-    IO (Ptr Atom)
-
-
-dragGetSelection ::
-    (MonadIO m, DragContextK a) =>
-    a ->                                    -- context
-    m Atom
-dragGetSelection context = liftIO $ do
-    let context' = unsafeManagedPtrCastPtr context
-    result <- gdk_drag_get_selection context'
-    checkUnexpectedReturnNULL "gdk_drag_get_selection" result
-    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
-    result' <- (\x -> Atom <$> newForeignPtr_ x) result
-    touchManagedPtr context
-    return result'
-
-
--- function gdk_drag_find_window_for_screen
--- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "drag_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest_window", argType = TInterface "Gdk" "Window", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "protocol", argType = TInterface "Gdk" "DragProtocol", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "drag_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y_root", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_drag_find_window_for_screen" gdk_drag_find_window_for_screen :: 
-    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"
-    Ptr Window ->                           -- drag_window : TInterface "Gdk" "Window"
-    Ptr Screen ->                           -- screen : TInterface "Gdk" "Screen"
-    Int32 ->                                -- x_root : TBasicType TInt32
-    Int32 ->                                -- y_root : TBasicType TInt32
-    Ptr (Ptr Window) ->                     -- dest_window : TInterface "Gdk" "Window"
-    Ptr CUInt ->                            -- protocol : TInterface "Gdk" "DragProtocol"
-    IO ()
-
-
-dragFindWindowForScreen ::
-    (MonadIO m, DragContextK a, WindowK b, ScreenK c) =>
-    a ->                                    -- context
-    b ->                                    -- drag_window
-    c ->                                    -- screen
-    Int32 ->                                -- x_root
-    Int32 ->                                -- y_root
-    m (Window,DragProtocol)
-dragFindWindowForScreen context drag_window screen x_root y_root = liftIO $ do
-    let context' = unsafeManagedPtrCastPtr context
-    let drag_window' = unsafeManagedPtrCastPtr drag_window
-    let screen' = unsafeManagedPtrCastPtr screen
-    dest_window <- allocMem :: IO (Ptr (Ptr Window))
-    protocol <- allocMem :: IO (Ptr CUInt)
-    gdk_drag_find_window_for_screen context' drag_window' screen' x_root y_root dest_window protocol
-    dest_window' <- peek dest_window
-    dest_window'' <- (wrapObject Window) dest_window'
-    protocol' <- peek protocol
-    let protocol'' = (toEnum . fromIntegral) protocol'
-    touchManagedPtr context
-    touchManagedPtr drag_window
-    touchManagedPtr screen
-    freeMem dest_window
-    freeMem protocol
-    return (dest_window'', protocol'')
-
-
--- function gdk_drag_drop_succeeded
--- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_drag_drop_succeeded" gdk_drag_drop_succeeded :: 
-    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"
-    IO CInt
-
-
-dragDropSucceeded ::
-    (MonadIO m, DragContextK a) =>
-    a ->                                    -- context
-    m Bool
-dragDropSucceeded context = liftIO $ do
-    let context' = unsafeManagedPtrCastPtr context
-    result <- gdk_drag_drop_succeeded context'
-    let result' = (/= 0) result
-    touchManagedPtr context
-    return result'
-
-
--- function gdk_drag_drop
--- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_drag_drop" gdk_drag_drop :: 
-    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"
-    Word32 ->                               -- time_ : TBasicType TUInt32
-    IO ()
-
-
-dragDrop ::
-    (MonadIO m, DragContextK a) =>
-    a ->                                    -- context
-    Word32 ->                               -- time_
-    m ()
-dragDrop context time_ = liftIO $ do
-    let context' = unsafeManagedPtrCastPtr context
-    gdk_drag_drop context' time_
-    touchManagedPtr context
-    return ()
-
-
--- function gdk_drag_begin_for_device
--- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "targets", argType = TGList (TInterface "Gdk" "Atom"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "targets", argType = TGList (TInterface "Gdk" "Atom"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "DragContext"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_drag_begin_for_device" gdk_drag_begin_for_device :: 
-    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
-    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
-    Ptr (GList (Ptr Atom)) ->               -- targets : TGList (TInterface "Gdk" "Atom")
-    IO (Ptr DragContext)
-
-
-dragBeginForDevice ::
-    (MonadIO m, WindowK a, DeviceK b) =>
-    a ->                                    -- window
-    b ->                                    -- device
-    [Atom] ->                               -- targets
-    m DragContext
-dragBeginForDevice window device targets = liftIO $ do
-    let window' = unsafeManagedPtrCastPtr window
-    let device' = unsafeManagedPtrCastPtr device
-    let targets' = map unsafeManagedPtrGetPtr targets
-    targets'' <- packGList targets'
-    result <- gdk_drag_begin_for_device window' device' targets''
-    checkUnexpectedReturnNULL "gdk_drag_begin_for_device" result
-    result' <- (wrapObject DragContext) result
-    touchManagedPtr window
-    touchManagedPtr device
-    mapM_ touchManagedPtr targets
-    g_list_free targets''
-    return result'
-
-
--- function gdk_drag_begin
--- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "targets", argType = TGList (TInterface "Gdk" "Atom"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "targets", argType = TGList (TInterface "Gdk" "Atom"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "DragContext"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_drag_begin" gdk_drag_begin :: 
-    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
-    Ptr (GList (Ptr Atom)) ->               -- targets : TGList (TInterface "Gdk" "Atom")
-    IO (Ptr DragContext)
-
-
-dragBegin ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- window
-    [Atom] ->                               -- targets
-    m DragContext
-dragBegin window targets = liftIO $ do
-    let window' = unsafeManagedPtrCastPtr window
-    let targets' = map unsafeManagedPtrGetPtr targets
-    targets'' <- packGList targets'
-    result <- gdk_drag_begin window' targets''
-    checkUnexpectedReturnNULL "gdk_drag_begin" result
-    result' <- (wrapObject DragContext) result
-    touchManagedPtr window
-    mapM_ touchManagedPtr targets
-    g_list_free targets''
-    return result'
-
-
--- function gdk_drag_abort
--- Args : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "context", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_drag_abort" gdk_drag_abort :: 
-    Ptr DragContext ->                      -- context : TInterface "Gdk" "DragContext"
-    Word32 ->                               -- time_ : TBasicType TUInt32
-    IO ()
-
-
-dragAbort ::
-    (MonadIO m, DragContextK a) =>
-    a ->                                    -- context
-    Word32 ->                               -- time_
-    m ()
-dragAbort context time_ = liftIO $ do
-    let context' = unsafeManagedPtrCastPtr context
-    gdk_drag_abort context' time_
-    touchManagedPtr context
-    return ()
-
-
--- function gdk_disable_multidevice
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_disable_multidevice" gdk_disable_multidevice :: 
-    IO ()
-
-
-disableMultidevice ::
-    (MonadIO m) =>
-    m ()
-disableMultidevice  = liftIO $ do
-    gdk_disable_multidevice
-    return ()
-
-
--- function gdk_color_parse
--- Args : [Arg {argName = "spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "color", argType = TInterface "Gdk" "Color", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_color_parse" gdk_color_parse :: 
-    CString ->                              -- spec : TBasicType TUTF8
-    Ptr Color ->                            -- color : TInterface "Gdk" "Color"
-    IO CInt
-
-{-# DEPRECATED colorParse ["(Since version 3.14)","Use #GdkRGBA"]#-}
-colorParse ::
-    (MonadIO m) =>
-    T.Text ->                               -- spec
-    m (Bool,Color)
-colorParse spec = liftIO $ do
-    spec' <- textToCString spec
-    color <- callocBoxedBytes 12 :: IO (Ptr Color)
-    result <- gdk_color_parse spec' color
-    let result' = (/= 0) result
-    color' <- (wrapBoxed Color) color
-    freeMem spec'
-    return (result', color')
-
-
--- function gdk_cairo_surface_create_from_pixbuf
--- Args : [Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "for_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "for_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "cairo" "Surface"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cairo_surface_create_from_pixbuf" gdk_cairo_surface_create_from_pixbuf :: 
-    Ptr GdkPixbuf.Pixbuf ->                 -- pixbuf : TInterface "GdkPixbuf" "Pixbuf"
-    Int32 ->                                -- scale : TBasicType TInt32
-    Ptr Window ->                           -- for_window : TInterface "Gdk" "Window"
-    IO (Ptr Cairo.Surface)
-
-
-cairoSurfaceCreateFromPixbuf ::
-    (MonadIO m, GdkPixbuf.PixbufK a, WindowK b) =>
-    a ->                                    -- pixbuf
-    Int32 ->                                -- scale
-    Maybe (b) ->                            -- for_window
-    m Cairo.Surface
-cairoSurfaceCreateFromPixbuf pixbuf scale for_window = liftIO $ do
-    let pixbuf' = unsafeManagedPtrCastPtr pixbuf
-    maybeFor_window <- case for_window of
-        Nothing -> return nullPtr
-        Just jFor_window -> do
-            let jFor_window' = unsafeManagedPtrCastPtr jFor_window
-            return jFor_window'
-    result <- gdk_cairo_surface_create_from_pixbuf pixbuf' scale maybeFor_window
-    checkUnexpectedReturnNULL "gdk_cairo_surface_create_from_pixbuf" result
-    result' <- (wrapBoxed Cairo.Surface) result
-    touchManagedPtr pixbuf
-    whenJust for_window touchManagedPtr
-    return result'
-
-
--- function gdk_cairo_set_source_window
--- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cairo_set_source_window" gdk_cairo_set_source_window :: 
-    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"
-    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
-    CDouble ->                              -- x : TBasicType TDouble
-    CDouble ->                              -- y : TBasicType TDouble
-    IO ()
-
-
-cairoSetSourceWindow ::
-    (MonadIO m, WindowK a) =>
-    Cairo.Context ->                        -- cr
-    a ->                                    -- window
-    Double ->                               -- x
-    Double ->                               -- y
-    m ()
-cairoSetSourceWindow cr window x y = liftIO $ do
-    let cr' = unsafeManagedPtrGetPtr cr
-    let window' = unsafeManagedPtrCastPtr window
-    let x' = realToFrac x
-    let y' = realToFrac y
-    gdk_cairo_set_source_window cr' window' x' y'
-    touchManagedPtr cr
-    touchManagedPtr window
-    return ()
-
-
--- function gdk_cairo_set_source_rgba
--- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rgba", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rgba", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cairo_set_source_rgba" gdk_cairo_set_source_rgba :: 
-    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"
-    Ptr RGBA ->                             -- rgba : TInterface "Gdk" "RGBA"
-    IO ()
-
-
-cairoSetSourceRgba ::
-    (MonadIO m) =>
-    Cairo.Context ->                        -- cr
-    RGBA ->                                 -- rgba
-    m ()
-cairoSetSourceRgba cr rgba = liftIO $ do
-    let cr' = unsafeManagedPtrGetPtr cr
-    let rgba' = unsafeManagedPtrGetPtr rgba
-    gdk_cairo_set_source_rgba cr' rgba'
-    touchManagedPtr cr
-    touchManagedPtr rgba
-    return ()
-
-
--- function gdk_cairo_set_source_pixbuf
--- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf_y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf_y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cairo_set_source_pixbuf" gdk_cairo_set_source_pixbuf :: 
-    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"
-    Ptr GdkPixbuf.Pixbuf ->                 -- pixbuf : TInterface "GdkPixbuf" "Pixbuf"
-    CDouble ->                              -- pixbuf_x : TBasicType TDouble
-    CDouble ->                              -- pixbuf_y : TBasicType TDouble
-    IO ()
-
-
-cairoSetSourcePixbuf ::
-    (MonadIO m, GdkPixbuf.PixbufK a) =>
-    Cairo.Context ->                        -- cr
-    a ->                                    -- pixbuf
-    Double ->                               -- pixbuf_x
-    Double ->                               -- pixbuf_y
-    m ()
-cairoSetSourcePixbuf cr pixbuf pixbuf_x pixbuf_y = liftIO $ do
-    let cr' = unsafeManagedPtrGetPtr cr
-    let pixbuf' = unsafeManagedPtrCastPtr pixbuf
-    let pixbuf_x' = realToFrac pixbuf_x
-    let pixbuf_y' = realToFrac pixbuf_y
-    gdk_cairo_set_source_pixbuf cr' pixbuf' pixbuf_x' pixbuf_y'
-    touchManagedPtr cr
-    touchManagedPtr pixbuf
-    return ()
-
-
--- function gdk_cairo_set_source_color
--- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "color", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "color", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cairo_set_source_color" gdk_cairo_set_source_color :: 
-    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"
-    Ptr Color ->                            -- color : TInterface "Gdk" "Color"
-    IO ()
-
-{-# DEPRECATED cairoSetSourceColor ["(Since version 3.4)","Use gdk_cairo_set_source_rgba() instead"]#-}
-cairoSetSourceColor ::
-    (MonadIO m) =>
-    Cairo.Context ->                        -- cr
-    Color ->                                -- color
-    m ()
-cairoSetSourceColor cr color = liftIO $ do
-    let cr' = unsafeManagedPtrGetPtr cr
-    let color' = unsafeManagedPtrGetPtr color
-    gdk_cairo_set_source_color cr' color'
-    touchManagedPtr cr
-    touchManagedPtr color
-    return ()
-
-
--- function gdk_cairo_region_create_from_surface
--- Args : [Arg {argName = "surface", argType = TInterface "cairo" "Surface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "surface", argType = TInterface "cairo" "Surface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "cairo" "Region"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cairo_region_create_from_surface" gdk_cairo_region_create_from_surface :: 
-    Ptr Cairo.Surface ->                    -- surface : TInterface "cairo" "Surface"
-    IO (Ptr Cairo.Region)
-
-
-cairoRegionCreateFromSurface ::
-    (MonadIO m) =>
-    Cairo.Surface ->                        -- surface
-    m Cairo.Region
-cairoRegionCreateFromSurface surface = liftIO $ do
-    let surface' = unsafeManagedPtrGetPtr surface
-    result <- gdk_cairo_region_create_from_surface surface'
-    checkUnexpectedReturnNULL "gdk_cairo_region_create_from_surface" result
-    result' <- (wrapBoxed Cairo.Region) result
-    touchManagedPtr surface
-    return result'
-
-
--- function gdk_cairo_region
--- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cairo_region" gdk_cairo_region :: 
-    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"
-    Ptr Cairo.Region ->                     -- region : TInterface "cairo" "Region"
-    IO ()
-
-
-cairoRegion ::
-    (MonadIO m) =>
-    Cairo.Context ->                        -- cr
-    Cairo.Region ->                         -- region
-    m ()
-cairoRegion cr region = liftIO $ do
-    let cr' = unsafeManagedPtrGetPtr cr
-    let region' = unsafeManagedPtrGetPtr region
-    gdk_cairo_region cr' region'
-    touchManagedPtr cr
-    touchManagedPtr region
-    return ()
-
-
--- function gdk_cairo_rectangle
--- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rectangle", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rectangle", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cairo_rectangle" gdk_cairo_rectangle :: 
-    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"
-    Ptr Cairo.RectangleInt ->               -- rectangle : TInterface "cairo" "RectangleInt"
-    IO ()
-
-
-cairoRectangle ::
-    (MonadIO m) =>
-    Cairo.Context ->                        -- cr
-    Cairo.RectangleInt ->                   -- rectangle
-    m ()
-cairoRectangle cr rectangle = liftIO $ do
-    let cr' = unsafeManagedPtrGetPtr cr
-    let rectangle' = unsafeManagedPtrGetPtr rectangle
-    gdk_cairo_rectangle cr' rectangle'
-    touchManagedPtr cr
-    touchManagedPtr rectangle
-    return ()
-
-
--- function gdk_cairo_get_clip_rectangle
--- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rect", argType = TInterface "cairo" "RectangleInt", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cairo_get_clip_rectangle" gdk_cairo_get_clip_rectangle :: 
-    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"
-    Ptr Cairo.RectangleInt ->               -- rect : TInterface "cairo" "RectangleInt"
-    IO CInt
-
-
-cairoGetClipRectangle ::
-    (MonadIO m) =>
-    Cairo.Context ->                        -- cr
-    m (Bool,Cairo.RectangleInt)
-cairoGetClipRectangle cr = liftIO $ do
-    let cr' = unsafeManagedPtrGetPtr cr
-    rect <- callocBoxedBytes 16 :: IO (Ptr Cairo.RectangleInt)
-    result <- gdk_cairo_get_clip_rectangle cr' rect
-    let result' = (/= 0) result
-    rect' <- (wrapBoxed Cairo.RectangleInt) rect
-    touchManagedPtr cr
-    return (result', rect')
-
-
--- function gdk_cairo_draw_from_gl
--- Args : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source_type", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer_scale", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source_type", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer_scale", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cairo_draw_from_gl" gdk_cairo_draw_from_gl :: 
-    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"
-    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
-    Int32 ->                                -- source : TBasicType TInt32
-    Int32 ->                                -- source_type : TBasicType TInt32
-    Int32 ->                                -- buffer_scale : TBasicType TInt32
-    Int32 ->                                -- x : TBasicType TInt32
-    Int32 ->                                -- y : TBasicType TInt32
-    Int32 ->                                -- width : TBasicType TInt32
-    Int32 ->                                -- height : TBasicType TInt32
-    IO ()
-
-
-cairoDrawFromGl ::
-    (MonadIO m, WindowK a) =>
-    Cairo.Context ->                        -- cr
-    a ->                                    -- window
-    Int32 ->                                -- source
-    Int32 ->                                -- source_type
-    Int32 ->                                -- buffer_scale
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    Int32 ->                                -- width
-    Int32 ->                                -- height
-    m ()
-cairoDrawFromGl cr window source source_type buffer_scale x y width height = liftIO $ do
-    let cr' = unsafeManagedPtrGetPtr cr
-    let window' = unsafeManagedPtrCastPtr window
-    gdk_cairo_draw_from_gl cr' window' source source_type buffer_scale x y width height
-    touchManagedPtr cr
-    touchManagedPtr window
-    return ()
-
-
--- function gdk_cairo_create
--- Args : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "cairo" "Context"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cairo_create" gdk_cairo_create :: 
-    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
-    IO (Ptr Cairo.Context)
-
-
-cairoCreate ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- window
-    m Cairo.Context
-cairoCreate window = liftIO $ do
-    let window' = unsafeManagedPtrCastPtr window
-    result <- gdk_cairo_create window'
-    checkUnexpectedReturnNULL "gdk_cairo_create" result
-    result' <- (wrapBoxed Cairo.Context) result
-    touchManagedPtr window
-    return result'
-
-
--- function gdk_beep
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_beep" gdk_beep :: 
-    IO ()
-
-
-beep ::
-    (MonadIO m) =>
-    m ()
-beep  = liftIO $ do
-    gdk_beep
-    return ()
-
-
--- function gdk_atom_intern_static_string
--- Args : [Arg {argName = "atom_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "atom_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Atom"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_atom_intern_static_string" gdk_atom_intern_static_string :: 
-    CString ->                              -- atom_name : TBasicType TUTF8
-    IO (Ptr Atom)
-
-
-atomInternStaticString ::
-    (MonadIO m) =>
-    T.Text ->                               -- atom_name
-    m Atom
-atomInternStaticString atom_name = liftIO $ do
-    atom_name' <- textToCString atom_name
-    result <- gdk_atom_intern_static_string atom_name'
-    checkUnexpectedReturnNULL "gdk_atom_intern_static_string" result
-    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
-    result' <- (\x -> Atom <$> newForeignPtr_ x) result
-    freeMem atom_name'
-    return result'
-
-
--- function gdk_atom_intern
--- Args : [Arg {argName = "atom_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "only_if_exists", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "atom_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "only_if_exists", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Atom"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_atom_intern" gdk_atom_intern :: 
-    CString ->                              -- atom_name : TBasicType TUTF8
-    CInt ->                                 -- only_if_exists : TBasicType TBoolean
-    IO (Ptr Atom)
-
-
-atomIntern ::
-    (MonadIO m) =>
-    T.Text ->                               -- atom_name
-    Bool ->                                 -- only_if_exists
-    m Atom
-atomIntern atom_name only_if_exists = liftIO $ do
-    atom_name' <- textToCString atom_name
-    let only_if_exists' = (fromIntegral . fromEnum) only_if_exists
-    result <- gdk_atom_intern atom_name' only_if_exists'
-    checkUnexpectedReturnNULL "gdk_atom_intern" result
-    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
-    result' <- (\x -> Atom <$> newForeignPtr_ x) result
-    freeMem atom_name'
-    return result'
-
-
--- function gdk_add_option_entries_libgtk_only
--- Args : [Arg {argName = "group", argType = TInterface "GLib" "OptionGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "group", argType = TInterface "GLib" "OptionGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_add_option_entries_libgtk_only" gdk_add_option_entries_libgtk_only :: 
-    Ptr GLib.OptionGroup ->                 -- group : TInterface "GLib" "OptionGroup"
-    IO ()
-
-{-# DEPRECATED addOptionEntriesLibgtkOnly ["(Since version 3.16)","This symbol was never meant to be used outside","  of GTK+"]#-}
-addOptionEntriesLibgtkOnly ::
-    (MonadIO m) =>
-    GLib.OptionGroup ->                     -- group
-    m ()
-addOptionEntriesLibgtkOnly group = liftIO $ do
-    let group' = unsafeManagedPtrGetPtr group
-    gdk_add_option_entries_libgtk_only group'
-    touchManagedPtr group
-    return ()
-
-
-
diff --git a/GI/Gdk/Objects.hs b/GI/Gdk/Objects.hs
deleted file mode 100644
--- a/GI/Gdk/Objects.hs
+++ /dev/null
@@ -1,50 +0,0 @@
-
-{- |
-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.Gdk.Objects
-    (     module GI.Gdk.Objects.AppLaunchContext  ,
-    module GI.Gdk.Objects.Cursor            ,
-    module GI.Gdk.Objects.Device            ,
-    module GI.Gdk.Objects.DeviceManager     ,
-    module GI.Gdk.Objects.Display           ,
-    module GI.Gdk.Objects.DisplayManager    ,
-    module GI.Gdk.Objects.DragContext       ,
-    module GI.Gdk.Objects.FrameClock        ,
-    module GI.Gdk.Objects.GLContext         ,
-    module GI.Gdk.Objects.Keymap            ,
-    module GI.Gdk.Objects.Screen            ,
-    module GI.Gdk.Objects.Visual            ,
-    module GI.Gdk.Objects.Window            ,
-
-
-    ) where
-
-import GI.Gdk.Objects.AppLaunchContext
-import GI.Gdk.Objects.Cursor
-import GI.Gdk.Objects.Device
-import GI.Gdk.Objects.DeviceManager
-import GI.Gdk.Objects.Display
-import GI.Gdk.Objects.DisplayManager
-import GI.Gdk.Objects.DragContext
-import GI.Gdk.Objects.FrameClock
-import GI.Gdk.Objects.GLContext
-import GI.Gdk.Objects.Keymap
-import GI.Gdk.Objects.Screen
-import GI.Gdk.Objects.Visual
-import GI.Gdk.Objects.Window
-
-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.Gdk.Types
-import GI.Gdk.Callbacks
-
-
diff --git a/GI/Gdk/Objects/AppLaunchContext.hs b/GI/Gdk/Objects/AppLaunchContext.hs
deleted file mode 100644
--- a/GI/Gdk/Objects/AppLaunchContext.hs
+++ /dev/null
@@ -1,314 +0,0 @@
-
-{- |
-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.Gdk.Objects.AppLaunchContext
-    ( 
-
--- * Exported types
-    AppLaunchContext(..)                    ,
-    AppLaunchContextK                       ,
-    toAppLaunchContext                      ,
-    noAppLaunchContext                      ,
-
-
- -- * Methods
--- ** appLaunchContextNew
-    appLaunchContextNew                     ,
-
-
--- ** appLaunchContextSetDesktop
-    appLaunchContextSetDesktop              ,
-
-
--- ** appLaunchContextSetDisplay
-    appLaunchContextSetDisplay              ,
-
-
--- ** appLaunchContextSetIcon
-    appLaunchContextSetIcon                 ,
-
-
--- ** appLaunchContextSetIconName
-    appLaunchContextSetIconName             ,
-
-
--- ** appLaunchContextSetScreen
-    appLaunchContextSetScreen               ,
-
-
--- ** appLaunchContextSetTimestamp
-    appLaunchContextSetTimestamp            ,
-
-
-
-
- -- * Properties
--- ** Display
-    AppLaunchContextDisplayPropertyInfo     ,
-    constructAppLaunchContextDisplay        ,
-    getAppLaunchContextDisplay              ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-import qualified GI.GObject as GObject
-import qualified GI.Gio as Gio
-
-newtype AppLaunchContext = AppLaunchContext (ForeignPtr AppLaunchContext)
-foreign import ccall "gdk_app_launch_context_get_type"
-    c_gdk_app_launch_context_get_type :: IO GType
-
-type instance ParentTypes AppLaunchContext = AppLaunchContextParentTypes
-type AppLaunchContextParentTypes = '[Gio.AppLaunchContext, GObject.Object]
-
-instance GObject AppLaunchContext where
-    gobjectIsInitiallyUnowned _ = False
-    gobjectType _ = c_gdk_app_launch_context_get_type
-    
-
-class GObject o => AppLaunchContextK o
-instance (GObject o, IsDescendantOf AppLaunchContext o) => AppLaunchContextK o
-
-toAppLaunchContext :: AppLaunchContextK o => o -> IO AppLaunchContext
-toAppLaunchContext = unsafeCastTo AppLaunchContext
-
-noAppLaunchContext :: Maybe AppLaunchContext
-noAppLaunchContext = Nothing
-
--- VVV Prop "display"
-   -- Type: TInterface "Gdk" "Display"
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-
-getAppLaunchContextDisplay :: (MonadIO m, AppLaunchContextK o) => o -> m Display
-getAppLaunchContextDisplay obj = liftIO $ getObjectPropertyObject obj "display" Display
-
-constructAppLaunchContextDisplay :: (DisplayK a) => a -> IO ([Char], GValue)
-constructAppLaunchContextDisplay val = constructObjectPropertyObject "display" val
-
-data AppLaunchContextDisplayPropertyInfo
-instance AttrInfo AppLaunchContextDisplayPropertyInfo where
-    type AttrAllowedOps AppLaunchContextDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint AppLaunchContextDisplayPropertyInfo = DisplayK
-    type AttrBaseTypeConstraint AppLaunchContextDisplayPropertyInfo = AppLaunchContextK
-    type AttrGetType AppLaunchContextDisplayPropertyInfo = Display
-    type AttrLabel AppLaunchContextDisplayPropertyInfo = "AppLaunchContext::display"
-    attrGet _ = getAppLaunchContextDisplay
-    attrSet _ = undefined
-    attrConstruct _ = constructAppLaunchContextDisplay
-
-type instance AttributeList AppLaunchContext = AppLaunchContextAttributeList
-type AppLaunchContextAttributeList = ('[ '("display", AppLaunchContextDisplayPropertyInfo)] :: [(Symbol, *)])
-
-type instance SignalList AppLaunchContext = AppLaunchContextSignalList
-type AppLaunchContextSignalList = ('[ '("launch-failed", Gio.AppLaunchContextLaunchFailedSignalInfo), '("launched", Gio.AppLaunchContextLaunchedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-
--- method AppLaunchContext::new
--- method type : Constructor
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TInterface "Gdk" "AppLaunchContext"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_app_launch_context_new" gdk_app_launch_context_new :: 
-    IO (Ptr AppLaunchContext)
-
-{-# DEPRECATED appLaunchContextNew ["(Since version 3.0)","Use gdk_display_get_app_launch_context() instead"]#-}
-appLaunchContextNew ::
-    (MonadIO m) =>
-    m AppLaunchContext
-appLaunchContextNew  = liftIO $ do
-    result <- gdk_app_launch_context_new
-    checkUnexpectedReturnNULL "gdk_app_launch_context_new" result
-    result' <- (wrapObject AppLaunchContext) result
-    return result'
-
--- method AppLaunchContext::set_desktop
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desktop", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desktop", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_app_launch_context_set_desktop" gdk_app_launch_context_set_desktop :: 
-    Ptr AppLaunchContext ->                 -- _obj : TInterface "Gdk" "AppLaunchContext"
-    Int32 ->                                -- desktop : TBasicType TInt32
-    IO ()
-
-
-appLaunchContextSetDesktop ::
-    (MonadIO m, AppLaunchContextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- desktop
-    m ()
-appLaunchContextSetDesktop _obj desktop = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_app_launch_context_set_desktop _obj' desktop
-    touchManagedPtr _obj
-    return ()
-
--- method AppLaunchContext::set_display
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_app_launch_context_set_display" gdk_app_launch_context_set_display :: 
-    Ptr AppLaunchContext ->                 -- _obj : TInterface "Gdk" "AppLaunchContext"
-    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
-    IO ()
-
-{-# DEPRECATED appLaunchContextSetDisplay ["(Since version 3.0)","Use gdk_display_get_app_launch_context() instead"]#-}
-appLaunchContextSetDisplay ::
-    (MonadIO m, AppLaunchContextK a, DisplayK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- display
-    m ()
-appLaunchContextSetDisplay _obj display = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let display' = unsafeManagedPtrCastPtr display
-    gdk_app_launch_context_set_display _obj' display'
-    touchManagedPtr _obj
-    touchManagedPtr display
-    return ()
-
--- method AppLaunchContext::set_icon
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon", argType = TInterface "Gio" "Icon", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon", argType = TInterface "Gio" "Icon", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_app_launch_context_set_icon" gdk_app_launch_context_set_icon :: 
-    Ptr AppLaunchContext ->                 -- _obj : TInterface "Gdk" "AppLaunchContext"
-    Ptr Gio.Icon ->                         -- icon : TInterface "Gio" "Icon"
-    IO ()
-
-
-appLaunchContextSetIcon ::
-    (MonadIO m, AppLaunchContextK a, Gio.IconK b) =>
-    a ->                                    -- _obj
-    Maybe (b) ->                            -- icon
-    m ()
-appLaunchContextSetIcon _obj icon = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeIcon <- case icon of
-        Nothing -> return nullPtr
-        Just jIcon -> do
-            let jIcon' = unsafeManagedPtrCastPtr jIcon
-            return jIcon'
-    gdk_app_launch_context_set_icon _obj' maybeIcon
-    touchManagedPtr _obj
-    whenJust icon touchManagedPtr
-    return ()
-
--- method AppLaunchContext::set_icon_name
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "icon_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_app_launch_context_set_icon_name" gdk_app_launch_context_set_icon_name :: 
-    Ptr AppLaunchContext ->                 -- _obj : TInterface "Gdk" "AppLaunchContext"
-    CString ->                              -- icon_name : TBasicType TUTF8
-    IO ()
-
-
-appLaunchContextSetIconName ::
-    (MonadIO m, AppLaunchContextK a) =>
-    a ->                                    -- _obj
-    Maybe (T.Text) ->                       -- icon_name
-    m ()
-appLaunchContextSetIconName _obj icon_name = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeIcon_name <- case icon_name of
-        Nothing -> return nullPtr
-        Just jIcon_name -> do
-            jIcon_name' <- textToCString jIcon_name
-            return jIcon_name'
-    gdk_app_launch_context_set_icon_name _obj' maybeIcon_name
-    touchManagedPtr _obj
-    freeMem maybeIcon_name
-    return ()
-
--- method AppLaunchContext::set_screen
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_app_launch_context_set_screen" gdk_app_launch_context_set_screen :: 
-    Ptr AppLaunchContext ->                 -- _obj : TInterface "Gdk" "AppLaunchContext"
-    Ptr Screen ->                           -- screen : TInterface "Gdk" "Screen"
-    IO ()
-
-
-appLaunchContextSetScreen ::
-    (MonadIO m, AppLaunchContextK a, ScreenK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- screen
-    m ()
-appLaunchContextSetScreen _obj screen = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let screen' = unsafeManagedPtrCastPtr screen
-    gdk_app_launch_context_set_screen _obj' screen'
-    touchManagedPtr _obj
-    touchManagedPtr screen
-    return ()
-
--- method AppLaunchContext::set_timestamp
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "AppLaunchContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_app_launch_context_set_timestamp" gdk_app_launch_context_set_timestamp :: 
-    Ptr AppLaunchContext ->                 -- _obj : TInterface "Gdk" "AppLaunchContext"
-    Word32 ->                               -- timestamp : TBasicType TUInt32
-    IO ()
-
-
-appLaunchContextSetTimestamp ::
-    (MonadIO m, AppLaunchContextK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- timestamp
-    m ()
-appLaunchContextSetTimestamp _obj timestamp = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_app_launch_context_set_timestamp _obj' timestamp
-    touchManagedPtr _obj
-    return ()
-
-
diff --git a/GI/Gdk/Objects/AppLaunchContext.hs-boot b/GI/Gdk/Objects/AppLaunchContext.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Objects/AppLaunchContext.hs-boot
+++ /dev/null
@@ -1,14 +0,0 @@
-module GI.Gdk.Objects.AppLaunchContext 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
-
-newtype AppLaunchContext = AppLaunchContext (ForeignPtr AppLaunchContext)
-instance GObject AppLaunchContext where
-class GObject o => AppLaunchContextK o
-instance (GObject o, IsDescendantOf AppLaunchContext o) => AppLaunchContextK o
-data AppLaunchContextDisplayPropertyInfo
diff --git a/GI/Gdk/Objects/Cursor.hs b/GI/Gdk/Objects/Cursor.hs
deleted file mode 100644
--- a/GI/Gdk/Objects/Cursor.hs
+++ /dev/null
@@ -1,481 +0,0 @@
-
-{- |
-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.Gdk.Objects.Cursor
-    ( 
-
--- * Exported types
-    Cursor(..)                              ,
-    CursorK                                 ,
-    toCursor                                ,
-    noCursor                                ,
-
-
- -- * Methods
--- ** cursorGetCursorType
-    cursorGetCursorType                     ,
-
-
--- ** cursorGetDisplay
-    cursorGetDisplay                        ,
-
-
--- ** cursorGetImage
-    cursorGetImage                          ,
-
-
--- ** cursorGetSurface
-    cursorGetSurface                        ,
-
-
--- ** cursorNew
-    cursorNew                               ,
-
-
--- ** cursorNewForDisplay
-    cursorNewForDisplay                     ,
-
-
--- ** cursorNewFromName
-    cursorNewFromName                       ,
-
-
--- ** cursorNewFromPixbuf
-    cursorNewFromPixbuf                     ,
-
-
--- ** cursorNewFromSurface
-    cursorNewFromSurface                    ,
-
-
--- ** cursorRef
-    cursorRef                               ,
-
-
--- ** cursorUnref
-    cursorUnref                             ,
-
-
-
-
- -- * Properties
--- ** CursorType
-    CursorCursorTypePropertyInfo            ,
-    constructCursorCursorType               ,
-    getCursorCursorType                     ,
-
-
--- ** Display
-    CursorDisplayPropertyInfo               ,
-    constructCursorDisplay                  ,
-    getCursorDisplay                        ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-import qualified GI.GObject as GObject
-import qualified GI.GdkPixbuf as GdkPixbuf
-import qualified GI.Cairo as Cairo
-
-newtype Cursor = Cursor (ForeignPtr Cursor)
-foreign import ccall "gdk_cursor_get_type"
-    c_gdk_cursor_get_type :: IO GType
-
-type instance ParentTypes Cursor = CursorParentTypes
-type CursorParentTypes = '[GObject.Object]
-
-instance GObject Cursor where
-    gobjectIsInitiallyUnowned _ = False
-    gobjectType _ = c_gdk_cursor_get_type
-    
-
-class GObject o => CursorK o
-instance (GObject o, IsDescendantOf Cursor o) => CursorK o
-
-toCursor :: CursorK o => o -> IO Cursor
-toCursor = unsafeCastTo Cursor
-
-noCursor :: Maybe Cursor
-noCursor = Nothing
-
--- VVV Prop "cursor-type"
-   -- Type: TInterface "Gdk" "CursorType"
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-
-getCursorCursorType :: (MonadIO m, CursorK o) => o -> m CursorType
-getCursorCursorType obj = liftIO $ getObjectPropertyEnum obj "cursor-type"
-
-constructCursorCursorType :: CursorType -> IO ([Char], GValue)
-constructCursorCursorType val = constructObjectPropertyEnum "cursor-type" val
-
-data CursorCursorTypePropertyInfo
-instance AttrInfo CursorCursorTypePropertyInfo where
-    type AttrAllowedOps CursorCursorTypePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint CursorCursorTypePropertyInfo = (~) CursorType
-    type AttrBaseTypeConstraint CursorCursorTypePropertyInfo = CursorK
-    type AttrGetType CursorCursorTypePropertyInfo = CursorType
-    type AttrLabel CursorCursorTypePropertyInfo = "Cursor::cursor-type"
-    attrGet _ = getCursorCursorType
-    attrSet _ = undefined
-    attrConstruct _ = constructCursorCursorType
-
--- VVV Prop "display"
-   -- Type: TInterface "Gdk" "Display"
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-
-getCursorDisplay :: (MonadIO m, CursorK o) => o -> m Display
-getCursorDisplay obj = liftIO $ getObjectPropertyObject obj "display" Display
-
-constructCursorDisplay :: (DisplayK a) => a -> IO ([Char], GValue)
-constructCursorDisplay val = constructObjectPropertyObject "display" val
-
-data CursorDisplayPropertyInfo
-instance AttrInfo CursorDisplayPropertyInfo where
-    type AttrAllowedOps CursorDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint CursorDisplayPropertyInfo = DisplayK
-    type AttrBaseTypeConstraint CursorDisplayPropertyInfo = CursorK
-    type AttrGetType CursorDisplayPropertyInfo = Display
-    type AttrLabel CursorDisplayPropertyInfo = "Cursor::display"
-    attrGet _ = getCursorDisplay
-    attrSet _ = undefined
-    attrConstruct _ = constructCursorDisplay
-
-type instance AttributeList Cursor = CursorAttributeList
-type CursorAttributeList = ('[ '("cursor-type", CursorCursorTypePropertyInfo), '("display", CursorDisplayPropertyInfo)] :: [(Symbol, *)])
-
-type instance SignalList Cursor = CursorSignalList
-type CursorSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-
--- method Cursor::new
--- method type : Constructor
--- Args : [Arg {argName = "cursor_type", argType = TInterface "Gdk" "CursorType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "cursor_type", argType = TInterface "Gdk" "CursorType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Cursor"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cursor_new" gdk_cursor_new :: 
-    CUInt ->                                -- cursor_type : TInterface "Gdk" "CursorType"
-    IO (Ptr Cursor)
-
-{-# DEPRECATED cursorNew ["(Since version 3.16)","Use gdk_cursor_new_for_display() instead."]#-}
-cursorNew ::
-    (MonadIO m) =>
-    CursorType ->                           -- cursor_type
-    m Cursor
-cursorNew cursor_type = liftIO $ do
-    let cursor_type' = (fromIntegral . fromEnum) cursor_type
-    result <- gdk_cursor_new cursor_type'
-    checkUnexpectedReturnNULL "gdk_cursor_new" result
-    result' <- (wrapObject Cursor) result
-    return result'
-
--- method Cursor::new_for_display
--- method type : Constructor
--- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor_type", argType = TInterface "Gdk" "CursorType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor_type", argType = TInterface "Gdk" "CursorType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Cursor"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cursor_new_for_display" gdk_cursor_new_for_display :: 
-    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
-    CUInt ->                                -- cursor_type : TInterface "Gdk" "CursorType"
-    IO (Ptr Cursor)
-
-
-cursorNewForDisplay ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- display
-    CursorType ->                           -- cursor_type
-    m Cursor
-cursorNewForDisplay display cursor_type = liftIO $ do
-    let display' = unsafeManagedPtrCastPtr display
-    let cursor_type' = (fromIntegral . fromEnum) cursor_type
-    result <- gdk_cursor_new_for_display display' cursor_type'
-    checkUnexpectedReturnNULL "gdk_cursor_new_for_display" result
-    result' <- (wrapObject Cursor) result
-    touchManagedPtr display
-    return result'
-
--- method Cursor::new_from_name
--- method type : Constructor
--- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", 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}]
--- Lengths : []
--- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", 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}]
--- returnType : TInterface "Gdk" "Cursor"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cursor_new_from_name" gdk_cursor_new_from_name :: 
-    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
-    CString ->                              -- name : TBasicType TUTF8
-    IO (Ptr Cursor)
-
-
-cursorNewFromName ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- display
-    T.Text ->                               -- name
-    m Cursor
-cursorNewFromName display name = liftIO $ do
-    let display' = unsafeManagedPtrCastPtr display
-    name' <- textToCString name
-    result <- gdk_cursor_new_from_name display' name'
-    checkUnexpectedReturnNULL "gdk_cursor_new_from_name" result
-    result' <- (wrapObject Cursor) result
-    touchManagedPtr display
-    freeMem name'
-    return result'
-
--- method Cursor::new_from_pixbuf
--- method type : Constructor
--- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbuf", argType = TInterface "GdkPixbuf" "Pixbuf", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Cursor"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cursor_new_from_pixbuf" gdk_cursor_new_from_pixbuf :: 
-    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
-    Ptr GdkPixbuf.Pixbuf ->                 -- pixbuf : TInterface "GdkPixbuf" "Pixbuf"
-    Int32 ->                                -- x : TBasicType TInt32
-    Int32 ->                                -- y : TBasicType TInt32
-    IO (Ptr Cursor)
-
-
-cursorNewFromPixbuf ::
-    (MonadIO m, DisplayK a, GdkPixbuf.PixbufK b) =>
-    a ->                                    -- display
-    b ->                                    -- pixbuf
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    m Cursor
-cursorNewFromPixbuf display pixbuf x y = liftIO $ do
-    let display' = unsafeManagedPtrCastPtr display
-    let pixbuf' = unsafeManagedPtrCastPtr pixbuf
-    result <- gdk_cursor_new_from_pixbuf display' pixbuf' x y
-    checkUnexpectedReturnNULL "gdk_cursor_new_from_pixbuf" result
-    result' <- (wrapObject Cursor) result
-    touchManagedPtr display
-    touchManagedPtr pixbuf
-    return result'
-
--- method Cursor::new_from_surface
--- method type : Constructor
--- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "surface", argType = TInterface "cairo" "Surface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "surface", argType = TInterface "cairo" "Surface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Cursor"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cursor_new_from_surface" gdk_cursor_new_from_surface :: 
-    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
-    Ptr Cairo.Surface ->                    -- surface : TInterface "cairo" "Surface"
-    CDouble ->                              -- x : TBasicType TDouble
-    CDouble ->                              -- y : TBasicType TDouble
-    IO (Ptr Cursor)
-
-
-cursorNewFromSurface ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- display
-    Cairo.Surface ->                        -- surface
-    Double ->                               -- x
-    Double ->                               -- y
-    m Cursor
-cursorNewFromSurface display surface x y = liftIO $ do
-    let display' = unsafeManagedPtrCastPtr display
-    let surface' = unsafeManagedPtrGetPtr surface
-    let x' = realToFrac x
-    let y' = realToFrac y
-    result <- gdk_cursor_new_from_surface display' surface' x' y'
-    checkUnexpectedReturnNULL "gdk_cursor_new_from_surface" result
-    result' <- (wrapObject Cursor) result
-    touchManagedPtr display
-    touchManagedPtr surface
-    return result'
-
--- method Cursor::get_cursor_type
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "CursorType"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cursor_get_cursor_type" gdk_cursor_get_cursor_type :: 
-    Ptr Cursor ->                           -- _obj : TInterface "Gdk" "Cursor"
-    IO CUInt
-
-
-cursorGetCursorType ::
-    (MonadIO m, CursorK a) =>
-    a ->                                    -- _obj
-    m CursorType
-cursorGetCursorType _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_cursor_get_cursor_type _obj'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr _obj
-    return result'
-
--- method Cursor::get_display
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Display"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cursor_get_display" gdk_cursor_get_display :: 
-    Ptr Cursor ->                           -- _obj : TInterface "Gdk" "Cursor"
-    IO (Ptr Display)
-
-
-cursorGetDisplay ::
-    (MonadIO m, CursorK a) =>
-    a ->                                    -- _obj
-    m Display
-cursorGetDisplay _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_cursor_get_display _obj'
-    checkUnexpectedReturnNULL "gdk_cursor_get_display" result
-    result' <- (newObject Display) result
-    touchManagedPtr _obj
-    return result'
-
--- method Cursor::get_image
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GdkPixbuf" "Pixbuf"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cursor_get_image" gdk_cursor_get_image :: 
-    Ptr Cursor ->                           -- _obj : TInterface "Gdk" "Cursor"
-    IO (Ptr GdkPixbuf.Pixbuf)
-
-
-cursorGetImage ::
-    (MonadIO m, CursorK a) =>
-    a ->                                    -- _obj
-    m GdkPixbuf.Pixbuf
-cursorGetImage _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_cursor_get_image _obj'
-    checkUnexpectedReturnNULL "gdk_cursor_get_image" result
-    result' <- (wrapObject GdkPixbuf.Pixbuf) result
-    touchManagedPtr _obj
-    return result'
-
--- method Cursor::get_surface
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_hot", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y_hot", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "cairo" "Surface"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cursor_get_surface" gdk_cursor_get_surface :: 
-    Ptr Cursor ->                           -- _obj : TInterface "Gdk" "Cursor"
-    Ptr CDouble ->                          -- x_hot : TBasicType TDouble
-    Ptr CDouble ->                          -- y_hot : TBasicType TDouble
-    IO (Ptr Cairo.Surface)
-
-
-cursorGetSurface ::
-    (MonadIO m, CursorK a) =>
-    a ->                                    -- _obj
-    m (Cairo.Surface,Double,Double)
-cursorGetSurface _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    x_hot <- allocMem :: IO (Ptr CDouble)
-    y_hot <- allocMem :: IO (Ptr CDouble)
-    result <- gdk_cursor_get_surface _obj' x_hot y_hot
-    checkUnexpectedReturnNULL "gdk_cursor_get_surface" result
-    result' <- (wrapBoxed Cairo.Surface) result
-    x_hot' <- peek x_hot
-    let x_hot'' = realToFrac x_hot'
-    y_hot' <- peek y_hot
-    let y_hot'' = realToFrac y_hot'
-    touchManagedPtr _obj
-    freeMem x_hot
-    freeMem y_hot
-    return (result', x_hot'', y_hot'')
-
--- method Cursor::ref
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Cursor"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cursor_ref" gdk_cursor_ref :: 
-    Ptr Cursor ->                           -- _obj : TInterface "Gdk" "Cursor"
-    IO (Ptr Cursor)
-
-{-# DEPRECATED cursorRef ["(Since version 3.0)","Use g_object_ref() instead"]#-}
-cursorRef ::
-    (MonadIO m, CursorK a) =>
-    a ->                                    -- _obj
-    m Cursor
-cursorRef _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_cursor_ref _obj'
-    checkUnexpectedReturnNULL "gdk_cursor_ref" result
-    result' <- (wrapObject Cursor) result
-    touchManagedPtr _obj
-    return result'
-
--- method Cursor::unref
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_cursor_unref" gdk_cursor_unref :: 
-    Ptr Cursor ->                           -- _obj : TInterface "Gdk" "Cursor"
-    IO ()
-
-{-# DEPRECATED cursorUnref ["(Since version 3.0)","Use g_object_unref() instead"]#-}
-cursorUnref ::
-    (MonadIO m, CursorK a) =>
-    a ->                                    -- _obj
-    m ()
-cursorUnref _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_cursor_unref _obj'
-    touchManagedPtr _obj
-    return ()
-
-
diff --git a/GI/Gdk/Objects/Cursor.hs-boot b/GI/Gdk/Objects/Cursor.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Objects/Cursor.hs-boot
+++ /dev/null
@@ -1,15 +0,0 @@
-module GI.Gdk.Objects.Cursor 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
-
-newtype Cursor = Cursor (ForeignPtr Cursor)
-instance GObject Cursor where
-class GObject o => CursorK o
-instance (GObject o, IsDescendantOf Cursor o) => CursorK o
-data CursorCursorTypePropertyInfo
-data CursorDisplayPropertyInfo
diff --git a/GI/Gdk/Objects/Device.hs b/GI/Gdk/Objects/Device.hs
deleted file mode 100644
--- a/GI/Gdk/Objects/Device.hs
+++ /dev/null
@@ -1,1326 +0,0 @@
-
-{- |
-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.Gdk.Objects.Device
-    ( 
-
--- * Exported types
-    Device(..)                              ,
-    DeviceK                                 ,
-    toDevice                                ,
-    noDevice                                ,
-
-
- -- * Methods
--- ** deviceGetAssociatedDevice
-    deviceGetAssociatedDevice               ,
-
-
--- ** deviceGetAxisUse
-    deviceGetAxisUse                        ,
-
-
--- ** deviceGetDeviceType
-    deviceGetDeviceType                     ,
-
-
--- ** deviceGetDisplay
-    deviceGetDisplay                        ,
-
-
--- ** deviceGetHasCursor
-    deviceGetHasCursor                      ,
-
-
--- ** deviceGetKey
-    deviceGetKey                            ,
-
-
--- ** deviceGetLastEventWindow
-    deviceGetLastEventWindow                ,
-
-
--- ** deviceGetMode
-    deviceGetMode                           ,
-
-
--- ** deviceGetNAxes
-    deviceGetNAxes                          ,
-
-
--- ** deviceGetNKeys
-    deviceGetNKeys                          ,
-
-
--- ** deviceGetName
-    deviceGetName                           ,
-
-
--- ** deviceGetPosition
-    deviceGetPosition                       ,
-
-
--- ** deviceGetPositionDouble
-    deviceGetPositionDouble                 ,
-
-
--- ** deviceGetProductId
-    deviceGetProductId                      ,
-
-
--- ** deviceGetSource
-    deviceGetSource                         ,
-
-
--- ** deviceGetVendorId
-    deviceGetVendorId                       ,
-
-
--- ** deviceGetWindowAtPosition
-    deviceGetWindowAtPosition               ,
-
-
--- ** deviceGetWindowAtPositionDouble
-    deviceGetWindowAtPositionDouble         ,
-
-
--- ** deviceGrab
-    deviceGrab                              ,
-
-
--- ** deviceGrabInfoLibgtkOnly
-    deviceGrabInfoLibgtkOnly                ,
-
-
--- ** deviceListAxes
-    deviceListAxes                          ,
-
-
--- ** deviceListSlaveDevices
-    deviceListSlaveDevices                  ,
-
-
--- ** deviceSetAxisUse
-    deviceSetAxisUse                        ,
-
-
--- ** deviceSetKey
-    deviceSetKey                            ,
-
-
--- ** deviceSetMode
-    deviceSetMode                           ,
-
-
--- ** deviceUngrab
-    deviceUngrab                            ,
-
-
--- ** deviceWarp
-    deviceWarp                              ,
-
-
-
-
- -- * Properties
--- ** AssociatedDevice
-    DeviceAssociatedDevicePropertyInfo      ,
-    getDeviceAssociatedDevice               ,
-
-
--- ** DeviceManager
-    DeviceDeviceManagerPropertyInfo         ,
-    constructDeviceDeviceManager            ,
-    getDeviceDeviceManager                  ,
-
-
--- ** Display
-    DeviceDisplayPropertyInfo               ,
-    constructDeviceDisplay                  ,
-    getDeviceDisplay                        ,
-
-
--- ** HasCursor
-    DeviceHasCursorPropertyInfo             ,
-    constructDeviceHasCursor                ,
-    getDeviceHasCursor                      ,
-
-
--- ** InputMode
-    DeviceInputModePropertyInfo             ,
-    constructDeviceInputMode                ,
-    getDeviceInputMode                      ,
-    setDeviceInputMode                      ,
-
-
--- ** InputSource
-    DeviceInputSourcePropertyInfo           ,
-    constructDeviceInputSource              ,
-    getDeviceInputSource                    ,
-
-
--- ** NAxes
-    DeviceNAxesPropertyInfo                 ,
-    getDeviceNAxes                          ,
-
-
--- ** Name
-    DeviceNamePropertyInfo                  ,
-    constructDeviceName                     ,
-    getDeviceName                           ,
-
-
--- ** ProductId
-    DeviceProductIdPropertyInfo             ,
-    constructDeviceProductId                ,
-    getDeviceProductId                      ,
-
-
--- ** Type
-    DeviceTypePropertyInfo                  ,
-    constructDeviceType                     ,
-    getDeviceType                           ,
-
-
--- ** VendorId
-    DeviceVendorIdPropertyInfo              ,
-    constructDeviceVendorId                 ,
-    getDeviceVendorId                       ,
-
-
-
-
- -- * Signals
--- ** Changed
-    DeviceChangedCallback                   ,
-    DeviceChangedCallbackC                  ,
-    DeviceChangedSignalInfo                 ,
-    afterDeviceChanged                      ,
-    deviceChangedCallbackWrapper            ,
-    deviceChangedClosure                    ,
-    mkDeviceChangedCallback                 ,
-    noDeviceChangedCallback                 ,
-    onDeviceChanged                         ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-import qualified GI.GObject as GObject
-
-newtype Device = Device (ForeignPtr Device)
-foreign import ccall "gdk_device_get_type"
-    c_gdk_device_get_type :: IO GType
-
-type instance ParentTypes Device = DeviceParentTypes
-type DeviceParentTypes = '[GObject.Object]
-
-instance GObject Device where
-    gobjectIsInitiallyUnowned _ = False
-    gobjectType _ = c_gdk_device_get_type
-    
-
-class GObject o => DeviceK o
-instance (GObject o, IsDescendantOf Device o) => DeviceK o
-
-toDevice :: DeviceK o => o -> IO Device
-toDevice = unsafeCastTo Device
-
-noDevice :: Maybe Device
-noDevice = Nothing
-
--- signal Device::changed
-type DeviceChangedCallback =
-    IO ()
-
-noDeviceChangedCallback :: Maybe DeviceChangedCallback
-noDeviceChangedCallback = Nothing
-
-type DeviceChangedCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkDeviceChangedCallback :: DeviceChangedCallbackC -> IO (FunPtr DeviceChangedCallbackC)
-
-deviceChangedClosure :: DeviceChangedCallback -> IO Closure
-deviceChangedClosure cb = newCClosure =<< mkDeviceChangedCallback wrapped
-    where wrapped = deviceChangedCallbackWrapper cb
-
-deviceChangedCallbackWrapper ::
-    DeviceChangedCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-deviceChangedCallbackWrapper _cb _ _ = do
-    _cb 
-
-onDeviceChanged :: (GObject a, MonadIO m) => a -> DeviceChangedCallback -> m SignalHandlerId
-onDeviceChanged obj cb = liftIO $ connectDeviceChanged obj cb SignalConnectBefore
-afterDeviceChanged :: (GObject a, MonadIO m) => a -> DeviceChangedCallback -> m SignalHandlerId
-afterDeviceChanged obj cb = connectDeviceChanged obj cb SignalConnectAfter
-
-connectDeviceChanged :: (GObject a, MonadIO m) =>
-                        a -> DeviceChangedCallback -> SignalConnectMode -> m SignalHandlerId
-connectDeviceChanged obj cb after = liftIO $ do
-    cb' <- mkDeviceChangedCallback (deviceChangedCallbackWrapper cb)
-    connectSignalFunPtr obj "changed" cb' after
-
--- VVV Prop "associated-device"
-   -- Type: TInterface "Gdk" "Device"
-   -- Flags: [PropertyReadable]
-
-getDeviceAssociatedDevice :: (MonadIO m, DeviceK o) => o -> m Device
-getDeviceAssociatedDevice obj = liftIO $ getObjectPropertyObject obj "associated-device" Device
-
-data DeviceAssociatedDevicePropertyInfo
-instance AttrInfo DeviceAssociatedDevicePropertyInfo where
-    type AttrAllowedOps DeviceAssociatedDevicePropertyInfo = '[ 'AttrGet]
-    type AttrSetTypeConstraint DeviceAssociatedDevicePropertyInfo = (~) ()
-    type AttrBaseTypeConstraint DeviceAssociatedDevicePropertyInfo = DeviceK
-    type AttrGetType DeviceAssociatedDevicePropertyInfo = Device
-    type AttrLabel DeviceAssociatedDevicePropertyInfo = "Device::associated-device"
-    attrGet _ = getDeviceAssociatedDevice
-    attrSet _ = undefined
-    attrConstruct _ = undefined
-
--- VVV Prop "device-manager"
-   -- Type: TInterface "Gdk" "DeviceManager"
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-
-getDeviceDeviceManager :: (MonadIO m, DeviceK o) => o -> m DeviceManager
-getDeviceDeviceManager obj = liftIO $ getObjectPropertyObject obj "device-manager" DeviceManager
-
-constructDeviceDeviceManager :: (DeviceManagerK a) => a -> IO ([Char], GValue)
-constructDeviceDeviceManager val = constructObjectPropertyObject "device-manager" val
-
-data DeviceDeviceManagerPropertyInfo
-instance AttrInfo DeviceDeviceManagerPropertyInfo where
-    type AttrAllowedOps DeviceDeviceManagerPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint DeviceDeviceManagerPropertyInfo = DeviceManagerK
-    type AttrBaseTypeConstraint DeviceDeviceManagerPropertyInfo = DeviceK
-    type AttrGetType DeviceDeviceManagerPropertyInfo = DeviceManager
-    type AttrLabel DeviceDeviceManagerPropertyInfo = "Device::device-manager"
-    attrGet _ = getDeviceDeviceManager
-    attrSet _ = undefined
-    attrConstruct _ = constructDeviceDeviceManager
-
--- VVV Prop "display"
-   -- Type: TInterface "Gdk" "Display"
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-
-getDeviceDisplay :: (MonadIO m, DeviceK o) => o -> m Display
-getDeviceDisplay obj = liftIO $ getObjectPropertyObject obj "display" Display
-
-constructDeviceDisplay :: (DisplayK a) => a -> IO ([Char], GValue)
-constructDeviceDisplay val = constructObjectPropertyObject "display" val
-
-data DeviceDisplayPropertyInfo
-instance AttrInfo DeviceDisplayPropertyInfo where
-    type AttrAllowedOps DeviceDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint DeviceDisplayPropertyInfo = DisplayK
-    type AttrBaseTypeConstraint DeviceDisplayPropertyInfo = DeviceK
-    type AttrGetType DeviceDisplayPropertyInfo = Display
-    type AttrLabel DeviceDisplayPropertyInfo = "Device::display"
-    attrGet _ = getDeviceDisplay
-    attrSet _ = undefined
-    attrConstruct _ = constructDeviceDisplay
-
--- VVV Prop "has-cursor"
-   -- Type: TBasicType TBoolean
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-
-getDeviceHasCursor :: (MonadIO m, DeviceK o) => o -> m Bool
-getDeviceHasCursor obj = liftIO $ getObjectPropertyBool obj "has-cursor"
-
-constructDeviceHasCursor :: Bool -> IO ([Char], GValue)
-constructDeviceHasCursor val = constructObjectPropertyBool "has-cursor" val
-
-data DeviceHasCursorPropertyInfo
-instance AttrInfo DeviceHasCursorPropertyInfo where
-    type AttrAllowedOps DeviceHasCursorPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint DeviceHasCursorPropertyInfo = (~) Bool
-    type AttrBaseTypeConstraint DeviceHasCursorPropertyInfo = DeviceK
-    type AttrGetType DeviceHasCursorPropertyInfo = Bool
-    type AttrLabel DeviceHasCursorPropertyInfo = "Device::has-cursor"
-    attrGet _ = getDeviceHasCursor
-    attrSet _ = undefined
-    attrConstruct _ = constructDeviceHasCursor
-
--- VVV Prop "input-mode"
-   -- Type: TInterface "Gdk" "InputMode"
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getDeviceInputMode :: (MonadIO m, DeviceK o) => o -> m InputMode
-getDeviceInputMode obj = liftIO $ getObjectPropertyEnum obj "input-mode"
-
-setDeviceInputMode :: (MonadIO m, DeviceK o) => o -> InputMode -> m ()
-setDeviceInputMode obj val = liftIO $ setObjectPropertyEnum obj "input-mode" val
-
-constructDeviceInputMode :: InputMode -> IO ([Char], GValue)
-constructDeviceInputMode val = constructObjectPropertyEnum "input-mode" val
-
-data DeviceInputModePropertyInfo
-instance AttrInfo DeviceInputModePropertyInfo where
-    type AttrAllowedOps DeviceInputModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint DeviceInputModePropertyInfo = (~) InputMode
-    type AttrBaseTypeConstraint DeviceInputModePropertyInfo = DeviceK
-    type AttrGetType DeviceInputModePropertyInfo = InputMode
-    type AttrLabel DeviceInputModePropertyInfo = "Device::input-mode"
-    attrGet _ = getDeviceInputMode
-    attrSet _ = setDeviceInputMode
-    attrConstruct _ = constructDeviceInputMode
-
--- VVV Prop "input-source"
-   -- Type: TInterface "Gdk" "InputSource"
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-
-getDeviceInputSource :: (MonadIO m, DeviceK o) => o -> m InputSource
-getDeviceInputSource obj = liftIO $ getObjectPropertyEnum obj "input-source"
-
-constructDeviceInputSource :: InputSource -> IO ([Char], GValue)
-constructDeviceInputSource val = constructObjectPropertyEnum "input-source" val
-
-data DeviceInputSourcePropertyInfo
-instance AttrInfo DeviceInputSourcePropertyInfo where
-    type AttrAllowedOps DeviceInputSourcePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint DeviceInputSourcePropertyInfo = (~) InputSource
-    type AttrBaseTypeConstraint DeviceInputSourcePropertyInfo = DeviceK
-    type AttrGetType DeviceInputSourcePropertyInfo = InputSource
-    type AttrLabel DeviceInputSourcePropertyInfo = "Device::input-source"
-    attrGet _ = getDeviceInputSource
-    attrSet _ = undefined
-    attrConstruct _ = constructDeviceInputSource
-
--- VVV Prop "n-axes"
-   -- Type: TBasicType TUInt32
-   -- Flags: [PropertyReadable]
-
-getDeviceNAxes :: (MonadIO m, DeviceK o) => o -> m Word32
-getDeviceNAxes obj = liftIO $ getObjectPropertyCUInt obj "n-axes"
-
-data DeviceNAxesPropertyInfo
-instance AttrInfo DeviceNAxesPropertyInfo where
-    type AttrAllowedOps DeviceNAxesPropertyInfo = '[ 'AttrGet]
-    type AttrSetTypeConstraint DeviceNAxesPropertyInfo = (~) ()
-    type AttrBaseTypeConstraint DeviceNAxesPropertyInfo = DeviceK
-    type AttrGetType DeviceNAxesPropertyInfo = Word32
-    type AttrLabel DeviceNAxesPropertyInfo = "Device::n-axes"
-    attrGet _ = getDeviceNAxes
-    attrSet _ = undefined
-    attrConstruct _ = undefined
-
--- VVV Prop "name"
-   -- Type: TBasicType TUTF8
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-
-getDeviceName :: (MonadIO m, DeviceK o) => o -> m T.Text
-getDeviceName obj = liftIO $ getObjectPropertyString obj "name"
-
-constructDeviceName :: T.Text -> IO ([Char], GValue)
-constructDeviceName val = constructObjectPropertyString "name" val
-
-data DeviceNamePropertyInfo
-instance AttrInfo DeviceNamePropertyInfo where
-    type AttrAllowedOps DeviceNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint DeviceNamePropertyInfo = (~) T.Text
-    type AttrBaseTypeConstraint DeviceNamePropertyInfo = DeviceK
-    type AttrGetType DeviceNamePropertyInfo = T.Text
-    type AttrLabel DeviceNamePropertyInfo = "Device::name"
-    attrGet _ = getDeviceName
-    attrSet _ = undefined
-    attrConstruct _ = constructDeviceName
-
--- VVV Prop "product-id"
-   -- Type: TBasicType TUTF8
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-
-getDeviceProductId :: (MonadIO m, DeviceK o) => o -> m T.Text
-getDeviceProductId obj = liftIO $ getObjectPropertyString obj "product-id"
-
-constructDeviceProductId :: T.Text -> IO ([Char], GValue)
-constructDeviceProductId val = constructObjectPropertyString "product-id" val
-
-data DeviceProductIdPropertyInfo
-instance AttrInfo DeviceProductIdPropertyInfo where
-    type AttrAllowedOps DeviceProductIdPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint DeviceProductIdPropertyInfo = (~) T.Text
-    type AttrBaseTypeConstraint DeviceProductIdPropertyInfo = DeviceK
-    type AttrGetType DeviceProductIdPropertyInfo = T.Text
-    type AttrLabel DeviceProductIdPropertyInfo = "Device::product-id"
-    attrGet _ = getDeviceProductId
-    attrSet _ = undefined
-    attrConstruct _ = constructDeviceProductId
-
--- VVV Prop "type"
-   -- Type: TInterface "Gdk" "DeviceType"
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-
-getDeviceType :: (MonadIO m, DeviceK o) => o -> m DeviceType
-getDeviceType obj = liftIO $ getObjectPropertyEnum obj "type"
-
-constructDeviceType :: DeviceType -> IO ([Char], GValue)
-constructDeviceType val = constructObjectPropertyEnum "type" val
-
-data DeviceTypePropertyInfo
-instance AttrInfo DeviceTypePropertyInfo where
-    type AttrAllowedOps DeviceTypePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint DeviceTypePropertyInfo = (~) DeviceType
-    type AttrBaseTypeConstraint DeviceTypePropertyInfo = DeviceK
-    type AttrGetType DeviceTypePropertyInfo = DeviceType
-    type AttrLabel DeviceTypePropertyInfo = "Device::type"
-    attrGet _ = getDeviceType
-    attrSet _ = undefined
-    attrConstruct _ = constructDeviceType
-
--- VVV Prop "vendor-id"
-   -- Type: TBasicType TUTF8
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-
-getDeviceVendorId :: (MonadIO m, DeviceK o) => o -> m T.Text
-getDeviceVendorId obj = liftIO $ getObjectPropertyString obj "vendor-id"
-
-constructDeviceVendorId :: T.Text -> IO ([Char], GValue)
-constructDeviceVendorId val = constructObjectPropertyString "vendor-id" val
-
-data DeviceVendorIdPropertyInfo
-instance AttrInfo DeviceVendorIdPropertyInfo where
-    type AttrAllowedOps DeviceVendorIdPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint DeviceVendorIdPropertyInfo = (~) T.Text
-    type AttrBaseTypeConstraint DeviceVendorIdPropertyInfo = DeviceK
-    type AttrGetType DeviceVendorIdPropertyInfo = T.Text
-    type AttrLabel DeviceVendorIdPropertyInfo = "Device::vendor-id"
-    attrGet _ = getDeviceVendorId
-    attrSet _ = undefined
-    attrConstruct _ = constructDeviceVendorId
-
-type instance AttributeList Device = DeviceAttributeList
-type DeviceAttributeList = ('[ '("associated-device", DeviceAssociatedDevicePropertyInfo), '("device-manager", DeviceDeviceManagerPropertyInfo), '("display", DeviceDisplayPropertyInfo), '("has-cursor", DeviceHasCursorPropertyInfo), '("input-mode", DeviceInputModePropertyInfo), '("input-source", DeviceInputSourcePropertyInfo), '("n-axes", DeviceNAxesPropertyInfo), '("name", DeviceNamePropertyInfo), '("product-id", DeviceProductIdPropertyInfo), '("type", DeviceTypePropertyInfo), '("vendor-id", DeviceVendorIdPropertyInfo)] :: [(Symbol, *)])
-
-data DeviceChangedSignalInfo
-instance SignalInfo DeviceChangedSignalInfo where
-    type HaskellCallbackType DeviceChangedSignalInfo = DeviceChangedCallback
-    connectSignal _ = connectDeviceChanged
-
-type instance SignalList Device = DeviceSignalList
-type DeviceSignalList = ('[ '("changed", DeviceChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-
--- method Device::get_associated_device
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Device"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_get_associated_device" gdk_device_get_associated_device :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    IO (Ptr Device)
-
-
-deviceGetAssociatedDevice ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    m Device
-deviceGetAssociatedDevice _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_device_get_associated_device _obj'
-    checkUnexpectedReturnNULL "gdk_device_get_associated_device" result
-    result' <- (newObject Device) result
-    touchManagedPtr _obj
-    return result'
-
--- method Device::get_axis_use
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "AxisUse"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_get_axis_use" gdk_device_get_axis_use :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    Word32 ->                               -- index_ : TBasicType TUInt32
-    IO CUInt
-
-
-deviceGetAxisUse ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- index_
-    m AxisUse
-deviceGetAxisUse _obj index_ = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_device_get_axis_use _obj' index_
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr _obj
-    return result'
-
--- method Device::get_device_type
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "DeviceType"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_get_device_type" gdk_device_get_device_type :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    IO CUInt
-
-
-deviceGetDeviceType ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    m DeviceType
-deviceGetDeviceType _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_device_get_device_type _obj'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr _obj
-    return result'
-
--- method Device::get_display
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Display"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_get_display" gdk_device_get_display :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    IO (Ptr Display)
-
-
-deviceGetDisplay ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    m Display
-deviceGetDisplay _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_device_get_display _obj'
-    checkUnexpectedReturnNULL "gdk_device_get_display" result
-    result' <- (newObject Display) result
-    touchManagedPtr _obj
-    return result'
-
--- method Device::get_has_cursor
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_get_has_cursor" gdk_device_get_has_cursor :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    IO CInt
-
-
-deviceGetHasCursor ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    m Bool
-deviceGetHasCursor _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_device_get_has_cursor _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Device::get_key
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_get_key" gdk_device_get_key :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    Word32 ->                               -- index_ : TBasicType TUInt32
-    Ptr Word32 ->                           -- keyval : TBasicType TUInt32
-    Ptr CUInt ->                            -- modifiers : TInterface "Gdk" "ModifierType"
-    IO CInt
-
-
-deviceGetKey ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- index_
-    m (Bool,Word32,[ModifierType])
-deviceGetKey _obj index_ = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    keyval <- allocMem :: IO (Ptr Word32)
-    modifiers <- allocMem :: IO (Ptr CUInt)
-    result <- gdk_device_get_key _obj' index_ keyval modifiers
-    let result' = (/= 0) result
-    keyval' <- peek keyval
-    modifiers' <- peek modifiers
-    let modifiers'' = wordToGFlags modifiers'
-    touchManagedPtr _obj
-    freeMem keyval
-    freeMem modifiers
-    return (result', keyval', modifiers'')
-
--- method Device::get_last_event_window
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_get_last_event_window" gdk_device_get_last_event_window :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    IO (Ptr Window)
-
-
-deviceGetLastEventWindow ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    m Window
-deviceGetLastEventWindow _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_device_get_last_event_window _obj'
-    checkUnexpectedReturnNULL "gdk_device_get_last_event_window" result
-    result' <- (newObject Window) result
-    touchManagedPtr _obj
-    return result'
-
--- method Device::get_mode
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "InputMode"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_get_mode" gdk_device_get_mode :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    IO CUInt
-
-
-deviceGetMode ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    m InputMode
-deviceGetMode _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_device_get_mode _obj'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr _obj
-    return result'
-
--- method Device::get_n_axes
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_get_n_axes" gdk_device_get_n_axes :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    IO Int32
-
-
-deviceGetNAxes ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    m Int32
-deviceGetNAxes _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_device_get_n_axes _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Device::get_n_keys
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_get_n_keys" gdk_device_get_n_keys :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    IO Int32
-
-
-deviceGetNKeys ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    m Int32
-deviceGetNKeys _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_device_get_n_keys _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Device::get_name
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_get_name" gdk_device_get_name :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    IO CString
-
-
-deviceGetName ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    m T.Text
-deviceGetName _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_device_get_name _obj'
-    checkUnexpectedReturnNULL "gdk_device_get_name" result
-    result' <- cstringToText result
-    touchManagedPtr _obj
-    return result'
-
--- method Device::get_position
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_get_position" gdk_device_get_position :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    Ptr (Ptr Screen) ->                     -- screen : TInterface "Gdk" "Screen"
-    Ptr Int32 ->                            -- x : TBasicType TInt32
-    Ptr Int32 ->                            -- y : TBasicType TInt32
-    IO ()
-
-
-deviceGetPosition ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    m (Screen,Int32,Int32)
-deviceGetPosition _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    screen <- allocMem :: IO (Ptr (Ptr Screen))
-    x <- allocMem :: IO (Ptr Int32)
-    y <- allocMem :: IO (Ptr Int32)
-    gdk_device_get_position _obj' screen x y
-    screen' <- peek screen
-    screen'' <- (newObject Screen) screen'
-    x' <- peek x
-    y' <- peek y
-    touchManagedPtr _obj
-    freeMem screen
-    freeMem x
-    freeMem y
-    return (screen'', x', y')
-
--- method Device::get_position_double
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_get_position_double" gdk_device_get_position_double :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    Ptr (Ptr Screen) ->                     -- screen : TInterface "Gdk" "Screen"
-    Ptr CDouble ->                          -- x : TBasicType TDouble
-    Ptr CDouble ->                          -- y : TBasicType TDouble
-    IO ()
-
-
-deviceGetPositionDouble ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    m (Screen,Double,Double)
-deviceGetPositionDouble _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    screen <- allocMem :: IO (Ptr (Ptr Screen))
-    x <- allocMem :: IO (Ptr CDouble)
-    y <- allocMem :: IO (Ptr CDouble)
-    gdk_device_get_position_double _obj' screen x y
-    screen' <- peek screen
-    screen'' <- (newObject Screen) screen'
-    x' <- peek x
-    let x'' = realToFrac x'
-    y' <- peek y
-    let y'' = realToFrac y'
-    touchManagedPtr _obj
-    freeMem screen
-    freeMem x
-    freeMem y
-    return (screen'', x'', y'')
-
--- method Device::get_product_id
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_get_product_id" gdk_device_get_product_id :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    IO CString
-
-
-deviceGetProductId ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    m T.Text
-deviceGetProductId _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_device_get_product_id _obj'
-    checkUnexpectedReturnNULL "gdk_device_get_product_id" result
-    result' <- cstringToText result
-    touchManagedPtr _obj
-    return result'
-
--- method Device::get_source
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "InputSource"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_get_source" gdk_device_get_source :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    IO CUInt
-
-
-deviceGetSource ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    m InputSource
-deviceGetSource _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_device_get_source _obj'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr _obj
-    return result'
-
--- method Device::get_vendor_id
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_get_vendor_id" gdk_device_get_vendor_id :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    IO CString
-
-
-deviceGetVendorId ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    m T.Text
-deviceGetVendorId _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_device_get_vendor_id _obj'
-    checkUnexpectedReturnNULL "gdk_device_get_vendor_id" result
-    result' <- cstringToText result
-    touchManagedPtr _obj
-    return result'
-
--- method Device::get_window_at_position
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "win_x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "win_y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_get_window_at_position" gdk_device_get_window_at_position :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    Ptr Int32 ->                            -- win_x : TBasicType TInt32
-    Ptr Int32 ->                            -- win_y : TBasicType TInt32
-    IO (Ptr Window)
-
-
-deviceGetWindowAtPosition ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    m (Window,Int32,Int32)
-deviceGetWindowAtPosition _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    win_x <- allocMem :: IO (Ptr Int32)
-    win_y <- allocMem :: IO (Ptr Int32)
-    result <- gdk_device_get_window_at_position _obj' win_x win_y
-    checkUnexpectedReturnNULL "gdk_device_get_window_at_position" result
-    result' <- (newObject Window) result
-    win_x' <- peek win_x
-    win_y' <- peek win_y
-    touchManagedPtr _obj
-    freeMem win_x
-    freeMem win_y
-    return (result', win_x', win_y')
-
--- method Device::get_window_at_position_double
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "win_x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "win_y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_get_window_at_position_double" gdk_device_get_window_at_position_double :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    Ptr CDouble ->                          -- win_x : TBasicType TDouble
-    Ptr CDouble ->                          -- win_y : TBasicType TDouble
-    IO (Ptr Window)
-
-
-deviceGetWindowAtPositionDouble ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    m (Window,Double,Double)
-deviceGetWindowAtPositionDouble _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    win_x <- allocMem :: IO (Ptr CDouble)
-    win_y <- allocMem :: IO (Ptr CDouble)
-    result <- gdk_device_get_window_at_position_double _obj' win_x win_y
-    checkUnexpectedReturnNULL "gdk_device_get_window_at_position_double" result
-    result' <- (newObject Window) result
-    win_x' <- peek win_x
-    let win_x'' = realToFrac win_x'
-    win_y' <- peek win_y
-    let win_y'' = realToFrac win_y'
-    touchManagedPtr _obj
-    freeMem win_x
-    freeMem win_y
-    return (result', win_x'', win_y'')
-
--- method Device::grab
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "grab_ownership", argType = TInterface "Gdk" "GrabOwnership", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "grab_ownership", argType = TInterface "Gdk" "GrabOwnership", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "GrabStatus"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_grab" gdk_device_grab :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
-    CUInt ->                                -- grab_ownership : TInterface "Gdk" "GrabOwnership"
-    CInt ->                                 -- owner_events : TBasicType TBoolean
-    CUInt ->                                -- event_mask : TInterface "Gdk" "EventMask"
-    Ptr Cursor ->                           -- cursor : TInterface "Gdk" "Cursor"
-    Word32 ->                               -- time_ : TBasicType TUInt32
-    IO CUInt
-
-
-deviceGrab ::
-    (MonadIO m, DeviceK a, WindowK b, CursorK c) =>
-    a ->                                    -- _obj
-    b ->                                    -- window
-    GrabOwnership ->                        -- grab_ownership
-    Bool ->                                 -- owner_events
-    [EventMask] ->                          -- event_mask
-    Maybe (c) ->                            -- cursor
-    Word32 ->                               -- time_
-    m GrabStatus
-deviceGrab _obj window grab_ownership owner_events event_mask cursor time_ = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let window' = unsafeManagedPtrCastPtr window
-    let grab_ownership' = (fromIntegral . fromEnum) grab_ownership
-    let owner_events' = (fromIntegral . fromEnum) owner_events
-    let event_mask' = gflagsToWord event_mask
-    maybeCursor <- case cursor of
-        Nothing -> return nullPtr
-        Just jCursor -> do
-            let jCursor' = unsafeManagedPtrCastPtr jCursor
-            return jCursor'
-    result <- gdk_device_grab _obj' window' grab_ownership' owner_events' event_mask' maybeCursor time_
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr _obj
-    touchManagedPtr window
-    whenJust cursor touchManagedPtr
-    return result'
-
--- method Device::list_axes
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TGList (TInterface "Gdk" "Atom")
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_list_axes" gdk_device_list_axes :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    IO (Ptr (GList (Ptr Atom)))
-
-
-deviceListAxes ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    m [Atom]
-deviceListAxes _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_device_list_axes _obj'
-    checkUnexpectedReturnNULL "gdk_device_list_axes" result
-    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
-    result' <- unpackGList result
-    result'' <- mapM (\x -> Atom <$> newForeignPtr_ x) result'
-    g_list_free result
-    touchManagedPtr _obj
-    return result''
-
--- method Device::list_slave_devices
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TGList (TInterface "Gdk" "Device")
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_list_slave_devices" gdk_device_list_slave_devices :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    IO (Ptr (GList (Ptr Device)))
-
-
-deviceListSlaveDevices ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    m [Device]
-deviceListSlaveDevices _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_device_list_slave_devices _obj'
-    checkUnexpectedReturnNULL "gdk_device_list_slave_devices" result
-    result' <- unpackGList result
-    result'' <- mapM (newObject Device) result'
-    g_list_free result
-    touchManagedPtr _obj
-    return result''
-
--- method Device::set_axis_use
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "use", argType = TInterface "Gdk" "AxisUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "use", argType = TInterface "Gdk" "AxisUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_set_axis_use" gdk_device_set_axis_use :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    Word32 ->                               -- index_ : TBasicType TUInt32
-    CUInt ->                                -- use : TInterface "Gdk" "AxisUse"
-    IO ()
-
-
-deviceSetAxisUse ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- index_
-    AxisUse ->                              -- use
-    m ()
-deviceSetAxisUse _obj index_ use = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let use' = (fromIntegral . fromEnum) use
-    gdk_device_set_axis_use _obj' index_ use'
-    touchManagedPtr _obj
-    return ()
-
--- method Device::set_key
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_set_key" gdk_device_set_key :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    Word32 ->                               -- index_ : TBasicType TUInt32
-    Word32 ->                               -- keyval : TBasicType TUInt32
-    CUInt ->                                -- modifiers : TInterface "Gdk" "ModifierType"
-    IO ()
-
-
-deviceSetKey ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- index_
-    Word32 ->                               -- keyval
-    [ModifierType] ->                       -- modifiers
-    m ()
-deviceSetKey _obj index_ keyval modifiers = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let modifiers' = gflagsToWord modifiers
-    gdk_device_set_key _obj' index_ keyval modifiers'
-    touchManagedPtr _obj
-    return ()
-
--- method Device::set_mode
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mode", argType = TInterface "Gdk" "InputMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mode", argType = TInterface "Gdk" "InputMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_set_mode" gdk_device_set_mode :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    CUInt ->                                -- mode : TInterface "Gdk" "InputMode"
-    IO CInt
-
-
-deviceSetMode ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    InputMode ->                            -- mode
-    m Bool
-deviceSetMode _obj mode = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let mode' = (fromIntegral . fromEnum) mode
-    result <- gdk_device_set_mode _obj' mode'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Device::ungrab
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_ungrab" gdk_device_ungrab :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    Word32 ->                               -- time_ : TBasicType TUInt32
-    IO ()
-
-
-deviceUngrab ::
-    (MonadIO m, DeviceK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- time_
-    m ()
-deviceUngrab _obj time_ = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_device_ungrab _obj' time_
-    touchManagedPtr _obj
-    return ()
-
--- method Device::warp
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_warp" gdk_device_warp :: 
-    Ptr Device ->                           -- _obj : TInterface "Gdk" "Device"
-    Ptr Screen ->                           -- screen : TInterface "Gdk" "Screen"
-    Int32 ->                                -- x : TBasicType TInt32
-    Int32 ->                                -- y : TBasicType TInt32
-    IO ()
-
-
-deviceWarp ::
-    (MonadIO m, DeviceK a, ScreenK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- screen
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    m ()
-deviceWarp _obj screen x y = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let screen' = unsafeManagedPtrCastPtr screen
-    gdk_device_warp _obj' screen' x y
-    touchManagedPtr _obj
-    touchManagedPtr screen
-    return ()
-
--- method Device::grab_info_libgtk_only
--- method type : MemberFunction
--- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "grab_window", argType = TInterface "Gdk" "Window", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_grab_info_libgtk_only" gdk_device_grab_info_libgtk_only :: 
-    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
-    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
-    Ptr (Ptr Window) ->                     -- grab_window : TInterface "Gdk" "Window"
-    Ptr CInt ->                             -- owner_events : TBasicType TBoolean
-    IO CInt
-
-{-# DEPRECATED deviceGrabInfoLibgtkOnly ["(Since version 3.16)","The symbol was never meant to be used outside","  of GTK+"]#-}
-deviceGrabInfoLibgtkOnly ::
-    (MonadIO m, DisplayK a, DeviceK b) =>
-    a ->                                    -- display
-    b ->                                    -- device
-    m (Bool,Window,Bool)
-deviceGrabInfoLibgtkOnly display device = liftIO $ do
-    let display' = unsafeManagedPtrCastPtr display
-    let device' = unsafeManagedPtrCastPtr device
-    grab_window <- allocMem :: IO (Ptr (Ptr Window))
-    owner_events <- allocMem :: IO (Ptr CInt)
-    result <- gdk_device_grab_info_libgtk_only display' device' grab_window owner_events
-    let result' = (/= 0) result
-    grab_window' <- peek grab_window
-    grab_window'' <- (newObject Window) grab_window'
-    owner_events' <- peek owner_events
-    let owner_events'' = (/= 0) owner_events'
-    touchManagedPtr display
-    touchManagedPtr device
-    freeMem grab_window
-    freeMem owner_events
-    return (result', grab_window'', owner_events'')
-
-
diff --git a/GI/Gdk/Objects/Device.hs-boot b/GI/Gdk/Objects/Device.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Objects/Device.hs-boot
+++ /dev/null
@@ -1,25 +0,0 @@
-module GI.Gdk.Objects.Device 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
-
-newtype Device = Device (ForeignPtr Device)
-instance GObject Device where
-class GObject o => DeviceK o
-instance (GObject o, IsDescendantOf Device o) => DeviceK o
-data DeviceAssociatedDevicePropertyInfo
-data DeviceDeviceManagerPropertyInfo
-data DeviceDisplayPropertyInfo
-data DeviceHasCursorPropertyInfo
-data DeviceInputModePropertyInfo
-data DeviceInputSourcePropertyInfo
-data DeviceNAxesPropertyInfo
-data DeviceNamePropertyInfo
-data DeviceProductIdPropertyInfo
-data DeviceTypePropertyInfo
-data DeviceVendorIdPropertyInfo
-data DeviceChangedSignalInfo
diff --git a/GI/Gdk/Objects/DeviceManager.hs b/GI/Gdk/Objects/DeviceManager.hs
deleted file mode 100644
--- a/GI/Gdk/Objects/DeviceManager.hs
+++ /dev/null
@@ -1,366 +0,0 @@
-
-{- |
-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.Gdk.Objects.DeviceManager
-    ( 
-
--- * Exported types
-    DeviceManager(..)                       ,
-    DeviceManagerK                          ,
-    toDeviceManager                         ,
-    noDeviceManager                         ,
-
-
- -- * Methods
--- ** deviceManagerGetClientPointer
-    deviceManagerGetClientPointer           ,
-
-
--- ** deviceManagerGetDisplay
-    deviceManagerGetDisplay                 ,
-
-
--- ** deviceManagerListDevices
-    deviceManagerListDevices                ,
-
-
-
-
- -- * Properties
--- ** Display
-    DeviceManagerDisplayPropertyInfo        ,
-    constructDeviceManagerDisplay           ,
-    getDeviceManagerDisplay                 ,
-
-
-
-
- -- * Signals
--- ** DeviceAdded
-    DeviceManagerDeviceAddedCallback        ,
-    DeviceManagerDeviceAddedCallbackC       ,
-    DeviceManagerDeviceAddedSignalInfo      ,
-    afterDeviceManagerDeviceAdded           ,
-    deviceManagerDeviceAddedCallbackWrapper ,
-    deviceManagerDeviceAddedClosure         ,
-    mkDeviceManagerDeviceAddedCallback      ,
-    noDeviceManagerDeviceAddedCallback      ,
-    onDeviceManagerDeviceAdded              ,
-
-
--- ** DeviceChanged
-    DeviceManagerDeviceChangedCallback      ,
-    DeviceManagerDeviceChangedCallbackC     ,
-    DeviceManagerDeviceChangedSignalInfo    ,
-    afterDeviceManagerDeviceChanged         ,
-    deviceManagerDeviceChangedCallbackWrapper,
-    deviceManagerDeviceChangedClosure       ,
-    mkDeviceManagerDeviceChangedCallback    ,
-    noDeviceManagerDeviceChangedCallback    ,
-    onDeviceManagerDeviceChanged            ,
-
-
--- ** DeviceRemoved
-    DeviceManagerDeviceRemovedCallback      ,
-    DeviceManagerDeviceRemovedCallbackC     ,
-    DeviceManagerDeviceRemovedSignalInfo    ,
-    afterDeviceManagerDeviceRemoved         ,
-    deviceManagerDeviceRemovedCallbackWrapper,
-    deviceManagerDeviceRemovedClosure       ,
-    mkDeviceManagerDeviceRemovedCallback    ,
-    noDeviceManagerDeviceRemovedCallback    ,
-    onDeviceManagerDeviceRemoved            ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-import qualified GI.GObject as GObject
-
-newtype DeviceManager = DeviceManager (ForeignPtr DeviceManager)
-foreign import ccall "gdk_device_manager_get_type"
-    c_gdk_device_manager_get_type :: IO GType
-
-type instance ParentTypes DeviceManager = DeviceManagerParentTypes
-type DeviceManagerParentTypes = '[GObject.Object]
-
-instance GObject DeviceManager where
-    gobjectIsInitiallyUnowned _ = False
-    gobjectType _ = c_gdk_device_manager_get_type
-    
-
-class GObject o => DeviceManagerK o
-instance (GObject o, IsDescendantOf DeviceManager o) => DeviceManagerK o
-
-toDeviceManager :: DeviceManagerK o => o -> IO DeviceManager
-toDeviceManager = unsafeCastTo DeviceManager
-
-noDeviceManager :: Maybe DeviceManager
-noDeviceManager = Nothing
-
--- signal DeviceManager::device-added
-type DeviceManagerDeviceAddedCallback =
-    Device ->
-    IO ()
-
-noDeviceManagerDeviceAddedCallback :: Maybe DeviceManagerDeviceAddedCallback
-noDeviceManagerDeviceAddedCallback = Nothing
-
-type DeviceManagerDeviceAddedCallbackC =
-    Ptr () ->                               -- object
-    Ptr Device ->
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkDeviceManagerDeviceAddedCallback :: DeviceManagerDeviceAddedCallbackC -> IO (FunPtr DeviceManagerDeviceAddedCallbackC)
-
-deviceManagerDeviceAddedClosure :: DeviceManagerDeviceAddedCallback -> IO Closure
-deviceManagerDeviceAddedClosure cb = newCClosure =<< mkDeviceManagerDeviceAddedCallback wrapped
-    where wrapped = deviceManagerDeviceAddedCallbackWrapper cb
-
-deviceManagerDeviceAddedCallbackWrapper ::
-    DeviceManagerDeviceAddedCallback ->
-    Ptr () ->
-    Ptr Device ->
-    Ptr () ->
-    IO ()
-deviceManagerDeviceAddedCallbackWrapper _cb _ device _ = do
-    device' <- (newObject Device) device
-    _cb  device'
-
-onDeviceManagerDeviceAdded :: (GObject a, MonadIO m) => a -> DeviceManagerDeviceAddedCallback -> m SignalHandlerId
-onDeviceManagerDeviceAdded obj cb = liftIO $ connectDeviceManagerDeviceAdded obj cb SignalConnectBefore
-afterDeviceManagerDeviceAdded :: (GObject a, MonadIO m) => a -> DeviceManagerDeviceAddedCallback -> m SignalHandlerId
-afterDeviceManagerDeviceAdded obj cb = connectDeviceManagerDeviceAdded obj cb SignalConnectAfter
-
-connectDeviceManagerDeviceAdded :: (GObject a, MonadIO m) =>
-                                   a -> DeviceManagerDeviceAddedCallback -> SignalConnectMode -> m SignalHandlerId
-connectDeviceManagerDeviceAdded obj cb after = liftIO $ do
-    cb' <- mkDeviceManagerDeviceAddedCallback (deviceManagerDeviceAddedCallbackWrapper cb)
-    connectSignalFunPtr obj "device-added" cb' after
-
--- signal DeviceManager::device-changed
-type DeviceManagerDeviceChangedCallback =
-    Device ->
-    IO ()
-
-noDeviceManagerDeviceChangedCallback :: Maybe DeviceManagerDeviceChangedCallback
-noDeviceManagerDeviceChangedCallback = Nothing
-
-type DeviceManagerDeviceChangedCallbackC =
-    Ptr () ->                               -- object
-    Ptr Device ->
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkDeviceManagerDeviceChangedCallback :: DeviceManagerDeviceChangedCallbackC -> IO (FunPtr DeviceManagerDeviceChangedCallbackC)
-
-deviceManagerDeviceChangedClosure :: DeviceManagerDeviceChangedCallback -> IO Closure
-deviceManagerDeviceChangedClosure cb = newCClosure =<< mkDeviceManagerDeviceChangedCallback wrapped
-    where wrapped = deviceManagerDeviceChangedCallbackWrapper cb
-
-deviceManagerDeviceChangedCallbackWrapper ::
-    DeviceManagerDeviceChangedCallback ->
-    Ptr () ->
-    Ptr Device ->
-    Ptr () ->
-    IO ()
-deviceManagerDeviceChangedCallbackWrapper _cb _ device _ = do
-    device' <- (newObject Device) device
-    _cb  device'
-
-onDeviceManagerDeviceChanged :: (GObject a, MonadIO m) => a -> DeviceManagerDeviceChangedCallback -> m SignalHandlerId
-onDeviceManagerDeviceChanged obj cb = liftIO $ connectDeviceManagerDeviceChanged obj cb SignalConnectBefore
-afterDeviceManagerDeviceChanged :: (GObject a, MonadIO m) => a -> DeviceManagerDeviceChangedCallback -> m SignalHandlerId
-afterDeviceManagerDeviceChanged obj cb = connectDeviceManagerDeviceChanged obj cb SignalConnectAfter
-
-connectDeviceManagerDeviceChanged :: (GObject a, MonadIO m) =>
-                                     a -> DeviceManagerDeviceChangedCallback -> SignalConnectMode -> m SignalHandlerId
-connectDeviceManagerDeviceChanged obj cb after = liftIO $ do
-    cb' <- mkDeviceManagerDeviceChangedCallback (deviceManagerDeviceChangedCallbackWrapper cb)
-    connectSignalFunPtr obj "device-changed" cb' after
-
--- signal DeviceManager::device-removed
-type DeviceManagerDeviceRemovedCallback =
-    Device ->
-    IO ()
-
-noDeviceManagerDeviceRemovedCallback :: Maybe DeviceManagerDeviceRemovedCallback
-noDeviceManagerDeviceRemovedCallback = Nothing
-
-type DeviceManagerDeviceRemovedCallbackC =
-    Ptr () ->                               -- object
-    Ptr Device ->
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkDeviceManagerDeviceRemovedCallback :: DeviceManagerDeviceRemovedCallbackC -> IO (FunPtr DeviceManagerDeviceRemovedCallbackC)
-
-deviceManagerDeviceRemovedClosure :: DeviceManagerDeviceRemovedCallback -> IO Closure
-deviceManagerDeviceRemovedClosure cb = newCClosure =<< mkDeviceManagerDeviceRemovedCallback wrapped
-    where wrapped = deviceManagerDeviceRemovedCallbackWrapper cb
-
-deviceManagerDeviceRemovedCallbackWrapper ::
-    DeviceManagerDeviceRemovedCallback ->
-    Ptr () ->
-    Ptr Device ->
-    Ptr () ->
-    IO ()
-deviceManagerDeviceRemovedCallbackWrapper _cb _ device _ = do
-    device' <- (newObject Device) device
-    _cb  device'
-
-onDeviceManagerDeviceRemoved :: (GObject a, MonadIO m) => a -> DeviceManagerDeviceRemovedCallback -> m SignalHandlerId
-onDeviceManagerDeviceRemoved obj cb = liftIO $ connectDeviceManagerDeviceRemoved obj cb SignalConnectBefore
-afterDeviceManagerDeviceRemoved :: (GObject a, MonadIO m) => a -> DeviceManagerDeviceRemovedCallback -> m SignalHandlerId
-afterDeviceManagerDeviceRemoved obj cb = connectDeviceManagerDeviceRemoved obj cb SignalConnectAfter
-
-connectDeviceManagerDeviceRemoved :: (GObject a, MonadIO m) =>
-                                     a -> DeviceManagerDeviceRemovedCallback -> SignalConnectMode -> m SignalHandlerId
-connectDeviceManagerDeviceRemoved obj cb after = liftIO $ do
-    cb' <- mkDeviceManagerDeviceRemovedCallback (deviceManagerDeviceRemovedCallbackWrapper cb)
-    connectSignalFunPtr obj "device-removed" cb' after
-
--- VVV Prop "display"
-   -- Type: TInterface "Gdk" "Display"
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-
-getDeviceManagerDisplay :: (MonadIO m, DeviceManagerK o) => o -> m Display
-getDeviceManagerDisplay obj = liftIO $ getObjectPropertyObject obj "display" Display
-
-constructDeviceManagerDisplay :: (DisplayK a) => a -> IO ([Char], GValue)
-constructDeviceManagerDisplay val = constructObjectPropertyObject "display" val
-
-data DeviceManagerDisplayPropertyInfo
-instance AttrInfo DeviceManagerDisplayPropertyInfo where
-    type AttrAllowedOps DeviceManagerDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint DeviceManagerDisplayPropertyInfo = DisplayK
-    type AttrBaseTypeConstraint DeviceManagerDisplayPropertyInfo = DeviceManagerK
-    type AttrGetType DeviceManagerDisplayPropertyInfo = Display
-    type AttrLabel DeviceManagerDisplayPropertyInfo = "DeviceManager::display"
-    attrGet _ = getDeviceManagerDisplay
-    attrSet _ = undefined
-    attrConstruct _ = constructDeviceManagerDisplay
-
-type instance AttributeList DeviceManager = DeviceManagerAttributeList
-type DeviceManagerAttributeList = ('[ '("display", DeviceManagerDisplayPropertyInfo)] :: [(Symbol, *)])
-
-data DeviceManagerDeviceAddedSignalInfo
-instance SignalInfo DeviceManagerDeviceAddedSignalInfo where
-    type HaskellCallbackType DeviceManagerDeviceAddedSignalInfo = DeviceManagerDeviceAddedCallback
-    connectSignal _ = connectDeviceManagerDeviceAdded
-
-data DeviceManagerDeviceChangedSignalInfo
-instance SignalInfo DeviceManagerDeviceChangedSignalInfo where
-    type HaskellCallbackType DeviceManagerDeviceChangedSignalInfo = DeviceManagerDeviceChangedCallback
-    connectSignal _ = connectDeviceManagerDeviceChanged
-
-data DeviceManagerDeviceRemovedSignalInfo
-instance SignalInfo DeviceManagerDeviceRemovedSignalInfo where
-    type HaskellCallbackType DeviceManagerDeviceRemovedSignalInfo = DeviceManagerDeviceRemovedCallback
-    connectSignal _ = connectDeviceManagerDeviceRemoved
-
-type instance SignalList DeviceManager = DeviceManagerSignalList
-type DeviceManagerSignalList = ('[ '("device-added", DeviceManagerDeviceAddedSignalInfo), '("device-changed", DeviceManagerDeviceChangedSignalInfo), '("device-removed", DeviceManagerDeviceRemovedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-
--- method DeviceManager::get_client_pointer
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DeviceManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DeviceManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Device"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_manager_get_client_pointer" gdk_device_manager_get_client_pointer :: 
-    Ptr DeviceManager ->                    -- _obj : TInterface "Gdk" "DeviceManager"
-    IO (Ptr Device)
-
-
-deviceManagerGetClientPointer ::
-    (MonadIO m, DeviceManagerK a) =>
-    a ->                                    -- _obj
-    m Device
-deviceManagerGetClientPointer _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_device_manager_get_client_pointer _obj'
-    checkUnexpectedReturnNULL "gdk_device_manager_get_client_pointer" result
-    result' <- (newObject Device) result
-    touchManagedPtr _obj
-    return result'
-
--- method DeviceManager::get_display
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DeviceManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DeviceManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Display"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_manager_get_display" gdk_device_manager_get_display :: 
-    Ptr DeviceManager ->                    -- _obj : TInterface "Gdk" "DeviceManager"
-    IO (Ptr Display)
-
-
-deviceManagerGetDisplay ::
-    (MonadIO m, DeviceManagerK a) =>
-    a ->                                    -- _obj
-    m Display
-deviceManagerGetDisplay _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_device_manager_get_display _obj'
-    checkUnexpectedReturnNULL "gdk_device_manager_get_display" result
-    result' <- (newObject Display) result
-    touchManagedPtr _obj
-    return result'
-
--- method DeviceManager::list_devices
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DeviceManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Gdk" "DeviceType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DeviceManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Gdk" "DeviceType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TGList (TInterface "Gdk" "Device")
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_device_manager_list_devices" gdk_device_manager_list_devices :: 
-    Ptr DeviceManager ->                    -- _obj : TInterface "Gdk" "DeviceManager"
-    CUInt ->                                -- type : TInterface "Gdk" "DeviceType"
-    IO (Ptr (GList (Ptr Device)))
-
-
-deviceManagerListDevices ::
-    (MonadIO m, DeviceManagerK a) =>
-    a ->                                    -- _obj
-    DeviceType ->                           -- type
-    m [Device]
-deviceManagerListDevices _obj type_ = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let type_' = (fromIntegral . fromEnum) type_
-    result <- gdk_device_manager_list_devices _obj' type_'
-    checkUnexpectedReturnNULL "gdk_device_manager_list_devices" result
-    result' <- unpackGList result
-    result'' <- mapM (newObject Device) result'
-    g_list_free result
-    touchManagedPtr _obj
-    return result''
-
-
diff --git a/GI/Gdk/Objects/DeviceManager.hs-boot b/GI/Gdk/Objects/DeviceManager.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Objects/DeviceManager.hs-boot
+++ /dev/null
@@ -1,17 +0,0 @@
-module GI.Gdk.Objects.DeviceManager 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
-
-newtype DeviceManager = DeviceManager (ForeignPtr DeviceManager)
-instance GObject DeviceManager where
-class GObject o => DeviceManagerK o
-instance (GObject o, IsDescendantOf DeviceManager o) => DeviceManagerK o
-data DeviceManagerDisplayPropertyInfo
-data DeviceManagerDeviceAddedSignalInfo
-data DeviceManagerDeviceChangedSignalInfo
-data DeviceManagerDeviceRemovedSignalInfo
diff --git a/GI/Gdk/Objects/Display.hs b/GI/Gdk/Objects/Display.hs
deleted file mode 100644
--- a/GI/Gdk/Objects/Display.hs
+++ /dev/null
@@ -1,1439 +0,0 @@
-
-{- |
-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.Gdk.Objects.Display
-    ( 
-
--- * Exported types
-    Display(..)                             ,
-    DisplayK                                ,
-    toDisplay                               ,
-    noDisplay                               ,
-
-
- -- * Methods
--- ** displayBeep
-    displayBeep                             ,
-
-
--- ** displayClose
-    displayClose                            ,
-
-
--- ** displayDeviceIsGrabbed
-    displayDeviceIsGrabbed                  ,
-
-
--- ** displayFlush
-    displayFlush                            ,
-
-
--- ** displayGetAppLaunchContext
-    displayGetAppLaunchContext              ,
-
-
--- ** displayGetDefault
-    displayGetDefault                       ,
-
-
--- ** displayGetDefaultCursorSize
-    displayGetDefaultCursorSize             ,
-
-
--- ** displayGetDefaultGroup
-    displayGetDefaultGroup                  ,
-
-
--- ** displayGetDefaultScreen
-    displayGetDefaultScreen                 ,
-
-
--- ** displayGetDeviceManager
-    displayGetDeviceManager                 ,
-
-
--- ** displayGetEvent
-    displayGetEvent                         ,
-
-
--- ** displayGetMaximalCursorSize
-    displayGetMaximalCursorSize             ,
-
-
--- ** displayGetNScreens
-    displayGetNScreens                      ,
-
-
--- ** displayGetName
-    displayGetName                          ,
-
-
--- ** displayGetPointer
-    displayGetPointer                       ,
-
-
--- ** displayGetScreen
-    displayGetScreen                        ,
-
-
--- ** displayGetWindowAtPointer
-    displayGetWindowAtPointer               ,
-
-
--- ** displayHasPending
-    displayHasPending                       ,
-
-
--- ** displayIsClosed
-    displayIsClosed                         ,
-
-
--- ** displayKeyboardUngrab
-    displayKeyboardUngrab                   ,
-
-
--- ** displayListDevices
-    displayListDevices                      ,
-
-
--- ** displayNotifyStartupComplete
-    displayNotifyStartupComplete            ,
-
-
--- ** displayOpen
-    displayOpen                             ,
-
-
--- ** displayOpenDefaultLibgtkOnly
-    displayOpenDefaultLibgtkOnly            ,
-
-
--- ** displayPeekEvent
-    displayPeekEvent                        ,
-
-
--- ** displayPointerIsGrabbed
-    displayPointerIsGrabbed                 ,
-
-
--- ** displayPointerUngrab
-    displayPointerUngrab                    ,
-
-
--- ** displayPutEvent
-    displayPutEvent                         ,
-
-
--- ** displayRequestSelectionNotification
-    displayRequestSelectionNotification     ,
-
-
--- ** displaySetDoubleClickDistance
-    displaySetDoubleClickDistance           ,
-
-
--- ** displaySetDoubleClickTime
-    displaySetDoubleClickTime               ,
-
-
--- ** displayStoreClipboard
-    displayStoreClipboard                   ,
-
-
--- ** displaySupportsClipboardPersistence
-    displaySupportsClipboardPersistence     ,
-
-
--- ** displaySupportsComposite
-    displaySupportsComposite                ,
-
-
--- ** displaySupportsCursorAlpha
-    displaySupportsCursorAlpha              ,
-
-
--- ** displaySupportsCursorColor
-    displaySupportsCursorColor              ,
-
-
--- ** displaySupportsInputShapes
-    displaySupportsInputShapes              ,
-
-
--- ** displaySupportsSelectionNotification
-    displaySupportsSelectionNotification    ,
-
-
--- ** displaySupportsShapes
-    displaySupportsShapes                   ,
-
-
--- ** displaySync
-    displaySync                             ,
-
-
--- ** displayWarpPointer
-    displayWarpPointer                      ,
-
-
-
-
- -- * Signals
--- ** Closed
-    DisplayClosedCallback                   ,
-    DisplayClosedCallbackC                  ,
-    DisplayClosedSignalInfo                 ,
-    afterDisplayClosed                      ,
-    displayClosedCallbackWrapper            ,
-    displayClosedClosure                    ,
-    mkDisplayClosedCallback                 ,
-    noDisplayClosedCallback                 ,
-    onDisplayClosed                         ,
-
-
--- ** Opened
-    DisplayOpenedCallback                   ,
-    DisplayOpenedCallbackC                  ,
-    DisplayOpenedSignalInfo                 ,
-    afterDisplayOpened                      ,
-    displayOpenedCallbackWrapper            ,
-    displayOpenedClosure                    ,
-    mkDisplayOpenedCallback                 ,
-    noDisplayOpenedCallback                 ,
-    onDisplayOpened                         ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-import qualified GI.GObject as GObject
-
-newtype Display = Display (ForeignPtr Display)
-foreign import ccall "gdk_display_get_type"
-    c_gdk_display_get_type :: IO GType
-
-type instance ParentTypes Display = DisplayParentTypes
-type DisplayParentTypes = '[GObject.Object]
-
-instance GObject Display where
-    gobjectIsInitiallyUnowned _ = False
-    gobjectType _ = c_gdk_display_get_type
-    
-
-class GObject o => DisplayK o
-instance (GObject o, IsDescendantOf Display o) => DisplayK o
-
-toDisplay :: DisplayK o => o -> IO Display
-toDisplay = unsafeCastTo Display
-
-noDisplay :: Maybe Display
-noDisplay = Nothing
-
--- signal Display::closed
-type DisplayClosedCallback =
-    Bool ->
-    IO ()
-
-noDisplayClosedCallback :: Maybe DisplayClosedCallback
-noDisplayClosedCallback = Nothing
-
-type DisplayClosedCallbackC =
-    Ptr () ->                               -- object
-    CInt ->
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkDisplayClosedCallback :: DisplayClosedCallbackC -> IO (FunPtr DisplayClosedCallbackC)
-
-displayClosedClosure :: DisplayClosedCallback -> IO Closure
-displayClosedClosure cb = newCClosure =<< mkDisplayClosedCallback wrapped
-    where wrapped = displayClosedCallbackWrapper cb
-
-displayClosedCallbackWrapper ::
-    DisplayClosedCallback ->
-    Ptr () ->
-    CInt ->
-    Ptr () ->
-    IO ()
-displayClosedCallbackWrapper _cb _ is_error _ = do
-    let is_error' = (/= 0) is_error
-    _cb  is_error'
-
-onDisplayClosed :: (GObject a, MonadIO m) => a -> DisplayClosedCallback -> m SignalHandlerId
-onDisplayClosed obj cb = liftIO $ connectDisplayClosed obj cb SignalConnectBefore
-afterDisplayClosed :: (GObject a, MonadIO m) => a -> DisplayClosedCallback -> m SignalHandlerId
-afterDisplayClosed obj cb = connectDisplayClosed obj cb SignalConnectAfter
-
-connectDisplayClosed :: (GObject a, MonadIO m) =>
-                        a -> DisplayClosedCallback -> SignalConnectMode -> m SignalHandlerId
-connectDisplayClosed obj cb after = liftIO $ do
-    cb' <- mkDisplayClosedCallback (displayClosedCallbackWrapper cb)
-    connectSignalFunPtr obj "closed" cb' after
-
--- signal Display::opened
-type DisplayOpenedCallback =
-    IO ()
-
-noDisplayOpenedCallback :: Maybe DisplayOpenedCallback
-noDisplayOpenedCallback = Nothing
-
-type DisplayOpenedCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkDisplayOpenedCallback :: DisplayOpenedCallbackC -> IO (FunPtr DisplayOpenedCallbackC)
-
-displayOpenedClosure :: DisplayOpenedCallback -> IO Closure
-displayOpenedClosure cb = newCClosure =<< mkDisplayOpenedCallback wrapped
-    where wrapped = displayOpenedCallbackWrapper cb
-
-displayOpenedCallbackWrapper ::
-    DisplayOpenedCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-displayOpenedCallbackWrapper _cb _ _ = do
-    _cb 
-
-onDisplayOpened :: (GObject a, MonadIO m) => a -> DisplayOpenedCallback -> m SignalHandlerId
-onDisplayOpened obj cb = liftIO $ connectDisplayOpened obj cb SignalConnectBefore
-afterDisplayOpened :: (GObject a, MonadIO m) => a -> DisplayOpenedCallback -> m SignalHandlerId
-afterDisplayOpened obj cb = connectDisplayOpened obj cb SignalConnectAfter
-
-connectDisplayOpened :: (GObject a, MonadIO m) =>
-                        a -> DisplayOpenedCallback -> SignalConnectMode -> m SignalHandlerId
-connectDisplayOpened obj cb after = liftIO $ do
-    cb' <- mkDisplayOpenedCallback (displayOpenedCallbackWrapper cb)
-    connectSignalFunPtr obj "opened" cb' after
-
-type instance AttributeList Display = DisplayAttributeList
-type DisplayAttributeList = ('[ ] :: [(Symbol, *)])
-
-data DisplayClosedSignalInfo
-instance SignalInfo DisplayClosedSignalInfo where
-    type HaskellCallbackType DisplayClosedSignalInfo = DisplayClosedCallback
-    connectSignal _ = connectDisplayClosed
-
-data DisplayOpenedSignalInfo
-instance SignalInfo DisplayOpenedSignalInfo where
-    type HaskellCallbackType DisplayOpenedSignalInfo = DisplayOpenedCallback
-    connectSignal _ = connectDisplayOpened
-
-type instance SignalList Display = DisplaySignalList
-type DisplaySignalList = ('[ '("closed", DisplayClosedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("opened", DisplayOpenedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-
--- method Display::beep
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_beep" gdk_display_beep :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO ()
-
-
-displayBeep ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m ()
-displayBeep _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_display_beep _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Display::close
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_close" gdk_display_close :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO ()
-
-
-displayClose ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m ()
-displayClose _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_display_close _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Display::device_is_grabbed
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_device_is_grabbed" gdk_display_device_is_grabbed :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
-    IO CInt
-
-
-displayDeviceIsGrabbed ::
-    (MonadIO m, DisplayK a, DeviceK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- device
-    m Bool
-displayDeviceIsGrabbed _obj device = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let device' = unsafeManagedPtrCastPtr device
-    result <- gdk_display_device_is_grabbed _obj' device'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    touchManagedPtr device
-    return result'
-
--- method Display::flush
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_flush" gdk_display_flush :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO ()
-
-
-displayFlush ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m ()
-displayFlush _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_display_flush _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Display::get_app_launch_context
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "AppLaunchContext"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_get_app_launch_context" gdk_display_get_app_launch_context :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO (Ptr AppLaunchContext)
-
-
-displayGetAppLaunchContext ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m AppLaunchContext
-displayGetAppLaunchContext _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_get_app_launch_context _obj'
-    checkUnexpectedReturnNULL "gdk_display_get_app_launch_context" result
-    result' <- (wrapObject AppLaunchContext) result
-    touchManagedPtr _obj
-    return result'
-
--- method Display::get_default_cursor_size
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_get_default_cursor_size" gdk_display_get_default_cursor_size :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO Word32
-
-
-displayGetDefaultCursorSize ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m Word32
-displayGetDefaultCursorSize _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_get_default_cursor_size _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Display::get_default_group
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_get_default_group" gdk_display_get_default_group :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO (Ptr Window)
-
-
-displayGetDefaultGroup ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m Window
-displayGetDefaultGroup _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_get_default_group _obj'
-    checkUnexpectedReturnNULL "gdk_display_get_default_group" result
-    result' <- (newObject Window) result
-    touchManagedPtr _obj
-    return result'
-
--- method Display::get_default_screen
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Screen"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_get_default_screen" gdk_display_get_default_screen :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO (Ptr Screen)
-
-
-displayGetDefaultScreen ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m Screen
-displayGetDefaultScreen _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_get_default_screen _obj'
-    checkUnexpectedReturnNULL "gdk_display_get_default_screen" result
-    result' <- (newObject Screen) result
-    touchManagedPtr _obj
-    return result'
-
--- method Display::get_device_manager
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "DeviceManager"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_get_device_manager" gdk_display_get_device_manager :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO (Ptr DeviceManager)
-
-
-displayGetDeviceManager ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m DeviceManager
-displayGetDeviceManager _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_get_device_manager _obj'
-    checkUnexpectedReturnNULL "gdk_display_get_device_manager" result
-    result' <- (newObject DeviceManager) result
-    touchManagedPtr _obj
-    return result'
-
--- method Display::get_event
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Event"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_get_event" gdk_display_get_event :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO (Ptr Event)
-
-
-displayGetEvent ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m Event
-displayGetEvent _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_get_event _obj'
-    checkUnexpectedReturnNULL "gdk_display_get_event" result
-    result' <- (wrapBoxed Event) result
-    touchManagedPtr _obj
-    return result'
-
--- method Display::get_maximal_cursor_size
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "height", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_get_maximal_cursor_size" gdk_display_get_maximal_cursor_size :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    Ptr Word32 ->                           -- width : TBasicType TUInt32
-    Ptr Word32 ->                           -- height : TBasicType TUInt32
-    IO ()
-
-
-displayGetMaximalCursorSize ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m (Word32,Word32)
-displayGetMaximalCursorSize _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    width <- allocMem :: IO (Ptr Word32)
-    height <- allocMem :: IO (Ptr Word32)
-    gdk_display_get_maximal_cursor_size _obj' width height
-    width' <- peek width
-    height' <- peek height
-    touchManagedPtr _obj
-    freeMem width
-    freeMem height
-    return (width', height')
-
--- method Display::get_n_screens
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_get_n_screens" gdk_display_get_n_screens :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO Int32
-
-{-# DEPRECATED displayGetNScreens ["(Since version 3.10)","The number of screens is always 1."]#-}
-displayGetNScreens ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m Int32
-displayGetNScreens _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_get_n_screens _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Display::get_name
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_get_name" gdk_display_get_name :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO CString
-
-
-displayGetName ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m T.Text
-displayGetName _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_get_name _obj'
-    checkUnexpectedReturnNULL "gdk_display_get_name" result
-    result' <- cstringToText result
-    touchManagedPtr _obj
-    return result'
-
--- method Display::get_pointer
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "mask", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_get_pointer" gdk_display_get_pointer :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    Ptr (Ptr Screen) ->                     -- screen : TInterface "Gdk" "Screen"
-    Ptr Int32 ->                            -- x : TBasicType TInt32
-    Ptr Int32 ->                            -- y : TBasicType TInt32
-    Ptr CUInt ->                            -- mask : TInterface "Gdk" "ModifierType"
-    IO ()
-
-{-# DEPRECATED displayGetPointer ["(Since version 3.0)","Use gdk_device_get_position() instead."]#-}
-displayGetPointer ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m (Screen,Int32,Int32,[ModifierType])
-displayGetPointer _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    screen <- allocMem :: IO (Ptr (Ptr Screen))
-    x <- allocMem :: IO (Ptr Int32)
-    y <- allocMem :: IO (Ptr Int32)
-    mask <- allocMem :: IO (Ptr CUInt)
-    gdk_display_get_pointer _obj' screen x y mask
-    screen' <- peek screen
-    screen'' <- (newObject Screen) screen'
-    x' <- peek x
-    y' <- peek y
-    mask' <- peek mask
-    let mask'' = wordToGFlags mask'
-    touchManagedPtr _obj
-    freeMem screen
-    freeMem x
-    freeMem y
-    freeMem mask
-    return (screen'', x', y', mask'')
-
--- method Display::get_screen
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Screen"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_get_screen" gdk_display_get_screen :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    Int32 ->                                -- screen_num : TBasicType TInt32
-    IO (Ptr Screen)
-
-
-displayGetScreen ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- screen_num
-    m Screen
-displayGetScreen _obj screen_num = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_get_screen _obj' screen_num
-    checkUnexpectedReturnNULL "gdk_display_get_screen" result
-    result' <- (newObject Screen) result
-    touchManagedPtr _obj
-    return result'
-
--- method Display::get_window_at_pointer
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "win_x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "win_y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_get_window_at_pointer" gdk_display_get_window_at_pointer :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    Ptr Int32 ->                            -- win_x : TBasicType TInt32
-    Ptr Int32 ->                            -- win_y : TBasicType TInt32
-    IO (Ptr Window)
-
-{-# DEPRECATED displayGetWindowAtPointer ["(Since version 3.0)","Use gdk_device_get_window_at_position() instead."]#-}
-displayGetWindowAtPointer ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m (Window,Int32,Int32)
-displayGetWindowAtPointer _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    win_x <- allocMem :: IO (Ptr Int32)
-    win_y <- allocMem :: IO (Ptr Int32)
-    result <- gdk_display_get_window_at_pointer _obj' win_x win_y
-    checkUnexpectedReturnNULL "gdk_display_get_window_at_pointer" result
-    result' <- (newObject Window) result
-    win_x' <- peek win_x
-    win_y' <- peek win_y
-    touchManagedPtr _obj
-    freeMem win_x
-    freeMem win_y
-    return (result', win_x', win_y')
-
--- method Display::has_pending
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_has_pending" gdk_display_has_pending :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO CInt
-
-
-displayHasPending ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m Bool
-displayHasPending _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_has_pending _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Display::is_closed
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_is_closed" gdk_display_is_closed :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO CInt
-
-
-displayIsClosed ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m Bool
-displayIsClosed _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_is_closed _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Display::keyboard_ungrab
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_keyboard_ungrab" gdk_display_keyboard_ungrab :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    Word32 ->                               -- time_ : TBasicType TUInt32
-    IO ()
-
-{-# DEPRECATED displayKeyboardUngrab ["(Since version 3.0)","Use gdk_device_ungrab(), together with gdk_device_grab()","            instead."]#-}
-displayKeyboardUngrab ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- time_
-    m ()
-displayKeyboardUngrab _obj time_ = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_display_keyboard_ungrab _obj' time_
-    touchManagedPtr _obj
-    return ()
-
--- method Display::list_devices
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TGList (TInterface "Gdk" "Device")
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_list_devices" gdk_display_list_devices :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO (Ptr (GList (Ptr Device)))
-
-{-# DEPRECATED displayListDevices ["(Since version 3.0)","Use gdk_device_manager_list_devices() instead."]#-}
-displayListDevices ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m [Device]
-displayListDevices _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_list_devices _obj'
-    checkUnexpectedReturnNULL "gdk_display_list_devices" result
-    result' <- unpackGList result
-    result'' <- mapM (newObject Device) result'
-    touchManagedPtr _obj
-    return result''
-
--- method Display::notify_startup_complete
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "startup_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "startup_id", 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 "gdk_display_notify_startup_complete" gdk_display_notify_startup_complete :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    CString ->                              -- startup_id : TBasicType TUTF8
-    IO ()
-
-
-displayNotifyStartupComplete ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- startup_id
-    m ()
-displayNotifyStartupComplete _obj startup_id = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    startup_id' <- textToCString startup_id
-    gdk_display_notify_startup_complete _obj' startup_id'
-    touchManagedPtr _obj
-    freeMem startup_id'
-    return ()
-
--- method Display::peek_event
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Event"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_peek_event" gdk_display_peek_event :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO (Ptr Event)
-
-
-displayPeekEvent ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m Event
-displayPeekEvent _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_peek_event _obj'
-    checkUnexpectedReturnNULL "gdk_display_peek_event" result
-    result' <- (wrapBoxed Event) result
-    touchManagedPtr _obj
-    return result'
-
--- method Display::pointer_is_grabbed
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_pointer_is_grabbed" gdk_display_pointer_is_grabbed :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO CInt
-
-{-# DEPRECATED displayPointerIsGrabbed ["(Since version 3.0)","Use gdk_display_device_is_grabbed() instead."]#-}
-displayPointerIsGrabbed ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m Bool
-displayPointerIsGrabbed _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_pointer_is_grabbed _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Display::pointer_ungrab
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_pointer_ungrab" gdk_display_pointer_ungrab :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    Word32 ->                               -- time_ : TBasicType TUInt32
-    IO ()
-
-{-# DEPRECATED displayPointerUngrab ["(Since version 3.0)","Use gdk_device_ungrab(), together with gdk_device_grab()","            instead."]#-}
-displayPointerUngrab ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- time_
-    m ()
-displayPointerUngrab _obj time_ = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_display_pointer_ungrab _obj' time_
-    touchManagedPtr _obj
-    return ()
-
--- method Display::put_event
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_put_event" gdk_display_put_event :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    Ptr Event ->                            -- event : TInterface "Gdk" "Event"
-    IO ()
-
-
-displayPutEvent ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    Event ->                                -- event
-    m ()
-displayPutEvent _obj event = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let event' = unsafeManagedPtrGetPtr event
-    gdk_display_put_event _obj' event'
-    touchManagedPtr _obj
-    touchManagedPtr event
-    return ()
-
--- method Display::request_selection_notification
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_request_selection_notification" gdk_display_request_selection_notification :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    Ptr Atom ->                             -- selection : TInterface "Gdk" "Atom"
-    IO CInt
-
-
-displayRequestSelectionNotification ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    Atom ->                                 -- selection
-    m Bool
-displayRequestSelectionNotification _obj selection = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let selection' = unsafeManagedPtrGetPtr selection
-    result <- gdk_display_request_selection_notification _obj' selection'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    touchManagedPtr selection
-    return result'
-
--- method Display::set_double_click_distance
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "distance", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "distance", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_set_double_click_distance" gdk_display_set_double_click_distance :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    Word32 ->                               -- distance : TBasicType TUInt32
-    IO ()
-
-
-displaySetDoubleClickDistance ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- distance
-    m ()
-displaySetDoubleClickDistance _obj distance = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_display_set_double_click_distance _obj' distance
-    touchManagedPtr _obj
-    return ()
-
--- method Display::set_double_click_time
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msec", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msec", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_set_double_click_time" gdk_display_set_double_click_time :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    Word32 ->                               -- msec : TBasicType TUInt32
-    IO ()
-
-
-displaySetDoubleClickTime ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- msec
-    m ()
-displaySetDoubleClickTime _obj msec = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_display_set_double_click_time _obj' msec
-    touchManagedPtr _obj
-    return ()
-
--- method Display::store_clipboard
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "clipboard_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "targets", argType = TCArray False (-1) 4 (TInterface "Gdk" "Atom"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_targets", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : [Arg {argName = "n_targets", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "clipboard_window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "targets", argType = TCArray False (-1) 4 (TInterface "Gdk" "Atom"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_store_clipboard" gdk_display_store_clipboard :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    Ptr Window ->                           -- clipboard_window : TInterface "Gdk" "Window"
-    Word32 ->                               -- time_ : TBasicType TUInt32
-    Ptr (Ptr Atom) ->                       -- targets : TCArray False (-1) 4 (TInterface "Gdk" "Atom")
-    Int32 ->                                -- n_targets : TBasicType TInt32
-    IO ()
-
-
-displayStoreClipboard ::
-    (MonadIO m, DisplayK a, WindowK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- clipboard_window
-    Word32 ->                               -- time_
-    [Atom] ->                               -- targets
-    m ()
-displayStoreClipboard _obj clipboard_window time_ targets = liftIO $ do
-    let n_targets = fromIntegral $ length targets
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let clipboard_window' = unsafeManagedPtrCastPtr clipboard_window
-    let targets' = map unsafeManagedPtrGetPtr targets
-    targets'' <- packPtrArray targets'
-    gdk_display_store_clipboard _obj' clipboard_window' time_ targets'' n_targets
-    touchManagedPtr _obj
-    touchManagedPtr clipboard_window
-    mapM_ touchManagedPtr targets
-    freeMem targets''
-    return ()
-
--- method Display::supports_clipboard_persistence
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_supports_clipboard_persistence" gdk_display_supports_clipboard_persistence :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO CInt
-
-
-displaySupportsClipboardPersistence ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m Bool
-displaySupportsClipboardPersistence _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_supports_clipboard_persistence _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Display::supports_composite
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_supports_composite" gdk_display_supports_composite :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO CInt
-
-{-# DEPRECATED displaySupportsComposite ["(Since version 3.16)","Compositing is an outdated technology that","  only ever worked on X11."]#-}
-displaySupportsComposite ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m Bool
-displaySupportsComposite _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_supports_composite _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Display::supports_cursor_alpha
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_supports_cursor_alpha" gdk_display_supports_cursor_alpha :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO CInt
-
-
-displaySupportsCursorAlpha ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m Bool
-displaySupportsCursorAlpha _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_supports_cursor_alpha _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Display::supports_cursor_color
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_supports_cursor_color" gdk_display_supports_cursor_color :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO CInt
-
-
-displaySupportsCursorColor ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m Bool
-displaySupportsCursorColor _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_supports_cursor_color _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Display::supports_input_shapes
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_supports_input_shapes" gdk_display_supports_input_shapes :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO CInt
-
-
-displaySupportsInputShapes ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m Bool
-displaySupportsInputShapes _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_supports_input_shapes _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Display::supports_selection_notification
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_supports_selection_notification" gdk_display_supports_selection_notification :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO CInt
-
-
-displaySupportsSelectionNotification ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m Bool
-displaySupportsSelectionNotification _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_supports_selection_notification _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Display::supports_shapes
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_supports_shapes" gdk_display_supports_shapes :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO CInt
-
-
-displaySupportsShapes ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m Bool
-displaySupportsShapes _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_supports_shapes _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Display::sync
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_sync" gdk_display_sync :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    IO ()
-
-
-displaySync ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- _obj
-    m ()
-displaySync _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_display_sync _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Display::warp_pointer
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_warp_pointer" gdk_display_warp_pointer :: 
-    Ptr Display ->                          -- _obj : TInterface "Gdk" "Display"
-    Ptr Screen ->                           -- screen : TInterface "Gdk" "Screen"
-    Int32 ->                                -- x : TBasicType TInt32
-    Int32 ->                                -- y : TBasicType TInt32
-    IO ()
-
-{-# DEPRECATED displayWarpPointer ["(Since version 3.0)","Use gdk_device_warp() instead."]#-}
-displayWarpPointer ::
-    (MonadIO m, DisplayK a, ScreenK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- screen
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    m ()
-displayWarpPointer _obj screen x y = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let screen' = unsafeManagedPtrCastPtr screen
-    gdk_display_warp_pointer _obj' screen' x y
-    touchManagedPtr _obj
-    touchManagedPtr screen
-    return ()
-
--- method Display::get_default
--- method type : MemberFunction
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TInterface "Gdk" "Display"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_get_default" gdk_display_get_default :: 
-    IO (Ptr Display)
-
-
-displayGetDefault ::
-    (MonadIO m) =>
-    m Display
-displayGetDefault  = liftIO $ do
-    result <- gdk_display_get_default
-    checkUnexpectedReturnNULL "gdk_display_get_default" result
-    result' <- (newObject Display) result
-    return result'
-
--- method Display::open
--- method type : MemberFunction
--- Args : [Arg {argName = "display_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "display_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Display"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_open" gdk_display_open :: 
-    CString ->                              -- display_name : TBasicType TUTF8
-    IO (Ptr Display)
-
-
-displayOpen ::
-    (MonadIO m) =>
-    T.Text ->                               -- display_name
-    m Display
-displayOpen display_name = liftIO $ do
-    display_name' <- textToCString display_name
-    result <- gdk_display_open display_name'
-    checkUnexpectedReturnNULL "gdk_display_open" result
-    result' <- (newObject Display) result
-    freeMem display_name'
-    return result'
-
--- method Display::open_default_libgtk_only
--- method type : MemberFunction
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TInterface "Gdk" "Display"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_open_default_libgtk_only" gdk_display_open_default_libgtk_only :: 
-    IO (Ptr Display)
-
-{-# DEPRECATED displayOpenDefaultLibgtkOnly ["(Since version 3.16)","This symbol was never meant to be used outside","  of GTK+"]#-}
-displayOpenDefaultLibgtkOnly ::
-    (MonadIO m) =>
-    m Display
-displayOpenDefaultLibgtkOnly  = liftIO $ do
-    result <- gdk_display_open_default_libgtk_only
-    checkUnexpectedReturnNULL "gdk_display_open_default_libgtk_only" result
-    result' <- (newObject Display) result
-    return result'
-
-
diff --git a/GI/Gdk/Objects/Display.hs-boot b/GI/Gdk/Objects/Display.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Objects/Display.hs-boot
+++ /dev/null
@@ -1,15 +0,0 @@
-module GI.Gdk.Objects.Display 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
-
-newtype Display = Display (ForeignPtr Display)
-instance GObject Display where
-class GObject o => DisplayK o
-instance (GObject o, IsDescendantOf Display o) => DisplayK o
-data DisplayClosedSignalInfo
-data DisplayOpenedSignalInfo
diff --git a/GI/Gdk/Objects/DisplayManager.hs b/GI/Gdk/Objects/DisplayManager.hs
deleted file mode 100644
--- a/GI/Gdk/Objects/DisplayManager.hs
+++ /dev/null
@@ -1,311 +0,0 @@
-
-{- |
-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.Gdk.Objects.DisplayManager
-    ( 
-
--- * Exported types
-    DisplayManager(..)                      ,
-    DisplayManagerK                         ,
-    toDisplayManager                        ,
-    noDisplayManager                        ,
-
-
- -- * Methods
--- ** displayManagerGet
-    displayManagerGet                       ,
-
-
--- ** displayManagerGetDefaultDisplay
-    displayManagerGetDefaultDisplay         ,
-
-
--- ** displayManagerListDisplays
-    displayManagerListDisplays              ,
-
-
--- ** displayManagerOpenDisplay
-    displayManagerOpenDisplay               ,
-
-
--- ** displayManagerSetDefaultDisplay
-    displayManagerSetDefaultDisplay         ,
-
-
-
-
- -- * Properties
--- ** DefaultDisplay
-    DisplayManagerDefaultDisplayPropertyInfo,
-    constructDisplayManagerDefaultDisplay   ,
-    getDisplayManagerDefaultDisplay         ,
-    setDisplayManagerDefaultDisplay         ,
-
-
-
-
- -- * Signals
--- ** DisplayOpened
-    DisplayManagerDisplayOpenedCallback     ,
-    DisplayManagerDisplayOpenedCallbackC    ,
-    DisplayManagerDisplayOpenedSignalInfo   ,
-    afterDisplayManagerDisplayOpened        ,
-    displayManagerDisplayOpenedCallbackWrapper,
-    displayManagerDisplayOpenedClosure      ,
-    mkDisplayManagerDisplayOpenedCallback   ,
-    noDisplayManagerDisplayOpenedCallback   ,
-    onDisplayManagerDisplayOpened           ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-import qualified GI.GObject as GObject
-
-newtype DisplayManager = DisplayManager (ForeignPtr DisplayManager)
-foreign import ccall "gdk_display_manager_get_type"
-    c_gdk_display_manager_get_type :: IO GType
-
-type instance ParentTypes DisplayManager = DisplayManagerParentTypes
-type DisplayManagerParentTypes = '[GObject.Object]
-
-instance GObject DisplayManager where
-    gobjectIsInitiallyUnowned _ = False
-    gobjectType _ = c_gdk_display_manager_get_type
-    
-
-class GObject o => DisplayManagerK o
-instance (GObject o, IsDescendantOf DisplayManager o) => DisplayManagerK o
-
-toDisplayManager :: DisplayManagerK o => o -> IO DisplayManager
-toDisplayManager = unsafeCastTo DisplayManager
-
-noDisplayManager :: Maybe DisplayManager
-noDisplayManager = Nothing
-
--- signal DisplayManager::display-opened
-type DisplayManagerDisplayOpenedCallback =
-    Display ->
-    IO ()
-
-noDisplayManagerDisplayOpenedCallback :: Maybe DisplayManagerDisplayOpenedCallback
-noDisplayManagerDisplayOpenedCallback = Nothing
-
-type DisplayManagerDisplayOpenedCallbackC =
-    Ptr () ->                               -- object
-    Ptr Display ->
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkDisplayManagerDisplayOpenedCallback :: DisplayManagerDisplayOpenedCallbackC -> IO (FunPtr DisplayManagerDisplayOpenedCallbackC)
-
-displayManagerDisplayOpenedClosure :: DisplayManagerDisplayOpenedCallback -> IO Closure
-displayManagerDisplayOpenedClosure cb = newCClosure =<< mkDisplayManagerDisplayOpenedCallback wrapped
-    where wrapped = displayManagerDisplayOpenedCallbackWrapper cb
-
-displayManagerDisplayOpenedCallbackWrapper ::
-    DisplayManagerDisplayOpenedCallback ->
-    Ptr () ->
-    Ptr Display ->
-    Ptr () ->
-    IO ()
-displayManagerDisplayOpenedCallbackWrapper _cb _ display _ = do
-    display' <- (newObject Display) display
-    _cb  display'
-
-onDisplayManagerDisplayOpened :: (GObject a, MonadIO m) => a -> DisplayManagerDisplayOpenedCallback -> m SignalHandlerId
-onDisplayManagerDisplayOpened obj cb = liftIO $ connectDisplayManagerDisplayOpened obj cb SignalConnectBefore
-afterDisplayManagerDisplayOpened :: (GObject a, MonadIO m) => a -> DisplayManagerDisplayOpenedCallback -> m SignalHandlerId
-afterDisplayManagerDisplayOpened obj cb = connectDisplayManagerDisplayOpened obj cb SignalConnectAfter
-
-connectDisplayManagerDisplayOpened :: (GObject a, MonadIO m) =>
-                                      a -> DisplayManagerDisplayOpenedCallback -> SignalConnectMode -> m SignalHandlerId
-connectDisplayManagerDisplayOpened obj cb after = liftIO $ do
-    cb' <- mkDisplayManagerDisplayOpenedCallback (displayManagerDisplayOpenedCallbackWrapper cb)
-    connectSignalFunPtr obj "display-opened" cb' after
-
--- VVV Prop "default-display"
-   -- Type: TInterface "Gdk" "Display"
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getDisplayManagerDefaultDisplay :: (MonadIO m, DisplayManagerK o) => o -> m Display
-getDisplayManagerDefaultDisplay obj = liftIO $ getObjectPropertyObject obj "default-display" Display
-
-setDisplayManagerDefaultDisplay :: (MonadIO m, DisplayManagerK o, DisplayK a) => o -> a -> m ()
-setDisplayManagerDefaultDisplay obj val = liftIO $ setObjectPropertyObject obj "default-display" val
-
-constructDisplayManagerDefaultDisplay :: (DisplayK a) => a -> IO ([Char], GValue)
-constructDisplayManagerDefaultDisplay val = constructObjectPropertyObject "default-display" val
-
-data DisplayManagerDefaultDisplayPropertyInfo
-instance AttrInfo DisplayManagerDefaultDisplayPropertyInfo where
-    type AttrAllowedOps DisplayManagerDefaultDisplayPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint DisplayManagerDefaultDisplayPropertyInfo = DisplayK
-    type AttrBaseTypeConstraint DisplayManagerDefaultDisplayPropertyInfo = DisplayManagerK
-    type AttrGetType DisplayManagerDefaultDisplayPropertyInfo = Display
-    type AttrLabel DisplayManagerDefaultDisplayPropertyInfo = "DisplayManager::default-display"
-    attrGet _ = getDisplayManagerDefaultDisplay
-    attrSet _ = setDisplayManagerDefaultDisplay
-    attrConstruct _ = constructDisplayManagerDefaultDisplay
-
-type instance AttributeList DisplayManager = DisplayManagerAttributeList
-type DisplayManagerAttributeList = ('[ '("default-display", DisplayManagerDefaultDisplayPropertyInfo)] :: [(Symbol, *)])
-
-data DisplayManagerDisplayOpenedSignalInfo
-instance SignalInfo DisplayManagerDisplayOpenedSignalInfo where
-    type HaskellCallbackType DisplayManagerDisplayOpenedSignalInfo = DisplayManagerDisplayOpenedCallback
-    connectSignal _ = connectDisplayManagerDisplayOpened
-
-type instance SignalList DisplayManager = DisplayManagerSignalList
-type DisplayManagerSignalList = ('[ '("display-opened", DisplayManagerDisplayOpenedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-
--- method DisplayManager::get_default_display
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Display"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_manager_get_default_display" gdk_display_manager_get_default_display :: 
-    Ptr DisplayManager ->                   -- _obj : TInterface "Gdk" "DisplayManager"
-    IO (Ptr Display)
-
-
-displayManagerGetDefaultDisplay ::
-    (MonadIO m, DisplayManagerK a) =>
-    a ->                                    -- _obj
-    m Display
-displayManagerGetDefaultDisplay _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_manager_get_default_display _obj'
-    checkUnexpectedReturnNULL "gdk_display_manager_get_default_display" result
-    result' <- (newObject Display) result
-    touchManagedPtr _obj
-    return result'
-
--- method DisplayManager::list_displays
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TGSList (TInterface "Gdk" "Display")
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_manager_list_displays" gdk_display_manager_list_displays :: 
-    Ptr DisplayManager ->                   -- _obj : TInterface "Gdk" "DisplayManager"
-    IO (Ptr (GSList (Ptr Display)))
-
-
-displayManagerListDisplays ::
-    (MonadIO m, DisplayManagerK a) =>
-    a ->                                    -- _obj
-    m [Display]
-displayManagerListDisplays _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_display_manager_list_displays _obj'
-    checkUnexpectedReturnNULL "gdk_display_manager_list_displays" result
-    result' <- unpackGSList result
-    result'' <- mapM (newObject Display) result'
-    g_slist_free result
-    touchManagedPtr _obj
-    return result''
-
--- method DisplayManager::open_display
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", 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}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", 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}]
--- returnType : TInterface "Gdk" "Display"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_manager_open_display" gdk_display_manager_open_display :: 
-    Ptr DisplayManager ->                   -- _obj : TInterface "Gdk" "DisplayManager"
-    CString ->                              -- name : TBasicType TUTF8
-    IO (Ptr Display)
-
-
-displayManagerOpenDisplay ::
-    (MonadIO m, DisplayManagerK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- name
-    m Display
-displayManagerOpenDisplay _obj name = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    name' <- textToCString name
-    result <- gdk_display_manager_open_display _obj' name'
-    checkUnexpectedReturnNULL "gdk_display_manager_open_display" result
-    result' <- (newObject Display) result
-    touchManagedPtr _obj
-    freeMem name'
-    return result'
-
--- method DisplayManager::set_default_display
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DisplayManager", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_manager_set_default_display" gdk_display_manager_set_default_display :: 
-    Ptr DisplayManager ->                   -- _obj : TInterface "Gdk" "DisplayManager"
-    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
-    IO ()
-
-
-displayManagerSetDefaultDisplay ::
-    (MonadIO m, DisplayManagerK a, DisplayK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- display
-    m ()
-displayManagerSetDefaultDisplay _obj display = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let display' = unsafeManagedPtrCastPtr display
-    gdk_display_manager_set_default_display _obj' display'
-    touchManagedPtr _obj
-    touchManagedPtr display
-    return ()
-
--- method DisplayManager::get
--- method type : MemberFunction
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TInterface "Gdk" "DisplayManager"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_display_manager_get" gdk_display_manager_get :: 
-    IO (Ptr DisplayManager)
-
-
-displayManagerGet ::
-    (MonadIO m) =>
-    m DisplayManager
-displayManagerGet  = liftIO $ do
-    result <- gdk_display_manager_get
-    checkUnexpectedReturnNULL "gdk_display_manager_get" result
-    result' <- (newObject DisplayManager) result
-    return result'
-
-
diff --git a/GI/Gdk/Objects/DisplayManager.hs-boot b/GI/Gdk/Objects/DisplayManager.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Objects/DisplayManager.hs-boot
+++ /dev/null
@@ -1,15 +0,0 @@
-module GI.Gdk.Objects.DisplayManager 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
-
-newtype DisplayManager = DisplayManager (ForeignPtr DisplayManager)
-instance GObject DisplayManager where
-class GObject o => DisplayManagerK o
-instance (GObject o, IsDescendantOf DisplayManager o) => DisplayManagerK o
-data DisplayManagerDefaultDisplayPropertyInfo
-data DisplayManagerDisplayOpenedSignalInfo
diff --git a/GI/Gdk/Objects/DragContext.hs b/GI/Gdk/Objects/DragContext.hs
deleted file mode 100644
--- a/GI/Gdk/Objects/DragContext.hs
+++ /dev/null
@@ -1,331 +0,0 @@
-
-{- |
-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.Gdk.Objects.DragContext
-    ( 
-
--- * Exported types
-    DragContext(..)                         ,
-    DragContextK                            ,
-    toDragContext                           ,
-    noDragContext                           ,
-
-
- -- * Methods
--- ** dragContextGetActions
-    dragContextGetActions                   ,
-
-
--- ** dragContextGetDestWindow
-    dragContextGetDestWindow                ,
-
-
--- ** dragContextGetDevice
-    dragContextGetDevice                    ,
-
-
--- ** dragContextGetProtocol
-    dragContextGetProtocol                  ,
-
-
--- ** dragContextGetSelectedAction
-    dragContextGetSelectedAction            ,
-
-
--- ** dragContextGetSourceWindow
-    dragContextGetSourceWindow              ,
-
-
--- ** dragContextGetSuggestedAction
-    dragContextGetSuggestedAction           ,
-
-
--- ** dragContextListTargets
-    dragContextListTargets                  ,
-
-
--- ** dragContextSetDevice
-    dragContextSetDevice                    ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-import qualified GI.GObject as GObject
-
-newtype DragContext = DragContext (ForeignPtr DragContext)
-foreign import ccall "gdk_drag_context_get_type"
-    c_gdk_drag_context_get_type :: IO GType
-
-type instance ParentTypes DragContext = DragContextParentTypes
-type DragContextParentTypes = '[GObject.Object]
-
-instance GObject DragContext where
-    gobjectIsInitiallyUnowned _ = False
-    gobjectType _ = c_gdk_drag_context_get_type
-    
-
-class GObject o => DragContextK o
-instance (GObject o, IsDescendantOf DragContext o) => DragContextK o
-
-toDragContext :: DragContextK o => o -> IO DragContext
-toDragContext = unsafeCastTo DragContext
-
-noDragContext :: Maybe DragContext
-noDragContext = Nothing
-
-type instance AttributeList DragContext = DragContextAttributeList
-type DragContextAttributeList = ('[ ] :: [(Symbol, *)])
-
-type instance SignalList DragContext = DragContextSignalList
-type DragContextSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-
--- method DragContext::get_actions
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "DragAction"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_drag_context_get_actions" gdk_drag_context_get_actions :: 
-    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"
-    IO CUInt
-
-
-dragContextGetActions ::
-    (MonadIO m, DragContextK a) =>
-    a ->                                    -- _obj
-    m [DragAction]
-dragContextGetActions _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_drag_context_get_actions _obj'
-    let result' = wordToGFlags result
-    touchManagedPtr _obj
-    return result'
-
--- method DragContext::get_dest_window
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_drag_context_get_dest_window" gdk_drag_context_get_dest_window :: 
-    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"
-    IO (Ptr Window)
-
-
-dragContextGetDestWindow ::
-    (MonadIO m, DragContextK a) =>
-    a ->                                    -- _obj
-    m Window
-dragContextGetDestWindow _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_drag_context_get_dest_window _obj'
-    checkUnexpectedReturnNULL "gdk_drag_context_get_dest_window" result
-    result' <- (newObject Window) result
-    touchManagedPtr _obj
-    return result'
-
--- method DragContext::get_device
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Device"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_drag_context_get_device" gdk_drag_context_get_device :: 
-    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"
-    IO (Ptr Device)
-
-
-dragContextGetDevice ::
-    (MonadIO m, DragContextK a) =>
-    a ->                                    -- _obj
-    m Device
-dragContextGetDevice _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_drag_context_get_device _obj'
-    checkUnexpectedReturnNULL "gdk_drag_context_get_device" result
-    result' <- (newObject Device) result
-    touchManagedPtr _obj
-    return result'
-
--- method DragContext::get_protocol
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "DragProtocol"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_drag_context_get_protocol" gdk_drag_context_get_protocol :: 
-    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"
-    IO CUInt
-
-
-dragContextGetProtocol ::
-    (MonadIO m, DragContextK a) =>
-    a ->                                    -- _obj
-    m DragProtocol
-dragContextGetProtocol _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_drag_context_get_protocol _obj'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr _obj
-    return result'
-
--- method DragContext::get_selected_action
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "DragAction"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_drag_context_get_selected_action" gdk_drag_context_get_selected_action :: 
-    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"
-    IO CUInt
-
-
-dragContextGetSelectedAction ::
-    (MonadIO m, DragContextK a) =>
-    a ->                                    -- _obj
-    m [DragAction]
-dragContextGetSelectedAction _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_drag_context_get_selected_action _obj'
-    let result' = wordToGFlags result
-    touchManagedPtr _obj
-    return result'
-
--- method DragContext::get_source_window
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_drag_context_get_source_window" gdk_drag_context_get_source_window :: 
-    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"
-    IO (Ptr Window)
-
-
-dragContextGetSourceWindow ::
-    (MonadIO m, DragContextK a) =>
-    a ->                                    -- _obj
-    m Window
-dragContextGetSourceWindow _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_drag_context_get_source_window _obj'
-    checkUnexpectedReturnNULL "gdk_drag_context_get_source_window" result
-    result' <- (newObject Window) result
-    touchManagedPtr _obj
-    return result'
-
--- method DragContext::get_suggested_action
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "DragAction"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_drag_context_get_suggested_action" gdk_drag_context_get_suggested_action :: 
-    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"
-    IO CUInt
-
-
-dragContextGetSuggestedAction ::
-    (MonadIO m, DragContextK a) =>
-    a ->                                    -- _obj
-    m [DragAction]
-dragContextGetSuggestedAction _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_drag_context_get_suggested_action _obj'
-    let result' = wordToGFlags result
-    touchManagedPtr _obj
-    return result'
-
--- method DragContext::list_targets
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TGList (TInterface "Gdk" "Atom")
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_drag_context_list_targets" gdk_drag_context_list_targets :: 
-    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"
-    IO (Ptr (GList (Ptr Atom)))
-
-
-dragContextListTargets ::
-    (MonadIO m, DragContextK a) =>
-    a ->                                    -- _obj
-    m [Atom]
-dragContextListTargets _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_drag_context_list_targets _obj'
-    checkUnexpectedReturnNULL "gdk_drag_context_list_targets" result
-    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
-    result' <- unpackGList result
-    result'' <- mapM (\x -> Atom <$> newForeignPtr_ x) result'
-    touchManagedPtr _obj
-    return result''
-
--- method DragContext::set_device
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "DragContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_drag_context_set_device" gdk_drag_context_set_device :: 
-    Ptr DragContext ->                      -- _obj : TInterface "Gdk" "DragContext"
-    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
-    IO ()
-
-
-dragContextSetDevice ::
-    (MonadIO m, DragContextK a, DeviceK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- device
-    m ()
-dragContextSetDevice _obj device = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let device' = unsafeManagedPtrCastPtr device
-    gdk_drag_context_set_device _obj' device'
-    touchManagedPtr _obj
-    touchManagedPtr device
-    return ()
-
-
diff --git a/GI/Gdk/Objects/DragContext.hs-boot b/GI/Gdk/Objects/DragContext.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Objects/DragContext.hs-boot
+++ /dev/null
@@ -1,13 +0,0 @@
-module GI.Gdk.Objects.DragContext 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
-
-newtype DragContext = DragContext (ForeignPtr DragContext)
-instance GObject DragContext where
-class GObject o => DragContextK o
-instance (GObject o, IsDescendantOf DragContext o) => DragContextK o
diff --git a/GI/Gdk/Objects/FrameClock.hs b/GI/Gdk/Objects/FrameClock.hs
deleted file mode 100644
--- a/GI/Gdk/Objects/FrameClock.hs
+++ /dev/null
@@ -1,716 +0,0 @@
-
-{- |
-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.Gdk.Objects.FrameClock
-    ( 
-
--- * Exported types
-    FrameClock(..)                          ,
-    FrameClockK                             ,
-    toFrameClock                            ,
-    noFrameClock                            ,
-
-
- -- * Methods
--- ** frameClockBeginUpdating
-    frameClockBeginUpdating                 ,
-
-
--- ** frameClockEndUpdating
-    frameClockEndUpdating                   ,
-
-
--- ** frameClockGetCurrentTimings
-    frameClockGetCurrentTimings             ,
-
-
--- ** frameClockGetFrameCounter
-    frameClockGetFrameCounter               ,
-
-
--- ** frameClockGetFrameTime
-    frameClockGetFrameTime                  ,
-
-
--- ** frameClockGetHistoryStart
-    frameClockGetHistoryStart               ,
-
-
--- ** frameClockGetRefreshInfo
-    frameClockGetRefreshInfo                ,
-
-
--- ** frameClockGetTimings
-    frameClockGetTimings                    ,
-
-
--- ** frameClockRequestPhase
-    frameClockRequestPhase                  ,
-
-
-
-
- -- * Signals
--- ** AfterPaint
-    FrameClockAfterPaintCallback            ,
-    FrameClockAfterPaintCallbackC           ,
-    FrameClockAfterPaintSignalInfo          ,
-    afterFrameClockAfterPaint               ,
-    frameClockAfterPaintCallbackWrapper     ,
-    frameClockAfterPaintClosure             ,
-    mkFrameClockAfterPaintCallback          ,
-    noFrameClockAfterPaintCallback          ,
-    onFrameClockAfterPaint                  ,
-
-
--- ** BeforePaint
-    FrameClockBeforePaintCallback           ,
-    FrameClockBeforePaintCallbackC          ,
-    FrameClockBeforePaintSignalInfo         ,
-    afterFrameClockBeforePaint              ,
-    frameClockBeforePaintCallbackWrapper    ,
-    frameClockBeforePaintClosure            ,
-    mkFrameClockBeforePaintCallback         ,
-    noFrameClockBeforePaintCallback         ,
-    onFrameClockBeforePaint                 ,
-
-
--- ** FlushEvents
-    FrameClockFlushEventsCallback           ,
-    FrameClockFlushEventsCallbackC          ,
-    FrameClockFlushEventsSignalInfo         ,
-    afterFrameClockFlushEvents              ,
-    frameClockFlushEventsCallbackWrapper    ,
-    frameClockFlushEventsClosure            ,
-    mkFrameClockFlushEventsCallback         ,
-    noFrameClockFlushEventsCallback         ,
-    onFrameClockFlushEvents                 ,
-
-
--- ** Layout
-    FrameClockLayoutCallback                ,
-    FrameClockLayoutCallbackC               ,
-    FrameClockLayoutSignalInfo              ,
-    afterFrameClockLayout                   ,
-    frameClockLayoutCallbackWrapper         ,
-    frameClockLayoutClosure                 ,
-    mkFrameClockLayoutCallback              ,
-    noFrameClockLayoutCallback              ,
-    onFrameClockLayout                      ,
-
-
--- ** Paint
-    FrameClockPaintCallback                 ,
-    FrameClockPaintCallbackC                ,
-    FrameClockPaintSignalInfo               ,
-    afterFrameClockPaint                    ,
-    frameClockPaintCallbackWrapper          ,
-    frameClockPaintClosure                  ,
-    mkFrameClockPaintCallback               ,
-    noFrameClockPaintCallback               ,
-    onFrameClockPaint                       ,
-
-
--- ** ResumeEvents
-    FrameClockResumeEventsCallback          ,
-    FrameClockResumeEventsCallbackC         ,
-    FrameClockResumeEventsSignalInfo        ,
-    afterFrameClockResumeEvents             ,
-    frameClockResumeEventsCallbackWrapper   ,
-    frameClockResumeEventsClosure           ,
-    mkFrameClockResumeEventsCallback        ,
-    noFrameClockResumeEventsCallback        ,
-    onFrameClockResumeEvents                ,
-
-
--- ** Update
-    FrameClockUpdateCallback                ,
-    FrameClockUpdateCallbackC               ,
-    FrameClockUpdateSignalInfo              ,
-    afterFrameClockUpdate                   ,
-    frameClockUpdateCallbackWrapper         ,
-    frameClockUpdateClosure                 ,
-    mkFrameClockUpdateCallback              ,
-    noFrameClockUpdateCallback              ,
-    onFrameClockUpdate                      ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-import qualified GI.GObject as GObject
-
-newtype FrameClock = FrameClock (ForeignPtr FrameClock)
-foreign import ccall "gdk_frame_clock_get_type"
-    c_gdk_frame_clock_get_type :: IO GType
-
-type instance ParentTypes FrameClock = FrameClockParentTypes
-type FrameClockParentTypes = '[GObject.Object]
-
-instance GObject FrameClock where
-    gobjectIsInitiallyUnowned _ = False
-    gobjectType _ = c_gdk_frame_clock_get_type
-    
-
-class GObject o => FrameClockK o
-instance (GObject o, IsDescendantOf FrameClock o) => FrameClockK o
-
-toFrameClock :: FrameClockK o => o -> IO FrameClock
-toFrameClock = unsafeCastTo FrameClock
-
-noFrameClock :: Maybe FrameClock
-noFrameClock = Nothing
-
--- signal FrameClock::after-paint
-type FrameClockAfterPaintCallback =
-    IO ()
-
-noFrameClockAfterPaintCallback :: Maybe FrameClockAfterPaintCallback
-noFrameClockAfterPaintCallback = Nothing
-
-type FrameClockAfterPaintCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkFrameClockAfterPaintCallback :: FrameClockAfterPaintCallbackC -> IO (FunPtr FrameClockAfterPaintCallbackC)
-
-frameClockAfterPaintClosure :: FrameClockAfterPaintCallback -> IO Closure
-frameClockAfterPaintClosure cb = newCClosure =<< mkFrameClockAfterPaintCallback wrapped
-    where wrapped = frameClockAfterPaintCallbackWrapper cb
-
-frameClockAfterPaintCallbackWrapper ::
-    FrameClockAfterPaintCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-frameClockAfterPaintCallbackWrapper _cb _ _ = do
-    _cb 
-
-onFrameClockAfterPaint :: (GObject a, MonadIO m) => a -> FrameClockAfterPaintCallback -> m SignalHandlerId
-onFrameClockAfterPaint obj cb = liftIO $ connectFrameClockAfterPaint obj cb SignalConnectBefore
-afterFrameClockAfterPaint :: (GObject a, MonadIO m) => a -> FrameClockAfterPaintCallback -> m SignalHandlerId
-afterFrameClockAfterPaint obj cb = connectFrameClockAfterPaint obj cb SignalConnectAfter
-
-connectFrameClockAfterPaint :: (GObject a, MonadIO m) =>
-                               a -> FrameClockAfterPaintCallback -> SignalConnectMode -> m SignalHandlerId
-connectFrameClockAfterPaint obj cb after = liftIO $ do
-    cb' <- mkFrameClockAfterPaintCallback (frameClockAfterPaintCallbackWrapper cb)
-    connectSignalFunPtr obj "after-paint" cb' after
-
--- signal FrameClock::before-paint
-type FrameClockBeforePaintCallback =
-    IO ()
-
-noFrameClockBeforePaintCallback :: Maybe FrameClockBeforePaintCallback
-noFrameClockBeforePaintCallback = Nothing
-
-type FrameClockBeforePaintCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkFrameClockBeforePaintCallback :: FrameClockBeforePaintCallbackC -> IO (FunPtr FrameClockBeforePaintCallbackC)
-
-frameClockBeforePaintClosure :: FrameClockBeforePaintCallback -> IO Closure
-frameClockBeforePaintClosure cb = newCClosure =<< mkFrameClockBeforePaintCallback wrapped
-    where wrapped = frameClockBeforePaintCallbackWrapper cb
-
-frameClockBeforePaintCallbackWrapper ::
-    FrameClockBeforePaintCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-frameClockBeforePaintCallbackWrapper _cb _ _ = do
-    _cb 
-
-onFrameClockBeforePaint :: (GObject a, MonadIO m) => a -> FrameClockBeforePaintCallback -> m SignalHandlerId
-onFrameClockBeforePaint obj cb = liftIO $ connectFrameClockBeforePaint obj cb SignalConnectBefore
-afterFrameClockBeforePaint :: (GObject a, MonadIO m) => a -> FrameClockBeforePaintCallback -> m SignalHandlerId
-afterFrameClockBeforePaint obj cb = connectFrameClockBeforePaint obj cb SignalConnectAfter
-
-connectFrameClockBeforePaint :: (GObject a, MonadIO m) =>
-                                a -> FrameClockBeforePaintCallback -> SignalConnectMode -> m SignalHandlerId
-connectFrameClockBeforePaint obj cb after = liftIO $ do
-    cb' <- mkFrameClockBeforePaintCallback (frameClockBeforePaintCallbackWrapper cb)
-    connectSignalFunPtr obj "before-paint" cb' after
-
--- signal FrameClock::flush-events
-type FrameClockFlushEventsCallback =
-    IO ()
-
-noFrameClockFlushEventsCallback :: Maybe FrameClockFlushEventsCallback
-noFrameClockFlushEventsCallback = Nothing
-
-type FrameClockFlushEventsCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkFrameClockFlushEventsCallback :: FrameClockFlushEventsCallbackC -> IO (FunPtr FrameClockFlushEventsCallbackC)
-
-frameClockFlushEventsClosure :: FrameClockFlushEventsCallback -> IO Closure
-frameClockFlushEventsClosure cb = newCClosure =<< mkFrameClockFlushEventsCallback wrapped
-    where wrapped = frameClockFlushEventsCallbackWrapper cb
-
-frameClockFlushEventsCallbackWrapper ::
-    FrameClockFlushEventsCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-frameClockFlushEventsCallbackWrapper _cb _ _ = do
-    _cb 
-
-onFrameClockFlushEvents :: (GObject a, MonadIO m) => a -> FrameClockFlushEventsCallback -> m SignalHandlerId
-onFrameClockFlushEvents obj cb = liftIO $ connectFrameClockFlushEvents obj cb SignalConnectBefore
-afterFrameClockFlushEvents :: (GObject a, MonadIO m) => a -> FrameClockFlushEventsCallback -> m SignalHandlerId
-afterFrameClockFlushEvents obj cb = connectFrameClockFlushEvents obj cb SignalConnectAfter
-
-connectFrameClockFlushEvents :: (GObject a, MonadIO m) =>
-                                a -> FrameClockFlushEventsCallback -> SignalConnectMode -> m SignalHandlerId
-connectFrameClockFlushEvents obj cb after = liftIO $ do
-    cb' <- mkFrameClockFlushEventsCallback (frameClockFlushEventsCallbackWrapper cb)
-    connectSignalFunPtr obj "flush-events" cb' after
-
--- signal FrameClock::layout
-type FrameClockLayoutCallback =
-    IO ()
-
-noFrameClockLayoutCallback :: Maybe FrameClockLayoutCallback
-noFrameClockLayoutCallback = Nothing
-
-type FrameClockLayoutCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkFrameClockLayoutCallback :: FrameClockLayoutCallbackC -> IO (FunPtr FrameClockLayoutCallbackC)
-
-frameClockLayoutClosure :: FrameClockLayoutCallback -> IO Closure
-frameClockLayoutClosure cb = newCClosure =<< mkFrameClockLayoutCallback wrapped
-    where wrapped = frameClockLayoutCallbackWrapper cb
-
-frameClockLayoutCallbackWrapper ::
-    FrameClockLayoutCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-frameClockLayoutCallbackWrapper _cb _ _ = do
-    _cb 
-
-onFrameClockLayout :: (GObject a, MonadIO m) => a -> FrameClockLayoutCallback -> m SignalHandlerId
-onFrameClockLayout obj cb = liftIO $ connectFrameClockLayout obj cb SignalConnectBefore
-afterFrameClockLayout :: (GObject a, MonadIO m) => a -> FrameClockLayoutCallback -> m SignalHandlerId
-afterFrameClockLayout obj cb = connectFrameClockLayout obj cb SignalConnectAfter
-
-connectFrameClockLayout :: (GObject a, MonadIO m) =>
-                           a -> FrameClockLayoutCallback -> SignalConnectMode -> m SignalHandlerId
-connectFrameClockLayout obj cb after = liftIO $ do
-    cb' <- mkFrameClockLayoutCallback (frameClockLayoutCallbackWrapper cb)
-    connectSignalFunPtr obj "layout" cb' after
-
--- signal FrameClock::paint
-type FrameClockPaintCallback =
-    IO ()
-
-noFrameClockPaintCallback :: Maybe FrameClockPaintCallback
-noFrameClockPaintCallback = Nothing
-
-type FrameClockPaintCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkFrameClockPaintCallback :: FrameClockPaintCallbackC -> IO (FunPtr FrameClockPaintCallbackC)
-
-frameClockPaintClosure :: FrameClockPaintCallback -> IO Closure
-frameClockPaintClosure cb = newCClosure =<< mkFrameClockPaintCallback wrapped
-    where wrapped = frameClockPaintCallbackWrapper cb
-
-frameClockPaintCallbackWrapper ::
-    FrameClockPaintCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-frameClockPaintCallbackWrapper _cb _ _ = do
-    _cb 
-
-onFrameClockPaint :: (GObject a, MonadIO m) => a -> FrameClockPaintCallback -> m SignalHandlerId
-onFrameClockPaint obj cb = liftIO $ connectFrameClockPaint obj cb SignalConnectBefore
-afterFrameClockPaint :: (GObject a, MonadIO m) => a -> FrameClockPaintCallback -> m SignalHandlerId
-afterFrameClockPaint obj cb = connectFrameClockPaint obj cb SignalConnectAfter
-
-connectFrameClockPaint :: (GObject a, MonadIO m) =>
-                          a -> FrameClockPaintCallback -> SignalConnectMode -> m SignalHandlerId
-connectFrameClockPaint obj cb after = liftIO $ do
-    cb' <- mkFrameClockPaintCallback (frameClockPaintCallbackWrapper cb)
-    connectSignalFunPtr obj "paint" cb' after
-
--- signal FrameClock::resume-events
-type FrameClockResumeEventsCallback =
-    IO ()
-
-noFrameClockResumeEventsCallback :: Maybe FrameClockResumeEventsCallback
-noFrameClockResumeEventsCallback = Nothing
-
-type FrameClockResumeEventsCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkFrameClockResumeEventsCallback :: FrameClockResumeEventsCallbackC -> IO (FunPtr FrameClockResumeEventsCallbackC)
-
-frameClockResumeEventsClosure :: FrameClockResumeEventsCallback -> IO Closure
-frameClockResumeEventsClosure cb = newCClosure =<< mkFrameClockResumeEventsCallback wrapped
-    where wrapped = frameClockResumeEventsCallbackWrapper cb
-
-frameClockResumeEventsCallbackWrapper ::
-    FrameClockResumeEventsCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-frameClockResumeEventsCallbackWrapper _cb _ _ = do
-    _cb 
-
-onFrameClockResumeEvents :: (GObject a, MonadIO m) => a -> FrameClockResumeEventsCallback -> m SignalHandlerId
-onFrameClockResumeEvents obj cb = liftIO $ connectFrameClockResumeEvents obj cb SignalConnectBefore
-afterFrameClockResumeEvents :: (GObject a, MonadIO m) => a -> FrameClockResumeEventsCallback -> m SignalHandlerId
-afterFrameClockResumeEvents obj cb = connectFrameClockResumeEvents obj cb SignalConnectAfter
-
-connectFrameClockResumeEvents :: (GObject a, MonadIO m) =>
-                                 a -> FrameClockResumeEventsCallback -> SignalConnectMode -> m SignalHandlerId
-connectFrameClockResumeEvents obj cb after = liftIO $ do
-    cb' <- mkFrameClockResumeEventsCallback (frameClockResumeEventsCallbackWrapper cb)
-    connectSignalFunPtr obj "resume-events" cb' after
-
--- signal FrameClock::update
-type FrameClockUpdateCallback =
-    IO ()
-
-noFrameClockUpdateCallback :: Maybe FrameClockUpdateCallback
-noFrameClockUpdateCallback = Nothing
-
-type FrameClockUpdateCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkFrameClockUpdateCallback :: FrameClockUpdateCallbackC -> IO (FunPtr FrameClockUpdateCallbackC)
-
-frameClockUpdateClosure :: FrameClockUpdateCallback -> IO Closure
-frameClockUpdateClosure cb = newCClosure =<< mkFrameClockUpdateCallback wrapped
-    where wrapped = frameClockUpdateCallbackWrapper cb
-
-frameClockUpdateCallbackWrapper ::
-    FrameClockUpdateCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-frameClockUpdateCallbackWrapper _cb _ _ = do
-    _cb 
-
-onFrameClockUpdate :: (GObject a, MonadIO m) => a -> FrameClockUpdateCallback -> m SignalHandlerId
-onFrameClockUpdate obj cb = liftIO $ connectFrameClockUpdate obj cb SignalConnectBefore
-afterFrameClockUpdate :: (GObject a, MonadIO m) => a -> FrameClockUpdateCallback -> m SignalHandlerId
-afterFrameClockUpdate obj cb = connectFrameClockUpdate obj cb SignalConnectAfter
-
-connectFrameClockUpdate :: (GObject a, MonadIO m) =>
-                           a -> FrameClockUpdateCallback -> SignalConnectMode -> m SignalHandlerId
-connectFrameClockUpdate obj cb after = liftIO $ do
-    cb' <- mkFrameClockUpdateCallback (frameClockUpdateCallbackWrapper cb)
-    connectSignalFunPtr obj "update" cb' after
-
-type instance AttributeList FrameClock = FrameClockAttributeList
-type FrameClockAttributeList = ('[ ] :: [(Symbol, *)])
-
-data FrameClockAfterPaintSignalInfo
-instance SignalInfo FrameClockAfterPaintSignalInfo where
-    type HaskellCallbackType FrameClockAfterPaintSignalInfo = FrameClockAfterPaintCallback
-    connectSignal _ = connectFrameClockAfterPaint
-
-data FrameClockBeforePaintSignalInfo
-instance SignalInfo FrameClockBeforePaintSignalInfo where
-    type HaskellCallbackType FrameClockBeforePaintSignalInfo = FrameClockBeforePaintCallback
-    connectSignal _ = connectFrameClockBeforePaint
-
-data FrameClockFlushEventsSignalInfo
-instance SignalInfo FrameClockFlushEventsSignalInfo where
-    type HaskellCallbackType FrameClockFlushEventsSignalInfo = FrameClockFlushEventsCallback
-    connectSignal _ = connectFrameClockFlushEvents
-
-data FrameClockLayoutSignalInfo
-instance SignalInfo FrameClockLayoutSignalInfo where
-    type HaskellCallbackType FrameClockLayoutSignalInfo = FrameClockLayoutCallback
-    connectSignal _ = connectFrameClockLayout
-
-data FrameClockPaintSignalInfo
-instance SignalInfo FrameClockPaintSignalInfo where
-    type HaskellCallbackType FrameClockPaintSignalInfo = FrameClockPaintCallback
-    connectSignal _ = connectFrameClockPaint
-
-data FrameClockResumeEventsSignalInfo
-instance SignalInfo FrameClockResumeEventsSignalInfo where
-    type HaskellCallbackType FrameClockResumeEventsSignalInfo = FrameClockResumeEventsCallback
-    connectSignal _ = connectFrameClockResumeEvents
-
-data FrameClockUpdateSignalInfo
-instance SignalInfo FrameClockUpdateSignalInfo where
-    type HaskellCallbackType FrameClockUpdateSignalInfo = FrameClockUpdateCallback
-    connectSignal _ = connectFrameClockUpdate
-
-type instance SignalList FrameClock = FrameClockSignalList
-type FrameClockSignalList = ('[ '("after-paint", FrameClockAfterPaintSignalInfo), '("before-paint", FrameClockBeforePaintSignalInfo), '("flush-events", FrameClockFlushEventsSignalInfo), '("layout", FrameClockLayoutSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("paint", FrameClockPaintSignalInfo), '("resume-events", FrameClockResumeEventsSignalInfo), '("update", FrameClockUpdateSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-
--- method FrameClock::begin_updating
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_frame_clock_begin_updating" gdk_frame_clock_begin_updating :: 
-    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"
-    IO ()
-
-
-frameClockBeginUpdating ::
-    (MonadIO m, FrameClockK a) =>
-    a ->                                    -- _obj
-    m ()
-frameClockBeginUpdating _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_frame_clock_begin_updating _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method FrameClock::end_updating
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_frame_clock_end_updating" gdk_frame_clock_end_updating :: 
-    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"
-    IO ()
-
-
-frameClockEndUpdating ::
-    (MonadIO m, FrameClockK a) =>
-    a ->                                    -- _obj
-    m ()
-frameClockEndUpdating _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_frame_clock_end_updating _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method FrameClock::get_current_timings
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "FrameTimings"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_frame_clock_get_current_timings" gdk_frame_clock_get_current_timings :: 
-    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"
-    IO (Ptr FrameTimings)
-
-
-frameClockGetCurrentTimings ::
-    (MonadIO m, FrameClockK a) =>
-    a ->                                    -- _obj
-    m FrameTimings
-frameClockGetCurrentTimings _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_frame_clock_get_current_timings _obj'
-    checkUnexpectedReturnNULL "gdk_frame_clock_get_current_timings" result
-    result' <- (wrapBoxed FrameTimings) result
-    touchManagedPtr _obj
-    return result'
-
--- method FrameClock::get_frame_counter
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt64
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_frame_clock_get_frame_counter" gdk_frame_clock_get_frame_counter :: 
-    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"
-    IO Int64
-
-
-frameClockGetFrameCounter ::
-    (MonadIO m, FrameClockK a) =>
-    a ->                                    -- _obj
-    m Int64
-frameClockGetFrameCounter _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_frame_clock_get_frame_counter _obj'
-    touchManagedPtr _obj
-    return result
-
--- method FrameClock::get_frame_time
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt64
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_frame_clock_get_frame_time" gdk_frame_clock_get_frame_time :: 
-    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"
-    IO Int64
-
-
-frameClockGetFrameTime ::
-    (MonadIO m, FrameClockK a) =>
-    a ->                                    -- _obj
-    m Int64
-frameClockGetFrameTime _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_frame_clock_get_frame_time _obj'
-    touchManagedPtr _obj
-    return result
-
--- method FrameClock::get_history_start
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt64
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_frame_clock_get_history_start" gdk_frame_clock_get_history_start :: 
-    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"
-    IO Int64
-
-
-frameClockGetHistoryStart ::
-    (MonadIO m, FrameClockK a) =>
-    a ->                                    -- _obj
-    m Int64
-frameClockGetHistoryStart _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_frame_clock_get_history_start _obj'
-    touchManagedPtr _obj
-    return result
-
--- method FrameClock::get_refresh_info
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_time", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "refresh_interval_return", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "presentation_time_return", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_time", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "refresh_interval_return", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "presentation_time_return", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_frame_clock_get_refresh_info" gdk_frame_clock_get_refresh_info :: 
-    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"
-    Int64 ->                                -- base_time : TBasicType TInt64
-    Int64 ->                                -- refresh_interval_return : TBasicType TInt64
-    Int64 ->                                -- presentation_time_return : TBasicType TInt64
-    IO ()
-
-
-frameClockGetRefreshInfo ::
-    (MonadIO m, FrameClockK a) =>
-    a ->                                    -- _obj
-    Int64 ->                                -- base_time
-    Int64 ->                                -- refresh_interval_return
-    Int64 ->                                -- presentation_time_return
-    m ()
-frameClockGetRefreshInfo _obj base_time refresh_interval_return presentation_time_return = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_frame_clock_get_refresh_info _obj' base_time refresh_interval_return presentation_time_return
-    touchManagedPtr _obj
-    return ()
-
--- method FrameClock::get_timings
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "frame_counter", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "frame_counter", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "FrameTimings"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_frame_clock_get_timings" gdk_frame_clock_get_timings :: 
-    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"
-    Int64 ->                                -- frame_counter : TBasicType TInt64
-    IO (Ptr FrameTimings)
-
-
-frameClockGetTimings ::
-    (MonadIO m, FrameClockK a) =>
-    a ->                                    -- _obj
-    Int64 ->                                -- frame_counter
-    m FrameTimings
-frameClockGetTimings _obj frame_counter = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_frame_clock_get_timings _obj' frame_counter
-    checkUnexpectedReturnNULL "gdk_frame_clock_get_timings" result
-    result' <- (wrapBoxed FrameTimings) result
-    touchManagedPtr _obj
-    return result'
-
--- method FrameClock::request_phase
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "phase", argType = TInterface "Gdk" "FrameClockPhase", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameClock", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "phase", argType = TInterface "Gdk" "FrameClockPhase", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_frame_clock_request_phase" gdk_frame_clock_request_phase :: 
-    Ptr FrameClock ->                       -- _obj : TInterface "Gdk" "FrameClock"
-    CUInt ->                                -- phase : TInterface "Gdk" "FrameClockPhase"
-    IO ()
-
-
-frameClockRequestPhase ::
-    (MonadIO m, FrameClockK a) =>
-    a ->                                    -- _obj
-    [FrameClockPhase] ->                    -- phase
-    m ()
-frameClockRequestPhase _obj phase = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let phase' = gflagsToWord phase
-    gdk_frame_clock_request_phase _obj' phase'
-    touchManagedPtr _obj
-    return ()
-
-
diff --git a/GI/Gdk/Objects/FrameClock.hs-boot b/GI/Gdk/Objects/FrameClock.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Objects/FrameClock.hs-boot
+++ /dev/null
@@ -1,20 +0,0 @@
-module GI.Gdk.Objects.FrameClock 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
-
-newtype FrameClock = FrameClock (ForeignPtr FrameClock)
-instance GObject FrameClock where
-class GObject o => FrameClockK o
-instance (GObject o, IsDescendantOf FrameClock o) => FrameClockK o
-data FrameClockAfterPaintSignalInfo
-data FrameClockBeforePaintSignalInfo
-data FrameClockFlushEventsSignalInfo
-data FrameClockLayoutSignalInfo
-data FrameClockPaintSignalInfo
-data FrameClockResumeEventsSignalInfo
-data FrameClockUpdateSignalInfo
diff --git a/GI/Gdk/Objects/GLContext.hs b/GI/Gdk/Objects/GLContext.hs
deleted file mode 100644
--- a/GI/Gdk/Objects/GLContext.hs
+++ /dev/null
@@ -1,536 +0,0 @@
-
-{- |
-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.Gdk.Objects.GLContext
-    ( 
-
--- * Exported types
-    GLContext(..)                           ,
-    GLContextK                              ,
-    toGLContext                             ,
-    noGLContext                             ,
-
-
- -- * Methods
--- ** gLContextClearCurrent
-    gLContextClearCurrent                   ,
-
-
--- ** gLContextGetCurrent
-    gLContextGetCurrent                     ,
-
-
--- ** gLContextGetDebugEnabled
-    gLContextGetDebugEnabled                ,
-
-
--- ** gLContextGetDisplay
-    gLContextGetDisplay                     ,
-
-
--- ** gLContextGetForwardCompatible
-    gLContextGetForwardCompatible           ,
-
-
--- ** gLContextGetSharedContext
-    gLContextGetSharedContext               ,
-
-
--- ** gLContextGetVersion
-    gLContextGetVersion                     ,
-
-
--- ** gLContextGetWindow
-    gLContextGetWindow                      ,
-
-
--- ** gLContextMakeCurrent
-    gLContextMakeCurrent                    ,
-
-
--- ** gLContextRealize
-    gLContextRealize                        ,
-
-
--- ** gLContextSetDebugEnabled
-    gLContextSetDebugEnabled                ,
-
-
--- ** gLContextSetForwardCompatible
-    gLContextSetForwardCompatible           ,
-
-
--- ** gLContextSetRequiredVersion
-    gLContextSetRequiredVersion             ,
-
-
-
-
- -- * Properties
--- ** Display
-    GLContextDisplayPropertyInfo            ,
-    constructGLContextDisplay               ,
-    getGLContextDisplay                     ,
-
-
--- ** SharedContext
-    GLContextSharedContextPropertyInfo      ,
-    constructGLContextSharedContext         ,
-    getGLContextSharedContext               ,
-
-
--- ** Window
-    GLContextWindowPropertyInfo             ,
-    constructGLContextWindow                ,
-    getGLContextWindow                      ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-import qualified GI.GObject as GObject
-
-newtype GLContext = GLContext (ForeignPtr GLContext)
-foreign import ccall "gdk_gl_context_get_type"
-    c_gdk_gl_context_get_type :: IO GType
-
-type instance ParentTypes GLContext = GLContextParentTypes
-type GLContextParentTypes = '[GObject.Object]
-
-instance GObject GLContext where
-    gobjectIsInitiallyUnowned _ = False
-    gobjectType _ = c_gdk_gl_context_get_type
-    
-
-class GObject o => GLContextK o
-instance (GObject o, IsDescendantOf GLContext o) => GLContextK o
-
-toGLContext :: GLContextK o => o -> IO GLContext
-toGLContext = unsafeCastTo GLContext
-
-noGLContext :: Maybe GLContext
-noGLContext = Nothing
-
--- VVV Prop "display"
-   -- Type: TInterface "Gdk" "Display"
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-
-getGLContextDisplay :: (MonadIO m, GLContextK o) => o -> m Display
-getGLContextDisplay obj = liftIO $ getObjectPropertyObject obj "display" Display
-
-constructGLContextDisplay :: (DisplayK a) => a -> IO ([Char], GValue)
-constructGLContextDisplay val = constructObjectPropertyObject "display" val
-
-data GLContextDisplayPropertyInfo
-instance AttrInfo GLContextDisplayPropertyInfo where
-    type AttrAllowedOps GLContextDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint GLContextDisplayPropertyInfo = DisplayK
-    type AttrBaseTypeConstraint GLContextDisplayPropertyInfo = GLContextK
-    type AttrGetType GLContextDisplayPropertyInfo = Display
-    type AttrLabel GLContextDisplayPropertyInfo = "GLContext::display"
-    attrGet _ = getGLContextDisplay
-    attrSet _ = undefined
-    attrConstruct _ = constructGLContextDisplay
-
--- VVV Prop "shared-context"
-   -- Type: TInterface "Gdk" "GLContext"
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-
-getGLContextSharedContext :: (MonadIO m, GLContextK o) => o -> m GLContext
-getGLContextSharedContext obj = liftIO $ getObjectPropertyObject obj "shared-context" GLContext
-
-constructGLContextSharedContext :: (GLContextK a) => a -> IO ([Char], GValue)
-constructGLContextSharedContext val = constructObjectPropertyObject "shared-context" val
-
-data GLContextSharedContextPropertyInfo
-instance AttrInfo GLContextSharedContextPropertyInfo where
-    type AttrAllowedOps GLContextSharedContextPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint GLContextSharedContextPropertyInfo = GLContextK
-    type AttrBaseTypeConstraint GLContextSharedContextPropertyInfo = GLContextK
-    type AttrGetType GLContextSharedContextPropertyInfo = GLContext
-    type AttrLabel GLContextSharedContextPropertyInfo = "GLContext::shared-context"
-    attrGet _ = getGLContextSharedContext
-    attrSet _ = undefined
-    attrConstruct _ = constructGLContextSharedContext
-
--- VVV Prop "window"
-   -- Type: TInterface "Gdk" "Window"
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-
-getGLContextWindow :: (MonadIO m, GLContextK o) => o -> m Window
-getGLContextWindow obj = liftIO $ getObjectPropertyObject obj "window" Window
-
-constructGLContextWindow :: (WindowK a) => a -> IO ([Char], GValue)
-constructGLContextWindow val = constructObjectPropertyObject "window" val
-
-data GLContextWindowPropertyInfo
-instance AttrInfo GLContextWindowPropertyInfo where
-    type AttrAllowedOps GLContextWindowPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint GLContextWindowPropertyInfo = WindowK
-    type AttrBaseTypeConstraint GLContextWindowPropertyInfo = GLContextK
-    type AttrGetType GLContextWindowPropertyInfo = Window
-    type AttrLabel GLContextWindowPropertyInfo = "GLContext::window"
-    attrGet _ = getGLContextWindow
-    attrSet _ = undefined
-    attrConstruct _ = constructGLContextWindow
-
-type instance AttributeList GLContext = GLContextAttributeList
-type GLContextAttributeList = ('[ '("display", GLContextDisplayPropertyInfo), '("shared-context", GLContextSharedContextPropertyInfo), '("window", GLContextWindowPropertyInfo)] :: [(Symbol, *)])
-
-type instance SignalList GLContext = GLContextSignalList
-type GLContextSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-
--- method GLContext::get_debug_enabled
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_gl_context_get_debug_enabled" gdk_gl_context_get_debug_enabled :: 
-    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
-    IO CInt
-
-
-gLContextGetDebugEnabled ::
-    (MonadIO m, GLContextK a) =>
-    a ->                                    -- _obj
-    m Bool
-gLContextGetDebugEnabled _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_gl_context_get_debug_enabled _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method GLContext::get_display
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Display"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_gl_context_get_display" gdk_gl_context_get_display :: 
-    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
-    IO (Ptr Display)
-
-
-gLContextGetDisplay ::
-    (MonadIO m, GLContextK a) =>
-    a ->                                    -- _obj
-    m Display
-gLContextGetDisplay _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_gl_context_get_display _obj'
-    checkUnexpectedReturnNULL "gdk_gl_context_get_display" result
-    result' <- (newObject Display) result
-    touchManagedPtr _obj
-    return result'
-
--- method GLContext::get_forward_compatible
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_gl_context_get_forward_compatible" gdk_gl_context_get_forward_compatible :: 
-    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
-    IO CInt
-
-
-gLContextGetForwardCompatible ::
-    (MonadIO m, GLContextK a) =>
-    a ->                                    -- _obj
-    m Bool
-gLContextGetForwardCompatible _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_gl_context_get_forward_compatible _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- XXX Could not generate method GLContext::get_required_version
--- Error was : Bad introspection data: "argument \"major\" is not of nullable type (TBasicType TInt32), but it is marked as such."
--- method GLContext::get_shared_context
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "GLContext"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_gl_context_get_shared_context" gdk_gl_context_get_shared_context :: 
-    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
-    IO (Ptr GLContext)
-
-
-gLContextGetSharedContext ::
-    (MonadIO m, GLContextK a) =>
-    a ->                                    -- _obj
-    m GLContext
-gLContextGetSharedContext _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_gl_context_get_shared_context _obj'
-    checkUnexpectedReturnNULL "gdk_gl_context_get_shared_context" result
-    result' <- (newObject GLContext) result
-    touchManagedPtr _obj
-    return result'
-
--- method GLContext::get_version
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "major", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "minor", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_gl_context_get_version" gdk_gl_context_get_version :: 
-    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
-    Ptr Int32 ->                            -- major : TBasicType TInt32
-    Ptr Int32 ->                            -- minor : TBasicType TInt32
-    IO ()
-
-
-gLContextGetVersion ::
-    (MonadIO m, GLContextK a) =>
-    a ->                                    -- _obj
-    m (Int32,Int32)
-gLContextGetVersion _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    major <- allocMem :: IO (Ptr Int32)
-    minor <- allocMem :: IO (Ptr Int32)
-    gdk_gl_context_get_version _obj' major minor
-    major' <- peek major
-    minor' <- peek minor
-    touchManagedPtr _obj
-    freeMem major
-    freeMem minor
-    return (major', minor')
-
--- method GLContext::get_window
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_gl_context_get_window" gdk_gl_context_get_window :: 
-    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
-    IO (Ptr Window)
-
-
-gLContextGetWindow ::
-    (MonadIO m, GLContextK a) =>
-    a ->                                    -- _obj
-    m Window
-gLContextGetWindow _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_gl_context_get_window _obj'
-    checkUnexpectedReturnNULL "gdk_gl_context_get_window" result
-    result' <- (newObject Window) result
-    touchManagedPtr _obj
-    return result'
-
--- method GLContext::make_current
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_gl_context_make_current" gdk_gl_context_make_current :: 
-    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
-    IO ()
-
-
-gLContextMakeCurrent ::
-    (MonadIO m, GLContextK a) =>
-    a ->                                    -- _obj
-    m ()
-gLContextMakeCurrent _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_gl_context_make_current _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method GLContext::realize
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : True
--- Skip return : False
-
-foreign import ccall "gdk_gl_context_realize" gdk_gl_context_realize :: 
-    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
-    Ptr (Ptr GError) ->                     -- error
-    IO CInt
-
-
-gLContextRealize ::
-    (MonadIO m, GLContextK a) =>
-    a ->                                    -- _obj
-    m ()
-gLContextRealize _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    onException (do
-        _ <- propagateGError $ gdk_gl_context_realize _obj'
-        touchManagedPtr _obj
-        return ()
-     ) (do
-        return ()
-     )
-
--- method GLContext::set_debug_enabled
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_gl_context_set_debug_enabled" gdk_gl_context_set_debug_enabled :: 
-    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
-    CInt ->                                 -- enabled : TBasicType TBoolean
-    IO ()
-
-
-gLContextSetDebugEnabled ::
-    (MonadIO m, GLContextK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- enabled
-    m ()
-gLContextSetDebugEnabled _obj enabled = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let enabled' = (fromIntegral . fromEnum) enabled
-    gdk_gl_context_set_debug_enabled _obj' enabled'
-    touchManagedPtr _obj
-    return ()
-
--- method GLContext::set_forward_compatible
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "compatible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "compatible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_gl_context_set_forward_compatible" gdk_gl_context_set_forward_compatible :: 
-    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
-    CInt ->                                 -- compatible : TBasicType TBoolean
-    IO ()
-
-
-gLContextSetForwardCompatible ::
-    (MonadIO m, GLContextK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- compatible
-    m ()
-gLContextSetForwardCompatible _obj compatible = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let compatible' = (fromIntegral . fromEnum) compatible
-    gdk_gl_context_set_forward_compatible _obj' compatible'
-    touchManagedPtr _obj
-    return ()
-
--- method GLContext::set_required_version
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "major", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minor", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "GLContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "major", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "minor", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_gl_context_set_required_version" gdk_gl_context_set_required_version :: 
-    Ptr GLContext ->                        -- _obj : TInterface "Gdk" "GLContext"
-    Int32 ->                                -- major : TBasicType TInt32
-    Int32 ->                                -- minor : TBasicType TInt32
-    IO ()
-
-
-gLContextSetRequiredVersion ::
-    (MonadIO m, GLContextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- major
-    Int32 ->                                -- minor
-    m ()
-gLContextSetRequiredVersion _obj major minor = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_gl_context_set_required_version _obj' major minor
-    touchManagedPtr _obj
-    return ()
-
--- method GLContext::clear_current
--- method type : MemberFunction
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_gl_context_clear_current" gdk_gl_context_clear_current :: 
-    IO ()
-
-
-gLContextClearCurrent ::
-    (MonadIO m) =>
-    m ()
-gLContextClearCurrent  = liftIO $ do
-    gdk_gl_context_clear_current
-    return ()
-
--- method GLContext::get_current
--- method type : MemberFunction
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TInterface "Gdk" "GLContext"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_gl_context_get_current" gdk_gl_context_get_current :: 
-    IO (Ptr GLContext)
-
-
-gLContextGetCurrent ::
-    (MonadIO m) =>
-    m GLContext
-gLContextGetCurrent  = liftIO $ do
-    result <- gdk_gl_context_get_current
-    checkUnexpectedReturnNULL "gdk_gl_context_get_current" result
-    result' <- (newObject GLContext) result
-    return result'
-
-
diff --git a/GI/Gdk/Objects/GLContext.hs-boot b/GI/Gdk/Objects/GLContext.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Objects/GLContext.hs-boot
+++ /dev/null
@@ -1,16 +0,0 @@
-module GI.Gdk.Objects.GLContext 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
-
-newtype GLContext = GLContext (ForeignPtr GLContext)
-instance GObject GLContext where
-class GObject o => GLContextK o
-instance (GObject o, IsDescendantOf GLContext o) => GLContextK o
-data GLContextDisplayPropertyInfo
-data GLContextSharedContextPropertyInfo
-data GLContextWindowPropertyInfo
diff --git a/GI/Gdk/Objects/Keymap.hs b/GI/Gdk/Objects/Keymap.hs
deleted file mode 100644
--- a/GI/Gdk/Objects/Keymap.hs
+++ /dev/null
@@ -1,710 +0,0 @@
-
-{- |
-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.Gdk.Objects.Keymap
-    ( 
-
--- * Exported types
-    Keymap(..)                              ,
-    KeymapK                                 ,
-    toKeymap                                ,
-    noKeymap                                ,
-
-
- -- * Methods
--- ** keymapAddVirtualModifiers
-    keymapAddVirtualModifiers               ,
-
-
--- ** keymapGetCapsLockState
-    keymapGetCapsLockState                  ,
-
-
--- ** keymapGetDefault
-    keymapGetDefault                        ,
-
-
--- ** keymapGetDirection
-    keymapGetDirection                      ,
-
-
--- ** keymapGetEntriesForKeycode
-    keymapGetEntriesForKeycode              ,
-
-
--- ** keymapGetEntriesForKeyval
-    keymapGetEntriesForKeyval               ,
-
-
--- ** keymapGetForDisplay
-    keymapGetForDisplay                     ,
-
-
--- ** keymapGetModifierMask
-    keymapGetModifierMask                   ,
-
-
--- ** keymapGetModifierState
-    keymapGetModifierState                  ,
-
-
--- ** keymapGetNumLockState
-    keymapGetNumLockState                   ,
-
-
--- ** keymapHaveBidiLayouts
-    keymapHaveBidiLayouts                   ,
-
-
--- ** keymapLookupKey
-    keymapLookupKey                         ,
-
-
--- ** keymapMapVirtualModifiers
-    keymapMapVirtualModifiers               ,
-
-
--- ** keymapTranslateKeyboardState
-    keymapTranslateKeyboardState            ,
-
-
-
-
- -- * Signals
--- ** DirectionChanged
-    KeymapDirectionChangedCallback          ,
-    KeymapDirectionChangedCallbackC         ,
-    KeymapDirectionChangedSignalInfo        ,
-    afterKeymapDirectionChanged             ,
-    keymapDirectionChangedCallbackWrapper   ,
-    keymapDirectionChangedClosure           ,
-    mkKeymapDirectionChangedCallback        ,
-    noKeymapDirectionChangedCallback        ,
-    onKeymapDirectionChanged                ,
-
-
--- ** KeysChanged
-    KeymapKeysChangedCallback               ,
-    KeymapKeysChangedCallbackC              ,
-    KeymapKeysChangedSignalInfo             ,
-    afterKeymapKeysChanged                  ,
-    keymapKeysChangedCallbackWrapper        ,
-    keymapKeysChangedClosure                ,
-    mkKeymapKeysChangedCallback             ,
-    noKeymapKeysChangedCallback             ,
-    onKeymapKeysChanged                     ,
-
-
--- ** StateChanged
-    KeymapStateChangedCallback              ,
-    KeymapStateChangedCallbackC             ,
-    KeymapStateChangedSignalInfo            ,
-    afterKeymapStateChanged                 ,
-    keymapStateChangedCallbackWrapper       ,
-    keymapStateChangedClosure               ,
-    mkKeymapStateChangedCallback            ,
-    noKeymapStateChangedCallback            ,
-    onKeymapStateChanged                    ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-import qualified GI.GObject as GObject
-import qualified GI.Pango as Pango
-
-newtype Keymap = Keymap (ForeignPtr Keymap)
-foreign import ccall "gdk_keymap_get_type"
-    c_gdk_keymap_get_type :: IO GType
-
-type instance ParentTypes Keymap = KeymapParentTypes
-type KeymapParentTypes = '[GObject.Object]
-
-instance GObject Keymap where
-    gobjectIsInitiallyUnowned _ = False
-    gobjectType _ = c_gdk_keymap_get_type
-    
-
-class GObject o => KeymapK o
-instance (GObject o, IsDescendantOf Keymap o) => KeymapK o
-
-toKeymap :: KeymapK o => o -> IO Keymap
-toKeymap = unsafeCastTo Keymap
-
-noKeymap :: Maybe Keymap
-noKeymap = Nothing
-
--- signal Keymap::direction-changed
-type KeymapDirectionChangedCallback =
-    IO ()
-
-noKeymapDirectionChangedCallback :: Maybe KeymapDirectionChangedCallback
-noKeymapDirectionChangedCallback = Nothing
-
-type KeymapDirectionChangedCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkKeymapDirectionChangedCallback :: KeymapDirectionChangedCallbackC -> IO (FunPtr KeymapDirectionChangedCallbackC)
-
-keymapDirectionChangedClosure :: KeymapDirectionChangedCallback -> IO Closure
-keymapDirectionChangedClosure cb = newCClosure =<< mkKeymapDirectionChangedCallback wrapped
-    where wrapped = keymapDirectionChangedCallbackWrapper cb
-
-keymapDirectionChangedCallbackWrapper ::
-    KeymapDirectionChangedCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-keymapDirectionChangedCallbackWrapper _cb _ _ = do
-    _cb 
-
-onKeymapDirectionChanged :: (GObject a, MonadIO m) => a -> KeymapDirectionChangedCallback -> m SignalHandlerId
-onKeymapDirectionChanged obj cb = liftIO $ connectKeymapDirectionChanged obj cb SignalConnectBefore
-afterKeymapDirectionChanged :: (GObject a, MonadIO m) => a -> KeymapDirectionChangedCallback -> m SignalHandlerId
-afterKeymapDirectionChanged obj cb = connectKeymapDirectionChanged obj cb SignalConnectAfter
-
-connectKeymapDirectionChanged :: (GObject a, MonadIO m) =>
-                                 a -> KeymapDirectionChangedCallback -> SignalConnectMode -> m SignalHandlerId
-connectKeymapDirectionChanged obj cb after = liftIO $ do
-    cb' <- mkKeymapDirectionChangedCallback (keymapDirectionChangedCallbackWrapper cb)
-    connectSignalFunPtr obj "direction-changed" cb' after
-
--- signal Keymap::keys-changed
-type KeymapKeysChangedCallback =
-    IO ()
-
-noKeymapKeysChangedCallback :: Maybe KeymapKeysChangedCallback
-noKeymapKeysChangedCallback = Nothing
-
-type KeymapKeysChangedCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkKeymapKeysChangedCallback :: KeymapKeysChangedCallbackC -> IO (FunPtr KeymapKeysChangedCallbackC)
-
-keymapKeysChangedClosure :: KeymapKeysChangedCallback -> IO Closure
-keymapKeysChangedClosure cb = newCClosure =<< mkKeymapKeysChangedCallback wrapped
-    where wrapped = keymapKeysChangedCallbackWrapper cb
-
-keymapKeysChangedCallbackWrapper ::
-    KeymapKeysChangedCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-keymapKeysChangedCallbackWrapper _cb _ _ = do
-    _cb 
-
-onKeymapKeysChanged :: (GObject a, MonadIO m) => a -> KeymapKeysChangedCallback -> m SignalHandlerId
-onKeymapKeysChanged obj cb = liftIO $ connectKeymapKeysChanged obj cb SignalConnectBefore
-afterKeymapKeysChanged :: (GObject a, MonadIO m) => a -> KeymapKeysChangedCallback -> m SignalHandlerId
-afterKeymapKeysChanged obj cb = connectKeymapKeysChanged obj cb SignalConnectAfter
-
-connectKeymapKeysChanged :: (GObject a, MonadIO m) =>
-                            a -> KeymapKeysChangedCallback -> SignalConnectMode -> m SignalHandlerId
-connectKeymapKeysChanged obj cb after = liftIO $ do
-    cb' <- mkKeymapKeysChangedCallback (keymapKeysChangedCallbackWrapper cb)
-    connectSignalFunPtr obj "keys-changed" cb' after
-
--- signal Keymap::state-changed
-type KeymapStateChangedCallback =
-    IO ()
-
-noKeymapStateChangedCallback :: Maybe KeymapStateChangedCallback
-noKeymapStateChangedCallback = Nothing
-
-type KeymapStateChangedCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkKeymapStateChangedCallback :: KeymapStateChangedCallbackC -> IO (FunPtr KeymapStateChangedCallbackC)
-
-keymapStateChangedClosure :: KeymapStateChangedCallback -> IO Closure
-keymapStateChangedClosure cb = newCClosure =<< mkKeymapStateChangedCallback wrapped
-    where wrapped = keymapStateChangedCallbackWrapper cb
-
-keymapStateChangedCallbackWrapper ::
-    KeymapStateChangedCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-keymapStateChangedCallbackWrapper _cb _ _ = do
-    _cb 
-
-onKeymapStateChanged :: (GObject a, MonadIO m) => a -> KeymapStateChangedCallback -> m SignalHandlerId
-onKeymapStateChanged obj cb = liftIO $ connectKeymapStateChanged obj cb SignalConnectBefore
-afterKeymapStateChanged :: (GObject a, MonadIO m) => a -> KeymapStateChangedCallback -> m SignalHandlerId
-afterKeymapStateChanged obj cb = connectKeymapStateChanged obj cb SignalConnectAfter
-
-connectKeymapStateChanged :: (GObject a, MonadIO m) =>
-                             a -> KeymapStateChangedCallback -> SignalConnectMode -> m SignalHandlerId
-connectKeymapStateChanged obj cb after = liftIO $ do
-    cb' <- mkKeymapStateChangedCallback (keymapStateChangedCallbackWrapper cb)
-    connectSignalFunPtr obj "state-changed" cb' after
-
-type instance AttributeList Keymap = KeymapAttributeList
-type KeymapAttributeList = ('[ ] :: [(Symbol, *)])
-
-data KeymapDirectionChangedSignalInfo
-instance SignalInfo KeymapDirectionChangedSignalInfo where
-    type HaskellCallbackType KeymapDirectionChangedSignalInfo = KeymapDirectionChangedCallback
-    connectSignal _ = connectKeymapDirectionChanged
-
-data KeymapKeysChangedSignalInfo
-instance SignalInfo KeymapKeysChangedSignalInfo where
-    type HaskellCallbackType KeymapKeysChangedSignalInfo = KeymapKeysChangedCallback
-    connectSignal _ = connectKeymapKeysChanged
-
-data KeymapStateChangedSignalInfo
-instance SignalInfo KeymapStateChangedSignalInfo where
-    type HaskellCallbackType KeymapStateChangedSignalInfo = KeymapStateChangedCallback
-    connectSignal _ = connectKeymapStateChanged
-
-type instance SignalList Keymap = KeymapSignalList
-type KeymapSignalList = ('[ '("direction-changed", KeymapDirectionChangedSignalInfo), '("keys-changed", KeymapKeysChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("state-changed", KeymapStateChangedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-
--- method Keymap::add_virtual_modifiers
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TInterface "Gdk" "ModifierType", direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TInterface "Gdk" "ModifierType", direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keymap_add_virtual_modifiers" gdk_keymap_add_virtual_modifiers :: 
-    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
-    Ptr CUInt ->                            -- state : TInterface "Gdk" "ModifierType"
-    IO ()
-
-
-keymapAddVirtualModifiers ::
-    (MonadIO m, KeymapK a) =>
-    a ->                                    -- _obj
-    [ModifierType] ->                       -- state
-    m ([ModifierType])
-keymapAddVirtualModifiers _obj state = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let state' = gflagsToWord state
-    state'' <- allocMem :: IO (Ptr CUInt)
-    poke state'' state'
-    gdk_keymap_add_virtual_modifiers _obj' state''
-    state''' <- peek state''
-    let state'''' = wordToGFlags state'''
-    touchManagedPtr _obj
-    freeMem state''
-    return state''''
-
--- method Keymap::get_caps_lock_state
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keymap_get_caps_lock_state" gdk_keymap_get_caps_lock_state :: 
-    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
-    IO CInt
-
-
-keymapGetCapsLockState ::
-    (MonadIO m, KeymapK a) =>
-    a ->                                    -- _obj
-    m Bool
-keymapGetCapsLockState _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_keymap_get_caps_lock_state _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Keymap::get_direction
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Pango" "Direction"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keymap_get_direction" gdk_keymap_get_direction :: 
-    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
-    IO CUInt
-
-
-keymapGetDirection ::
-    (MonadIO m, KeymapK a) =>
-    a ->                                    -- _obj
-    m Pango.Direction
-keymapGetDirection _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_keymap_get_direction _obj'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr _obj
-    return result'
-
--- method Keymap::get_entries_for_keycode
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hardware_keycode", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keys", argType = TCArray False (-1) 4 (TInterface "Gdk" "KeymapKey"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "keyvals", argType = TCArray False (-1) 4 (TBasicType TUInt32), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_entries", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : [Arg {argName = "n_entries", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_entries", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hardware_keycode", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keymap_get_entries_for_keycode" gdk_keymap_get_entries_for_keycode :: 
-    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
-    Word32 ->                               -- hardware_keycode : TBasicType TUInt32
-    Ptr (Ptr KeymapKey) ->                  -- keys : TCArray False (-1) 4 (TInterface "Gdk" "KeymapKey")
-    Ptr (Ptr Word32) ->                     -- keyvals : TCArray False (-1) 4 (TBasicType TUInt32)
-    Ptr Int32 ->                            -- n_entries : TBasicType TInt32
-    IO CInt
-
-
-keymapGetEntriesForKeycode ::
-    (MonadIO m, KeymapK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- hardware_keycode
-    m (Bool,[KeymapKey],[Word32])
-keymapGetEntriesForKeycode _obj hardware_keycode = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    keys <- allocMem :: IO (Ptr (Ptr KeymapKey))
-    keyvals <- allocMem :: IO (Ptr (Ptr Word32))
-    n_entries <- allocMem :: IO (Ptr Int32)
-    result <- gdk_keymap_get_entries_for_keycode _obj' hardware_keycode keys keyvals n_entries
-    n_entries' <- peek n_entries
-    let result' = (/= 0) result
-    keys' <- peek keys
-    keys'' <- (unpackBlockArrayWithLength 12 n_entries') keys'
-    keys''' <- mapM (wrapPtr KeymapKey) keys''
-    freeMem keys'
-    keyvals' <- peek keyvals
-    keyvals'' <- (unpackStorableArrayWithLength n_entries') keyvals'
-    freeMem keyvals'
-    touchManagedPtr _obj
-    freeMem keys
-    freeMem keyvals
-    freeMem n_entries
-    return (result', keys''', keyvals'')
-
--- method Keymap::get_entries_for_keyval
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keys", argType = TCArray False (-1) 3 (TInterface "Gdk" "KeymapKey"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_keys", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : [Arg {argName = "n_keys", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keymap_get_entries_for_keyval" gdk_keymap_get_entries_for_keyval :: 
-    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
-    Word32 ->                               -- keyval : TBasicType TUInt32
-    Ptr (Ptr KeymapKey) ->                  -- keys : TCArray False (-1) 3 (TInterface "Gdk" "KeymapKey")
-    Ptr Int32 ->                            -- n_keys : TBasicType TInt32
-    IO CInt
-
-
-keymapGetEntriesForKeyval ::
-    (MonadIO m, KeymapK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- keyval
-    m (Bool,[KeymapKey])
-keymapGetEntriesForKeyval _obj keyval = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    keys <- allocMem :: IO (Ptr (Ptr KeymapKey))
-    n_keys <- allocMem :: IO (Ptr Int32)
-    result <- gdk_keymap_get_entries_for_keyval _obj' keyval keys n_keys
-    n_keys' <- peek n_keys
-    let result' = (/= 0) result
-    keys' <- peek keys
-    keys'' <- (unpackBlockArrayWithLength 12 n_keys') keys'
-    keys''' <- mapM (wrapPtr KeymapKey) keys''
-    freeMem keys'
-    touchManagedPtr _obj
-    freeMem keys
-    freeMem n_keys
-    return (result', keys''')
-
--- method Keymap::get_modifier_mask
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "intent", argType = TInterface "Gdk" "ModifierIntent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "intent", argType = TInterface "Gdk" "ModifierIntent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "ModifierType"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keymap_get_modifier_mask" gdk_keymap_get_modifier_mask :: 
-    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
-    CUInt ->                                -- intent : TInterface "Gdk" "ModifierIntent"
-    IO CUInt
-
-
-keymapGetModifierMask ::
-    (MonadIO m, KeymapK a) =>
-    a ->                                    -- _obj
-    ModifierIntent ->                       -- intent
-    m [ModifierType]
-keymapGetModifierMask _obj intent = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let intent' = (fromIntegral . fromEnum) intent
-    result <- gdk_keymap_get_modifier_mask _obj' intent'
-    let result' = wordToGFlags result
-    touchManagedPtr _obj
-    return result'
-
--- method Keymap::get_modifier_state
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keymap_get_modifier_state" gdk_keymap_get_modifier_state :: 
-    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
-    IO Word32
-
-
-keymapGetModifierState ::
-    (MonadIO m, KeymapK a) =>
-    a ->                                    -- _obj
-    m Word32
-keymapGetModifierState _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_keymap_get_modifier_state _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Keymap::get_num_lock_state
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keymap_get_num_lock_state" gdk_keymap_get_num_lock_state :: 
-    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
-    IO CInt
-
-
-keymapGetNumLockState ::
-    (MonadIO m, KeymapK a) =>
-    a ->                                    -- _obj
-    m Bool
-keymapGetNumLockState _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_keymap_get_num_lock_state _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Keymap::have_bidi_layouts
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keymap_have_bidi_layouts" gdk_keymap_have_bidi_layouts :: 
-    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
-    IO CInt
-
-
-keymapHaveBidiLayouts ::
-    (MonadIO m, KeymapK a) =>
-    a ->                                    -- _obj
-    m Bool
-keymapHaveBidiLayouts _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_keymap_have_bidi_layouts _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Keymap::lookup_key
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TInterface "Gdk" "KeymapKey", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "key", argType = TInterface "Gdk" "KeymapKey", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keymap_lookup_key" gdk_keymap_lookup_key :: 
-    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
-    Ptr KeymapKey ->                        -- key : TInterface "Gdk" "KeymapKey"
-    IO Word32
-
-
-keymapLookupKey ::
-    (MonadIO m, KeymapK a) =>
-    a ->                                    -- _obj
-    KeymapKey ->                            -- key
-    m Word32
-keymapLookupKey _obj key = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let key' = unsafeManagedPtrGetPtr key
-    result <- gdk_keymap_lookup_key _obj' key'
-    touchManagedPtr _obj
-    touchManagedPtr key
-    return result
-
--- method Keymap::map_virtual_modifiers
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TInterface "Gdk" "ModifierType", direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TInterface "Gdk" "ModifierType", direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keymap_map_virtual_modifiers" gdk_keymap_map_virtual_modifiers :: 
-    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
-    Ptr CUInt ->                            -- state : TInterface "Gdk" "ModifierType"
-    IO CInt
-
-
-keymapMapVirtualModifiers ::
-    (MonadIO m, KeymapK a) =>
-    a ->                                    -- _obj
-    [ModifierType] ->                       -- state
-    m (Bool,[ModifierType])
-keymapMapVirtualModifiers _obj state = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let state' = gflagsToWord state
-    state'' <- allocMem :: IO (Ptr CUInt)
-    poke state'' state'
-    result <- gdk_keymap_map_virtual_modifiers _obj' state''
-    let result' = (/= 0) result
-    state''' <- peek state''
-    let state'''' = wordToGFlags state'''
-    touchManagedPtr _obj
-    freeMem state''
-    return (result', state'''')
-
--- method Keymap::translate_keyboard_state
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hardware_keycode", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "group", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "effective_group", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "level", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "consumed_modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Keymap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hardware_keycode", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "group", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keymap_translate_keyboard_state" gdk_keymap_translate_keyboard_state :: 
-    Ptr Keymap ->                           -- _obj : TInterface "Gdk" "Keymap"
-    Word32 ->                               -- hardware_keycode : TBasicType TUInt32
-    CUInt ->                                -- state : TInterface "Gdk" "ModifierType"
-    Int32 ->                                -- group : TBasicType TInt32
-    Ptr Word32 ->                           -- keyval : TBasicType TUInt32
-    Ptr Int32 ->                            -- effective_group : TBasicType TInt32
-    Ptr Int32 ->                            -- level : TBasicType TInt32
-    Ptr CUInt ->                            -- consumed_modifiers : TInterface "Gdk" "ModifierType"
-    IO CInt
-
-
-keymapTranslateKeyboardState ::
-    (MonadIO m, KeymapK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- hardware_keycode
-    [ModifierType] ->                       -- state
-    Int32 ->                                -- group
-    m (Bool,Word32,Int32,Int32,[ModifierType])
-keymapTranslateKeyboardState _obj hardware_keycode state group = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let state' = gflagsToWord state
-    keyval <- allocMem :: IO (Ptr Word32)
-    effective_group <- allocMem :: IO (Ptr Int32)
-    level <- allocMem :: IO (Ptr Int32)
-    consumed_modifiers <- allocMem :: IO (Ptr CUInt)
-    result <- gdk_keymap_translate_keyboard_state _obj' hardware_keycode state' group keyval effective_group level consumed_modifiers
-    let result' = (/= 0) result
-    keyval' <- peek keyval
-    effective_group' <- peek effective_group
-    level' <- peek level
-    consumed_modifiers' <- peek consumed_modifiers
-    let consumed_modifiers'' = wordToGFlags consumed_modifiers'
-    touchManagedPtr _obj
-    freeMem keyval
-    freeMem effective_group
-    freeMem level
-    freeMem consumed_modifiers
-    return (result', keyval', effective_group', level', consumed_modifiers'')
-
--- method Keymap::get_default
--- method type : MemberFunction
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TInterface "Gdk" "Keymap"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keymap_get_default" gdk_keymap_get_default :: 
-    IO (Ptr Keymap)
-
-
-keymapGetDefault ::
-    (MonadIO m) =>
-    m Keymap
-keymapGetDefault  = liftIO $ do
-    result <- gdk_keymap_get_default
-    checkUnexpectedReturnNULL "gdk_keymap_get_default" result
-    result' <- (newObject Keymap) result
-    return result'
-
--- method Keymap::get_for_display
--- method type : MemberFunction
--- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Keymap"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_keymap_get_for_display" gdk_keymap_get_for_display :: 
-    Ptr Display ->                          -- display : TInterface "Gdk" "Display"
-    IO (Ptr Keymap)
-
-
-keymapGetForDisplay ::
-    (MonadIO m, DisplayK a) =>
-    a ->                                    -- display
-    m Keymap
-keymapGetForDisplay display = liftIO $ do
-    let display' = unsafeManagedPtrCastPtr display
-    result <- gdk_keymap_get_for_display display'
-    checkUnexpectedReturnNULL "gdk_keymap_get_for_display" result
-    result' <- (newObject Keymap) result
-    touchManagedPtr display
-    return result'
-
-
diff --git a/GI/Gdk/Objects/Keymap.hs-boot b/GI/Gdk/Objects/Keymap.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Objects/Keymap.hs-boot
+++ /dev/null
@@ -1,16 +0,0 @@
-module GI.Gdk.Objects.Keymap 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
-
-newtype Keymap = Keymap (ForeignPtr Keymap)
-instance GObject Keymap where
-class GObject o => KeymapK o
-instance (GObject o, IsDescendantOf Keymap o) => KeymapK o
-data KeymapDirectionChangedSignalInfo
-data KeymapKeysChangedSignalInfo
-data KeymapStateChangedSignalInfo
diff --git a/GI/Gdk/Objects/Screen.hs b/GI/Gdk/Objects/Screen.hs
deleted file mode 100644
--- a/GI/Gdk/Objects/Screen.hs
+++ /dev/null
@@ -1,1336 +0,0 @@
-
-{- |
-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.Gdk.Objects.Screen
-    ( 
-
--- * Exported types
-    Screen(..)                              ,
-    ScreenK                                 ,
-    toScreen                                ,
-    noScreen                                ,
-
-
- -- * Methods
--- ** screenGetActiveWindow
-    screenGetActiveWindow                   ,
-
-
--- ** screenGetDefault
-    screenGetDefault                        ,
-
-
--- ** screenGetDisplay
-    screenGetDisplay                        ,
-
-
--- ** screenGetFontOptions
-    screenGetFontOptions                    ,
-
-
--- ** screenGetHeight
-    screenGetHeight                         ,
-
-
--- ** screenGetHeightMm
-    screenGetHeightMm                       ,
-
-
--- ** screenGetMonitorAtPoint
-    screenGetMonitorAtPoint                 ,
-
-
--- ** screenGetMonitorAtWindow
-    screenGetMonitorAtWindow                ,
-
-
--- ** screenGetMonitorGeometry
-    screenGetMonitorGeometry                ,
-
-
--- ** screenGetMonitorHeightMm
-    screenGetMonitorHeightMm                ,
-
-
--- ** screenGetMonitorPlugName
-    screenGetMonitorPlugName                ,
-
-
--- ** screenGetMonitorScaleFactor
-    screenGetMonitorScaleFactor             ,
-
-
--- ** screenGetMonitorWidthMm
-    screenGetMonitorWidthMm                 ,
-
-
--- ** screenGetMonitorWorkarea
-    screenGetMonitorWorkarea                ,
-
-
--- ** screenGetNMonitors
-    screenGetNMonitors                      ,
-
-
--- ** screenGetNumber
-    screenGetNumber                         ,
-
-
--- ** screenGetPrimaryMonitor
-    screenGetPrimaryMonitor                 ,
-
-
--- ** screenGetResolution
-    screenGetResolution                     ,
-
-
--- ** screenGetRgbaVisual
-    screenGetRgbaVisual                     ,
-
-
--- ** screenGetRootWindow
-    screenGetRootWindow                     ,
-
-
--- ** screenGetSetting
-    screenGetSetting                        ,
-
-
--- ** screenGetSystemVisual
-    screenGetSystemVisual                   ,
-
-
--- ** screenGetToplevelWindows
-    screenGetToplevelWindows                ,
-
-
--- ** screenGetWidth
-    screenGetWidth                          ,
-
-
--- ** screenGetWidthMm
-    screenGetWidthMm                        ,
-
-
--- ** screenGetWindowStack
-    screenGetWindowStack                    ,
-
-
--- ** screenHeight
-    screenHeight                            ,
-
-
--- ** screenHeightMm
-    screenHeightMm                          ,
-
-
--- ** screenIsComposited
-    screenIsComposited                      ,
-
-
--- ** screenListVisuals
-    screenListVisuals                       ,
-
-
--- ** screenMakeDisplayName
-    screenMakeDisplayName                   ,
-
-
--- ** screenSetFontOptions
-    screenSetFontOptions                    ,
-
-
--- ** screenSetResolution
-    screenSetResolution                     ,
-
-
--- ** screenWidth
-    screenWidth                             ,
-
-
--- ** screenWidthMm
-    screenWidthMm                           ,
-
-
-
-
- -- * Properties
--- ** FontOptions
-    ScreenFontOptionsPropertyInfo           ,
-    constructScreenFontOptions              ,
-    getScreenFontOptions                    ,
-    setScreenFontOptions                    ,
-
-
--- ** Resolution
-    ScreenResolutionPropertyInfo            ,
-    constructScreenResolution               ,
-    getScreenResolution                     ,
-    setScreenResolution                     ,
-
-
-
-
- -- * Signals
--- ** CompositedChanged
-    ScreenCompositedChangedCallback         ,
-    ScreenCompositedChangedCallbackC        ,
-    ScreenCompositedChangedSignalInfo       ,
-    afterScreenCompositedChanged            ,
-    mkScreenCompositedChangedCallback       ,
-    noScreenCompositedChangedCallback       ,
-    onScreenCompositedChanged               ,
-    screenCompositedChangedCallbackWrapper  ,
-    screenCompositedChangedClosure          ,
-
-
--- ** MonitorsChanged
-    ScreenMonitorsChangedCallback           ,
-    ScreenMonitorsChangedCallbackC          ,
-    ScreenMonitorsChangedSignalInfo         ,
-    afterScreenMonitorsChanged              ,
-    mkScreenMonitorsChangedCallback         ,
-    noScreenMonitorsChangedCallback         ,
-    onScreenMonitorsChanged                 ,
-    screenMonitorsChangedCallbackWrapper    ,
-    screenMonitorsChangedClosure            ,
-
-
--- ** SizeChanged
-    ScreenSizeChangedCallback               ,
-    ScreenSizeChangedCallbackC              ,
-    ScreenSizeChangedSignalInfo             ,
-    afterScreenSizeChanged                  ,
-    mkScreenSizeChangedCallback             ,
-    noScreenSizeChangedCallback             ,
-    onScreenSizeChanged                     ,
-    screenSizeChangedCallbackWrapper        ,
-    screenSizeChangedClosure                ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-import qualified GI.GObject as GObject
-import qualified GI.Cairo as Cairo
-
-newtype Screen = Screen (ForeignPtr Screen)
-foreign import ccall "gdk_screen_get_type"
-    c_gdk_screen_get_type :: IO GType
-
-type instance ParentTypes Screen = ScreenParentTypes
-type ScreenParentTypes = '[GObject.Object]
-
-instance GObject Screen where
-    gobjectIsInitiallyUnowned _ = False
-    gobjectType _ = c_gdk_screen_get_type
-    
-
-class GObject o => ScreenK o
-instance (GObject o, IsDescendantOf Screen o) => ScreenK o
-
-toScreen :: ScreenK o => o -> IO Screen
-toScreen = unsafeCastTo Screen
-
-noScreen :: Maybe Screen
-noScreen = Nothing
-
--- signal Screen::composited-changed
-type ScreenCompositedChangedCallback =
-    IO ()
-
-noScreenCompositedChangedCallback :: Maybe ScreenCompositedChangedCallback
-noScreenCompositedChangedCallback = Nothing
-
-type ScreenCompositedChangedCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkScreenCompositedChangedCallback :: ScreenCompositedChangedCallbackC -> IO (FunPtr ScreenCompositedChangedCallbackC)
-
-screenCompositedChangedClosure :: ScreenCompositedChangedCallback -> IO Closure
-screenCompositedChangedClosure cb = newCClosure =<< mkScreenCompositedChangedCallback wrapped
-    where wrapped = screenCompositedChangedCallbackWrapper cb
-
-screenCompositedChangedCallbackWrapper ::
-    ScreenCompositedChangedCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-screenCompositedChangedCallbackWrapper _cb _ _ = do
-    _cb 
-
-onScreenCompositedChanged :: (GObject a, MonadIO m) => a -> ScreenCompositedChangedCallback -> m SignalHandlerId
-onScreenCompositedChanged obj cb = liftIO $ connectScreenCompositedChanged obj cb SignalConnectBefore
-afterScreenCompositedChanged :: (GObject a, MonadIO m) => a -> ScreenCompositedChangedCallback -> m SignalHandlerId
-afterScreenCompositedChanged obj cb = connectScreenCompositedChanged obj cb SignalConnectAfter
-
-connectScreenCompositedChanged :: (GObject a, MonadIO m) =>
-                                  a -> ScreenCompositedChangedCallback -> SignalConnectMode -> m SignalHandlerId
-connectScreenCompositedChanged obj cb after = liftIO $ do
-    cb' <- mkScreenCompositedChangedCallback (screenCompositedChangedCallbackWrapper cb)
-    connectSignalFunPtr obj "composited-changed" cb' after
-
--- signal Screen::monitors-changed
-type ScreenMonitorsChangedCallback =
-    IO ()
-
-noScreenMonitorsChangedCallback :: Maybe ScreenMonitorsChangedCallback
-noScreenMonitorsChangedCallback = Nothing
-
-type ScreenMonitorsChangedCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkScreenMonitorsChangedCallback :: ScreenMonitorsChangedCallbackC -> IO (FunPtr ScreenMonitorsChangedCallbackC)
-
-screenMonitorsChangedClosure :: ScreenMonitorsChangedCallback -> IO Closure
-screenMonitorsChangedClosure cb = newCClosure =<< mkScreenMonitorsChangedCallback wrapped
-    where wrapped = screenMonitorsChangedCallbackWrapper cb
-
-screenMonitorsChangedCallbackWrapper ::
-    ScreenMonitorsChangedCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-screenMonitorsChangedCallbackWrapper _cb _ _ = do
-    _cb 
-
-onScreenMonitorsChanged :: (GObject a, MonadIO m) => a -> ScreenMonitorsChangedCallback -> m SignalHandlerId
-onScreenMonitorsChanged obj cb = liftIO $ connectScreenMonitorsChanged obj cb SignalConnectBefore
-afterScreenMonitorsChanged :: (GObject a, MonadIO m) => a -> ScreenMonitorsChangedCallback -> m SignalHandlerId
-afterScreenMonitorsChanged obj cb = connectScreenMonitorsChanged obj cb SignalConnectAfter
-
-connectScreenMonitorsChanged :: (GObject a, MonadIO m) =>
-                                a -> ScreenMonitorsChangedCallback -> SignalConnectMode -> m SignalHandlerId
-connectScreenMonitorsChanged obj cb after = liftIO $ do
-    cb' <- mkScreenMonitorsChangedCallback (screenMonitorsChangedCallbackWrapper cb)
-    connectSignalFunPtr obj "monitors-changed" cb' after
-
--- signal Screen::size-changed
-type ScreenSizeChangedCallback =
-    IO ()
-
-noScreenSizeChangedCallback :: Maybe ScreenSizeChangedCallback
-noScreenSizeChangedCallback = Nothing
-
-type ScreenSizeChangedCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkScreenSizeChangedCallback :: ScreenSizeChangedCallbackC -> IO (FunPtr ScreenSizeChangedCallbackC)
-
-screenSizeChangedClosure :: ScreenSizeChangedCallback -> IO Closure
-screenSizeChangedClosure cb = newCClosure =<< mkScreenSizeChangedCallback wrapped
-    where wrapped = screenSizeChangedCallbackWrapper cb
-
-screenSizeChangedCallbackWrapper ::
-    ScreenSizeChangedCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-screenSizeChangedCallbackWrapper _cb _ _ = do
-    _cb 
-
-onScreenSizeChanged :: (GObject a, MonadIO m) => a -> ScreenSizeChangedCallback -> m SignalHandlerId
-onScreenSizeChanged obj cb = liftIO $ connectScreenSizeChanged obj cb SignalConnectBefore
-afterScreenSizeChanged :: (GObject a, MonadIO m) => a -> ScreenSizeChangedCallback -> m SignalHandlerId
-afterScreenSizeChanged obj cb = connectScreenSizeChanged obj cb SignalConnectAfter
-
-connectScreenSizeChanged :: (GObject a, MonadIO m) =>
-                            a -> ScreenSizeChangedCallback -> SignalConnectMode -> m SignalHandlerId
-connectScreenSizeChanged obj cb after = liftIO $ do
-    cb' <- mkScreenSizeChangedCallback (screenSizeChangedCallbackWrapper cb)
-    connectSignalFunPtr obj "size-changed" cb' after
-
--- VVV Prop "font-options"
-   -- Type: TBasicType TVoid
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getScreenFontOptions :: (MonadIO m, ScreenK o) => o -> m (Ptr ())
-getScreenFontOptions obj = liftIO $ getObjectPropertyPtr obj "font-options"
-
-setScreenFontOptions :: (MonadIO m, ScreenK o) => o -> (Ptr ()) -> m ()
-setScreenFontOptions obj val = liftIO $ setObjectPropertyPtr obj "font-options" val
-
-constructScreenFontOptions :: (Ptr ()) -> IO ([Char], GValue)
-constructScreenFontOptions val = constructObjectPropertyPtr "font-options" val
-
-data ScreenFontOptionsPropertyInfo
-instance AttrInfo ScreenFontOptionsPropertyInfo where
-    type AttrAllowedOps ScreenFontOptionsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint ScreenFontOptionsPropertyInfo = (~) (Ptr ())
-    type AttrBaseTypeConstraint ScreenFontOptionsPropertyInfo = ScreenK
-    type AttrGetType ScreenFontOptionsPropertyInfo = (Ptr ())
-    type AttrLabel ScreenFontOptionsPropertyInfo = "Screen::font-options"
-    attrGet _ = getScreenFontOptions
-    attrSet _ = setScreenFontOptions
-    attrConstruct _ = constructScreenFontOptions
-
--- VVV Prop "resolution"
-   -- Type: TBasicType TDouble
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getScreenResolution :: (MonadIO m, ScreenK o) => o -> m Double
-getScreenResolution obj = liftIO $ getObjectPropertyDouble obj "resolution"
-
-setScreenResolution :: (MonadIO m, ScreenK o) => o -> Double -> m ()
-setScreenResolution obj val = liftIO $ setObjectPropertyDouble obj "resolution" val
-
-constructScreenResolution :: Double -> IO ([Char], GValue)
-constructScreenResolution val = constructObjectPropertyDouble "resolution" val
-
-data ScreenResolutionPropertyInfo
-instance AttrInfo ScreenResolutionPropertyInfo where
-    type AttrAllowedOps ScreenResolutionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint ScreenResolutionPropertyInfo = (~) Double
-    type AttrBaseTypeConstraint ScreenResolutionPropertyInfo = ScreenK
-    type AttrGetType ScreenResolutionPropertyInfo = Double
-    type AttrLabel ScreenResolutionPropertyInfo = "Screen::resolution"
-    attrGet _ = getScreenResolution
-    attrSet _ = setScreenResolution
-    attrConstruct _ = constructScreenResolution
-
-type instance AttributeList Screen = ScreenAttributeList
-type ScreenAttributeList = ('[ '("font-options", ScreenFontOptionsPropertyInfo), '("resolution", ScreenResolutionPropertyInfo)] :: [(Symbol, *)])
-
-data ScreenCompositedChangedSignalInfo
-instance SignalInfo ScreenCompositedChangedSignalInfo where
-    type HaskellCallbackType ScreenCompositedChangedSignalInfo = ScreenCompositedChangedCallback
-    connectSignal _ = connectScreenCompositedChanged
-
-data ScreenMonitorsChangedSignalInfo
-instance SignalInfo ScreenMonitorsChangedSignalInfo where
-    type HaskellCallbackType ScreenMonitorsChangedSignalInfo = ScreenMonitorsChangedCallback
-    connectSignal _ = connectScreenMonitorsChanged
-
-data ScreenSizeChangedSignalInfo
-instance SignalInfo ScreenSizeChangedSignalInfo where
-    type HaskellCallbackType ScreenSizeChangedSignalInfo = ScreenSizeChangedCallback
-    connectSignal _ = connectScreenSizeChanged
-
-type instance SignalList Screen = ScreenSignalList
-type ScreenSignalList = ('[ '("composited-changed", ScreenCompositedChangedSignalInfo), '("monitors-changed", ScreenMonitorsChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("size-changed", ScreenSizeChangedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-
--- method Screen::get_active_window
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_active_window" gdk_screen_get_active_window :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    IO (Ptr Window)
-
-
-screenGetActiveWindow ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    m Window
-screenGetActiveWindow _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_get_active_window _obj'
-    checkUnexpectedReturnNULL "gdk_screen_get_active_window" result
-    result' <- (wrapObject Window) result
-    touchManagedPtr _obj
-    return result'
-
--- method Screen::get_display
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Display"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_display" gdk_screen_get_display :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    IO (Ptr Display)
-
-
-screenGetDisplay ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    m Display
-screenGetDisplay _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_get_display _obj'
-    checkUnexpectedReturnNULL "gdk_screen_get_display" result
-    result' <- (newObject Display) result
-    touchManagedPtr _obj
-    return result'
-
--- method Screen::get_font_options
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "cairo" "FontOptions"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_font_options" gdk_screen_get_font_options :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    IO (Ptr Cairo.FontOptions)
-
-
-screenGetFontOptions ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    m Cairo.FontOptions
-screenGetFontOptions _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_get_font_options _obj'
-    checkUnexpectedReturnNULL "gdk_screen_get_font_options" result
-    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
-    result' <- (\x -> Cairo.FontOptions <$> newForeignPtr_ x) result
-    touchManagedPtr _obj
-    return result'
-
--- method Screen::get_height
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_height" gdk_screen_get_height :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    IO Int32
-
-
-screenGetHeight ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    m Int32
-screenGetHeight _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_get_height _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Screen::get_height_mm
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_height_mm" gdk_screen_get_height_mm :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    IO Int32
-
-
-screenGetHeightMm ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    m Int32
-screenGetHeightMm _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_get_height_mm _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Screen::get_monitor_at_point
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_monitor_at_point" gdk_screen_get_monitor_at_point :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    Int32 ->                                -- x : TBasicType TInt32
-    Int32 ->                                -- y : TBasicType TInt32
-    IO Int32
-
-
-screenGetMonitorAtPoint ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    m Int32
-screenGetMonitorAtPoint _obj x y = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_get_monitor_at_point _obj' x y
-    touchManagedPtr _obj
-    return result
-
--- method Screen::get_monitor_at_window
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_monitor_at_window" gdk_screen_get_monitor_at_window :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    Ptr Window ->                           -- window : TInterface "Gdk" "Window"
-    IO Int32
-
-
-screenGetMonitorAtWindow ::
-    (MonadIO m, ScreenK a, WindowK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- window
-    m Int32
-screenGetMonitorAtWindow _obj window = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let window' = unsafeManagedPtrCastPtr window
-    result <- gdk_screen_get_monitor_at_window _obj' window'
-    touchManagedPtr _obj
-    touchManagedPtr window
-    return result
-
--- method Screen::get_monitor_geometry
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest", argType = TInterface "cairo" "RectangleInt", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_monitor_geometry" gdk_screen_get_monitor_geometry :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    Int32 ->                                -- monitor_num : TBasicType TInt32
-    Ptr Cairo.RectangleInt ->               -- dest : TInterface "cairo" "RectangleInt"
-    IO ()
-
-
-screenGetMonitorGeometry ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- monitor_num
-    m (Cairo.RectangleInt)
-screenGetMonitorGeometry _obj monitor_num = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    dest <- callocBoxedBytes 16 :: IO (Ptr Cairo.RectangleInt)
-    gdk_screen_get_monitor_geometry _obj' monitor_num dest
-    dest' <- (wrapBoxed Cairo.RectangleInt) dest
-    touchManagedPtr _obj
-    return dest'
-
--- method Screen::get_monitor_height_mm
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_monitor_height_mm" gdk_screen_get_monitor_height_mm :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    Int32 ->                                -- monitor_num : TBasicType TInt32
-    IO Int32
-
-
-screenGetMonitorHeightMm ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- monitor_num
-    m Int32
-screenGetMonitorHeightMm _obj monitor_num = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_get_monitor_height_mm _obj' monitor_num
-    touchManagedPtr _obj
-    return result
-
--- method Screen::get_monitor_plug_name
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_monitor_plug_name" gdk_screen_get_monitor_plug_name :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    Int32 ->                                -- monitor_num : TBasicType TInt32
-    IO CString
-
-
-screenGetMonitorPlugName ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- monitor_num
-    m T.Text
-screenGetMonitorPlugName _obj monitor_num = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_get_monitor_plug_name _obj' monitor_num
-    checkUnexpectedReturnNULL "gdk_screen_get_monitor_plug_name" result
-    result' <- cstringToText result
-    freeMem result
-    touchManagedPtr _obj
-    return result'
-
--- method Screen::get_monitor_scale_factor
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_monitor_scale_factor" gdk_screen_get_monitor_scale_factor :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    Int32 ->                                -- monitor_num : TBasicType TInt32
-    IO Int32
-
-
-screenGetMonitorScaleFactor ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- monitor_num
-    m Int32
-screenGetMonitorScaleFactor _obj monitor_num = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_get_monitor_scale_factor _obj' monitor_num
-    touchManagedPtr _obj
-    return result
-
--- method Screen::get_monitor_width_mm
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_monitor_width_mm" gdk_screen_get_monitor_width_mm :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    Int32 ->                                -- monitor_num : TBasicType TInt32
-    IO Int32
-
-
-screenGetMonitorWidthMm ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- monitor_num
-    m Int32
-screenGetMonitorWidthMm _obj monitor_num = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_get_monitor_width_mm _obj' monitor_num
-    touchManagedPtr _obj
-    return result
-
--- method Screen::get_monitor_workarea
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest", argType = TInterface "cairo" "RectangleInt", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "monitor_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_monitor_workarea" gdk_screen_get_monitor_workarea :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    Int32 ->                                -- monitor_num : TBasicType TInt32
-    Ptr Cairo.RectangleInt ->               -- dest : TInterface "cairo" "RectangleInt"
-    IO ()
-
-
-screenGetMonitorWorkarea ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- monitor_num
-    m (Cairo.RectangleInt)
-screenGetMonitorWorkarea _obj monitor_num = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    dest <- callocBoxedBytes 16 :: IO (Ptr Cairo.RectangleInt)
-    gdk_screen_get_monitor_workarea _obj' monitor_num dest
-    dest' <- (wrapBoxed Cairo.RectangleInt) dest
-    touchManagedPtr _obj
-    return dest'
-
--- method Screen::get_n_monitors
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_n_monitors" gdk_screen_get_n_monitors :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    IO Int32
-
-
-screenGetNMonitors ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    m Int32
-screenGetNMonitors _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_get_n_monitors _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Screen::get_number
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_number" gdk_screen_get_number :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    IO Int32
-
-
-screenGetNumber ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    m Int32
-screenGetNumber _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_get_number _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Screen::get_primary_monitor
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_primary_monitor" gdk_screen_get_primary_monitor :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    IO Int32
-
-
-screenGetPrimaryMonitor ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    m Int32
-screenGetPrimaryMonitor _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_get_primary_monitor _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Screen::get_resolution
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TDouble
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_resolution" gdk_screen_get_resolution :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    IO CDouble
-
-
-screenGetResolution ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    m Double
-screenGetResolution _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_get_resolution _obj'
-    let result' = realToFrac result
-    touchManagedPtr _obj
-    return result'
-
--- method Screen::get_rgba_visual
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Visual"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_rgba_visual" gdk_screen_get_rgba_visual :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    IO (Ptr Visual)
-
-
-screenGetRgbaVisual ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    m Visual
-screenGetRgbaVisual _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_get_rgba_visual _obj'
-    checkUnexpectedReturnNULL "gdk_screen_get_rgba_visual" result
-    result' <- (newObject Visual) result
-    touchManagedPtr _obj
-    return result'
-
--- method Screen::get_root_window
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_root_window" gdk_screen_get_root_window :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    IO (Ptr Window)
-
-
-screenGetRootWindow ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    m Window
-screenGetRootWindow _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_get_root_window _obj'
-    checkUnexpectedReturnNULL "gdk_screen_get_root_window" result
-    result' <- (newObject Window) result
-    touchManagedPtr _obj
-    return result'
-
--- method Screen::get_setting
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", 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 = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", 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 = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_setting" gdk_screen_get_setting :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    CString ->                              -- name : TBasicType TUTF8
-    Ptr GValue ->                           -- value : TInterface "GObject" "Value"
-    IO CInt
-
-
-screenGetSetting ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- name
-    GValue ->                               -- value
-    m Bool
-screenGetSetting _obj name value = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    name' <- textToCString name
-    let value' = unsafeManagedPtrGetPtr value
-    result <- gdk_screen_get_setting _obj' name' value'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    touchManagedPtr value
-    freeMem name'
-    return result'
-
--- method Screen::get_system_visual
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Visual"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_system_visual" gdk_screen_get_system_visual :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    IO (Ptr Visual)
-
-
-screenGetSystemVisual ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    m Visual
-screenGetSystemVisual _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_get_system_visual _obj'
-    checkUnexpectedReturnNULL "gdk_screen_get_system_visual" result
-    result' <- (newObject Visual) result
-    touchManagedPtr _obj
-    return result'
-
--- method Screen::get_toplevel_windows
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TGList (TInterface "Gdk" "Window")
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_toplevel_windows" gdk_screen_get_toplevel_windows :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    IO (Ptr (GList (Ptr Window)))
-
-
-screenGetToplevelWindows ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    m [Window]
-screenGetToplevelWindows _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_get_toplevel_windows _obj'
-    checkUnexpectedReturnNULL "gdk_screen_get_toplevel_windows" result
-    result' <- unpackGList result
-    result'' <- mapM (newObject Window) result'
-    g_list_free result
-    touchManagedPtr _obj
-    return result''
-
--- method Screen::get_width
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_width" gdk_screen_get_width :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    IO Int32
-
-
-screenGetWidth ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    m Int32
-screenGetWidth _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_get_width _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Screen::get_width_mm
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_width_mm" gdk_screen_get_width_mm :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    IO Int32
-
-
-screenGetWidthMm ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    m Int32
-screenGetWidthMm _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_get_width_mm _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Screen::get_window_stack
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TGList (TInterface "Gdk" "Window")
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_window_stack" gdk_screen_get_window_stack :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    IO (Ptr (GList (Ptr Window)))
-
-
-screenGetWindowStack ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    m [Window]
-screenGetWindowStack _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_get_window_stack _obj'
-    checkUnexpectedReturnNULL "gdk_screen_get_window_stack" result
-    result' <- unpackGList result
-    result'' <- mapM (wrapObject Window) result'
-    g_list_free result
-    touchManagedPtr _obj
-    return result''
-
--- method Screen::is_composited
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_is_composited" gdk_screen_is_composited :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    IO CInt
-
-
-screenIsComposited ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    m Bool
-screenIsComposited _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_is_composited _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Screen::list_visuals
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TGList (TInterface "Gdk" "Visual")
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_list_visuals" gdk_screen_list_visuals :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    IO (Ptr (GList (Ptr Visual)))
-
-
-screenListVisuals ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    m [Visual]
-screenListVisuals _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_list_visuals _obj'
-    checkUnexpectedReturnNULL "gdk_screen_list_visuals" result
-    result' <- unpackGList result
-    result'' <- mapM (newObject Visual) result'
-    g_list_free result
-    touchManagedPtr _obj
-    return result''
-
--- method Screen::make_display_name
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_make_display_name" gdk_screen_make_display_name :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    IO CString
-
-
-screenMakeDisplayName ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    m T.Text
-screenMakeDisplayName _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_screen_make_display_name _obj'
-    checkUnexpectedReturnNULL "gdk_screen_make_display_name" result
-    result' <- cstringToText result
-    freeMem result
-    touchManagedPtr _obj
-    return result'
-
--- method Screen::set_font_options
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "cairo" "FontOptions", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "options", argType = TInterface "cairo" "FontOptions", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_set_font_options" gdk_screen_set_font_options :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    Ptr Cairo.FontOptions ->                -- options : TInterface "cairo" "FontOptions"
-    IO ()
-
-
-screenSetFontOptions ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    Maybe (Cairo.FontOptions) ->            -- options
-    m ()
-screenSetFontOptions _obj options = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeOptions <- case options of
-        Nothing -> return nullPtr
-        Just jOptions -> do
-            let jOptions' = unsafeManagedPtrGetPtr jOptions
-            return jOptions'
-    gdk_screen_set_font_options _obj' maybeOptions
-    touchManagedPtr _obj
-    whenJust options touchManagedPtr
-    return ()
-
--- method Screen::set_resolution
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dpi", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dpi", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_set_resolution" gdk_screen_set_resolution :: 
-    Ptr Screen ->                           -- _obj : TInterface "Gdk" "Screen"
-    CDouble ->                              -- dpi : TBasicType TDouble
-    IO ()
-
-
-screenSetResolution ::
-    (MonadIO m, ScreenK a) =>
-    a ->                                    -- _obj
-    Double ->                               -- dpi
-    m ()
-screenSetResolution _obj dpi = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let dpi' = realToFrac dpi
-    gdk_screen_set_resolution _obj' dpi'
-    touchManagedPtr _obj
-    return ()
-
--- method Screen::get_default
--- method type : MemberFunction
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TInterface "Gdk" "Screen"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_get_default" gdk_screen_get_default :: 
-    IO (Ptr Screen)
-
-
-screenGetDefault ::
-    (MonadIO m) =>
-    m Screen
-screenGetDefault  = liftIO $ do
-    result <- gdk_screen_get_default
-    checkUnexpectedReturnNULL "gdk_screen_get_default" result
-    result' <- (newObject Screen) result
-    return result'
-
--- method Screen::height
--- method type : MemberFunction
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_height" gdk_screen_height :: 
-    IO Int32
-
-
-screenHeight ::
-    (MonadIO m) =>
-    m Int32
-screenHeight  = liftIO $ do
-    result <- gdk_screen_height
-    return result
-
--- method Screen::height_mm
--- method type : MemberFunction
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_height_mm" gdk_screen_height_mm :: 
-    IO Int32
-
-
-screenHeightMm ::
-    (MonadIO m) =>
-    m Int32
-screenHeightMm  = liftIO $ do
-    result <- gdk_screen_height_mm
-    return result
-
--- method Screen::width
--- method type : MemberFunction
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_width" gdk_screen_width :: 
-    IO Int32
-
-
-screenWidth ::
-    (MonadIO m) =>
-    m Int32
-screenWidth  = liftIO $ do
-    result <- gdk_screen_width
-    return result
-
--- method Screen::width_mm
--- method type : MemberFunction
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_screen_width_mm" gdk_screen_width_mm :: 
-    IO Int32
-
-
-screenWidthMm ::
-    (MonadIO m) =>
-    m Int32
-screenWidthMm  = liftIO $ do
-    result <- gdk_screen_width_mm
-    return result
-
-
diff --git a/GI/Gdk/Objects/Screen.hs-boot b/GI/Gdk/Objects/Screen.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Objects/Screen.hs-boot
+++ /dev/null
@@ -1,18 +0,0 @@
-module GI.Gdk.Objects.Screen 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
-
-newtype Screen = Screen (ForeignPtr Screen)
-instance GObject Screen where
-class GObject o => ScreenK o
-instance (GObject o, IsDescendantOf Screen o) => ScreenK o
-data ScreenFontOptionsPropertyInfo
-data ScreenResolutionPropertyInfo
-data ScreenCompositedChangedSignalInfo
-data ScreenMonitorsChangedSignalInfo
-data ScreenSizeChangedSignalInfo
diff --git a/GI/Gdk/Objects/Visual.hs b/GI/Gdk/Objects/Visual.hs
deleted file mode 100644
--- a/GI/Gdk/Objects/Visual.hs
+++ /dev/null
@@ -1,542 +0,0 @@
-
-{- |
-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.Gdk.Objects.Visual
-    ( 
-
--- * Exported types
-    Visual(..)                              ,
-    VisualK                                 ,
-    toVisual                                ,
-    noVisual                                ,
-
-
- -- * Methods
--- ** visualGetBest
-    visualGetBest                           ,
-
-
--- ** visualGetBestDepth
-    visualGetBestDepth                      ,
-
-
--- ** visualGetBestType
-    visualGetBestType                       ,
-
-
--- ** visualGetBestWithBoth
-    visualGetBestWithBoth                   ,
-
-
--- ** visualGetBestWithDepth
-    visualGetBestWithDepth                  ,
-
-
--- ** visualGetBestWithType
-    visualGetBestWithType                   ,
-
-
--- ** visualGetBitsPerRgb
-    visualGetBitsPerRgb                     ,
-
-
--- ** visualGetBluePixelDetails
-    visualGetBluePixelDetails               ,
-
-
--- ** visualGetByteOrder
-    visualGetByteOrder                      ,
-
-
--- ** visualGetColormapSize
-    visualGetColormapSize                   ,
-
-
--- ** visualGetDepth
-    visualGetDepth                          ,
-
-
--- ** visualGetGreenPixelDetails
-    visualGetGreenPixelDetails              ,
-
-
--- ** visualGetRedPixelDetails
-    visualGetRedPixelDetails                ,
-
-
--- ** visualGetScreen
-    visualGetScreen                         ,
-
-
--- ** visualGetSystem
-    visualGetSystem                         ,
-
-
--- ** visualGetVisualType
-    visualGetVisualType                     ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-import qualified GI.GObject as GObject
-
-newtype Visual = Visual (ForeignPtr Visual)
-foreign import ccall "gdk_visual_get_type"
-    c_gdk_visual_get_type :: IO GType
-
-type instance ParentTypes Visual = VisualParentTypes
-type VisualParentTypes = '[GObject.Object]
-
-instance GObject Visual where
-    gobjectIsInitiallyUnowned _ = False
-    gobjectType _ = c_gdk_visual_get_type
-    
-
-class GObject o => VisualK o
-instance (GObject o, IsDescendantOf Visual o) => VisualK o
-
-toVisual :: VisualK o => o -> IO Visual
-toVisual = unsafeCastTo Visual
-
-noVisual :: Maybe Visual
-noVisual = Nothing
-
-type instance AttributeList Visual = VisualAttributeList
-type VisualAttributeList = ('[ ] :: [(Symbol, *)])
-
-type instance SignalList Visual = VisualSignalList
-type VisualSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-
--- method Visual::get_bits_per_rgb
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_visual_get_bits_per_rgb" gdk_visual_get_bits_per_rgb :: 
-    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"
-    IO Int32
-
-
-visualGetBitsPerRgb ::
-    (MonadIO m, VisualK a) =>
-    a ->                                    -- _obj
-    m Int32
-visualGetBitsPerRgb _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_visual_get_bits_per_rgb _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Visual::get_blue_pixel_details
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mask", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "shift", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "precision", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_visual_get_blue_pixel_details" gdk_visual_get_blue_pixel_details :: 
-    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"
-    Ptr Word32 ->                           -- mask : TBasicType TUInt32
-    Ptr Int32 ->                            -- shift : TBasicType TInt32
-    Ptr Int32 ->                            -- precision : TBasicType TInt32
-    IO ()
-
-
-visualGetBluePixelDetails ::
-    (MonadIO m, VisualK a) =>
-    a ->                                    -- _obj
-    m (Word32,Int32,Int32)
-visualGetBluePixelDetails _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    mask <- allocMem :: IO (Ptr Word32)
-    shift <- allocMem :: IO (Ptr Int32)
-    precision <- allocMem :: IO (Ptr Int32)
-    gdk_visual_get_blue_pixel_details _obj' mask shift precision
-    mask' <- peek mask
-    shift' <- peek shift
-    precision' <- peek precision
-    touchManagedPtr _obj
-    freeMem mask
-    freeMem shift
-    freeMem precision
-    return (mask', shift', precision')
-
--- method Visual::get_byte_order
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "ByteOrder"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_visual_get_byte_order" gdk_visual_get_byte_order :: 
-    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"
-    IO CUInt
-
-
-visualGetByteOrder ::
-    (MonadIO m, VisualK a) =>
-    a ->                                    -- _obj
-    m ByteOrder
-visualGetByteOrder _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_visual_get_byte_order _obj'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr _obj
-    return result'
-
--- method Visual::get_colormap_size
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_visual_get_colormap_size" gdk_visual_get_colormap_size :: 
-    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"
-    IO Int32
-
-
-visualGetColormapSize ::
-    (MonadIO m, VisualK a) =>
-    a ->                                    -- _obj
-    m Int32
-visualGetColormapSize _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_visual_get_colormap_size _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Visual::get_depth
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_visual_get_depth" gdk_visual_get_depth :: 
-    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"
-    IO Int32
-
-
-visualGetDepth ::
-    (MonadIO m, VisualK a) =>
-    a ->                                    -- _obj
-    m Int32
-visualGetDepth _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_visual_get_depth _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Visual::get_green_pixel_details
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mask", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "shift", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "precision", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_visual_get_green_pixel_details" gdk_visual_get_green_pixel_details :: 
-    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"
-    Ptr Word32 ->                           -- mask : TBasicType TUInt32
-    Ptr Int32 ->                            -- shift : TBasicType TInt32
-    Ptr Int32 ->                            -- precision : TBasicType TInt32
-    IO ()
-
-
-visualGetGreenPixelDetails ::
-    (MonadIO m, VisualK a) =>
-    a ->                                    -- _obj
-    m (Word32,Int32,Int32)
-visualGetGreenPixelDetails _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    mask <- allocMem :: IO (Ptr Word32)
-    shift <- allocMem :: IO (Ptr Int32)
-    precision <- allocMem :: IO (Ptr Int32)
-    gdk_visual_get_green_pixel_details _obj' mask shift precision
-    mask' <- peek mask
-    shift' <- peek shift
-    precision' <- peek precision
-    touchManagedPtr _obj
-    freeMem mask
-    freeMem shift
-    freeMem precision
-    return (mask', shift', precision')
-
--- method Visual::get_red_pixel_details
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mask", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "shift", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "precision", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_visual_get_red_pixel_details" gdk_visual_get_red_pixel_details :: 
-    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"
-    Ptr Word32 ->                           -- mask : TBasicType TUInt32
-    Ptr Int32 ->                            -- shift : TBasicType TInt32
-    Ptr Int32 ->                            -- precision : TBasicType TInt32
-    IO ()
-
-
-visualGetRedPixelDetails ::
-    (MonadIO m, VisualK a) =>
-    a ->                                    -- _obj
-    m (Word32,Int32,Int32)
-visualGetRedPixelDetails _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    mask <- allocMem :: IO (Ptr Word32)
-    shift <- allocMem :: IO (Ptr Int32)
-    precision <- allocMem :: IO (Ptr Int32)
-    gdk_visual_get_red_pixel_details _obj' mask shift precision
-    mask' <- peek mask
-    shift' <- peek shift
-    precision' <- peek precision
-    touchManagedPtr _obj
-    freeMem mask
-    freeMem shift
-    freeMem precision
-    return (mask', shift', precision')
-
--- method Visual::get_screen
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Screen"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_visual_get_screen" gdk_visual_get_screen :: 
-    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"
-    IO (Ptr Screen)
-
-
-visualGetScreen ::
-    (MonadIO m, VisualK a) =>
-    a ->                                    -- _obj
-    m Screen
-visualGetScreen _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_visual_get_screen _obj'
-    checkUnexpectedReturnNULL "gdk_visual_get_screen" result
-    result' <- (newObject Screen) result
-    touchManagedPtr _obj
-    return result'
-
--- method Visual::get_visual_type
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Visual", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "VisualType"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_visual_get_visual_type" gdk_visual_get_visual_type :: 
-    Ptr Visual ->                           -- _obj : TInterface "Gdk" "Visual"
-    IO CUInt
-
-
-visualGetVisualType ::
-    (MonadIO m, VisualK a) =>
-    a ->                                    -- _obj
-    m VisualType
-visualGetVisualType _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_visual_get_visual_type _obj'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr _obj
-    return result'
-
--- method Visual::get_best
--- method type : MemberFunction
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TInterface "Gdk" "Visual"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_visual_get_best" gdk_visual_get_best :: 
-    IO (Ptr Visual)
-
-
-visualGetBest ::
-    (MonadIO m) =>
-    m Visual
-visualGetBest  = liftIO $ do
-    result <- gdk_visual_get_best
-    checkUnexpectedReturnNULL "gdk_visual_get_best" result
-    result' <- (newObject Visual) result
-    return result'
-
--- method Visual::get_best_depth
--- method type : MemberFunction
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_visual_get_best_depth" gdk_visual_get_best_depth :: 
-    IO Int32
-
-
-visualGetBestDepth ::
-    (MonadIO m) =>
-    m Int32
-visualGetBestDepth  = liftIO $ do
-    result <- gdk_visual_get_best_depth
-    return result
-
--- method Visual::get_best_type
--- method type : MemberFunction
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TInterface "Gdk" "VisualType"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_visual_get_best_type" gdk_visual_get_best_type :: 
-    IO CUInt
-
-
-visualGetBestType ::
-    (MonadIO m) =>
-    m VisualType
-visualGetBestType  = liftIO $ do
-    result <- gdk_visual_get_best_type
-    let result' = (toEnum . fromIntegral) result
-    return result'
-
--- method Visual::get_best_with_both
--- method type : MemberFunction
--- Args : [Arg {argName = "depth", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "visual_type", argType = TInterface "Gdk" "VisualType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "depth", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "visual_type", argType = TInterface "Gdk" "VisualType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Visual"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_visual_get_best_with_both" gdk_visual_get_best_with_both :: 
-    Int32 ->                                -- depth : TBasicType TInt32
-    CUInt ->                                -- visual_type : TInterface "Gdk" "VisualType"
-    IO (Ptr Visual)
-
-
-visualGetBestWithBoth ::
-    (MonadIO m) =>
-    Int32 ->                                -- depth
-    VisualType ->                           -- visual_type
-    m Visual
-visualGetBestWithBoth depth visual_type = liftIO $ do
-    let visual_type' = (fromIntegral . fromEnum) visual_type
-    result <- gdk_visual_get_best_with_both depth visual_type'
-    checkUnexpectedReturnNULL "gdk_visual_get_best_with_both" result
-    result' <- (newObject Visual) result
-    return result'
-
--- method Visual::get_best_with_depth
--- method type : MemberFunction
--- Args : [Arg {argName = "depth", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "depth", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Visual"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_visual_get_best_with_depth" gdk_visual_get_best_with_depth :: 
-    Int32 ->                                -- depth : TBasicType TInt32
-    IO (Ptr Visual)
-
-
-visualGetBestWithDepth ::
-    (MonadIO m) =>
-    Int32 ->                                -- depth
-    m Visual
-visualGetBestWithDepth depth = liftIO $ do
-    result <- gdk_visual_get_best_with_depth depth
-    checkUnexpectedReturnNULL "gdk_visual_get_best_with_depth" result
-    result' <- (newObject Visual) result
-    return result'
-
--- method Visual::get_best_with_type
--- method type : MemberFunction
--- Args : [Arg {argName = "visual_type", argType = TInterface "Gdk" "VisualType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "visual_type", argType = TInterface "Gdk" "VisualType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Visual"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_visual_get_best_with_type" gdk_visual_get_best_with_type :: 
-    CUInt ->                                -- visual_type : TInterface "Gdk" "VisualType"
-    IO (Ptr Visual)
-
-
-visualGetBestWithType ::
-    (MonadIO m) =>
-    VisualType ->                           -- visual_type
-    m Visual
-visualGetBestWithType visual_type = liftIO $ do
-    let visual_type' = (fromIntegral . fromEnum) visual_type
-    result <- gdk_visual_get_best_with_type visual_type'
-    checkUnexpectedReturnNULL "gdk_visual_get_best_with_type" result
-    result' <- (newObject Visual) result
-    return result'
-
--- method Visual::get_system
--- method type : MemberFunction
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TInterface "Gdk" "Visual"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_visual_get_system" gdk_visual_get_system :: 
-    IO (Ptr Visual)
-
-
-visualGetSystem ::
-    (MonadIO m) =>
-    m Visual
-visualGetSystem  = liftIO $ do
-    result <- gdk_visual_get_system
-    checkUnexpectedReturnNULL "gdk_visual_get_system" result
-    result' <- (newObject Visual) result
-    return result'
-
-
diff --git a/GI/Gdk/Objects/Visual.hs-boot b/GI/Gdk/Objects/Visual.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Objects/Visual.hs-boot
+++ /dev/null
@@ -1,13 +0,0 @@
-module GI.Gdk.Objects.Visual 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
-
-newtype Visual = Visual (ForeignPtr Visual)
-instance GObject Visual where
-class GObject o => VisualK o
-instance (GObject o, IsDescendantOf Visual o) => VisualK o
diff --git a/GI/Gdk/Objects/Window.hs b/GI/Gdk/Objects/Window.hs
deleted file mode 100644
--- a/GI/Gdk/Objects/Window.hs
+++ /dev/null
@@ -1,5280 +0,0 @@
-
-{- |
-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.Gdk.Objects.Window
-    ( 
-
--- * Exported types
-    Window(..)                              ,
-    WindowK                                 ,
-    toWindow                                ,
-    noWindow                                ,
-
-
- -- * Methods
--- ** windowAtPointer
-    windowAtPointer                         ,
-
-
--- ** windowBeep
-    windowBeep                              ,
-
-
--- ** windowBeginMoveDrag
-    windowBeginMoveDrag                     ,
-
-
--- ** windowBeginMoveDragForDevice
-    windowBeginMoveDragForDevice            ,
-
-
--- ** windowBeginPaintRect
-    windowBeginPaintRect                    ,
-
-
--- ** windowBeginPaintRegion
-    windowBeginPaintRegion                  ,
-
-
--- ** windowBeginResizeDrag
-    windowBeginResizeDrag                   ,
-
-
--- ** windowBeginResizeDragForDevice
-    windowBeginResizeDragForDevice          ,
-
-
--- ** windowConfigureFinished
-    windowConfigureFinished                 ,
-
-
--- ** windowConstrainSize
-    windowConstrainSize                     ,
-
-
--- ** windowCoordsFromParent
-    windowCoordsFromParent                  ,
-
-
--- ** windowCoordsToParent
-    windowCoordsToParent                    ,
-
-
--- ** windowCreateGlContext
-    windowCreateGlContext                   ,
-
-
--- ** windowCreateSimilarImageSurface
-    windowCreateSimilarImageSurface         ,
-
-
--- ** windowCreateSimilarSurface
-    windowCreateSimilarSurface              ,
-
-
--- ** windowDeiconify
-    windowDeiconify                         ,
-
-
--- ** windowDestroy
-    windowDestroy                           ,
-
-
--- ** windowDestroyNotify
-    windowDestroyNotify                     ,
-
-
--- ** windowEnableSynchronizedConfigure
-    windowEnableSynchronizedConfigure       ,
-
-
--- ** windowEndPaint
-    windowEndPaint                          ,
-
-
--- ** windowEnsureNative
-    windowEnsureNative                      ,
-
-
--- ** windowFlush
-    windowFlush                             ,
-
-
--- ** windowFocus
-    windowFocus                             ,
-
-
--- ** windowFreezeToplevelUpdatesLibgtkOnly
-    windowFreezeToplevelUpdatesLibgtkOnly   ,
-
-
--- ** windowFreezeUpdates
-    windowFreezeUpdates                     ,
-
-
--- ** windowFullscreen
-    windowFullscreen                        ,
-
-
--- ** windowGeometryChanged
-    windowGeometryChanged                   ,
-
-
--- ** windowGetAcceptFocus
-    windowGetAcceptFocus                    ,
-
-
--- ** windowGetBackgroundPattern
-    windowGetBackgroundPattern              ,
-
-
--- ** windowGetChildren
-    windowGetChildren                       ,
-
-
--- ** windowGetChildrenWithUserData
-    windowGetChildrenWithUserData           ,
-
-
--- ** windowGetClipRegion
-    windowGetClipRegion                     ,
-
-
--- ** windowGetComposited
-    windowGetComposited                     ,
-
-
--- ** windowGetCursor
-    windowGetCursor                         ,
-
-
--- ** windowGetDecorations
-    windowGetDecorations                    ,
-
-
--- ** windowGetDeviceCursor
-    windowGetDeviceCursor                   ,
-
-
--- ** windowGetDeviceEvents
-    windowGetDeviceEvents                   ,
-
-
--- ** windowGetDevicePosition
-    windowGetDevicePosition                 ,
-
-
--- ** windowGetDevicePositionDouble
-    windowGetDevicePositionDouble           ,
-
-
--- ** windowGetDisplay
-    windowGetDisplay                        ,
-
-
--- ** windowGetDragProtocol
-    windowGetDragProtocol                   ,
-
-
--- ** windowGetEffectiveParent
-    windowGetEffectiveParent                ,
-
-
--- ** windowGetEffectiveToplevel
-    windowGetEffectiveToplevel              ,
-
-
--- ** windowGetEventCompression
-    windowGetEventCompression               ,
-
-
--- ** windowGetEvents
-    windowGetEvents                         ,
-
-
--- ** windowGetFocusOnMap
-    windowGetFocusOnMap                     ,
-
-
--- ** windowGetFrameClock
-    windowGetFrameClock                     ,
-
-
--- ** windowGetFrameExtents
-    windowGetFrameExtents                   ,
-
-
--- ** windowGetFullscreenMode
-    windowGetFullscreenMode                 ,
-
-
--- ** windowGetGeometry
-    windowGetGeometry                       ,
-
-
--- ** windowGetGroup
-    windowGetGroup                          ,
-
-
--- ** windowGetHeight
-    windowGetHeight                         ,
-
-
--- ** windowGetModalHint
-    windowGetModalHint                      ,
-
-
--- ** windowGetOrigin
-    windowGetOrigin                         ,
-
-
--- ** windowGetParent
-    windowGetParent                         ,
-
-
--- ** windowGetPointer
-    windowGetPointer                        ,
-
-
--- ** windowGetPosition
-    windowGetPosition                       ,
-
-
--- ** windowGetRootCoords
-    windowGetRootCoords                     ,
-
-
--- ** windowGetRootOrigin
-    windowGetRootOrigin                     ,
-
-
--- ** windowGetScaleFactor
-    windowGetScaleFactor                    ,
-
-
--- ** windowGetScreen
-    windowGetScreen                         ,
-
-
--- ** windowGetSourceEvents
-    windowGetSourceEvents                   ,
-
-
--- ** windowGetState
-    windowGetState                          ,
-
-
--- ** windowGetSupportMultidevice
-    windowGetSupportMultidevice             ,
-
-
--- ** windowGetToplevel
-    windowGetToplevel                       ,
-
-
--- ** windowGetTypeHint
-    windowGetTypeHint                       ,
-
-
--- ** windowGetUpdateArea
-    windowGetUpdateArea                     ,
-
-
--- ** windowGetUserData
-    windowGetUserData                       ,
-
-
--- ** windowGetVisibleRegion
-    windowGetVisibleRegion                  ,
-
-
--- ** windowGetVisual
-    windowGetVisual                         ,
-
-
--- ** windowGetWidth
-    windowGetWidth                          ,
-
-
--- ** windowGetWindowType
-    windowGetWindowType                     ,
-
-
--- ** windowHasNative
-    windowHasNative                         ,
-
-
--- ** windowHide
-    windowHide                              ,
-
-
--- ** windowIconify
-    windowIconify                           ,
-
-
--- ** windowInputShapeCombineRegion
-    windowInputShapeCombineRegion           ,
-
-
--- ** windowInvalidateMaybeRecurse
-    windowInvalidateMaybeRecurse            ,
-
-
--- ** windowInvalidateRect
-    windowInvalidateRect                    ,
-
-
--- ** windowInvalidateRegion
-    windowInvalidateRegion                  ,
-
-
--- ** windowIsDestroyed
-    windowIsDestroyed                       ,
-
-
--- ** windowIsInputOnly
-    windowIsInputOnly                       ,
-
-
--- ** windowIsShaped
-    windowIsShaped                          ,
-
-
--- ** windowIsViewable
-    windowIsViewable                        ,
-
-
--- ** windowIsVisible
-    windowIsVisible                         ,
-
-
--- ** windowLower
-    windowLower                             ,
-
-
--- ** windowMarkPaintFromClip
-    windowMarkPaintFromClip                 ,
-
-
--- ** windowMaximize
-    windowMaximize                          ,
-
-
--- ** windowMergeChildInputShapes
-    windowMergeChildInputShapes             ,
-
-
--- ** windowMergeChildShapes
-    windowMergeChildShapes                  ,
-
-
--- ** windowMove
-    windowMove                              ,
-
-
--- ** windowMoveRegion
-    windowMoveRegion                        ,
-
-
--- ** windowMoveResize
-    windowMoveResize                        ,
-
-
--- ** windowNew
-    windowNew                               ,
-
-
--- ** windowPeekChildren
-    windowPeekChildren                      ,
-
-
--- ** windowProcessAllUpdates
-    windowProcessAllUpdates                 ,
-
-
--- ** windowProcessUpdates
-    windowProcessUpdates                    ,
-
-
--- ** windowRaise
-    windowRaise                             ,
-
-
--- ** windowRegisterDnd
-    windowRegisterDnd                       ,
-
-
--- ** windowReparent
-    windowReparent                          ,
-
-
--- ** windowResize
-    windowResize                            ,
-
-
--- ** windowRestack
-    windowRestack                           ,
-
-
--- ** windowScroll
-    windowScroll                            ,
-
-
--- ** windowSetAcceptFocus
-    windowSetAcceptFocus                    ,
-
-
--- ** windowSetBackground
-    windowSetBackground                     ,
-
-
--- ** windowSetBackgroundPattern
-    windowSetBackgroundPattern              ,
-
-
--- ** windowSetBackgroundRgba
-    windowSetBackgroundRgba                 ,
-
-
--- ** windowSetChildInputShapes
-    windowSetChildInputShapes               ,
-
-
--- ** windowSetChildShapes
-    windowSetChildShapes                    ,
-
-
--- ** windowSetComposited
-    windowSetComposited                     ,
-
-
--- ** windowSetCursor
-    windowSetCursor                         ,
-
-
--- ** windowSetDebugUpdates
-    windowSetDebugUpdates                   ,
-
-
--- ** windowSetDecorations
-    windowSetDecorations                    ,
-
-
--- ** windowSetDeviceCursor
-    windowSetDeviceCursor                   ,
-
-
--- ** windowSetDeviceEvents
-    windowSetDeviceEvents                   ,
-
-
--- ** windowSetEventCompression
-    windowSetEventCompression               ,
-
-
--- ** windowSetEvents
-    windowSetEvents                         ,
-
-
--- ** windowSetFocusOnMap
-    windowSetFocusOnMap                     ,
-
-
--- ** windowSetFullscreenMode
-    windowSetFullscreenMode                 ,
-
-
--- ** windowSetFunctions
-    windowSetFunctions                      ,
-
-
--- ** windowSetGeometryHints
-    windowSetGeometryHints                  ,
-
-
--- ** windowSetGroup
-    windowSetGroup                          ,
-
-
--- ** windowSetIconList
-    windowSetIconList                       ,
-
-
--- ** windowSetIconName
-    windowSetIconName                       ,
-
-
--- ** windowSetKeepAbove
-    windowSetKeepAbove                      ,
-
-
--- ** windowSetKeepBelow
-    windowSetKeepBelow                      ,
-
-
--- ** windowSetModalHint
-    windowSetModalHint                      ,
-
-
--- ** windowSetOpacity
-    windowSetOpacity                        ,
-
-
--- ** windowSetOpaqueRegion
-    windowSetOpaqueRegion                   ,
-
-
--- ** windowSetOverrideRedirect
-    windowSetOverrideRedirect               ,
-
-
--- ** windowSetRole
-    windowSetRole                           ,
-
-
--- ** windowSetShadowWidth
-    windowSetShadowWidth                    ,
-
-
--- ** windowSetSkipPagerHint
-    windowSetSkipPagerHint                  ,
-
-
--- ** windowSetSkipTaskbarHint
-    windowSetSkipTaskbarHint                ,
-
-
--- ** windowSetSourceEvents
-    windowSetSourceEvents                   ,
-
-
--- ** windowSetStartupId
-    windowSetStartupId                      ,
-
-
--- ** windowSetStaticGravities
-    windowSetStaticGravities                ,
-
-
--- ** windowSetSupportMultidevice
-    windowSetSupportMultidevice             ,
-
-
--- ** windowSetTitle
-    windowSetTitle                          ,
-
-
--- ** windowSetTransientFor
-    windowSetTransientFor                   ,
-
-
--- ** windowSetTypeHint
-    windowSetTypeHint                       ,
-
-
--- ** windowSetUrgencyHint
-    windowSetUrgencyHint                    ,
-
-
--- ** windowSetUserData
-    windowSetUserData                       ,
-
-
--- ** windowShapeCombineRegion
-    windowShapeCombineRegion                ,
-
-
--- ** windowShow
-    windowShow                              ,
-
-
--- ** windowShowUnraised
-    windowShowUnraised                      ,
-
-
--- ** windowShowWindowMenu
-    windowShowWindowMenu                    ,
-
-
--- ** windowStick
-    windowStick                             ,
-
-
--- ** windowThawToplevelUpdatesLibgtkOnly
-    windowThawToplevelUpdatesLibgtkOnly     ,
-
-
--- ** windowThawUpdates
-    windowThawUpdates                       ,
-
-
--- ** windowUnfullscreen
-    windowUnfullscreen                      ,
-
-
--- ** windowUnmaximize
-    windowUnmaximize                        ,
-
-
--- ** windowUnstick
-    windowUnstick                           ,
-
-
--- ** windowWithdraw
-    windowWithdraw                          ,
-
-
-
-
- -- * Properties
--- ** Cursor
-    WindowCursorPropertyInfo                ,
-    constructWindowCursor                   ,
-    getWindowCursor                         ,
-    setWindowCursor                         ,
-
-
-
-
- -- * Signals
--- ** CreateSurface
-    WindowCreateSurfaceCallback             ,
-    WindowCreateSurfaceCallbackC            ,
-    WindowCreateSurfaceSignalInfo           ,
-    afterWindowCreateSurface                ,
-    mkWindowCreateSurfaceCallback           ,
-    noWindowCreateSurfaceCallback           ,
-    onWindowCreateSurface                   ,
-    windowCreateSurfaceCallbackWrapper      ,
-    windowCreateSurfaceClosure              ,
-
-
--- ** FromEmbedder
-    WindowFromEmbedderCallback              ,
-    WindowFromEmbedderCallbackC             ,
-    WindowFromEmbedderSignalInfo            ,
-    afterWindowFromEmbedder                 ,
-    mkWindowFromEmbedderCallback            ,
-    noWindowFromEmbedderCallback            ,
-    onWindowFromEmbedder                    ,
-    windowFromEmbedderCallbackWrapper       ,
-    windowFromEmbedderClosure               ,
-
-
--- ** PickEmbeddedChild
-    WindowPickEmbeddedChildCallback         ,
-    WindowPickEmbeddedChildCallbackC        ,
-    WindowPickEmbeddedChildSignalInfo       ,
-    afterWindowPickEmbeddedChild            ,
-    mkWindowPickEmbeddedChildCallback       ,
-    noWindowPickEmbeddedChildCallback       ,
-    onWindowPickEmbeddedChild               ,
-    windowPickEmbeddedChildCallbackWrapper  ,
-    windowPickEmbeddedChildClosure          ,
-
-
--- ** ToEmbedder
-    WindowToEmbedderCallback                ,
-    WindowToEmbedderCallbackC               ,
-    WindowToEmbedderSignalInfo              ,
-    afterWindowToEmbedder                   ,
-    mkWindowToEmbedderCallback              ,
-    noWindowToEmbedderCallback              ,
-    onWindowToEmbedder                      ,
-    windowToEmbedderCallbackWrapper         ,
-    windowToEmbedderClosure                 ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-import qualified GI.GObject as GObject
-import qualified GI.GdkPixbuf as GdkPixbuf
-import qualified GI.Cairo as Cairo
-
-newtype Window = Window (ForeignPtr Window)
-foreign import ccall "gdk_window_get_type"
-    c_gdk_window_get_type :: IO GType
-
-type instance ParentTypes Window = WindowParentTypes
-type WindowParentTypes = '[GObject.Object]
-
-instance GObject Window where
-    gobjectIsInitiallyUnowned _ = False
-    gobjectType _ = c_gdk_window_get_type
-    
-
-class GObject o => WindowK o
-instance (GObject o, IsDescendantOf Window o) => WindowK o
-
-toWindow :: WindowK o => o -> IO Window
-toWindow = unsafeCastTo Window
-
-noWindow :: Maybe Window
-noWindow = Nothing
-
--- signal Window::create-surface
-type WindowCreateSurfaceCallback =
-    Int32 ->
-    Int32 ->
-    IO Cairo.Surface
-
-noWindowCreateSurfaceCallback :: Maybe WindowCreateSurfaceCallback
-noWindowCreateSurfaceCallback = Nothing
-
-type WindowCreateSurfaceCallbackC =
-    Ptr () ->                               -- object
-    Int32 ->
-    Int32 ->
-    Ptr () ->                               -- user_data
-    IO (Ptr Cairo.Surface)
-
-foreign import ccall "wrapper"
-    mkWindowCreateSurfaceCallback :: WindowCreateSurfaceCallbackC -> IO (FunPtr WindowCreateSurfaceCallbackC)
-
-windowCreateSurfaceClosure :: WindowCreateSurfaceCallback -> IO Closure
-windowCreateSurfaceClosure cb = newCClosure =<< mkWindowCreateSurfaceCallback wrapped
-    where wrapped = windowCreateSurfaceCallbackWrapper cb
-
-windowCreateSurfaceCallbackWrapper ::
-    WindowCreateSurfaceCallback ->
-    Ptr () ->
-    Int32 ->
-    Int32 ->
-    Ptr () ->
-    IO (Ptr Cairo.Surface)
-windowCreateSurfaceCallbackWrapper _cb _ width height _ = do
-    result <- _cb  width height
-    result' <- copyBoxed result
-    return result'
-
-onWindowCreateSurface :: (GObject a, MonadIO m) => a -> WindowCreateSurfaceCallback -> m SignalHandlerId
-onWindowCreateSurface obj cb = liftIO $ connectWindowCreateSurface obj cb SignalConnectBefore
-afterWindowCreateSurface :: (GObject a, MonadIO m) => a -> WindowCreateSurfaceCallback -> m SignalHandlerId
-afterWindowCreateSurface obj cb = connectWindowCreateSurface obj cb SignalConnectAfter
-
-connectWindowCreateSurface :: (GObject a, MonadIO m) =>
-                              a -> WindowCreateSurfaceCallback -> SignalConnectMode -> m SignalHandlerId
-connectWindowCreateSurface obj cb after = liftIO $ do
-    cb' <- mkWindowCreateSurfaceCallback (windowCreateSurfaceCallbackWrapper cb)
-    connectSignalFunPtr obj "create-surface" cb' after
-
--- signal Window::from-embedder
-type WindowFromEmbedderCallback =
-    Double ->
-    Double ->
-    IO (Double,Double)
-
-noWindowFromEmbedderCallback :: Maybe WindowFromEmbedderCallback
-noWindowFromEmbedderCallback = Nothing
-
-type WindowFromEmbedderCallbackC =
-    Ptr () ->                               -- object
-    CDouble ->
-    CDouble ->
-    Ptr CDouble ->
-    Ptr CDouble ->
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkWindowFromEmbedderCallback :: WindowFromEmbedderCallbackC -> IO (FunPtr WindowFromEmbedderCallbackC)
-
-windowFromEmbedderClosure :: WindowFromEmbedderCallback -> IO Closure
-windowFromEmbedderClosure cb = newCClosure =<< mkWindowFromEmbedderCallback wrapped
-    where wrapped = windowFromEmbedderCallbackWrapper cb
-
-windowFromEmbedderCallbackWrapper ::
-    WindowFromEmbedderCallback ->
-    Ptr () ->
-    CDouble ->
-    CDouble ->
-    Ptr CDouble ->
-    Ptr CDouble ->
-    Ptr () ->
-    IO ()
-windowFromEmbedderCallbackWrapper _cb _ embedder_x embedder_y offscreen_x offscreen_y _ = do
-    let embedder_x' = realToFrac embedder_x
-    let embedder_y' = realToFrac embedder_y
-    (outoffscreen_x, outoffscreen_y) <- _cb  embedder_x' embedder_y'
-    let outoffscreen_x' = realToFrac outoffscreen_x
-    poke offscreen_x outoffscreen_x'
-    let outoffscreen_y' = realToFrac outoffscreen_y
-    poke offscreen_y outoffscreen_y'
-
-onWindowFromEmbedder :: (GObject a, MonadIO m) => a -> WindowFromEmbedderCallback -> m SignalHandlerId
-onWindowFromEmbedder obj cb = liftIO $ connectWindowFromEmbedder obj cb SignalConnectBefore
-afterWindowFromEmbedder :: (GObject a, MonadIO m) => a -> WindowFromEmbedderCallback -> m SignalHandlerId
-afterWindowFromEmbedder obj cb = connectWindowFromEmbedder obj cb SignalConnectAfter
-
-connectWindowFromEmbedder :: (GObject a, MonadIO m) =>
-                             a -> WindowFromEmbedderCallback -> SignalConnectMode -> m SignalHandlerId
-connectWindowFromEmbedder obj cb after = liftIO $ do
-    cb' <- mkWindowFromEmbedderCallback (windowFromEmbedderCallbackWrapper cb)
-    connectSignalFunPtr obj "from-embedder" cb' after
-
--- signal Window::pick-embedded-child
-type WindowPickEmbeddedChildCallback =
-    Double ->
-    Double ->
-    IO Window
-
-noWindowPickEmbeddedChildCallback :: Maybe WindowPickEmbeddedChildCallback
-noWindowPickEmbeddedChildCallback = Nothing
-
-type WindowPickEmbeddedChildCallbackC =
-    Ptr () ->                               -- object
-    CDouble ->
-    CDouble ->
-    Ptr () ->                               -- user_data
-    IO (Ptr Window)
-
-foreign import ccall "wrapper"
-    mkWindowPickEmbeddedChildCallback :: WindowPickEmbeddedChildCallbackC -> IO (FunPtr WindowPickEmbeddedChildCallbackC)
-
-windowPickEmbeddedChildClosure :: WindowPickEmbeddedChildCallback -> IO Closure
-windowPickEmbeddedChildClosure cb = newCClosure =<< mkWindowPickEmbeddedChildCallback wrapped
-    where wrapped = windowPickEmbeddedChildCallbackWrapper cb
-
-windowPickEmbeddedChildCallbackWrapper ::
-    WindowPickEmbeddedChildCallback ->
-    Ptr () ->
-    CDouble ->
-    CDouble ->
-    Ptr () ->
-    IO (Ptr Window)
-windowPickEmbeddedChildCallbackWrapper _cb _ x y _ = do
-    let x' = realToFrac x
-    let y' = realToFrac y
-    result <- _cb  x' y'
-    let result' = unsafeManagedPtrCastPtr result
-    return result'
-
-onWindowPickEmbeddedChild :: (GObject a, MonadIO m) => a -> WindowPickEmbeddedChildCallback -> m SignalHandlerId
-onWindowPickEmbeddedChild obj cb = liftIO $ connectWindowPickEmbeddedChild obj cb SignalConnectBefore
-afterWindowPickEmbeddedChild :: (GObject a, MonadIO m) => a -> WindowPickEmbeddedChildCallback -> m SignalHandlerId
-afterWindowPickEmbeddedChild obj cb = connectWindowPickEmbeddedChild obj cb SignalConnectAfter
-
-connectWindowPickEmbeddedChild :: (GObject a, MonadIO m) =>
-                                  a -> WindowPickEmbeddedChildCallback -> SignalConnectMode -> m SignalHandlerId
-connectWindowPickEmbeddedChild obj cb after = liftIO $ do
-    cb' <- mkWindowPickEmbeddedChildCallback (windowPickEmbeddedChildCallbackWrapper cb)
-    connectSignalFunPtr obj "pick-embedded-child" cb' after
-
--- signal Window::to-embedder
-type WindowToEmbedderCallback =
-    Double ->
-    Double ->
-    IO (Double,Double)
-
-noWindowToEmbedderCallback :: Maybe WindowToEmbedderCallback
-noWindowToEmbedderCallback = Nothing
-
-type WindowToEmbedderCallbackC =
-    Ptr () ->                               -- object
-    CDouble ->
-    CDouble ->
-    Ptr CDouble ->
-    Ptr CDouble ->
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkWindowToEmbedderCallback :: WindowToEmbedderCallbackC -> IO (FunPtr WindowToEmbedderCallbackC)
-
-windowToEmbedderClosure :: WindowToEmbedderCallback -> IO Closure
-windowToEmbedderClosure cb = newCClosure =<< mkWindowToEmbedderCallback wrapped
-    where wrapped = windowToEmbedderCallbackWrapper cb
-
-windowToEmbedderCallbackWrapper ::
-    WindowToEmbedderCallback ->
-    Ptr () ->
-    CDouble ->
-    CDouble ->
-    Ptr CDouble ->
-    Ptr CDouble ->
-    Ptr () ->
-    IO ()
-windowToEmbedderCallbackWrapper _cb _ offscreen_x offscreen_y embedder_x embedder_y _ = do
-    let offscreen_x' = realToFrac offscreen_x
-    let offscreen_y' = realToFrac offscreen_y
-    (outembedder_x, outembedder_y) <- _cb  offscreen_x' offscreen_y'
-    let outembedder_x' = realToFrac outembedder_x
-    poke embedder_x outembedder_x'
-    let outembedder_y' = realToFrac outembedder_y
-    poke embedder_y outembedder_y'
-
-onWindowToEmbedder :: (GObject a, MonadIO m) => a -> WindowToEmbedderCallback -> m SignalHandlerId
-onWindowToEmbedder obj cb = liftIO $ connectWindowToEmbedder obj cb SignalConnectBefore
-afterWindowToEmbedder :: (GObject a, MonadIO m) => a -> WindowToEmbedderCallback -> m SignalHandlerId
-afterWindowToEmbedder obj cb = connectWindowToEmbedder obj cb SignalConnectAfter
-
-connectWindowToEmbedder :: (GObject a, MonadIO m) =>
-                           a -> WindowToEmbedderCallback -> SignalConnectMode -> m SignalHandlerId
-connectWindowToEmbedder obj cb after = liftIO $ do
-    cb' <- mkWindowToEmbedderCallback (windowToEmbedderCallbackWrapper cb)
-    connectSignalFunPtr obj "to-embedder" cb' after
-
--- VVV Prop "cursor"
-   -- Type: TInterface "Gdk" "Cursor"
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getWindowCursor :: (MonadIO m, WindowK o) => o -> m Cursor
-getWindowCursor obj = liftIO $ getObjectPropertyObject obj "cursor" Cursor
-
-setWindowCursor :: (MonadIO m, WindowK o, CursorK a) => o -> a -> m ()
-setWindowCursor obj val = liftIO $ setObjectPropertyObject obj "cursor" val
-
-constructWindowCursor :: (CursorK a) => a -> IO ([Char], GValue)
-constructWindowCursor val = constructObjectPropertyObject "cursor" val
-
-data WindowCursorPropertyInfo
-instance AttrInfo WindowCursorPropertyInfo where
-    type AttrAllowedOps WindowCursorPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint WindowCursorPropertyInfo = CursorK
-    type AttrBaseTypeConstraint WindowCursorPropertyInfo = WindowK
-    type AttrGetType WindowCursorPropertyInfo = Cursor
-    type AttrLabel WindowCursorPropertyInfo = "Window::cursor"
-    attrGet _ = getWindowCursor
-    attrSet _ = setWindowCursor
-    attrConstruct _ = constructWindowCursor
-
-type instance AttributeList Window = WindowAttributeList
-type WindowAttributeList = ('[ '("cursor", WindowCursorPropertyInfo)] :: [(Symbol, *)])
-
-data WindowCreateSurfaceSignalInfo
-instance SignalInfo WindowCreateSurfaceSignalInfo where
-    type HaskellCallbackType WindowCreateSurfaceSignalInfo = WindowCreateSurfaceCallback
-    connectSignal _ = connectWindowCreateSurface
-
-data WindowFromEmbedderSignalInfo
-instance SignalInfo WindowFromEmbedderSignalInfo where
-    type HaskellCallbackType WindowFromEmbedderSignalInfo = WindowFromEmbedderCallback
-    connectSignal _ = connectWindowFromEmbedder
-
-data WindowPickEmbeddedChildSignalInfo
-instance SignalInfo WindowPickEmbeddedChildSignalInfo where
-    type HaskellCallbackType WindowPickEmbeddedChildSignalInfo = WindowPickEmbeddedChildCallback
-    connectSignal _ = connectWindowPickEmbeddedChild
-
-data WindowToEmbedderSignalInfo
-instance SignalInfo WindowToEmbedderSignalInfo where
-    type HaskellCallbackType WindowToEmbedderSignalInfo = WindowToEmbedderCallback
-    connectSignal _ = connectWindowToEmbedder
-
-type instance SignalList Window = WindowSignalList
-type WindowSignalList = ('[ '("create-surface", WindowCreateSurfaceSignalInfo), '("from-embedder", WindowFromEmbedderSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("pick-embedded-child", WindowPickEmbeddedChildSignalInfo), '("to-embedder", WindowToEmbedderSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-
--- method Window::new
--- method type : Constructor
--- Args : [Arg {argName = "parent", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attributes", argType = TInterface "Gdk" "WindowAttr", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attributes_mask", argType = TInterface "Gdk" "WindowAttributesType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "parent", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attributes", argType = TInterface "Gdk" "WindowAttr", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attributes_mask", argType = TInterface "Gdk" "WindowAttributesType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_new" gdk_window_new :: 
-    Ptr Window ->                           -- parent : TInterface "Gdk" "Window"
-    Ptr WindowAttr ->                       -- attributes : TInterface "Gdk" "WindowAttr"
-    CUInt ->                                -- attributes_mask : TInterface "Gdk" "WindowAttributesType"
-    IO (Ptr Window)
-
-
-windowNew ::
-    (MonadIO m, WindowK a) =>
-    Maybe (a) ->                            -- parent
-    WindowAttr ->                           -- attributes
-    [WindowAttributesType] ->               -- attributes_mask
-    m Window
-windowNew parent attributes attributes_mask = liftIO $ do
-    maybeParent <- case parent of
-        Nothing -> return nullPtr
-        Just jParent -> do
-            let jParent' = unsafeManagedPtrCastPtr jParent
-            return jParent'
-    let attributes' = unsafeManagedPtrGetPtr attributes
-    let attributes_mask' = gflagsToWord attributes_mask
-    result <- gdk_window_new maybeParent attributes' attributes_mask'
-    checkUnexpectedReturnNULL "gdk_window_new" result
-    result' <- (wrapObject Window) result
-    whenJust parent touchManagedPtr
-    touchManagedPtr attributes
-    return result'
-
--- method Window::beep
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_beep" gdk_window_beep :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowBeep ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowBeep _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_beep _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::begin_move_drag
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_begin_move_drag" gdk_window_begin_move_drag :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Int32 ->                                -- button : TBasicType TInt32
-    Int32 ->                                -- root_x : TBasicType TInt32
-    Int32 ->                                -- root_y : TBasicType TInt32
-    Word32 ->                               -- timestamp : TBasicType TUInt32
-    IO ()
-
-
-windowBeginMoveDrag ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- button
-    Int32 ->                                -- root_x
-    Int32 ->                                -- root_y
-    Word32 ->                               -- timestamp
-    m ()
-windowBeginMoveDrag _obj button root_x root_y timestamp = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_begin_move_drag _obj' button root_x root_y timestamp
-    touchManagedPtr _obj
-    return ()
-
--- method Window::begin_move_drag_for_device
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_begin_move_drag_for_device" gdk_window_begin_move_drag_for_device :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
-    Int32 ->                                -- button : TBasicType TInt32
-    Int32 ->                                -- root_x : TBasicType TInt32
-    Int32 ->                                -- root_y : TBasicType TInt32
-    Word32 ->                               -- timestamp : TBasicType TUInt32
-    IO ()
-
-
-windowBeginMoveDragForDevice ::
-    (MonadIO m, WindowK a, DeviceK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- device
-    Int32 ->                                -- button
-    Int32 ->                                -- root_x
-    Int32 ->                                -- root_y
-    Word32 ->                               -- timestamp
-    m ()
-windowBeginMoveDragForDevice _obj device button root_x root_y timestamp = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let device' = unsafeManagedPtrCastPtr device
-    gdk_window_begin_move_drag_for_device _obj' device' button root_x root_y timestamp
-    touchManagedPtr _obj
-    touchManagedPtr device
-    return ()
-
--- method Window::begin_paint_rect
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rectangle", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rectangle", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_begin_paint_rect" gdk_window_begin_paint_rect :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Cairo.RectangleInt ->               -- rectangle : TInterface "cairo" "RectangleInt"
-    IO ()
-
-
-windowBeginPaintRect ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Cairo.RectangleInt ->                   -- rectangle
-    m ()
-windowBeginPaintRect _obj rectangle = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let rectangle' = unsafeManagedPtrGetPtr rectangle
-    gdk_window_begin_paint_rect _obj' rectangle'
-    touchManagedPtr _obj
-    touchManagedPtr rectangle
-    return ()
-
--- method Window::begin_paint_region
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_begin_paint_region" gdk_window_begin_paint_region :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Cairo.Region ->                     -- region : TInterface "cairo" "Region"
-    IO ()
-
-
-windowBeginPaintRegion ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Cairo.Region ->                         -- region
-    m ()
-windowBeginPaintRegion _obj region = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let region' = unsafeManagedPtrGetPtr region
-    gdk_window_begin_paint_region _obj' region'
-    touchManagedPtr _obj
-    touchManagedPtr region
-    return ()
-
--- method Window::begin_resize_drag
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "edge", argType = TInterface "Gdk" "WindowEdge", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "edge", argType = TInterface "Gdk" "WindowEdge", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_begin_resize_drag" gdk_window_begin_resize_drag :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CUInt ->                                -- edge : TInterface "Gdk" "WindowEdge"
-    Int32 ->                                -- button : TBasicType TInt32
-    Int32 ->                                -- root_x : TBasicType TInt32
-    Int32 ->                                -- root_y : TBasicType TInt32
-    Word32 ->                               -- timestamp : TBasicType TUInt32
-    IO ()
-
-
-windowBeginResizeDrag ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    WindowEdge ->                           -- edge
-    Int32 ->                                -- button
-    Int32 ->                                -- root_x
-    Int32 ->                                -- root_y
-    Word32 ->                               -- timestamp
-    m ()
-windowBeginResizeDrag _obj edge button root_x root_y timestamp = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let edge' = (fromIntegral . fromEnum) edge
-    gdk_window_begin_resize_drag _obj' edge' button root_x root_y timestamp
-    touchManagedPtr _obj
-    return ()
-
--- method Window::begin_resize_drag_for_device
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "edge", argType = TInterface "Gdk" "WindowEdge", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "edge", argType = TInterface "Gdk" "WindowEdge", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_begin_resize_drag_for_device" gdk_window_begin_resize_drag_for_device :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CUInt ->                                -- edge : TInterface "Gdk" "WindowEdge"
-    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
-    Int32 ->                                -- button : TBasicType TInt32
-    Int32 ->                                -- root_x : TBasicType TInt32
-    Int32 ->                                -- root_y : TBasicType TInt32
-    Word32 ->                               -- timestamp : TBasicType TUInt32
-    IO ()
-
-
-windowBeginResizeDragForDevice ::
-    (MonadIO m, WindowK a, DeviceK b) =>
-    a ->                                    -- _obj
-    WindowEdge ->                           -- edge
-    b ->                                    -- device
-    Int32 ->                                -- button
-    Int32 ->                                -- root_x
-    Int32 ->                                -- root_y
-    Word32 ->                               -- timestamp
-    m ()
-windowBeginResizeDragForDevice _obj edge device button root_x root_y timestamp = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let edge' = (fromIntegral . fromEnum) edge
-    let device' = unsafeManagedPtrCastPtr device
-    gdk_window_begin_resize_drag_for_device _obj' edge' device' button root_x root_y timestamp
-    touchManagedPtr _obj
-    touchManagedPtr device
-    return ()
-
--- method Window::configure_finished
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_configure_finished" gdk_window_configure_finished :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-{-# DEPRECATED windowConfigureFinished ["(Since version 3.8)","this function is no longer needed"]#-}
-windowConfigureFinished ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowConfigureFinished _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_configure_finished _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::coords_from_parent
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent_y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent_y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_coords_from_parent" gdk_window_coords_from_parent :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CDouble ->                              -- parent_x : TBasicType TDouble
-    CDouble ->                              -- parent_y : TBasicType TDouble
-    Ptr CDouble ->                          -- x : TBasicType TDouble
-    Ptr CDouble ->                          -- y : TBasicType TDouble
-    IO ()
-
-
-windowCoordsFromParent ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Double ->                               -- parent_x
-    Double ->                               -- parent_y
-    m (Double,Double)
-windowCoordsFromParent _obj parent_x parent_y = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let parent_x' = realToFrac parent_x
-    let parent_y' = realToFrac parent_y
-    x <- allocMem :: IO (Ptr CDouble)
-    y <- allocMem :: IO (Ptr CDouble)
-    gdk_window_coords_from_parent _obj' parent_x' parent_y' x y
-    x' <- peek x
-    let x'' = realToFrac x'
-    y' <- peek y
-    let y'' = realToFrac y'
-    touchManagedPtr _obj
-    freeMem x
-    freeMem y
-    return (x'', y'')
-
--- method Window::coords_to_parent
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent_x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "parent_y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_coords_to_parent" gdk_window_coords_to_parent :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CDouble ->                              -- x : TBasicType TDouble
-    CDouble ->                              -- y : TBasicType TDouble
-    Ptr CDouble ->                          -- parent_x : TBasicType TDouble
-    Ptr CDouble ->                          -- parent_y : TBasicType TDouble
-    IO ()
-
-
-windowCoordsToParent ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Double ->                               -- x
-    Double ->                               -- y
-    m (Double,Double)
-windowCoordsToParent _obj x y = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let x' = realToFrac x
-    let y' = realToFrac y
-    parent_x <- allocMem :: IO (Ptr CDouble)
-    parent_y <- allocMem :: IO (Ptr CDouble)
-    gdk_window_coords_to_parent _obj' x' y' parent_x parent_y
-    parent_x' <- peek parent_x
-    let parent_x'' = realToFrac parent_x'
-    parent_y' <- peek parent_y
-    let parent_y'' = realToFrac parent_y'
-    touchManagedPtr _obj
-    freeMem parent_x
-    freeMem parent_y
-    return (parent_x'', parent_y'')
-
--- method Window::create_gl_context
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "GLContext"
--- throws : True
--- Skip return : False
-
-foreign import ccall "gdk_window_create_gl_context" gdk_window_create_gl_context :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr (Ptr GError) ->                     -- error
-    IO (Ptr GLContext)
-
-
-windowCreateGlContext ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m GLContext
-windowCreateGlContext _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    onException (do
-        result <- propagateGError $ gdk_window_create_gl_context _obj'
-        checkUnexpectedReturnNULL "gdk_window_create_gl_context" result
-        result' <- (wrapObject GLContext) result
-        touchManagedPtr _obj
-        return result'
-     ) (do
-        return ()
-     )
-
--- method Window::create_similar_image_surface
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "format", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "format", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "cairo" "Surface"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_create_similar_image_surface" gdk_window_create_similar_image_surface :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Int32 ->                                -- format : TBasicType TInt32
-    Int32 ->                                -- width : TBasicType TInt32
-    Int32 ->                                -- height : TBasicType TInt32
-    Int32 ->                                -- scale : TBasicType TInt32
-    IO (Ptr Cairo.Surface)
-
-
-windowCreateSimilarImageSurface ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- format
-    Int32 ->                                -- width
-    Int32 ->                                -- height
-    Int32 ->                                -- scale
-    m Cairo.Surface
-windowCreateSimilarImageSurface _obj format width height scale = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_create_similar_image_surface _obj' format width height scale
-    checkUnexpectedReturnNULL "gdk_window_create_similar_image_surface" result
-    result' <- (wrapBoxed Cairo.Surface) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::create_similar_surface
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content", argType = TInterface "cairo" "Content", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "content", argType = TInterface "cairo" "Content", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "cairo" "Surface"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_create_similar_surface" gdk_window_create_similar_surface :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CUInt ->                                -- content : TInterface "cairo" "Content"
-    Int32 ->                                -- width : TBasicType TInt32
-    Int32 ->                                -- height : TBasicType TInt32
-    IO (Ptr Cairo.Surface)
-
-
-windowCreateSimilarSurface ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Cairo.Content ->                        -- content
-    Int32 ->                                -- width
-    Int32 ->                                -- height
-    m Cairo.Surface
-windowCreateSimilarSurface _obj content width height = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let content' = (fromIntegral . fromEnum) content
-    result <- gdk_window_create_similar_surface _obj' content' width height
-    checkUnexpectedReturnNULL "gdk_window_create_similar_surface" result
-    result' <- (wrapBoxed Cairo.Surface) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::deiconify
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_deiconify" gdk_window_deiconify :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowDeiconify ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowDeiconify _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_deiconify _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::destroy
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_destroy" gdk_window_destroy :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowDestroy ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowDestroy _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_destroy _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::destroy_notify
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_destroy_notify" gdk_window_destroy_notify :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowDestroyNotify ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowDestroyNotify _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_destroy_notify _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::enable_synchronized_configure
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_enable_synchronized_configure" gdk_window_enable_synchronized_configure :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-{-# DEPRECATED windowEnableSynchronizedConfigure ["(Since version 3.8)","this function is no longer needed"]#-}
-windowEnableSynchronizedConfigure ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowEnableSynchronizedConfigure _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_enable_synchronized_configure _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::end_paint
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_end_paint" gdk_window_end_paint :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowEndPaint ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowEndPaint _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_end_paint _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::ensure_native
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_ensure_native" gdk_window_ensure_native :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO CInt
-
-
-windowEnsureNative ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Bool
-windowEnsureNative _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_ensure_native _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::flush
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_flush" gdk_window_flush :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-{-# DEPRECATED windowFlush ["(Since version 3.14)"]#-}
-windowFlush ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowFlush _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_flush _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::focus
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timestamp", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_focus" gdk_window_focus :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Word32 ->                               -- timestamp : TBasicType TUInt32
-    IO ()
-
-
-windowFocus ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- timestamp
-    m ()
-windowFocus _obj timestamp = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_focus _obj' timestamp
-    touchManagedPtr _obj
-    return ()
-
--- method Window::freeze_toplevel_updates_libgtk_only
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_freeze_toplevel_updates_libgtk_only" gdk_window_freeze_toplevel_updates_libgtk_only :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-{-# DEPRECATED windowFreezeToplevelUpdatesLibgtkOnly ["(Since version 3.16)","This symbol was never meant to be used outside of GTK+"]#-}
-windowFreezeToplevelUpdatesLibgtkOnly ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowFreezeToplevelUpdatesLibgtkOnly _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_freeze_toplevel_updates_libgtk_only _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::freeze_updates
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_freeze_updates" gdk_window_freeze_updates :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowFreezeUpdates ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowFreezeUpdates _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_freeze_updates _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::fullscreen
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_fullscreen" gdk_window_fullscreen :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowFullscreen ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowFullscreen _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_fullscreen _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::geometry_changed
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_geometry_changed" gdk_window_geometry_changed :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowGeometryChanged ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowGeometryChanged _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_geometry_changed _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::get_accept_focus
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_accept_focus" gdk_window_get_accept_focus :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO CInt
-
-
-windowGetAcceptFocus ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Bool
-windowGetAcceptFocus _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_accept_focus _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_background_pattern
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "cairo" "Pattern"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_background_pattern" gdk_window_get_background_pattern :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO (Ptr Cairo.Pattern)
-
-
-windowGetBackgroundPattern ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Cairo.Pattern
-windowGetBackgroundPattern _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_background_pattern _obj'
-    checkUnexpectedReturnNULL "gdk_window_get_background_pattern" result
-    result' <- (newBoxed Cairo.Pattern) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_children
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TGList (TInterface "Gdk" "Window")
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_children" gdk_window_get_children :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO (Ptr (GList (Ptr Window)))
-
-
-windowGetChildren ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m [Window]
-windowGetChildren _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_children _obj'
-    checkUnexpectedReturnNULL "gdk_window_get_children" result
-    result' <- unpackGList result
-    result'' <- mapM (newObject Window) result'
-    g_list_free result
-    touchManagedPtr _obj
-    return result''
-
--- method Window::get_children_with_user_data
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TGList (TInterface "Gdk" "Window")
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_children_with_user_data" gdk_window_get_children_with_user_data :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr () ->                               -- user_data : TBasicType TVoid
-    IO (Ptr (GList (Ptr Window)))
-
-
-windowGetChildrenWithUserData ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Ptr () ->                               -- user_data
-    m [Window]
-windowGetChildrenWithUserData _obj user_data = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_children_with_user_data _obj' user_data
-    checkUnexpectedReturnNULL "gdk_window_get_children_with_user_data" result
-    result' <- unpackGList result
-    result'' <- mapM (newObject Window) result'
-    g_list_free result
-    touchManagedPtr _obj
-    return result''
-
--- method Window::get_clip_region
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "cairo" "Region"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_clip_region" gdk_window_get_clip_region :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO (Ptr Cairo.Region)
-
-
-windowGetClipRegion ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Cairo.Region
-windowGetClipRegion _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_clip_region _obj'
-    checkUnexpectedReturnNULL "gdk_window_get_clip_region" result
-    result' <- (wrapBoxed Cairo.Region) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_composited
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_composited" gdk_window_get_composited :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO CInt
-
-{-# DEPRECATED windowGetComposited ["(Since version 3.16)","Compositing is an outdated technology that","  only ever worked on X11."]#-}
-windowGetComposited ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Bool
-windowGetComposited _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_composited _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_cursor
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Cursor"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_cursor" gdk_window_get_cursor :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO (Ptr Cursor)
-
-
-windowGetCursor ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Cursor
-windowGetCursor _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_cursor _obj'
-    checkUnexpectedReturnNULL "gdk_window_get_cursor" result
-    result' <- (newObject Cursor) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_decorations
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "decorations", argType = TInterface "Gdk" "WMDecoration", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_decorations" gdk_window_get_decorations :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr CUInt ->                            -- decorations : TInterface "Gdk" "WMDecoration"
-    IO CInt
-
-
-windowGetDecorations ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m (Bool,[WMDecoration])
-windowGetDecorations _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    decorations <- allocMem :: IO (Ptr CUInt)
-    result <- gdk_window_get_decorations _obj' decorations
-    let result' = (/= 0) result
-    decorations' <- peek decorations
-    let decorations'' = wordToGFlags decorations'
-    touchManagedPtr _obj
-    freeMem decorations
-    return (result', decorations'')
-
--- method Window::get_device_cursor
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Cursor"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_device_cursor" gdk_window_get_device_cursor :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
-    IO (Ptr Cursor)
-
-
-windowGetDeviceCursor ::
-    (MonadIO m, WindowK a, DeviceK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- device
-    m Cursor
-windowGetDeviceCursor _obj device = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let device' = unsafeManagedPtrCastPtr device
-    result <- gdk_window_get_device_cursor _obj' device'
-    checkUnexpectedReturnNULL "gdk_window_get_device_cursor" result
-    result' <- (newObject Cursor) result
-    touchManagedPtr _obj
-    touchManagedPtr device
-    return result'
-
--- method Window::get_device_events
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "EventMask"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_device_events" gdk_window_get_device_events :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
-    IO CUInt
-
-
-windowGetDeviceEvents ::
-    (MonadIO m, WindowK a, DeviceK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- device
-    m [EventMask]
-windowGetDeviceEvents _obj device = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let device' = unsafeManagedPtrCastPtr device
-    result <- gdk_window_get_device_events _obj' device'
-    let result' = wordToGFlags result
-    touchManagedPtr _obj
-    touchManagedPtr device
-    return result'
-
--- method Window::get_device_position
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "mask", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_device_position" gdk_window_get_device_position :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
-    Ptr Int32 ->                            -- x : TBasicType TInt32
-    Ptr Int32 ->                            -- y : TBasicType TInt32
-    Ptr CUInt ->                            -- mask : TInterface "Gdk" "ModifierType"
-    IO (Ptr Window)
-
-
-windowGetDevicePosition ::
-    (MonadIO m, WindowK a, DeviceK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- device
-    m (Window,Int32,Int32,[ModifierType])
-windowGetDevicePosition _obj device = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let device' = unsafeManagedPtrCastPtr device
-    x <- allocMem :: IO (Ptr Int32)
-    y <- allocMem :: IO (Ptr Int32)
-    mask <- allocMem :: IO (Ptr CUInt)
-    result <- gdk_window_get_device_position _obj' device' x y mask
-    checkUnexpectedReturnNULL "gdk_window_get_device_position" result
-    result' <- (newObject Window) result
-    x' <- peek x
-    y' <- peek y
-    mask' <- peek mask
-    let mask'' = wordToGFlags mask'
-    touchManagedPtr _obj
-    touchManagedPtr device
-    freeMem x
-    freeMem y
-    freeMem mask
-    return (result', x', y', mask'')
-
--- method Window::get_device_position_double
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "mask", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_device_position_double" gdk_window_get_device_position_double :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
-    Ptr CDouble ->                          -- x : TBasicType TDouble
-    Ptr CDouble ->                          -- y : TBasicType TDouble
-    Ptr CUInt ->                            -- mask : TInterface "Gdk" "ModifierType"
-    IO (Ptr Window)
-
-
-windowGetDevicePositionDouble ::
-    (MonadIO m, WindowK a, DeviceK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- device
-    m (Window,Double,Double,[ModifierType])
-windowGetDevicePositionDouble _obj device = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let device' = unsafeManagedPtrCastPtr device
-    x <- allocMem :: IO (Ptr CDouble)
-    y <- allocMem :: IO (Ptr CDouble)
-    mask <- allocMem :: IO (Ptr CUInt)
-    result <- gdk_window_get_device_position_double _obj' device' x y mask
-    checkUnexpectedReturnNULL "gdk_window_get_device_position_double" result
-    result' <- (newObject Window) result
-    x' <- peek x
-    let x'' = realToFrac x'
-    y' <- peek y
-    let y'' = realToFrac y'
-    mask' <- peek mask
-    let mask'' = wordToGFlags mask'
-    touchManagedPtr _obj
-    touchManagedPtr device
-    freeMem x
-    freeMem y
-    freeMem mask
-    return (result', x'', y'', mask'')
-
--- method Window::get_display
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Display"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_display" gdk_window_get_display :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO (Ptr Display)
-
-
-windowGetDisplay ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Display
-windowGetDisplay _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_display _obj'
-    checkUnexpectedReturnNULL "gdk_window_get_display" result
-    result' <- (newObject Display) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_drag_protocol
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Gdk" "Window", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "DragProtocol"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_drag_protocol" gdk_window_get_drag_protocol :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr (Ptr Window) ->                     -- target : TInterface "Gdk" "Window"
-    IO CUInt
-
-
-windowGetDragProtocol ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m (DragProtocol,Window)
-windowGetDragProtocol _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    target <- allocMem :: IO (Ptr (Ptr Window))
-    result <- gdk_window_get_drag_protocol _obj' target
-    let result' = (toEnum . fromIntegral) result
-    target' <- peek target
-    target'' <- (wrapObject Window) target'
-    touchManagedPtr _obj
-    freeMem target
-    return (result', target'')
-
--- method Window::get_effective_parent
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_effective_parent" gdk_window_get_effective_parent :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO (Ptr Window)
-
-
-windowGetEffectiveParent ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Window
-windowGetEffectiveParent _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_effective_parent _obj'
-    checkUnexpectedReturnNULL "gdk_window_get_effective_parent" result
-    result' <- (newObject Window) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_effective_toplevel
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_effective_toplevel" gdk_window_get_effective_toplevel :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO (Ptr Window)
-
-
-windowGetEffectiveToplevel ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Window
-windowGetEffectiveToplevel _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_effective_toplevel _obj'
-    checkUnexpectedReturnNULL "gdk_window_get_effective_toplevel" result
-    result' <- (newObject Window) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_event_compression
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_event_compression" gdk_window_get_event_compression :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO CInt
-
-
-windowGetEventCompression ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Bool
-windowGetEventCompression _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_event_compression _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_events
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "EventMask"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_events" gdk_window_get_events :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO CUInt
-
-
-windowGetEvents ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m [EventMask]
-windowGetEvents _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_events _obj'
-    let result' = wordToGFlags result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_focus_on_map
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_focus_on_map" gdk_window_get_focus_on_map :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO CInt
-
-
-windowGetFocusOnMap ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Bool
-windowGetFocusOnMap _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_focus_on_map _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_frame_clock
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "FrameClock"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_frame_clock" gdk_window_get_frame_clock :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO (Ptr FrameClock)
-
-
-windowGetFrameClock ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m FrameClock
-windowGetFrameClock _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_frame_clock _obj'
-    checkUnexpectedReturnNULL "gdk_window_get_frame_clock" result
-    result' <- (newObject FrameClock) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_frame_extents
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rect", argType = TInterface "cairo" "RectangleInt", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_frame_extents" gdk_window_get_frame_extents :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Cairo.RectangleInt ->               -- rect : TInterface "cairo" "RectangleInt"
-    IO ()
-
-
-windowGetFrameExtents ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m (Cairo.RectangleInt)
-windowGetFrameExtents _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    rect <- callocBoxedBytes 16 :: IO (Ptr Cairo.RectangleInt)
-    gdk_window_get_frame_extents _obj' rect
-    rect' <- (wrapBoxed Cairo.RectangleInt) rect
-    touchManagedPtr _obj
-    return rect'
-
--- method Window::get_fullscreen_mode
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "FullscreenMode"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_fullscreen_mode" gdk_window_get_fullscreen_mode :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO CUInt
-
-
-windowGetFullscreenMode ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m FullscreenMode
-windowGetFullscreenMode _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_fullscreen_mode _obj'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_geometry
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_geometry" gdk_window_get_geometry :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Int32 ->                            -- x : TBasicType TInt32
-    Ptr Int32 ->                            -- y : TBasicType TInt32
-    Ptr Int32 ->                            -- width : TBasicType TInt32
-    Ptr Int32 ->                            -- height : TBasicType TInt32
-    IO ()
-
-
-windowGetGeometry ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m (Int32,Int32,Int32,Int32)
-windowGetGeometry _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    x <- allocMem :: IO (Ptr Int32)
-    y <- allocMem :: IO (Ptr Int32)
-    width <- allocMem :: IO (Ptr Int32)
-    height <- allocMem :: IO (Ptr Int32)
-    gdk_window_get_geometry _obj' x y width height
-    x' <- peek x
-    y' <- peek y
-    width' <- peek width
-    height' <- peek height
-    touchManagedPtr _obj
-    freeMem x
-    freeMem y
-    freeMem width
-    freeMem height
-    return (x', y', width', height')
-
--- method Window::get_group
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_group" gdk_window_get_group :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO (Ptr Window)
-
-
-windowGetGroup ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Window
-windowGetGroup _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_group _obj'
-    checkUnexpectedReturnNULL "gdk_window_get_group" result
-    result' <- (newObject Window) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_height
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_height" gdk_window_get_height :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO Int32
-
-
-windowGetHeight ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Int32
-windowGetHeight _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_height _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Window::get_modal_hint
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_modal_hint" gdk_window_get_modal_hint :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO CInt
-
-
-windowGetModalHint ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Bool
-windowGetModalHint _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_modal_hint _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_origin
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_origin" gdk_window_get_origin :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Int32 ->                            -- x : TBasicType TInt32
-    Ptr Int32 ->                            -- y : TBasicType TInt32
-    IO Int32
-
-
-windowGetOrigin ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m (Int32,Int32,Int32)
-windowGetOrigin _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    x <- allocMem :: IO (Ptr Int32)
-    y <- allocMem :: IO (Ptr Int32)
-    result <- gdk_window_get_origin _obj' x y
-    x' <- peek x
-    y' <- peek y
-    touchManagedPtr _obj
-    freeMem x
-    freeMem y
-    return (result, x', y')
-
--- method Window::get_parent
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_parent" gdk_window_get_parent :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO (Ptr Window)
-
-
-windowGetParent ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Window
-windowGetParent _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_parent _obj'
-    checkUnexpectedReturnNULL "gdk_window_get_parent" result
-    result' <- (newObject Window) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_pointer
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "mask", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_pointer" gdk_window_get_pointer :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Int32 ->                            -- x : TBasicType TInt32
-    Ptr Int32 ->                            -- y : TBasicType TInt32
-    Ptr CUInt ->                            -- mask : TInterface "Gdk" "ModifierType"
-    IO (Ptr Window)
-
-{-# DEPRECATED windowGetPointer ["(Since version 3.0)","Use gdk_window_get_device_position() instead."]#-}
-windowGetPointer ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m (Window,Int32,Int32,[ModifierType])
-windowGetPointer _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    x <- allocMem :: IO (Ptr Int32)
-    y <- allocMem :: IO (Ptr Int32)
-    mask <- allocMem :: IO (Ptr CUInt)
-    result <- gdk_window_get_pointer _obj' x y mask
-    checkUnexpectedReturnNULL "gdk_window_get_pointer" result
-    result' <- (newObject Window) result
-    x' <- peek x
-    y' <- peek y
-    mask' <- peek mask
-    let mask'' = wordToGFlags mask'
-    touchManagedPtr _obj
-    freeMem x
-    freeMem y
-    freeMem mask
-    return (result', x', y', mask'')
-
--- method Window::get_position
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_position" gdk_window_get_position :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Int32 ->                            -- x : TBasicType TInt32
-    Ptr Int32 ->                            -- y : TBasicType TInt32
-    IO ()
-
-
-windowGetPosition ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m (Int32,Int32)
-windowGetPosition _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    x <- allocMem :: IO (Ptr Int32)
-    y <- allocMem :: IO (Ptr Int32)
-    gdk_window_get_position _obj' x y
-    x' <- peek x
-    y' <- peek y
-    touchManagedPtr _obj
-    freeMem x
-    freeMem y
-    return (x', y')
-
--- method Window::get_root_coords
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "root_x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "root_y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_root_coords" gdk_window_get_root_coords :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Int32 ->                                -- x : TBasicType TInt32
-    Int32 ->                                -- y : TBasicType TInt32
-    Ptr Int32 ->                            -- root_x : TBasicType TInt32
-    Ptr Int32 ->                            -- root_y : TBasicType TInt32
-    IO ()
-
-
-windowGetRootCoords ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    m (Int32,Int32)
-windowGetRootCoords _obj x y = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    root_x <- allocMem :: IO (Ptr Int32)
-    root_y <- allocMem :: IO (Ptr Int32)
-    gdk_window_get_root_coords _obj' x y root_x root_y
-    root_x' <- peek root_x
-    root_y' <- peek root_y
-    touchManagedPtr _obj
-    freeMem root_x
-    freeMem root_y
-    return (root_x', root_y')
-
--- method Window::get_root_origin
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_root_origin" gdk_window_get_root_origin :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Int32 ->                            -- x : TBasicType TInt32
-    Ptr Int32 ->                            -- y : TBasicType TInt32
-    IO ()
-
-
-windowGetRootOrigin ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m (Int32,Int32)
-windowGetRootOrigin _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    x <- allocMem :: IO (Ptr Int32)
-    y <- allocMem :: IO (Ptr Int32)
-    gdk_window_get_root_origin _obj' x y
-    x' <- peek x
-    y' <- peek y
-    touchManagedPtr _obj
-    freeMem x
-    freeMem y
-    return (x', y')
-
--- method Window::get_scale_factor
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_scale_factor" gdk_window_get_scale_factor :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO Int32
-
-
-windowGetScaleFactor ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Int32
-windowGetScaleFactor _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_scale_factor _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Window::get_screen
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Screen"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_screen" gdk_window_get_screen :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO (Ptr Screen)
-
-
-windowGetScreen ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Screen
-windowGetScreen _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_screen _obj'
-    checkUnexpectedReturnNULL "gdk_window_get_screen" result
-    result' <- (newObject Screen) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_source_events
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source", argType = TInterface "Gdk" "InputSource", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source", argType = TInterface "Gdk" "InputSource", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "EventMask"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_source_events" gdk_window_get_source_events :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CUInt ->                                -- source : TInterface "Gdk" "InputSource"
-    IO CUInt
-
-
-windowGetSourceEvents ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    InputSource ->                          -- source
-    m [EventMask]
-windowGetSourceEvents _obj source = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let source' = (fromIntegral . fromEnum) source
-    result <- gdk_window_get_source_events _obj' source'
-    let result' = wordToGFlags result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_state
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "WindowState"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_state" gdk_window_get_state :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO CUInt
-
-
-windowGetState ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m [WindowState]
-windowGetState _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_state _obj'
-    let result' = wordToGFlags result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_support_multidevice
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_support_multidevice" gdk_window_get_support_multidevice :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO CInt
-
-
-windowGetSupportMultidevice ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Bool
-windowGetSupportMultidevice _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_support_multidevice _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_toplevel
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_toplevel" gdk_window_get_toplevel :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO (Ptr Window)
-
-
-windowGetToplevel ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Window
-windowGetToplevel _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_toplevel _obj'
-    checkUnexpectedReturnNULL "gdk_window_get_toplevel" result
-    result' <- (newObject Window) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_type_hint
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "WindowTypeHint"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_type_hint" gdk_window_get_type_hint :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO CUInt
-
-
-windowGetTypeHint ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m WindowTypeHint
-windowGetTypeHint _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_type_hint _obj'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_update_area
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "cairo" "Region"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_update_area" gdk_window_get_update_area :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO (Ptr Cairo.Region)
-
-
-windowGetUpdateArea ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Cairo.Region
-windowGetUpdateArea _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_update_area _obj'
-    checkUnexpectedReturnNULL "gdk_window_get_update_area" result
-    result' <- (wrapBoxed Cairo.Region) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_user_data
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_user_data" gdk_window_get_user_data :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr (Ptr ()) ->                         -- data : TBasicType TVoid
-    IO ()
-
-
-windowGetUserData ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ((Ptr ()))
-windowGetUserData _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    data_ <- allocMem :: IO (Ptr (Ptr ()))
-    gdk_window_get_user_data _obj' data_
-    data_' <- peek data_
-    touchManagedPtr _obj
-    freeMem data_
-    return data_'
-
--- method Window::get_visible_region
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "cairo" "Region"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_visible_region" gdk_window_get_visible_region :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO (Ptr Cairo.Region)
-
-
-windowGetVisibleRegion ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Cairo.Region
-windowGetVisibleRegion _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_visible_region _obj'
-    checkUnexpectedReturnNULL "gdk_window_get_visible_region" result
-    result' <- (wrapBoxed Cairo.Region) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_visual
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Visual"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_visual" gdk_window_get_visual :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO (Ptr Visual)
-
-
-windowGetVisual ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Visual
-windowGetVisual _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_visual _obj'
-    checkUnexpectedReturnNULL "gdk_window_get_visual" result
-    result' <- (newObject Visual) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::get_width
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_width" gdk_window_get_width :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO Int32
-
-
-windowGetWidth ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Int32
-windowGetWidth _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_width _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Window::get_window_type
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "WindowType"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_get_window_type" gdk_window_get_window_type :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO CUInt
-
-
-windowGetWindowType ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m WindowType
-windowGetWindowType _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_get_window_type _obj'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::has_native
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_has_native" gdk_window_has_native :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO CInt
-
-
-windowHasNative ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Bool
-windowHasNative _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_has_native _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::hide
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_hide" gdk_window_hide :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowHide ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowHide _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_hide _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::iconify
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_iconify" gdk_window_iconify :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowIconify ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowIconify _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_iconify _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::input_shape_combine_region
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "shape_region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "shape_region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_input_shape_combine_region" gdk_window_input_shape_combine_region :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Cairo.Region ->                     -- shape_region : TInterface "cairo" "Region"
-    Int32 ->                                -- offset_x : TBasicType TInt32
-    Int32 ->                                -- offset_y : TBasicType TInt32
-    IO ()
-
-
-windowInputShapeCombineRegion ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Cairo.Region ->                         -- shape_region
-    Int32 ->                                -- offset_x
-    Int32 ->                                -- offset_y
-    m ()
-windowInputShapeCombineRegion _obj shape_region offset_x offset_y = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let shape_region' = unsafeManagedPtrGetPtr shape_region
-    gdk_window_input_shape_combine_region _obj' shape_region' offset_x offset_y
-    touchManagedPtr _obj
-    touchManagedPtr shape_region
-    return ()
-
--- method Window::invalidate_maybe_recurse
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "child_func", argType = TInterface "Gdk" "WindowChildFunc", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeCall, argClosure = 3, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "child_func", argType = TInterface "Gdk" "WindowChildFunc", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeCall, argClosure = 3, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_invalidate_maybe_recurse" gdk_window_invalidate_maybe_recurse :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Cairo.Region ->                     -- region : TInterface "cairo" "Region"
-    FunPtr WindowChildFuncC ->              -- child_func : TInterface "Gdk" "WindowChildFunc"
-    Ptr () ->                               -- user_data : TBasicType TVoid
-    IO ()
-
-
-windowInvalidateMaybeRecurse ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Cairo.Region ->                         -- region
-    Maybe (WindowChildFunc) ->              -- child_func
-    m ()
-windowInvalidateMaybeRecurse _obj region child_func = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let region' = unsafeManagedPtrGetPtr region
-    maybeChild_func <- case child_func of
-        Nothing -> return (castPtrToFunPtr nullPtr)
-        Just jChild_func -> do
-            jChild_func' <- mkWindowChildFunc (windowChildFuncWrapper Nothing jChild_func)
-            return jChild_func'
-    let user_data = nullPtr
-    gdk_window_invalidate_maybe_recurse _obj' region' maybeChild_func user_data
-    safeFreeFunPtr $ castFunPtrToPtr maybeChild_func
-    touchManagedPtr _obj
-    touchManagedPtr region
-    return ()
-
--- method Window::invalidate_rect
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rect", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invalidate_children", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rect", argType = TInterface "cairo" "RectangleInt", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invalidate_children", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_invalidate_rect" gdk_window_invalidate_rect :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Cairo.RectangleInt ->               -- rect : TInterface "cairo" "RectangleInt"
-    CInt ->                                 -- invalidate_children : TBasicType TBoolean
-    IO ()
-
-
-windowInvalidateRect ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Maybe (Cairo.RectangleInt) ->           -- rect
-    Bool ->                                 -- invalidate_children
-    m ()
-windowInvalidateRect _obj rect invalidate_children = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeRect <- case rect of
-        Nothing -> return nullPtr
-        Just jRect -> do
-            let jRect' = unsafeManagedPtrGetPtr jRect
-            return jRect'
-    let invalidate_children' = (fromIntegral . fromEnum) invalidate_children
-    gdk_window_invalidate_rect _obj' maybeRect invalidate_children'
-    touchManagedPtr _obj
-    whenJust rect touchManagedPtr
-    return ()
-
--- method Window::invalidate_region
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invalidate_children", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "invalidate_children", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_invalidate_region" gdk_window_invalidate_region :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Cairo.Region ->                     -- region : TInterface "cairo" "Region"
-    CInt ->                                 -- invalidate_children : TBasicType TBoolean
-    IO ()
-
-
-windowInvalidateRegion ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Cairo.Region ->                         -- region
-    Bool ->                                 -- invalidate_children
-    m ()
-windowInvalidateRegion _obj region invalidate_children = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let region' = unsafeManagedPtrGetPtr region
-    let invalidate_children' = (fromIntegral . fromEnum) invalidate_children
-    gdk_window_invalidate_region _obj' region' invalidate_children'
-    touchManagedPtr _obj
-    touchManagedPtr region
-    return ()
-
--- method Window::is_destroyed
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_is_destroyed" gdk_window_is_destroyed :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO CInt
-
-
-windowIsDestroyed ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Bool
-windowIsDestroyed _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_is_destroyed _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::is_input_only
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_is_input_only" gdk_window_is_input_only :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO CInt
-
-
-windowIsInputOnly ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Bool
-windowIsInputOnly _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_is_input_only _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::is_shaped
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_is_shaped" gdk_window_is_shaped :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO CInt
-
-
-windowIsShaped ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Bool
-windowIsShaped _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_is_shaped _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::is_viewable
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_is_viewable" gdk_window_is_viewable :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO CInt
-
-
-windowIsViewable ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Bool
-windowIsViewable _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_is_viewable _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::is_visible
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_is_visible" gdk_window_is_visible :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO CInt
-
-
-windowIsVisible ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m Bool
-windowIsVisible _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_is_visible _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::lower
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_lower" gdk_window_lower :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowLower ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowLower _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_lower _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::mark_paint_from_clip
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cr", argType = TInterface "cairo" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_mark_paint_from_clip" gdk_window_mark_paint_from_clip :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Cairo.Context ->                    -- cr : TInterface "cairo" "Context"
-    IO ()
-
-
-windowMarkPaintFromClip ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Cairo.Context ->                        -- cr
-    m ()
-windowMarkPaintFromClip _obj cr = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let cr' = unsafeManagedPtrGetPtr cr
-    gdk_window_mark_paint_from_clip _obj' cr'
-    touchManagedPtr _obj
-    touchManagedPtr cr
-    return ()
-
--- method Window::maximize
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_maximize" gdk_window_maximize :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowMaximize ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowMaximize _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_maximize _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::merge_child_input_shapes
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_merge_child_input_shapes" gdk_window_merge_child_input_shapes :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowMergeChildInputShapes ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowMergeChildInputShapes _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_merge_child_input_shapes _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::merge_child_shapes
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_merge_child_shapes" gdk_window_merge_child_shapes :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowMergeChildShapes ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowMergeChildShapes _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_merge_child_shapes _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::move
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_move" gdk_window_move :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Int32 ->                                -- x : TBasicType TInt32
-    Int32 ->                                -- y : TBasicType TInt32
-    IO ()
-
-
-windowMove ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    m ()
-windowMove _obj x y = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_move _obj' x y
-    touchManagedPtr _obj
-    return ()
-
--- method Window::move_region
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dx", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dy", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dx", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dy", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_move_region" gdk_window_move_region :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Cairo.Region ->                     -- region : TInterface "cairo" "Region"
-    Int32 ->                                -- dx : TBasicType TInt32
-    Int32 ->                                -- dy : TBasicType TInt32
-    IO ()
-
-
-windowMoveRegion ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Cairo.Region ->                         -- region
-    Int32 ->                                -- dx
-    Int32 ->                                -- dy
-    m ()
-windowMoveRegion _obj region dx dy = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let region' = unsafeManagedPtrGetPtr region
-    gdk_window_move_region _obj' region' dx dy
-    touchManagedPtr _obj
-    touchManagedPtr region
-    return ()
-
--- method Window::move_resize
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_move_resize" gdk_window_move_resize :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Int32 ->                                -- x : TBasicType TInt32
-    Int32 ->                                -- y : TBasicType TInt32
-    Int32 ->                                -- width : TBasicType TInt32
-    Int32 ->                                -- height : TBasicType TInt32
-    IO ()
-
-
-windowMoveResize ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    Int32 ->                                -- width
-    Int32 ->                                -- height
-    m ()
-windowMoveResize _obj x y width height = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_move_resize _obj' x y width height
-    touchManagedPtr _obj
-    return ()
-
--- method Window::peek_children
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TGList (TInterface "Gdk" "Window")
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_peek_children" gdk_window_peek_children :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO (Ptr (GList (Ptr Window)))
-
-
-windowPeekChildren ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m [Window]
-windowPeekChildren _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- gdk_window_peek_children _obj'
-    checkUnexpectedReturnNULL "gdk_window_peek_children" result
-    result' <- unpackGList result
-    result'' <- mapM (newObject Window) result'
-    touchManagedPtr _obj
-    return result''
-
--- method Window::process_updates
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "update_children", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "update_children", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_process_updates" gdk_window_process_updates :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CInt ->                                 -- update_children : TBasicType TBoolean
-    IO ()
-
-
-windowProcessUpdates ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- update_children
-    m ()
-windowProcessUpdates _obj update_children = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let update_children' = (fromIntegral . fromEnum) update_children
-    gdk_window_process_updates _obj' update_children'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::raise
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_raise" gdk_window_raise :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowRaise ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowRaise _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_raise _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::register_dnd
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_register_dnd" gdk_window_register_dnd :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowRegisterDnd ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowRegisterDnd _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_register_dnd _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::reparent
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_parent", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_parent", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_reparent" gdk_window_reparent :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Window ->                           -- new_parent : TInterface "Gdk" "Window"
-    Int32 ->                                -- x : TBasicType TInt32
-    Int32 ->                                -- y : TBasicType TInt32
-    IO ()
-
-
-windowReparent ::
-    (MonadIO m, WindowK a, WindowK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- new_parent
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    m ()
-windowReparent _obj new_parent x y = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let new_parent' = unsafeManagedPtrCastPtr new_parent
-    gdk_window_reparent _obj' new_parent' x y
-    touchManagedPtr _obj
-    touchManagedPtr new_parent
-    return ()
-
--- method Window::resize
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_resize" gdk_window_resize :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Int32 ->                                -- width : TBasicType TInt32
-    Int32 ->                                -- height : TBasicType TInt32
-    IO ()
-
-
-windowResize ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- width
-    Int32 ->                                -- height
-    m ()
-windowResize _obj width height = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_resize _obj' width height
-    touchManagedPtr _obj
-    return ()
-
--- method Window::restack
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "sibling", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "above", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "sibling", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "above", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_restack" gdk_window_restack :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Window ->                           -- sibling : TInterface "Gdk" "Window"
-    CInt ->                                 -- above : TBasicType TBoolean
-    IO ()
-
-
-windowRestack ::
-    (MonadIO m, WindowK a, WindowK b) =>
-    a ->                                    -- _obj
-    Maybe (b) ->                            -- sibling
-    Bool ->                                 -- above
-    m ()
-windowRestack _obj sibling above = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeSibling <- case sibling of
-        Nothing -> return nullPtr
-        Just jSibling -> do
-            let jSibling' = unsafeManagedPtrCastPtr jSibling
-            return jSibling'
-    let above' = (fromIntegral . fromEnum) above
-    gdk_window_restack _obj' maybeSibling above'
-    touchManagedPtr _obj
-    whenJust sibling touchManagedPtr
-    return ()
-
--- method Window::scroll
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dx", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dy", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dx", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dy", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_scroll" gdk_window_scroll :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Int32 ->                                -- dx : TBasicType TInt32
-    Int32 ->                                -- dy : TBasicType TInt32
-    IO ()
-
-
-windowScroll ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- dx
-    Int32 ->                                -- dy
-    m ()
-windowScroll _obj dx dy = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_scroll _obj' dx dy
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_accept_focus
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accept_focus", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accept_focus", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_accept_focus" gdk_window_set_accept_focus :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CInt ->                                 -- accept_focus : TBasicType TBoolean
-    IO ()
-
-
-windowSetAcceptFocus ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- accept_focus
-    m ()
-windowSetAcceptFocus _obj accept_focus = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let accept_focus' = (fromIntegral . fromEnum) accept_focus
-    gdk_window_set_accept_focus _obj' accept_focus'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_background
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "color", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "color", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_background" gdk_window_set_background :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Color ->                            -- color : TInterface "Gdk" "Color"
-    IO ()
-
-{-# DEPRECATED windowSetBackground ["(Since version 3.4)","Use gdk_window_set_background_rgba() instead."]#-}
-windowSetBackground ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Color ->                                -- color
-    m ()
-windowSetBackground _obj color = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let color' = unsafeManagedPtrGetPtr color
-    gdk_window_set_background _obj' color'
-    touchManagedPtr _obj
-    touchManagedPtr color
-    return ()
-
--- method Window::set_background_pattern
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pattern", argType = TInterface "cairo" "Pattern", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pattern", argType = TInterface "cairo" "Pattern", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_background_pattern" gdk_window_set_background_pattern :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Cairo.Pattern ->                    -- pattern : TInterface "cairo" "Pattern"
-    IO ()
-
-
-windowSetBackgroundPattern ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Maybe (Cairo.Pattern) ->                -- pattern
-    m ()
-windowSetBackgroundPattern _obj pattern = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybePattern <- case pattern of
-        Nothing -> return nullPtr
-        Just jPattern -> do
-            let jPattern' = unsafeManagedPtrGetPtr jPattern
-            return jPattern'
-    gdk_window_set_background_pattern _obj' maybePattern
-    touchManagedPtr _obj
-    whenJust pattern touchManagedPtr
-    return ()
-
--- method Window::set_background_rgba
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rgba", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rgba", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_background_rgba" gdk_window_set_background_rgba :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr RGBA ->                             -- rgba : TInterface "Gdk" "RGBA"
-    IO ()
-
-
-windowSetBackgroundRgba ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    RGBA ->                                 -- rgba
-    m ()
-windowSetBackgroundRgba _obj rgba = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let rgba' = unsafeManagedPtrGetPtr rgba
-    gdk_window_set_background_rgba _obj' rgba'
-    touchManagedPtr _obj
-    touchManagedPtr rgba
-    return ()
-
--- method Window::set_child_input_shapes
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_child_input_shapes" gdk_window_set_child_input_shapes :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowSetChildInputShapes ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowSetChildInputShapes _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_set_child_input_shapes _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_child_shapes
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_child_shapes" gdk_window_set_child_shapes :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowSetChildShapes ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowSetChildShapes _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_set_child_shapes _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_composited
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "composited", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "composited", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_composited" gdk_window_set_composited :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CInt ->                                 -- composited : TBasicType TBoolean
-    IO ()
-
-{-# DEPRECATED windowSetComposited ["(Since version 3.16)","Compositing is an outdated technology that","  only ever worked on X11."]#-}
-windowSetComposited ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- composited
-    m ()
-windowSetComposited _obj composited = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let composited' = (fromIntegral . fromEnum) composited
-    gdk_window_set_composited _obj' composited'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_cursor
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_cursor" gdk_window_set_cursor :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Cursor ->                           -- cursor : TInterface "Gdk" "Cursor"
-    IO ()
-
-
-windowSetCursor ::
-    (MonadIO m, WindowK a, CursorK b) =>
-    a ->                                    -- _obj
-    Maybe (b) ->                            -- cursor
-    m ()
-windowSetCursor _obj cursor = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeCursor <- case cursor of
-        Nothing -> return nullPtr
-        Just jCursor -> do
-            let jCursor' = unsafeManagedPtrCastPtr jCursor
-            return jCursor'
-    gdk_window_set_cursor _obj' maybeCursor
-    touchManagedPtr _obj
-    whenJust cursor touchManagedPtr
-    return ()
-
--- method Window::set_decorations
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "decorations", argType = TInterface "Gdk" "WMDecoration", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "decorations", argType = TInterface "Gdk" "WMDecoration", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_decorations" gdk_window_set_decorations :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CUInt ->                                -- decorations : TInterface "Gdk" "WMDecoration"
-    IO ()
-
-
-windowSetDecorations ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    [WMDecoration] ->                       -- decorations
-    m ()
-windowSetDecorations _obj decorations = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let decorations' = gflagsToWord decorations
-    gdk_window_set_decorations _obj' decorations'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_device_cursor
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_device_cursor" gdk_window_set_device_cursor :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
-    Ptr Cursor ->                           -- cursor : TInterface "Gdk" "Cursor"
-    IO ()
-
-
-windowSetDeviceCursor ::
-    (MonadIO m, WindowK a, DeviceK b, CursorK c) =>
-    a ->                                    -- _obj
-    b ->                                    -- device
-    c ->                                    -- cursor
-    m ()
-windowSetDeviceCursor _obj device cursor = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let device' = unsafeManagedPtrCastPtr device
-    let cursor' = unsafeManagedPtrCastPtr cursor
-    gdk_window_set_device_cursor _obj' device' cursor'
-    touchManagedPtr _obj
-    touchManagedPtr device
-    touchManagedPtr cursor
-    return ()
-
--- method Window::set_device_events
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_device_events" gdk_window_set_device_events :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
-    CUInt ->                                -- event_mask : TInterface "Gdk" "EventMask"
-    IO ()
-
-
-windowSetDeviceEvents ::
-    (MonadIO m, WindowK a, DeviceK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- device
-    [EventMask] ->                          -- event_mask
-    m ()
-windowSetDeviceEvents _obj device event_mask = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let device' = unsafeManagedPtrCastPtr device
-    let event_mask' = gflagsToWord event_mask
-    gdk_window_set_device_events _obj' device' event_mask'
-    touchManagedPtr _obj
-    touchManagedPtr device
-    return ()
-
--- method Window::set_event_compression
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_compression", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_compression", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_event_compression" gdk_window_set_event_compression :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CInt ->                                 -- event_compression : TBasicType TBoolean
-    IO ()
-
-
-windowSetEventCompression ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- event_compression
-    m ()
-windowSetEventCompression _obj event_compression = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let event_compression' = (fromIntegral . fromEnum) event_compression
-    gdk_window_set_event_compression _obj' event_compression'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_events
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_events" gdk_window_set_events :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CUInt ->                                -- event_mask : TInterface "Gdk" "EventMask"
-    IO ()
-
-
-windowSetEvents ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    [EventMask] ->                          -- event_mask
-    m ()
-windowSetEvents _obj event_mask = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let event_mask' = gflagsToWord event_mask
-    gdk_window_set_events _obj' event_mask'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_focus_on_map
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "focus_on_map", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "focus_on_map", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_focus_on_map" gdk_window_set_focus_on_map :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CInt ->                                 -- focus_on_map : TBasicType TBoolean
-    IO ()
-
-
-windowSetFocusOnMap ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- focus_on_map
-    m ()
-windowSetFocusOnMap _obj focus_on_map = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let focus_on_map' = (fromIntegral . fromEnum) focus_on_map
-    gdk_window_set_focus_on_map _obj' focus_on_map'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_fullscreen_mode
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mode", argType = TInterface "Gdk" "FullscreenMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mode", argType = TInterface "Gdk" "FullscreenMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_fullscreen_mode" gdk_window_set_fullscreen_mode :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CUInt ->                                -- mode : TInterface "Gdk" "FullscreenMode"
-    IO ()
-
-
-windowSetFullscreenMode ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    FullscreenMode ->                       -- mode
-    m ()
-windowSetFullscreenMode _obj mode = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let mode' = (fromIntegral . fromEnum) mode
-    gdk_window_set_fullscreen_mode _obj' mode'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_functions
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "functions", argType = TInterface "Gdk" "WMFunction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "functions", argType = TInterface "Gdk" "WMFunction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_functions" gdk_window_set_functions :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CUInt ->                                -- functions : TInterface "Gdk" "WMFunction"
-    IO ()
-
-
-windowSetFunctions ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    [WMFunction] ->                         -- functions
-    m ()
-windowSetFunctions _obj functions = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let functions' = gflagsToWord functions
-    gdk_window_set_functions _obj' functions'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_geometry_hints
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "geometry", argType = TInterface "Gdk" "Geometry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "geom_mask", argType = TInterface "Gdk" "WindowHints", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "geometry", argType = TInterface "Gdk" "Geometry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "geom_mask", argType = TInterface "Gdk" "WindowHints", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_geometry_hints" gdk_window_set_geometry_hints :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Geometry ->                         -- geometry : TInterface "Gdk" "Geometry"
-    CUInt ->                                -- geom_mask : TInterface "Gdk" "WindowHints"
-    IO ()
-
-
-windowSetGeometryHints ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Geometry ->                             -- geometry
-    [WindowHints] ->                        -- geom_mask
-    m ()
-windowSetGeometryHints _obj geometry geom_mask = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let geometry' = unsafeManagedPtrGetPtr geometry
-    let geom_mask' = gflagsToWord geom_mask
-    gdk_window_set_geometry_hints _obj' geometry' geom_mask'
-    touchManagedPtr _obj
-    touchManagedPtr geometry
-    return ()
-
--- method Window::set_group
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "leader", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "leader", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_group" gdk_window_set_group :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Window ->                           -- leader : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowSetGroup ::
-    (MonadIO m, WindowK a, WindowK b) =>
-    a ->                                    -- _obj
-    Maybe (b) ->                            -- leader
-    m ()
-windowSetGroup _obj leader = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeLeader <- case leader of
-        Nothing -> return nullPtr
-        Just jLeader -> do
-            let jLeader' = unsafeManagedPtrCastPtr jLeader
-            return jLeader'
-    gdk_window_set_group _obj' maybeLeader
-    touchManagedPtr _obj
-    whenJust leader touchManagedPtr
-    return ()
-
--- method Window::set_icon_list
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbufs", argType = TGList (TInterface "GdkPixbuf" "Pixbuf"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pixbufs", argType = TGList (TInterface "GdkPixbuf" "Pixbuf"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_icon_list" gdk_window_set_icon_list :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr (GList (Ptr GdkPixbuf.Pixbuf)) ->   -- pixbufs : TGList (TInterface "GdkPixbuf" "Pixbuf")
-    IO ()
-
-
-windowSetIconList ::
-    (MonadIO m, WindowK a, GdkPixbuf.PixbufK b) =>
-    a ->                                    -- _obj
-    [b] ->                                  -- pixbufs
-    m ()
-windowSetIconList _obj pixbufs = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let pixbufs' = map unsafeManagedPtrCastPtr pixbufs
-    pixbufs'' <- packGList pixbufs'
-    gdk_window_set_icon_list _obj' pixbufs''
-    touchManagedPtr _obj
-    mapM_ touchManagedPtr pixbufs
-    g_list_free pixbufs''
-    return ()
-
--- method Window::set_icon_name
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_icon_name" gdk_window_set_icon_name :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CString ->                              -- name : TBasicType TUTF8
-    IO ()
-
-
-windowSetIconName ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Maybe (T.Text) ->                       -- name
-    m ()
-windowSetIconName _obj name = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeName <- case name of
-        Nothing -> return nullPtr
-        Just jName -> do
-            jName' <- textToCString jName
-            return jName'
-    gdk_window_set_icon_name _obj' maybeName
-    touchManagedPtr _obj
-    freeMem maybeName
-    return ()
-
--- method Window::set_keep_above
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_keep_above" gdk_window_set_keep_above :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CInt ->                                 -- setting : TBasicType TBoolean
-    IO ()
-
-
-windowSetKeepAbove ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- setting
-    m ()
-windowSetKeepAbove _obj setting = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let setting' = (fromIntegral . fromEnum) setting
-    gdk_window_set_keep_above _obj' setting'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_keep_below
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_keep_below" gdk_window_set_keep_below :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CInt ->                                 -- setting : TBasicType TBoolean
-    IO ()
-
-
-windowSetKeepBelow ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- setting
-    m ()
-windowSetKeepBelow _obj setting = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let setting' = (fromIntegral . fromEnum) setting
-    gdk_window_set_keep_below _obj' setting'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_modal_hint
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modal", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modal", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_modal_hint" gdk_window_set_modal_hint :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CInt ->                                 -- modal : TBasicType TBoolean
-    IO ()
-
-
-windowSetModalHint ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- modal
-    m ()
-windowSetModalHint _obj modal = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let modal' = (fromIntegral . fromEnum) modal
-    gdk_window_set_modal_hint _obj' modal'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_opacity
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "opacity", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "opacity", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_opacity" gdk_window_set_opacity :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CDouble ->                              -- opacity : TBasicType TDouble
-    IO ()
-
-
-windowSetOpacity ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Double ->                               -- opacity
-    m ()
-windowSetOpacity _obj opacity = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let opacity' = realToFrac opacity
-    gdk_window_set_opacity _obj' opacity'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_opaque_region
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_opaque_region" gdk_window_set_opaque_region :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Cairo.Region ->                     -- region : TInterface "cairo" "Region"
-    IO ()
-
-
-windowSetOpaqueRegion ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Maybe (Cairo.Region) ->                 -- region
-    m ()
-windowSetOpaqueRegion _obj region = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeRegion <- case region of
-        Nothing -> return nullPtr
-        Just jRegion -> do
-            let jRegion' = unsafeManagedPtrGetPtr jRegion
-            return jRegion'
-    gdk_window_set_opaque_region _obj' maybeRegion
-    touchManagedPtr _obj
-    whenJust region touchManagedPtr
-    return ()
-
--- method Window::set_override_redirect
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "override_redirect", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "override_redirect", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_override_redirect" gdk_window_set_override_redirect :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CInt ->                                 -- override_redirect : TBasicType TBoolean
-    IO ()
-
-
-windowSetOverrideRedirect ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- override_redirect
-    m ()
-windowSetOverrideRedirect _obj override_redirect = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let override_redirect' = (fromIntegral . fromEnum) override_redirect
-    gdk_window_set_override_redirect _obj' override_redirect'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_role
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "role", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "role", 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 "gdk_window_set_role" gdk_window_set_role :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CString ->                              -- role : TBasicType TUTF8
-    IO ()
-
-
-windowSetRole ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- role
-    m ()
-windowSetRole _obj role = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    role' <- textToCString role
-    gdk_window_set_role _obj' role'
-    touchManagedPtr _obj
-    freeMem role'
-    return ()
-
--- method Window::set_shadow_width
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "left", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "right", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "top", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "bottom", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "left", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "right", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "top", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "bottom", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_shadow_width" gdk_window_set_shadow_width :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Int32 ->                                -- left : TBasicType TInt32
-    Int32 ->                                -- right : TBasicType TInt32
-    Int32 ->                                -- top : TBasicType TInt32
-    Int32 ->                                -- bottom : TBasicType TInt32
-    IO ()
-
-
-windowSetShadowWidth ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- left
-    Int32 ->                                -- right
-    Int32 ->                                -- top
-    Int32 ->                                -- bottom
-    m ()
-windowSetShadowWidth _obj left right top bottom = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_set_shadow_width _obj' left right top bottom
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_skip_pager_hint
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "skips_pager", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "skips_pager", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_skip_pager_hint" gdk_window_set_skip_pager_hint :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CInt ->                                 -- skips_pager : TBasicType TBoolean
-    IO ()
-
-
-windowSetSkipPagerHint ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- skips_pager
-    m ()
-windowSetSkipPagerHint _obj skips_pager = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let skips_pager' = (fromIntegral . fromEnum) skips_pager
-    gdk_window_set_skip_pager_hint _obj' skips_pager'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_skip_taskbar_hint
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "skips_taskbar", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "skips_taskbar", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_skip_taskbar_hint" gdk_window_set_skip_taskbar_hint :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CInt ->                                 -- skips_taskbar : TBasicType TBoolean
-    IO ()
-
-
-windowSetSkipTaskbarHint ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- skips_taskbar
-    m ()
-windowSetSkipTaskbarHint _obj skips_taskbar = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let skips_taskbar' = (fromIntegral . fromEnum) skips_taskbar
-    gdk_window_set_skip_taskbar_hint _obj' skips_taskbar'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_source_events
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source", argType = TInterface "Gdk" "InputSource", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source", argType = TInterface "Gdk" "InputSource", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_source_events" gdk_window_set_source_events :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CUInt ->                                -- source : TInterface "Gdk" "InputSource"
-    CUInt ->                                -- event_mask : TInterface "Gdk" "EventMask"
-    IO ()
-
-
-windowSetSourceEvents ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    InputSource ->                          -- source
-    [EventMask] ->                          -- event_mask
-    m ()
-windowSetSourceEvents _obj source event_mask = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let source' = (fromIntegral . fromEnum) source
-    let event_mask' = gflagsToWord event_mask
-    gdk_window_set_source_events _obj' source' event_mask'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_startup_id
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "startup_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "startup_id", 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 "gdk_window_set_startup_id" gdk_window_set_startup_id :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CString ->                              -- startup_id : TBasicType TUTF8
-    IO ()
-
-
-windowSetStartupId ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- startup_id
-    m ()
-windowSetStartupId _obj startup_id = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    startup_id' <- textToCString startup_id
-    gdk_window_set_startup_id _obj' startup_id'
-    touchManagedPtr _obj
-    freeMem startup_id'
-    return ()
-
--- method Window::set_static_gravities
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "use_static", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "use_static", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_static_gravities" gdk_window_set_static_gravities :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CInt ->                                 -- use_static : TBasicType TBoolean
-    IO CInt
-
-{-# DEPRECATED windowSetStaticGravities ["(Since version 3.16)","static gravities haven't worked on anything but X11","  for a long time."]#-}
-windowSetStaticGravities ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- use_static
-    m Bool
-windowSetStaticGravities _obj use_static = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let use_static' = (fromIntegral . fromEnum) use_static
-    result <- gdk_window_set_static_gravities _obj' use_static'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Window::set_support_multidevice
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "support_multidevice", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "support_multidevice", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_support_multidevice" gdk_window_set_support_multidevice :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CInt ->                                 -- support_multidevice : TBasicType TBoolean
-    IO ()
-
-
-windowSetSupportMultidevice ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- support_multidevice
-    m ()
-windowSetSupportMultidevice _obj support_multidevice = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let support_multidevice' = (fromIntegral . fromEnum) support_multidevice
-    gdk_window_set_support_multidevice _obj' support_multidevice'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_title
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "title", 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 "gdk_window_set_title" gdk_window_set_title :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CString ->                              -- title : TBasicType TUTF8
-    IO ()
-
-
-windowSetTitle ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- title
-    m ()
-windowSetTitle _obj title = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    title' <- textToCString title
-    gdk_window_set_title _obj' title'
-    touchManagedPtr _obj
-    freeMem title'
-    return ()
-
--- method Window::set_transient_for
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_transient_for" gdk_window_set_transient_for :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Window ->                           -- parent : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowSetTransientFor ::
-    (MonadIO m, WindowK a, WindowK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- parent
-    m ()
-windowSetTransientFor _obj parent = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let parent' = unsafeManagedPtrCastPtr parent
-    gdk_window_set_transient_for _obj' parent'
-    touchManagedPtr _obj
-    touchManagedPtr parent
-    return ()
-
--- method Window::set_type_hint
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Gdk" "WindowTypeHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Gdk" "WindowTypeHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_type_hint" gdk_window_set_type_hint :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CUInt ->                                -- hint : TInterface "Gdk" "WindowTypeHint"
-    IO ()
-
-
-windowSetTypeHint ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    WindowTypeHint ->                       -- hint
-    m ()
-windowSetTypeHint _obj hint = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let hint' = (fromIntegral . fromEnum) hint
-    gdk_window_set_type_hint _obj' hint'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_urgency_hint
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "urgent", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "urgent", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_urgency_hint" gdk_window_set_urgency_hint :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    CInt ->                                 -- urgent : TBasicType TBoolean
-    IO ()
-
-
-windowSetUrgencyHint ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- urgent
-    m ()
-windowSetUrgencyHint _obj urgent = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let urgent' = (fromIntegral . fromEnum) urgent
-    gdk_window_set_urgency_hint _obj' urgent'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::set_user_data
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_user_data" gdk_window_set_user_data :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr GObject.Object ->                   -- user_data : TInterface "GObject" "Object"
-    IO ()
-
-
-windowSetUserData ::
-    (MonadIO m, WindowK a, GObject.ObjectK b) =>
-    a ->                                    -- _obj
-    Maybe (b) ->                            -- user_data
-    m ()
-windowSetUserData _obj user_data = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeUser_data <- case user_data of
-        Nothing -> return nullPtr
-        Just jUser_data -> do
-            let jUser_data' = unsafeManagedPtrCastPtr jUser_data
-            return jUser_data'
-    gdk_window_set_user_data _obj' maybeUser_data
-    touchManagedPtr _obj
-    whenJust user_data touchManagedPtr
-    return ()
-
--- method Window::shape_combine_region
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "shape_region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "shape_region", argType = TInterface "cairo" "Region", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset_y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_shape_combine_region" gdk_window_shape_combine_region :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Cairo.Region ->                     -- shape_region : TInterface "cairo" "Region"
-    Int32 ->                                -- offset_x : TBasicType TInt32
-    Int32 ->                                -- offset_y : TBasicType TInt32
-    IO ()
-
-
-windowShapeCombineRegion ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Maybe (Cairo.Region) ->                 -- shape_region
-    Int32 ->                                -- offset_x
-    Int32 ->                                -- offset_y
-    m ()
-windowShapeCombineRegion _obj shape_region offset_x offset_y = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeShape_region <- case shape_region of
-        Nothing -> return nullPtr
-        Just jShape_region -> do
-            let jShape_region' = unsafeManagedPtrGetPtr jShape_region
-            return jShape_region'
-    gdk_window_shape_combine_region _obj' maybeShape_region offset_x offset_y
-    touchManagedPtr _obj
-    whenJust shape_region touchManagedPtr
-    return ()
-
--- method Window::show
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_show" gdk_window_show :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowShow ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowShow _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_show _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::show_unraised
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_show_unraised" gdk_window_show_unraised :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowShowUnraised ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowShowUnraised _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_show_unraised _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::show_window_menu
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_show_window_menu" gdk_window_show_window_menu :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    Ptr Event ->                            -- event : TInterface "Gdk" "Event"
-    IO CInt
-
-
-windowShowWindowMenu ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    Event ->                                -- event
-    m Bool
-windowShowWindowMenu _obj event = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let event' = unsafeManagedPtrGetPtr event
-    result <- gdk_window_show_window_menu _obj' event'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    touchManagedPtr event
-    return result'
-
--- method Window::stick
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_stick" gdk_window_stick :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowStick ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowStick _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_stick _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::thaw_toplevel_updates_libgtk_only
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_thaw_toplevel_updates_libgtk_only" gdk_window_thaw_toplevel_updates_libgtk_only :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-{-# DEPRECATED windowThawToplevelUpdatesLibgtkOnly ["(Since version 3.16)","This symbol was never meant to be used outside of GTK+"]#-}
-windowThawToplevelUpdatesLibgtkOnly ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowThawToplevelUpdatesLibgtkOnly _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_thaw_toplevel_updates_libgtk_only _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::thaw_updates
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_thaw_updates" gdk_window_thaw_updates :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowThawUpdates ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowThawUpdates _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_thaw_updates _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::unfullscreen
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_unfullscreen" gdk_window_unfullscreen :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowUnfullscreen ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowUnfullscreen _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_unfullscreen _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::unmaximize
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_unmaximize" gdk_window_unmaximize :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowUnmaximize ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowUnmaximize _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_unmaximize _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::unstick
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_unstick" gdk_window_unstick :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowUnstick ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowUnstick _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_unstick _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::withdraw
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_withdraw" gdk_window_withdraw :: 
-    Ptr Window ->                           -- _obj : TInterface "Gdk" "Window"
-    IO ()
-
-
-windowWithdraw ::
-    (MonadIO m, WindowK a) =>
-    a ->                                    -- _obj
-    m ()
-windowWithdraw _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    gdk_window_withdraw _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Window::at_pointer
--- method type : MemberFunction
--- Args : [Arg {argName = "win_x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "win_y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : []
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_at_pointer" gdk_window_at_pointer :: 
-    Ptr Int32 ->                            -- win_x : TBasicType TInt32
-    Ptr Int32 ->                            -- win_y : TBasicType TInt32
-    IO (Ptr Window)
-
-{-# DEPRECATED windowAtPointer ["(Since version 3.0)","Use gdk_device_get_window_at_position() instead."]#-}
-windowAtPointer ::
-    (MonadIO m) =>
-    m (Window,Int32,Int32)
-windowAtPointer  = liftIO $ do
-    win_x <- allocMem :: IO (Ptr Int32)
-    win_y <- allocMem :: IO (Ptr Int32)
-    result <- gdk_window_at_pointer win_x win_y
-    checkUnexpectedReturnNULL "gdk_window_at_pointer" result
-    result' <- (newObject Window) result
-    win_x' <- peek win_x
-    win_y' <- peek win_y
-    freeMem win_x
-    freeMem win_y
-    return (result', win_x', win_y')
-
--- method Window::constrain_size
--- method type : MemberFunction
--- Args : [Arg {argName = "geometry", argType = TInterface "Gdk" "Geometry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "Gdk" "WindowHints", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_width", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "new_height", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "geometry", argType = TInterface "Gdk" "Geometry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "Gdk" "WindowHints", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_constrain_size" gdk_window_constrain_size :: 
-    Ptr Geometry ->                         -- geometry : TInterface "Gdk" "Geometry"
-    CUInt ->                                -- flags : TInterface "Gdk" "WindowHints"
-    Int32 ->                                -- width : TBasicType TInt32
-    Int32 ->                                -- height : TBasicType TInt32
-    Ptr Int32 ->                            -- new_width : TBasicType TInt32
-    Ptr Int32 ->                            -- new_height : TBasicType TInt32
-    IO ()
-
-
-windowConstrainSize ::
-    (MonadIO m) =>
-    Geometry ->                             -- geometry
-    [WindowHints] ->                        -- flags
-    Int32 ->                                -- width
-    Int32 ->                                -- height
-    m (Int32,Int32)
-windowConstrainSize geometry flags width height = liftIO $ do
-    let geometry' = unsafeManagedPtrGetPtr geometry
-    let flags' = gflagsToWord flags
-    new_width <- allocMem :: IO (Ptr Int32)
-    new_height <- allocMem :: IO (Ptr Int32)
-    gdk_window_constrain_size geometry' flags' width height new_width new_height
-    new_width' <- peek new_width
-    new_height' <- peek new_height
-    touchManagedPtr geometry
-    freeMem new_width
-    freeMem new_height
-    return (new_width', new_height')
-
--- method Window::process_all_updates
--- method type : MemberFunction
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_process_all_updates" gdk_window_process_all_updates :: 
-    IO ()
-
-
-windowProcessAllUpdates ::
-    (MonadIO m) =>
-    m ()
-windowProcessAllUpdates  = liftIO $ do
-    gdk_window_process_all_updates
-    return ()
-
--- method Window::set_debug_updates
--- method type : MemberFunction
--- Args : [Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_window_set_debug_updates" gdk_window_set_debug_updates :: 
-    CInt ->                                 -- setting : TBasicType TBoolean
-    IO ()
-
-
-windowSetDebugUpdates ::
-    (MonadIO m) =>
-    Bool ->                                 -- setting
-    m ()
-windowSetDebugUpdates setting = liftIO $ do
-    let setting' = (fromIntegral . fromEnum) setting
-    gdk_window_set_debug_updates setting'
-    return ()
-
-
diff --git a/GI/Gdk/Objects/Window.hs-boot b/GI/Gdk/Objects/Window.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Objects/Window.hs-boot
+++ /dev/null
@@ -1,18 +0,0 @@
-module GI.Gdk.Objects.Window 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
-
-newtype Window = Window (ForeignPtr Window)
-instance GObject Window where
-class GObject o => WindowK o
-instance (GObject o, IsDescendantOf Window o) => WindowK o
-data WindowCursorPropertyInfo
-data WindowCreateSurfaceSignalInfo
-data WindowFromEmbedderSignalInfo
-data WindowPickEmbeddedChildSignalInfo
-data WindowToEmbedderSignalInfo
diff --git a/GI/Gdk/Structs.hs b/GI/Gdk/Structs.hs
deleted file mode 100644
--- a/GI/Gdk/Structs.hs
+++ /dev/null
@@ -1,84 +0,0 @@
-
-{- |
-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.Gdk.Structs
-    (     module GI.Gdk.Structs.Atom              ,
-    module GI.Gdk.Structs.Color             ,
-    module GI.Gdk.Structs.EventAny          ,
-    module GI.Gdk.Structs.EventButton       ,
-    module GI.Gdk.Structs.EventConfigure    ,
-    module GI.Gdk.Structs.EventCrossing     ,
-    module GI.Gdk.Structs.EventDND          ,
-    module GI.Gdk.Structs.EventExpose       ,
-    module GI.Gdk.Structs.EventFocus        ,
-    module GI.Gdk.Structs.EventGrabBroken   ,
-    module GI.Gdk.Structs.EventKey          ,
-    module GI.Gdk.Structs.EventMotion       ,
-    module GI.Gdk.Structs.EventOwnerChange  ,
-    module GI.Gdk.Structs.EventProperty     ,
-    module GI.Gdk.Structs.EventProximity    ,
-    module GI.Gdk.Structs.EventScroll       ,
-    module GI.Gdk.Structs.EventSelection    ,
-    module GI.Gdk.Structs.EventSequence     ,
-    module GI.Gdk.Structs.EventSetting      ,
-    module GI.Gdk.Structs.EventTouch        ,
-    module GI.Gdk.Structs.EventVisibility   ,
-    module GI.Gdk.Structs.EventWindowState  ,
-    module GI.Gdk.Structs.FrameTimings      ,
-    module GI.Gdk.Structs.Geometry          ,
-    module GI.Gdk.Structs.KeymapKey         ,
-    module GI.Gdk.Structs.Point             ,
-    module GI.Gdk.Structs.RGBA              ,
-    module GI.Gdk.Structs.TimeCoord         ,
-    module GI.Gdk.Structs.WindowAttr        ,
-    module GI.Gdk.Structs.WindowRedirect    ,
-
-
-    ) where
-
-import GI.Gdk.Structs.Atom
-import GI.Gdk.Structs.Color
-import GI.Gdk.Structs.EventAny
-import GI.Gdk.Structs.EventButton
-import GI.Gdk.Structs.EventConfigure
-import GI.Gdk.Structs.EventCrossing
-import GI.Gdk.Structs.EventDND
-import GI.Gdk.Structs.EventExpose
-import GI.Gdk.Structs.EventFocus
-import GI.Gdk.Structs.EventGrabBroken
-import GI.Gdk.Structs.EventKey
-import GI.Gdk.Structs.EventMotion
-import GI.Gdk.Structs.EventOwnerChange
-import GI.Gdk.Structs.EventProperty
-import GI.Gdk.Structs.EventProximity
-import GI.Gdk.Structs.EventScroll
-import GI.Gdk.Structs.EventSelection
-import GI.Gdk.Structs.EventSequence
-import GI.Gdk.Structs.EventSetting
-import GI.Gdk.Structs.EventTouch
-import GI.Gdk.Structs.EventVisibility
-import GI.Gdk.Structs.EventWindowState
-import GI.Gdk.Structs.FrameTimings
-import GI.Gdk.Structs.Geometry
-import GI.Gdk.Structs.KeymapKey
-import GI.Gdk.Structs.Point
-import GI.Gdk.Structs.RGBA
-import GI.Gdk.Structs.TimeCoord
-import GI.Gdk.Structs.WindowAttr
-import GI.Gdk.Structs.WindowRedirect
-
-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.Gdk.Types
-import GI.Gdk.Callbacks
-
-
diff --git a/GI/Gdk/Structs/Atom.hs b/GI/Gdk/Structs/Atom.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/Atom.hs
+++ /dev/null
@@ -1,69 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-An opaque type representing a string as an index into a table
-of strings on the X server.
--}
-
-module GI.Gdk.Structs.Atom
-    ( 
-
--- * Exported types
-    Atom(..)                                ,
-    noAtom                                  ,
-
-
- -- * Methods
--- ** atomName
-    atomName                                ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype Atom = Atom (ForeignPtr Atom)
-noAtom :: Maybe Atom
-noAtom = Nothing
-
--- method Atom::name
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Atom", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_atom_name" gdk_atom_name :: 
-    Ptr Atom ->                             -- _obj : TInterface "Gdk" "Atom"
-    IO CString
-
-
-atomName ::
-    (MonadIO m) =>
-    Atom ->                                 -- _obj
-    m T.Text
-atomName _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_atom_name _obj'
-    checkUnexpectedReturnNULL "gdk_atom_name" result
-    result' <- cstringToText result
-    freeMem result
-    touchManagedPtr _obj
-    return result'
-
-
diff --git a/GI/Gdk/Structs/Atom.hs-boot b/GI/Gdk/Structs/Atom.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/Atom.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.Atom 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
-
-newtype Atom = Atom (ForeignPtr Atom)
diff --git a/GI/Gdk/Structs/Color.hs b/GI/Gdk/Structs/Color.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/Color.hs
+++ /dev/null
@@ -1,233 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-A #GdkColor is used to describe a color,
-similar to the XColor struct used in the X11 drawing API.
--}
-
-module GI.Gdk.Structs.Color
-    ( 
-
--- * Exported types
-    Color(..)                               ,
-    noColor                                 ,
-
-
- -- * Methods
--- ** colorCopy
-    colorCopy                               ,
-
-
--- ** colorEqual
-    colorEqual                              ,
-
-
--- ** colorFree
-    colorFree                               ,
-
-
--- ** colorHash
-    colorHash                               ,
-
-
--- ** colorToString
-    colorToString                           ,
-
-
-
-
- -- * Properties
--- ** Blue
-    colorReadBlue                           ,
-
-
--- ** Green
-    colorReadGreen                          ,
-
-
--- ** Pixel
-    colorReadPixel                          ,
-
-
--- ** Red
-    colorReadRed                            ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype Color = Color (ForeignPtr Color)
-foreign import ccall "gdk_color_get_type" c_gdk_color_get_type :: 
-    IO GType
-
-instance BoxedObject Color where
-    boxedType _ = c_gdk_color_get_type
-
-noColor :: Maybe Color
-noColor = Nothing
-
-colorReadPixel :: Color -> IO Word32
-colorReadPixel s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word32
-    return val
-
-colorReadRed :: Color -> IO Word16
-colorReadRed s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 4) :: IO Word16
-    return val
-
-colorReadGreen :: Color -> IO Word16
-colorReadGreen s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 6) :: IO Word16
-    return val
-
-colorReadBlue :: Color -> IO Word16
-colorReadBlue s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO Word16
-    return val
-
--- method Color::copy
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Color"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_color_copy" gdk_color_copy :: 
-    Ptr Color ->                            -- _obj : TInterface "Gdk" "Color"
-    IO (Ptr Color)
-
-{-# DEPRECATED colorCopy ["(Since version 3.14)","Use #GdkRGBA"]#-}
-colorCopy ::
-    (MonadIO m) =>
-    Color ->                                -- _obj
-    m Color
-colorCopy _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_color_copy _obj'
-    checkUnexpectedReturnNULL "gdk_color_copy" result
-    result' <- (wrapBoxed Color) result
-    touchManagedPtr _obj
-    return result'
-
--- method Color::equal
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "colorb", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "colorb", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_color_equal" gdk_color_equal :: 
-    Ptr Color ->                            -- _obj : TInterface "Gdk" "Color"
-    Ptr Color ->                            -- colorb : TInterface "Gdk" "Color"
-    IO CInt
-
-{-# DEPRECATED colorEqual ["(Since version 3.14)","Use #GdkRGBA"]#-}
-colorEqual ::
-    (MonadIO m) =>
-    Color ->                                -- _obj
-    Color ->                                -- colorb
-    m Bool
-colorEqual _obj colorb = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    let colorb' = unsafeManagedPtrGetPtr colorb
-    result <- gdk_color_equal _obj' colorb'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    touchManagedPtr colorb
-    return result'
-
--- method Color::free
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_color_free" gdk_color_free :: 
-    Ptr Color ->                            -- _obj : TInterface "Gdk" "Color"
-    IO ()
-
-{-# DEPRECATED colorFree ["(Since version 3.14)","Use #GdkRGBA"]#-}
-colorFree ::
-    (MonadIO m) =>
-    Color ->                                -- _obj
-    m ()
-colorFree _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    gdk_color_free _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Color::hash
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_color_hash" gdk_color_hash :: 
-    Ptr Color ->                            -- _obj : TInterface "Gdk" "Color"
-    IO Word32
-
-{-# DEPRECATED colorHash ["(Since version 3.14)","Use #GdkRGBA"]#-}
-colorHash ::
-    (MonadIO m) =>
-    Color ->                                -- _obj
-    m Word32
-colorHash _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_color_hash _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Color::to_string
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_color_to_string" gdk_color_to_string :: 
-    Ptr Color ->                            -- _obj : TInterface "Gdk" "Color"
-    IO CString
-
-{-# DEPRECATED colorToString ["(Since version 3.14)","Use #GdkRGBA"]#-}
-colorToString ::
-    (MonadIO m) =>
-    Color ->                                -- _obj
-    m T.Text
-colorToString _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_color_to_string _obj'
-    checkUnexpectedReturnNULL "gdk_color_to_string" result
-    result' <- cstringToText result
-    freeMem result
-    touchManagedPtr _obj
-    return result'
-
-
diff --git a/GI/Gdk/Structs/Color.hs-boot b/GI/Gdk/Structs/Color.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/Color.hs-boot
+++ /dev/null
@@ -1,11 +0,0 @@
-module GI.Gdk.Structs.Color 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
-
-newtype Color = Color (ForeignPtr Color)
-instance BoxedObject Color where
diff --git a/GI/Gdk/Structs/EventAny.hs b/GI/Gdk/Structs/EventAny.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/EventAny.hs
+++ /dev/null
@@ -1,68 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Contains the fields which are common to all event structs.
-Any event pointer can safely be cast to a pointer to a #GdkEventAny to
-access these fields.
--}
-
-module GI.Gdk.Structs.EventAny
-    ( 
-
--- * Exported types
-    EventAny(..)                            ,
-    noEventAny                              ,
-
-
- -- * Properties
--- ** SendEvent
-    eventAnyReadSendEvent                   ,
-
-
--- ** Type
-    eventAnyReadType                        ,
-
-
--- ** Window
-    eventAnyReadWindow                      ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype EventAny = EventAny (ForeignPtr EventAny)
-noEventAny :: Maybe EventAny
-noEventAny = Nothing
-
-eventAnyReadType :: EventAny -> IO EventType
-eventAnyReadType s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventAnyReadWindow :: EventAny -> IO Window
-eventAnyReadWindow s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-eventAnyReadSendEvent :: EventAny -> IO Int8
-eventAnyReadSendEvent s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Int8
-    return val
-
-
diff --git a/GI/Gdk/Structs/EventAny.hs-boot b/GI/Gdk/Structs/EventAny.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/EventAny.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.EventAny 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
-
-newtype EventAny = EventAny (ForeignPtr EventAny)
diff --git a/GI/Gdk/Structs/EventButton.hs b/GI/Gdk/Structs/EventButton.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/EventButton.hs
+++ /dev/null
@@ -1,186 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Used for button press and button release events. The
-@type field will be one of %GDK_BUTTON_PRESS,
-%GDK_2BUTTON_PRESS, %GDK_3BUTTON_PRESS or %GDK_BUTTON_RELEASE,
-
-Double and triple-clicks result in a sequence of events being received.
-For double-clicks the order of events will be:
-
-- %GDK_BUTTON_PRESS
-- %GDK_BUTTON_RELEASE
-- %GDK_BUTTON_PRESS
-- %GDK_2BUTTON_PRESS
-- %GDK_BUTTON_RELEASE
-
-Note that the first click is received just like a normal
-button press, while the second click results in a %GDK_2BUTTON_PRESS
-being received just after the %GDK_BUTTON_PRESS.
-
-Triple-clicks are very similar to double-clicks, except that
-%GDK_3BUTTON_PRESS is inserted after the third click. The order of the
-events is:
-
-- %GDK_BUTTON_PRESS
-- %GDK_BUTTON_RELEASE
-- %GDK_BUTTON_PRESS
-- %GDK_2BUTTON_PRESS
-- %GDK_BUTTON_RELEASE
-- %GDK_BUTTON_PRESS
-- %GDK_3BUTTON_PRESS
-- %GDK_BUTTON_RELEASE
-
-For a double click to occur, the second button press must occur within
-1/4 of a second of the first. For a triple click to occur, the third
-button press must also occur within 1/2 second of the first button press.
--}
-
-module GI.Gdk.Structs.EventButton
-    ( 
-
--- * Exported types
-    EventButton(..)                         ,
-    noEventButton                           ,
-
-
- -- * Properties
--- ** Axes
-    eventButtonReadAxes                     ,
-
-
--- ** Button
-    eventButtonReadButton                   ,
-
-
--- ** Device
-    eventButtonReadDevice                   ,
-
-
--- ** SendEvent
-    eventButtonReadSendEvent                ,
-
-
--- ** State
-    eventButtonReadState                    ,
-
-
--- ** Time
-    eventButtonReadTime                     ,
-
-
--- ** Type
-    eventButtonReadType                     ,
-
-
--- ** Window
-    eventButtonReadWindow                   ,
-
-
--- ** X
-    eventButtonReadX                        ,
-
-
--- ** XRoot
-    eventButtonReadXRoot                    ,
-
-
--- ** Y
-    eventButtonReadY                        ,
-
-
--- ** YRoot
-    eventButtonReadYRoot                    ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype EventButton = EventButton (ForeignPtr EventButton)
-noEventButton :: Maybe EventButton
-noEventButton = Nothing
-
-eventButtonReadType :: EventButton -> IO EventType
-eventButtonReadType s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventButtonReadWindow :: EventButton -> IO Window
-eventButtonReadWindow s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-eventButtonReadSendEvent :: EventButton -> IO Int8
-eventButtonReadSendEvent s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Int8
-    return val
-
-eventButtonReadTime :: EventButton -> IO Word32
-eventButtonReadTime s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 20) :: IO Word32
-    return val
-
-eventButtonReadX :: EventButton -> IO Double
-eventButtonReadX s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-eventButtonReadY :: EventButton -> IO Double
-eventButtonReadY s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 32) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-eventButtonReadAxes :: EventButton -> IO Double
-eventButtonReadAxes s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 40) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-eventButtonReadState :: EventButton -> IO [ModifierType]
-eventButtonReadState s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 48) :: IO CUInt
-    let val' = wordToGFlags val
-    return val'
-
-eventButtonReadButton :: EventButton -> IO Word32
-eventButtonReadButton s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 52) :: IO Word32
-    return val
-
-eventButtonReadDevice :: EventButton -> IO Device
-eventButtonReadDevice s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 56) :: IO (Ptr Device)
-    val' <- (newObject Device) val
-    return val'
-
-eventButtonReadXRoot :: EventButton -> IO Double
-eventButtonReadXRoot s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 64) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-eventButtonReadYRoot :: EventButton -> IO Double
-eventButtonReadYRoot s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 72) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-
diff --git a/GI/Gdk/Structs/EventButton.hs-boot b/GI/Gdk/Structs/EventButton.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/EventButton.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.EventButton 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
-
-newtype EventButton = EventButton (ForeignPtr EventButton)
diff --git a/GI/Gdk/Structs/EventConfigure.hs b/GI/Gdk/Structs/EventConfigure.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/EventConfigure.hs
+++ /dev/null
@@ -1,102 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Generated when a window size or position has changed.
--}
-
-module GI.Gdk.Structs.EventConfigure
-    ( 
-
--- * Exported types
-    EventConfigure(..)                      ,
-    noEventConfigure                        ,
-
-
- -- * Properties
--- ** Height
-    eventConfigureReadHeight                ,
-
-
--- ** SendEvent
-    eventConfigureReadSendEvent             ,
-
-
--- ** Type
-    eventConfigureReadType                  ,
-
-
--- ** Width
-    eventConfigureReadWidth                 ,
-
-
--- ** Window
-    eventConfigureReadWindow                ,
-
-
--- ** X
-    eventConfigureReadX                     ,
-
-
--- ** Y
-    eventConfigureReadY                     ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype EventConfigure = EventConfigure (ForeignPtr EventConfigure)
-noEventConfigure :: Maybe EventConfigure
-noEventConfigure = Nothing
-
-eventConfigureReadType :: EventConfigure -> IO EventType
-eventConfigureReadType s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventConfigureReadWindow :: EventConfigure -> IO Window
-eventConfigureReadWindow s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-eventConfigureReadSendEvent :: EventConfigure -> IO Int8
-eventConfigureReadSendEvent s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Int8
-    return val
-
-eventConfigureReadX :: EventConfigure -> IO Int32
-eventConfigureReadX s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 20) :: IO Int32
-    return val
-
-eventConfigureReadY :: EventConfigure -> IO Int32
-eventConfigureReadY s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO Int32
-    return val
-
-eventConfigureReadWidth :: EventConfigure -> IO Int32
-eventConfigureReadWidth s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 28) :: IO Int32
-    return val
-
-eventConfigureReadHeight :: EventConfigure -> IO Int32
-eventConfigureReadHeight s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 32) :: IO Int32
-    return val
-
-
diff --git a/GI/Gdk/Structs/EventConfigure.hs-boot b/GI/Gdk/Structs/EventConfigure.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/EventConfigure.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.EventConfigure 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
-
-newtype EventConfigure = EventConfigure (ForeignPtr EventConfigure)
diff --git a/GI/Gdk/Structs/EventCrossing.hs b/GI/Gdk/Structs/EventCrossing.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/EventCrossing.hs
+++ /dev/null
@@ -1,165 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Generated when the pointer enters or leaves a window.
--}
-
-module GI.Gdk.Structs.EventCrossing
-    ( 
-
--- * Exported types
-    EventCrossing(..)                       ,
-    noEventCrossing                         ,
-
-
- -- * Properties
--- ** Detail
-    eventCrossingReadDetail                 ,
-
-
--- ** Focus
-    eventCrossingReadFocus                  ,
-
-
--- ** Mode
-    eventCrossingReadMode                   ,
-
-
--- ** SendEvent
-    eventCrossingReadSendEvent              ,
-
-
--- ** State
-    eventCrossingReadState                  ,
-
-
--- ** Subwindow
-    eventCrossingReadSubwindow              ,
-
-
--- ** Time
-    eventCrossingReadTime                   ,
-
-
--- ** Type
-    eventCrossingReadType                   ,
-
-
--- ** Window
-    eventCrossingReadWindow                 ,
-
-
--- ** X
-    eventCrossingReadX                      ,
-
-
--- ** XRoot
-    eventCrossingReadXRoot                  ,
-
-
--- ** Y
-    eventCrossingReadY                      ,
-
-
--- ** YRoot
-    eventCrossingReadYRoot                  ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype EventCrossing = EventCrossing (ForeignPtr EventCrossing)
-noEventCrossing :: Maybe EventCrossing
-noEventCrossing = Nothing
-
-eventCrossingReadType :: EventCrossing -> IO EventType
-eventCrossingReadType s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventCrossingReadWindow :: EventCrossing -> IO Window
-eventCrossingReadWindow s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-eventCrossingReadSendEvent :: EventCrossing -> IO Int8
-eventCrossingReadSendEvent s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Int8
-    return val
-
-eventCrossingReadSubwindow :: EventCrossing -> IO Window
-eventCrossingReadSubwindow s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-eventCrossingReadTime :: EventCrossing -> IO Word32
-eventCrossingReadTime s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 32) :: IO Word32
-    return val
-
-eventCrossingReadX :: EventCrossing -> IO Double
-eventCrossingReadX s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 40) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-eventCrossingReadY :: EventCrossing -> IO Double
-eventCrossingReadY s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 48) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-eventCrossingReadXRoot :: EventCrossing -> IO Double
-eventCrossingReadXRoot s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 56) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-eventCrossingReadYRoot :: EventCrossing -> IO Double
-eventCrossingReadYRoot s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 64) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-eventCrossingReadMode :: EventCrossing -> IO CrossingMode
-eventCrossingReadMode s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 72) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventCrossingReadDetail :: EventCrossing -> IO NotifyType
-eventCrossingReadDetail s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 76) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventCrossingReadFocus :: EventCrossing -> IO Bool
-eventCrossingReadFocus s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 80) :: IO CInt
-    let val' = (/= 0) val
-    return val'
-
-eventCrossingReadState :: EventCrossing -> IO [ModifierType]
-eventCrossingReadState s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 84) :: IO CUInt
-    let val' = wordToGFlags val
-    return val'
-
-
diff --git a/GI/Gdk/Structs/EventCrossing.hs-boot b/GI/Gdk/Structs/EventCrossing.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/EventCrossing.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.EventCrossing 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
-
-newtype EventCrossing = EventCrossing (ForeignPtr EventCrossing)
diff --git a/GI/Gdk/Structs/EventDND.hs b/GI/Gdk/Structs/EventDND.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/EventDND.hs
+++ /dev/null
@@ -1,103 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Generated during DND operations.
--}
-
-module GI.Gdk.Structs.EventDND
-    ( 
-
--- * Exported types
-    EventDND(..)                            ,
-    noEventDND                              ,
-
-
- -- * Properties
--- ** Context
-    eventDNDReadContext                     ,
-
-
--- ** SendEvent
-    eventDNDReadSendEvent                   ,
-
-
--- ** Time
-    eventDNDReadTime                        ,
-
-
--- ** Type
-    eventDNDReadType                        ,
-
-
--- ** Window
-    eventDNDReadWindow                      ,
-
-
--- ** XRoot
-    eventDNDReadXRoot                       ,
-
-
--- ** YRoot
-    eventDNDReadYRoot                       ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype EventDND = EventDND (ForeignPtr EventDND)
-noEventDND :: Maybe EventDND
-noEventDND = Nothing
-
-eventDNDReadType :: EventDND -> IO EventType
-eventDNDReadType s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventDNDReadWindow :: EventDND -> IO Window
-eventDNDReadWindow s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-eventDNDReadSendEvent :: EventDND -> IO Int8
-eventDNDReadSendEvent s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Int8
-    return val
-
-eventDNDReadContext :: EventDND -> IO DragContext
-eventDNDReadContext s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO (Ptr DragContext)
-    val' <- (newObject DragContext) val
-    return val'
-
-eventDNDReadTime :: EventDND -> IO Word32
-eventDNDReadTime s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 32) :: IO Word32
-    return val
-
-eventDNDReadXRoot :: EventDND -> IO Int16
-eventDNDReadXRoot s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 36) :: IO Int16
-    return val
-
-eventDNDReadYRoot :: EventDND -> IO Int16
-eventDNDReadYRoot s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 38) :: IO Int16
-    return val
-
-
diff --git a/GI/Gdk/Structs/EventDND.hs-boot b/GI/Gdk/Structs/EventDND.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/EventDND.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.EventDND 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
-
-newtype EventDND = EventDND (ForeignPtr EventDND)
diff --git a/GI/Gdk/Structs/EventExpose.hs b/GI/Gdk/Structs/EventExpose.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/EventExpose.hs
+++ /dev/null
@@ -1,97 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Generated when all or part of a window becomes visible and needs to be
-redrawn.
--}
-
-module GI.Gdk.Structs.EventExpose
-    ( 
-
--- * Exported types
-    EventExpose(..)                         ,
-    noEventExpose                           ,
-
-
- -- * Properties
--- ** Area
-    eventExposeReadArea                     ,
-
-
--- ** Count
-    eventExposeReadCount                    ,
-
-
--- ** Region
-    eventExposeReadRegion                   ,
-
-
--- ** SendEvent
-    eventExposeReadSendEvent                ,
-
-
--- ** Type
-    eventExposeReadType                     ,
-
-
--- ** Window
-    eventExposeReadWindow                   ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-import qualified GI.Cairo as Cairo
-
-newtype EventExpose = EventExpose (ForeignPtr EventExpose)
-noEventExpose :: Maybe EventExpose
-noEventExpose = Nothing
-
-eventExposeReadType :: EventExpose -> IO EventType
-eventExposeReadType s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventExposeReadWindow :: EventExpose -> IO Window
-eventExposeReadWindow s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-eventExposeReadSendEvent :: EventExpose -> IO Int8
-eventExposeReadSendEvent s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Int8
-    return val
-
-eventExposeReadArea :: EventExpose -> IO Cairo.RectangleInt
-eventExposeReadArea s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 20) :: IO (Ptr Cairo.RectangleInt)
-    val' <- (newBoxed Cairo.RectangleInt) val
-    return val'
-
-eventExposeReadRegion :: EventExpose -> IO Cairo.Region
-eventExposeReadRegion s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 40) :: IO (Ptr Cairo.Region)
-    val' <- (newBoxed Cairo.Region) val
-    return val'
-
-eventExposeReadCount :: EventExpose -> IO Int32
-eventExposeReadCount s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 48) :: IO Int32
-    return val
-
-
diff --git a/GI/Gdk/Structs/EventExpose.hs-boot b/GI/Gdk/Structs/EventExpose.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/EventExpose.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.EventExpose 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
-
-newtype EventExpose = EventExpose (ForeignPtr EventExpose)
diff --git a/GI/Gdk/Structs/EventFocus.hs b/GI/Gdk/Structs/EventFocus.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/EventFocus.hs
+++ /dev/null
@@ -1,75 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Describes a change of keyboard focus.
--}
-
-module GI.Gdk.Structs.EventFocus
-    ( 
-
--- * Exported types
-    EventFocus(..)                          ,
-    noEventFocus                            ,
-
-
- -- * Properties
--- ** In
-    eventFocusReadIn                        ,
-
-
--- ** SendEvent
-    eventFocusReadSendEvent                 ,
-
-
--- ** Type
-    eventFocusReadType                      ,
-
-
--- ** Window
-    eventFocusReadWindow                    ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype EventFocus = EventFocus (ForeignPtr EventFocus)
-noEventFocus :: Maybe EventFocus
-noEventFocus = Nothing
-
-eventFocusReadType :: EventFocus -> IO EventType
-eventFocusReadType s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventFocusReadWindow :: EventFocus -> IO Window
-eventFocusReadWindow s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-eventFocusReadSendEvent :: EventFocus -> IO Int8
-eventFocusReadSendEvent s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Int8
-    return val
-
-eventFocusReadIn :: EventFocus -> IO Int16
-eventFocusReadIn s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 18) :: IO Int16
-    return val
-
-
diff --git a/GI/Gdk/Structs/EventFocus.hs-boot b/GI/Gdk/Structs/EventFocus.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/EventFocus.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.EventFocus 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
-
-newtype EventFocus = EventFocus (ForeignPtr EventFocus)
diff --git a/GI/Gdk/Structs/EventGrabBroken.hs b/GI/Gdk/Structs/EventGrabBroken.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/EventGrabBroken.hs
+++ /dev/null
@@ -1,100 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Generated when a pointer or keyboard grab is broken. On X11, this happens
-when the grab window becomes unviewable (i.e. it or one of its ancestors
-is unmapped), or if the same application grabs the pointer or keyboard
-again. Note that implicit grabs (which are initiated by button presses)
-can also cause #GdkEventGrabBroken events.
--}
-
-module GI.Gdk.Structs.EventGrabBroken
-    ( 
-
--- * Exported types
-    EventGrabBroken(..)                     ,
-    noEventGrabBroken                       ,
-
-
- -- * Properties
--- ** GrabWindow
-    eventGrabBrokenReadGrabWindow           ,
-
-
--- ** Implicit
-    eventGrabBrokenReadImplicit             ,
-
-
--- ** Keyboard
-    eventGrabBrokenReadKeyboard             ,
-
-
--- ** SendEvent
-    eventGrabBrokenReadSendEvent            ,
-
-
--- ** Type
-    eventGrabBrokenReadType                 ,
-
-
--- ** Window
-    eventGrabBrokenReadWindow               ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype EventGrabBroken = EventGrabBroken (ForeignPtr EventGrabBroken)
-noEventGrabBroken :: Maybe EventGrabBroken
-noEventGrabBroken = Nothing
-
-eventGrabBrokenReadType :: EventGrabBroken -> IO EventType
-eventGrabBrokenReadType s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventGrabBrokenReadWindow :: EventGrabBroken -> IO Window
-eventGrabBrokenReadWindow s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-eventGrabBrokenReadSendEvent :: EventGrabBroken -> IO Int8
-eventGrabBrokenReadSendEvent s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Int8
-    return val
-
-eventGrabBrokenReadKeyboard :: EventGrabBroken -> IO Bool
-eventGrabBrokenReadKeyboard s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 20) :: IO CInt
-    let val' = (/= 0) val
-    return val'
-
-eventGrabBrokenReadImplicit :: EventGrabBroken -> IO Bool
-eventGrabBrokenReadImplicit s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO CInt
-    let val' = (/= 0) val
-    return val'
-
-eventGrabBrokenReadGrabWindow :: EventGrabBroken -> IO Window
-eventGrabBrokenReadGrabWindow s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 32) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-
diff --git a/GI/Gdk/Structs/EventGrabBroken.hs-boot b/GI/Gdk/Structs/EventGrabBroken.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/EventGrabBroken.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.EventGrabBroken 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
-
-newtype EventGrabBroken = EventGrabBroken (ForeignPtr EventGrabBroken)
diff --git a/GI/Gdk/Structs/EventKey.hs b/GI/Gdk/Structs/EventKey.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/EventKey.hs
+++ /dev/null
@@ -1,140 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Describes a key press or key release event.
--}
-
-module GI.Gdk.Structs.EventKey
-    ( 
-
--- * Exported types
-    EventKey(..)                            ,
-    noEventKey                              ,
-
-
- -- * Properties
--- ** Group
-    eventKeyReadGroup                       ,
-
-
--- ** HardwareKeycode
-    eventKeyReadHardwareKeycode             ,
-
-
--- ** IsModifier
-    eventKeyReadIsModifier                  ,
-
-
--- ** Keyval
-    eventKeyReadKeyval                      ,
-
-
--- ** Length
-    eventKeyReadLength                      ,
-
-
--- ** SendEvent
-    eventKeyReadSendEvent                   ,
-
-
--- ** State
-    eventKeyReadState                       ,
-
-
--- ** String
-    eventKeyReadString                      ,
-
-
--- ** Time
-    eventKeyReadTime                        ,
-
-
--- ** Type
-    eventKeyReadType                        ,
-
-
--- ** Window
-    eventKeyReadWindow                      ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype EventKey = EventKey (ForeignPtr EventKey)
-noEventKey :: Maybe EventKey
-noEventKey = Nothing
-
-eventKeyReadType :: EventKey -> IO EventType
-eventKeyReadType s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventKeyReadWindow :: EventKey -> IO Window
-eventKeyReadWindow s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-eventKeyReadSendEvent :: EventKey -> IO Int8
-eventKeyReadSendEvent s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Int8
-    return val
-
-eventKeyReadTime :: EventKey -> IO Word32
-eventKeyReadTime s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 20) :: IO Word32
-    return val
-
-eventKeyReadState :: EventKey -> IO [ModifierType]
-eventKeyReadState s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO CUInt
-    let val' = wordToGFlags val
-    return val'
-
-eventKeyReadKeyval :: EventKey -> IO Word32
-eventKeyReadKeyval s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 28) :: IO Word32
-    return val
-
-eventKeyReadLength :: EventKey -> IO Int32
-eventKeyReadLength s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 32) :: IO Int32
-    return val
-
-eventKeyReadString :: EventKey -> IO T.Text
-eventKeyReadString s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 40) :: IO CString
-    val' <- cstringToText val
-    return val'
-
-eventKeyReadHardwareKeycode :: EventKey -> IO Word16
-eventKeyReadHardwareKeycode s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 48) :: IO Word16
-    return val
-
-eventKeyReadGroup :: EventKey -> IO Word8
-eventKeyReadGroup s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 50) :: IO Word8
-    return val
-
-eventKeyReadIsModifier :: EventKey -> IO Word32
-eventKeyReadIsModifier s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 52) :: IO Word32
-    return val
-
-
diff --git a/GI/Gdk/Structs/EventKey.hs-boot b/GI/Gdk/Structs/EventKey.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/EventKey.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.EventKey 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
-
-newtype EventKey = EventKey (ForeignPtr EventKey)
diff --git a/GI/Gdk/Structs/EventMotion.hs b/GI/Gdk/Structs/EventMotion.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/EventMotion.hs
+++ /dev/null
@@ -1,154 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Generated when the pointer moves.
--}
-
-module GI.Gdk.Structs.EventMotion
-    ( 
-
--- * Exported types
-    EventMotion(..)                         ,
-    noEventMotion                           ,
-
-
- -- * Properties
--- ** Axes
-    eventMotionReadAxes                     ,
-
-
--- ** Device
-    eventMotionReadDevice                   ,
-
-
--- ** IsHint
-    eventMotionReadIsHint                   ,
-
-
--- ** SendEvent
-    eventMotionReadSendEvent                ,
-
-
--- ** State
-    eventMotionReadState                    ,
-
-
--- ** Time
-    eventMotionReadTime                     ,
-
-
--- ** Type
-    eventMotionReadType                     ,
-
-
--- ** Window
-    eventMotionReadWindow                   ,
-
-
--- ** X
-    eventMotionReadX                        ,
-
-
--- ** XRoot
-    eventMotionReadXRoot                    ,
-
-
--- ** Y
-    eventMotionReadY                        ,
-
-
--- ** YRoot
-    eventMotionReadYRoot                    ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype EventMotion = EventMotion (ForeignPtr EventMotion)
-noEventMotion :: Maybe EventMotion
-noEventMotion = Nothing
-
-eventMotionReadType :: EventMotion -> IO EventType
-eventMotionReadType s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventMotionReadWindow :: EventMotion -> IO Window
-eventMotionReadWindow s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-eventMotionReadSendEvent :: EventMotion -> IO Int8
-eventMotionReadSendEvent s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Int8
-    return val
-
-eventMotionReadTime :: EventMotion -> IO Word32
-eventMotionReadTime s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 20) :: IO Word32
-    return val
-
-eventMotionReadX :: EventMotion -> IO Double
-eventMotionReadX s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-eventMotionReadY :: EventMotion -> IO Double
-eventMotionReadY s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 32) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-eventMotionReadAxes :: EventMotion -> IO Double
-eventMotionReadAxes s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 40) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-eventMotionReadState :: EventMotion -> IO [ModifierType]
-eventMotionReadState s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 48) :: IO CUInt
-    let val' = wordToGFlags val
-    return val'
-
-eventMotionReadIsHint :: EventMotion -> IO Int16
-eventMotionReadIsHint s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 52) :: IO Int16
-    return val
-
-eventMotionReadDevice :: EventMotion -> IO Device
-eventMotionReadDevice s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 56) :: IO (Ptr Device)
-    val' <- (newObject Device) val
-    return val'
-
-eventMotionReadXRoot :: EventMotion -> IO Double
-eventMotionReadXRoot s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 64) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-eventMotionReadYRoot :: EventMotion -> IO Double
-eventMotionReadYRoot s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 72) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-
diff --git a/GI/Gdk/Structs/EventMotion.hs-boot b/GI/Gdk/Structs/EventMotion.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/EventMotion.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.EventMotion 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
-
-newtype EventMotion = EventMotion (ForeignPtr EventMotion)
diff --git a/GI/Gdk/Structs/EventOwnerChange.hs b/GI/Gdk/Structs/EventOwnerChange.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/EventOwnerChange.hs
+++ /dev/null
@@ -1,117 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Generated when the owner of a selection changes. On X11, this
-information is only available if the X server supports the XFIXES
-extension.
--}
-
-module GI.Gdk.Structs.EventOwnerChange
-    ( 
-
--- * Exported types
-    EventOwnerChange(..)                    ,
-    noEventOwnerChange                      ,
-
-
- -- * Properties
--- ** Owner
-    eventOwnerChangeReadOwner               ,
-
-
--- ** Reason
-    eventOwnerChangeReadReason              ,
-
-
--- ** Selection
-    eventOwnerChangeReadSelection           ,
-
-
--- ** SelectionTime
-    eventOwnerChangeReadSelectionTime       ,
-
-
--- ** SendEvent
-    eventOwnerChangeReadSendEvent           ,
-
-
--- ** Time
-    eventOwnerChangeReadTime                ,
-
-
--- ** Type
-    eventOwnerChangeReadType                ,
-
-
--- ** Window
-    eventOwnerChangeReadWindow              ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype EventOwnerChange = EventOwnerChange (ForeignPtr EventOwnerChange)
-noEventOwnerChange :: Maybe EventOwnerChange
-noEventOwnerChange = Nothing
-
-eventOwnerChangeReadType :: EventOwnerChange -> IO EventType
-eventOwnerChangeReadType s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventOwnerChangeReadWindow :: EventOwnerChange -> IO Window
-eventOwnerChangeReadWindow s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-eventOwnerChangeReadSendEvent :: EventOwnerChange -> IO Int8
-eventOwnerChangeReadSendEvent s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Int8
-    return val
-
-eventOwnerChangeReadOwner :: EventOwnerChange -> IO Window
-eventOwnerChangeReadOwner s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-eventOwnerChangeReadReason :: EventOwnerChange -> IO OwnerChange
-eventOwnerChangeReadReason s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 32) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventOwnerChangeReadSelection :: EventOwnerChange -> IO Atom
-eventOwnerChangeReadSelection s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 40) :: IO (Ptr Atom)
-    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
-    val' <- (\x -> Atom <$> newForeignPtr_ x) val
-    return val'
-
-eventOwnerChangeReadTime :: EventOwnerChange -> IO Word32
-eventOwnerChangeReadTime s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 48) :: IO Word32
-    return val
-
-eventOwnerChangeReadSelectionTime :: EventOwnerChange -> IO Word32
-eventOwnerChangeReadSelectionTime s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 52) :: IO Word32
-    return val
-
-
diff --git a/GI/Gdk/Structs/EventOwnerChange.hs-boot b/GI/Gdk/Structs/EventOwnerChange.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/EventOwnerChange.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.EventOwnerChange 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
-
-newtype EventOwnerChange = EventOwnerChange (ForeignPtr EventOwnerChange)
diff --git a/GI/Gdk/Structs/EventProperty.hs b/GI/Gdk/Structs/EventProperty.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/EventProperty.hs
+++ /dev/null
@@ -1,96 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Describes a property change on a window.
--}
-
-module GI.Gdk.Structs.EventProperty
-    ( 
-
--- * Exported types
-    EventProperty(..)                       ,
-    noEventProperty                         ,
-
-
- -- * Properties
--- ** Atom
-    eventPropertyReadAtom                   ,
-
-
--- ** SendEvent
-    eventPropertyReadSendEvent              ,
-
-
--- ** State
-    eventPropertyReadState                  ,
-
-
--- ** Time
-    eventPropertyReadTime                   ,
-
-
--- ** Type
-    eventPropertyReadType                   ,
-
-
--- ** Window
-    eventPropertyReadWindow                 ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype EventProperty = EventProperty (ForeignPtr EventProperty)
-noEventProperty :: Maybe EventProperty
-noEventProperty = Nothing
-
-eventPropertyReadType :: EventProperty -> IO EventType
-eventPropertyReadType s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventPropertyReadWindow :: EventProperty -> IO Window
-eventPropertyReadWindow s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-eventPropertyReadSendEvent :: EventProperty -> IO Int8
-eventPropertyReadSendEvent s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Int8
-    return val
-
-eventPropertyReadAtom :: EventProperty -> IO Atom
-eventPropertyReadAtom s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO (Ptr Atom)
-    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
-    val' <- (\x -> Atom <$> newForeignPtr_ x) val
-    return val'
-
-eventPropertyReadTime :: EventProperty -> IO Word32
-eventPropertyReadTime s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 32) :: IO Word32
-    return val
-
-eventPropertyReadState :: EventProperty -> IO PropertyState
-eventPropertyReadState s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 36) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-
diff --git a/GI/Gdk/Structs/EventProperty.hs-boot b/GI/Gdk/Structs/EventProperty.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/EventProperty.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.EventProperty 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
-
-newtype EventProperty = EventProperty (ForeignPtr EventProperty)
diff --git a/GI/Gdk/Structs/EventProximity.hs b/GI/Gdk/Structs/EventProximity.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/EventProximity.hs
+++ /dev/null
@@ -1,93 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Proximity events are generated when using GDK’s wrapper for the
-XInput extension. The XInput extension is an add-on for standard X
-that allows you to use nonstandard devices such as graphics tablets.
-A proximity event indicates that the stylus has moved in or out of
-contact with the tablet, or perhaps that the user’s finger has moved
-in or out of contact with a touch screen.
-
-This event type will be used pretty rarely. It only is important for
-XInput aware programs that are drawing their own cursor.
--}
-
-module GI.Gdk.Structs.EventProximity
-    ( 
-
--- * Exported types
-    EventProximity(..)                      ,
-    noEventProximity                        ,
-
-
- -- * Properties
--- ** Device
-    eventProximityReadDevice                ,
-
-
--- ** SendEvent
-    eventProximityReadSendEvent             ,
-
-
--- ** Time
-    eventProximityReadTime                  ,
-
-
--- ** Type
-    eventProximityReadType                  ,
-
-
--- ** Window
-    eventProximityReadWindow                ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype EventProximity = EventProximity (ForeignPtr EventProximity)
-noEventProximity :: Maybe EventProximity
-noEventProximity = Nothing
-
-eventProximityReadType :: EventProximity -> IO EventType
-eventProximityReadType s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventProximityReadWindow :: EventProximity -> IO Window
-eventProximityReadWindow s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-eventProximityReadSendEvent :: EventProximity -> IO Int8
-eventProximityReadSendEvent s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Int8
-    return val
-
-eventProximityReadTime :: EventProximity -> IO Word32
-eventProximityReadTime s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 20) :: IO Word32
-    return val
-
-eventProximityReadDevice :: EventProximity -> IO Device
-eventProximityReadDevice s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO (Ptr Device)
-    val' <- (newObject Device) val
-    return val'
-
-
diff --git a/GI/Gdk/Structs/EventProximity.hs-boot b/GI/Gdk/Structs/EventProximity.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/EventProximity.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.EventProximity 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
-
-newtype EventProximity = EventProximity (ForeignPtr EventProximity)
diff --git a/GI/Gdk/Structs/EventScroll.hs b/GI/Gdk/Structs/EventScroll.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/EventScroll.hs
+++ /dev/null
@@ -1,172 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Generated from button presses for the buttons 4 to 7. Wheel mice are
-usually configured to generate button press events for buttons 4 and 5
-when the wheel is turned.
-
-Some GDK backends can also generate “smooth” scroll events, which
-can be recognized by the %GDK_SCROLL_SMOOTH scroll direction. For
-these, the scroll deltas can be obtained with
-gdk_event_get_scroll_deltas().
--}
-
-module GI.Gdk.Structs.EventScroll
-    ( 
-
--- * Exported types
-    EventScroll(..)                         ,
-    noEventScroll                           ,
-
-
- -- * Properties
--- ** DeltaX
-    eventScrollReadDeltaX                   ,
-
-
--- ** DeltaY
-    eventScrollReadDeltaY                   ,
-
-
--- ** Device
-    eventScrollReadDevice                   ,
-
-
--- ** Direction
-    eventScrollReadDirection                ,
-
-
--- ** SendEvent
-    eventScrollReadSendEvent                ,
-
-
--- ** State
-    eventScrollReadState                    ,
-
-
--- ** Time
-    eventScrollReadTime                     ,
-
-
--- ** Type
-    eventScrollReadType                     ,
-
-
--- ** Window
-    eventScrollReadWindow                   ,
-
-
--- ** X
-    eventScrollReadX                        ,
-
-
--- ** XRoot
-    eventScrollReadXRoot                    ,
-
-
--- ** Y
-    eventScrollReadY                        ,
-
-
--- ** YRoot
-    eventScrollReadYRoot                    ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype EventScroll = EventScroll (ForeignPtr EventScroll)
-noEventScroll :: Maybe EventScroll
-noEventScroll = Nothing
-
-eventScrollReadType :: EventScroll -> IO EventType
-eventScrollReadType s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventScrollReadWindow :: EventScroll -> IO Window
-eventScrollReadWindow s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-eventScrollReadSendEvent :: EventScroll -> IO Int8
-eventScrollReadSendEvent s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Int8
-    return val
-
-eventScrollReadTime :: EventScroll -> IO Word32
-eventScrollReadTime s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 20) :: IO Word32
-    return val
-
-eventScrollReadX :: EventScroll -> IO Double
-eventScrollReadX s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-eventScrollReadY :: EventScroll -> IO Double
-eventScrollReadY s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 32) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-eventScrollReadState :: EventScroll -> IO [ModifierType]
-eventScrollReadState s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 40) :: IO CUInt
-    let val' = wordToGFlags val
-    return val'
-
-eventScrollReadDirection :: EventScroll -> IO ScrollDirection
-eventScrollReadDirection s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 44) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventScrollReadDevice :: EventScroll -> IO Device
-eventScrollReadDevice s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 48) :: IO (Ptr Device)
-    val' <- (newObject Device) val
-    return val'
-
-eventScrollReadXRoot :: EventScroll -> IO Double
-eventScrollReadXRoot s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 56) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-eventScrollReadYRoot :: EventScroll -> IO Double
-eventScrollReadYRoot s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 64) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-eventScrollReadDeltaX :: EventScroll -> IO Double
-eventScrollReadDeltaX s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 72) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-eventScrollReadDeltaY :: EventScroll -> IO Double
-eventScrollReadDeltaY s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 80) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-
diff --git a/GI/Gdk/Structs/EventScroll.hs-boot b/GI/Gdk/Structs/EventScroll.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/EventScroll.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.EventScroll 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
-
-newtype EventScroll = EventScroll (ForeignPtr EventScroll)
diff --git a/GI/Gdk/Structs/EventSelection.hs b/GI/Gdk/Structs/EventSelection.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/EventSelection.hs
+++ /dev/null
@@ -1,119 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Generated when a selection is requested or ownership of a selection
-is taken over by another client application.
--}
-
-module GI.Gdk.Structs.EventSelection
-    ( 
-
--- * Exported types
-    EventSelection(..)                      ,
-    noEventSelection                        ,
-
-
- -- * Properties
--- ** Property
-    eventSelectionReadProperty              ,
-
-
--- ** Requestor
-    eventSelectionReadRequestor             ,
-
-
--- ** Selection
-    eventSelectionReadSelection             ,
-
-
--- ** SendEvent
-    eventSelectionReadSendEvent             ,
-
-
--- ** Target
-    eventSelectionReadTarget                ,
-
-
--- ** Time
-    eventSelectionReadTime                  ,
-
-
--- ** Type
-    eventSelectionReadType                  ,
-
-
--- ** Window
-    eventSelectionReadWindow                ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype EventSelection = EventSelection (ForeignPtr EventSelection)
-noEventSelection :: Maybe EventSelection
-noEventSelection = Nothing
-
-eventSelectionReadType :: EventSelection -> IO EventType
-eventSelectionReadType s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventSelectionReadWindow :: EventSelection -> IO Window
-eventSelectionReadWindow s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-eventSelectionReadSendEvent :: EventSelection -> IO Int8
-eventSelectionReadSendEvent s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Int8
-    return val
-
-eventSelectionReadSelection :: EventSelection -> IO Atom
-eventSelectionReadSelection s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO (Ptr Atom)
-    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
-    val' <- (\x -> Atom <$> newForeignPtr_ x) val
-    return val'
-
-eventSelectionReadTarget :: EventSelection -> IO Atom
-eventSelectionReadTarget s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 32) :: IO (Ptr Atom)
-    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
-    val' <- (\x -> Atom <$> newForeignPtr_ x) val
-    return val'
-
-eventSelectionReadProperty :: EventSelection -> IO Atom
-eventSelectionReadProperty s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 40) :: IO (Ptr Atom)
-    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
-    val' <- (\x -> Atom <$> newForeignPtr_ x) val
-    return val'
-
-eventSelectionReadTime :: EventSelection -> IO Word32
-eventSelectionReadTime s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 48) :: IO Word32
-    return val
-
-eventSelectionReadRequestor :: EventSelection -> IO Window
-eventSelectionReadRequestor s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 56) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-
diff --git a/GI/Gdk/Structs/EventSelection.hs-boot b/GI/Gdk/Structs/EventSelection.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/EventSelection.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.EventSelection 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
-
-newtype EventSelection = EventSelection (ForeignPtr EventSelection)
diff --git a/GI/Gdk/Structs/EventSequence.hs b/GI/Gdk/Structs/EventSequence.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/EventSequence.hs
+++ /dev/null
@@ -1,38 +0,0 @@
-
-{- |
-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.Gdk.Structs.EventSequence
-    ( 
-
--- * Exported types
-    EventSequence(..)                       ,
-    noEventSequence                         ,
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype EventSequence = EventSequence (ForeignPtr EventSequence)
-foreign import ccall "gdk_event_sequence_get_type" c_gdk_event_sequence_get_type :: 
-    IO GType
-
-instance BoxedObject EventSequence where
-    boxedType _ = c_gdk_event_sequence_get_type
-
-noEventSequence :: Maybe EventSequence
-noEventSequence = Nothing
-
-
diff --git a/GI/Gdk/Structs/EventSequence.hs-boot b/GI/Gdk/Structs/EventSequence.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/EventSequence.hs-boot
+++ /dev/null
@@ -1,11 +0,0 @@
-module GI.Gdk.Structs.EventSequence 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
-
-newtype EventSequence = EventSequence (ForeignPtr EventSequence)
-instance BoxedObject EventSequence where
diff --git a/GI/Gdk/Structs/EventSetting.hs b/GI/Gdk/Structs/EventSetting.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/EventSetting.hs
+++ /dev/null
@@ -1,86 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Generated when a setting is modified.
--}
-
-module GI.Gdk.Structs.EventSetting
-    ( 
-
--- * Exported types
-    EventSetting(..)                        ,
-    noEventSetting                          ,
-
-
- -- * Properties
--- ** Action
-    eventSettingReadAction                  ,
-
-
--- ** Name
-    eventSettingReadName                    ,
-
-
--- ** SendEvent
-    eventSettingReadSendEvent               ,
-
-
--- ** Type
-    eventSettingReadType                    ,
-
-
--- ** Window
-    eventSettingReadWindow                  ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype EventSetting = EventSetting (ForeignPtr EventSetting)
-noEventSetting :: Maybe EventSetting
-noEventSetting = Nothing
-
-eventSettingReadType :: EventSetting -> IO EventType
-eventSettingReadType s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventSettingReadWindow :: EventSetting -> IO Window
-eventSettingReadWindow s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-eventSettingReadSendEvent :: EventSetting -> IO Int8
-eventSettingReadSendEvent s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Int8
-    return val
-
-eventSettingReadAction :: EventSetting -> IO SettingAction
-eventSettingReadAction s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 20) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventSettingReadName :: EventSetting -> IO T.Text
-eventSettingReadName s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO CString
-    val' <- cstringToText val
-    return val'
-
-
diff --git a/GI/Gdk/Structs/EventSetting.hs-boot b/GI/Gdk/Structs/EventSetting.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/EventSetting.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.EventSetting 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
-
-newtype EventSetting = EventSetting (ForeignPtr EventSetting)
diff --git a/GI/Gdk/Structs/EventTouch.hs b/GI/Gdk/Structs/EventTouch.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/EventTouch.hs
+++ /dev/null
@@ -1,174 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Used for touch events.
-@type field will be one of %GDK_TOUCH_BEGIN, %GDK_TOUCH_UPDATE,
-%GDK_TOUCH_END or %GDK_TOUCH_CANCEL.
-
-Touch events are grouped into sequences by means of the @sequence
-field, which can also be obtained with gdk_event_get_event_sequence().
-Each sequence begins with a %GDK_TOUCH_BEGIN event, followed by
-any number of %GDK_TOUCH_UPDATE events, and ends with a %GDK_TOUCH_END
-(or %GDK_TOUCH_CANCEL) event. With multitouch devices, there may be
-several active sequences at the same time.
--}
-
-module GI.Gdk.Structs.EventTouch
-    ( 
-
--- * Exported types
-    EventTouch(..)                          ,
-    noEventTouch                            ,
-
-
- -- * Properties
--- ** Axes
-    eventTouchReadAxes                      ,
-
-
--- ** Device
-    eventTouchReadDevice                    ,
-
-
--- ** EmulatingPointer
-    eventTouchReadEmulatingPointer          ,
-
-
--- ** SendEvent
-    eventTouchReadSendEvent                 ,
-
-
--- ** Sequence
-    eventTouchReadSequence                  ,
-
-
--- ** State
-    eventTouchReadState                     ,
-
-
--- ** Time
-    eventTouchReadTime                      ,
-
-
--- ** Type
-    eventTouchReadType                      ,
-
-
--- ** Window
-    eventTouchReadWindow                    ,
-
-
--- ** X
-    eventTouchReadX                         ,
-
-
--- ** XRoot
-    eventTouchReadXRoot                     ,
-
-
--- ** Y
-    eventTouchReadY                         ,
-
-
--- ** YRoot
-    eventTouchReadYRoot                     ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype EventTouch = EventTouch (ForeignPtr EventTouch)
-noEventTouch :: Maybe EventTouch
-noEventTouch = Nothing
-
-eventTouchReadType :: EventTouch -> IO EventType
-eventTouchReadType s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventTouchReadWindow :: EventTouch -> IO Window
-eventTouchReadWindow s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-eventTouchReadSendEvent :: EventTouch -> IO Int8
-eventTouchReadSendEvent s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Int8
-    return val
-
-eventTouchReadTime :: EventTouch -> IO Word32
-eventTouchReadTime s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 20) :: IO Word32
-    return val
-
-eventTouchReadX :: EventTouch -> IO Double
-eventTouchReadX s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-eventTouchReadY :: EventTouch -> IO Double
-eventTouchReadY s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 32) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-eventTouchReadAxes :: EventTouch -> IO Double
-eventTouchReadAxes s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 40) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-eventTouchReadState :: EventTouch -> IO [ModifierType]
-eventTouchReadState s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 48) :: IO CUInt
-    let val' = wordToGFlags val
-    return val'
-
-eventTouchReadSequence :: EventTouch -> IO EventSequence
-eventTouchReadSequence s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 56) :: IO (Ptr EventSequence)
-    val' <- (newBoxed EventSequence) val
-    return val'
-
-eventTouchReadEmulatingPointer :: EventTouch -> IO Bool
-eventTouchReadEmulatingPointer s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 64) :: IO CInt
-    let val' = (/= 0) val
-    return val'
-
-eventTouchReadDevice :: EventTouch -> IO Device
-eventTouchReadDevice s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 72) :: IO (Ptr Device)
-    val' <- (newObject Device) val
-    return val'
-
-eventTouchReadXRoot :: EventTouch -> IO Double
-eventTouchReadXRoot s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 80) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-eventTouchReadYRoot :: EventTouch -> IO Double
-eventTouchReadYRoot s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 88) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-
diff --git a/GI/Gdk/Structs/EventTouch.hs-boot b/GI/Gdk/Structs/EventTouch.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/EventTouch.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.EventTouch 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
-
-newtype EventTouch = EventTouch (ForeignPtr EventTouch)
diff --git a/GI/Gdk/Structs/EventVisibility.hs b/GI/Gdk/Structs/EventVisibility.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/EventVisibility.hs
+++ /dev/null
@@ -1,76 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Generated when the window visibility status has changed.
--}
-
-module GI.Gdk.Structs.EventVisibility
-    ( 
-
--- * Exported types
-    EventVisibility(..)                     ,
-    noEventVisibility                       ,
-
-
- -- * Properties
--- ** SendEvent
-    eventVisibilityReadSendEvent            ,
-
-
--- ** State
-    eventVisibilityReadState                ,
-
-
--- ** Type
-    eventVisibilityReadType                 ,
-
-
--- ** Window
-    eventVisibilityReadWindow               ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype EventVisibility = EventVisibility (ForeignPtr EventVisibility)
-noEventVisibility :: Maybe EventVisibility
-noEventVisibility = Nothing
-
-eventVisibilityReadType :: EventVisibility -> IO EventType
-eventVisibilityReadType s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventVisibilityReadWindow :: EventVisibility -> IO Window
-eventVisibilityReadWindow s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-eventVisibilityReadSendEvent :: EventVisibility -> IO Int8
-eventVisibilityReadSendEvent s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Int8
-    return val
-
-eventVisibilityReadState :: EventVisibility -> IO VisibilityState
-eventVisibilityReadState s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 20) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-
diff --git a/GI/Gdk/Structs/EventVisibility.hs-boot b/GI/Gdk/Structs/EventVisibility.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/EventVisibility.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.EventVisibility 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
-
-newtype EventVisibility = EventVisibility (ForeignPtr EventVisibility)
diff --git a/GI/Gdk/Structs/EventWindowState.hs b/GI/Gdk/Structs/EventWindowState.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/EventWindowState.hs
+++ /dev/null
@@ -1,86 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Generated when the state of a toplevel window changes.
--}
-
-module GI.Gdk.Structs.EventWindowState
-    ( 
-
--- * Exported types
-    EventWindowState(..)                    ,
-    noEventWindowState                      ,
-
-
- -- * Properties
--- ** ChangedMask
-    eventWindowStateReadChangedMask         ,
-
-
--- ** NewWindowState
-    eventWindowStateReadNewWindowState      ,
-
-
--- ** SendEvent
-    eventWindowStateReadSendEvent           ,
-
-
--- ** Type
-    eventWindowStateReadType                ,
-
-
--- ** Window
-    eventWindowStateReadWindow              ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype EventWindowState = EventWindowState (ForeignPtr EventWindowState)
-noEventWindowState :: Maybe EventWindowState
-noEventWindowState = Nothing
-
-eventWindowStateReadType :: EventWindowState -> IO EventType
-eventWindowStateReadType s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventWindowStateReadWindow :: EventWindowState -> IO Window
-eventWindowStateReadWindow s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Window)
-    val' <- (newObject Window) val
-    return val'
-
-eventWindowStateReadSendEvent :: EventWindowState -> IO Int8
-eventWindowStateReadSendEvent s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Int8
-    return val
-
-eventWindowStateReadChangedMask :: EventWindowState -> IO [WindowState]
-eventWindowStateReadChangedMask s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 20) :: IO CUInt
-    let val' = wordToGFlags val
-    return val'
-
-eventWindowStateReadNewWindowState :: EventWindowState -> IO [WindowState]
-eventWindowStateReadNewWindowState s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO CUInt
-    let val' = wordToGFlags val
-    return val'
-
-
diff --git a/GI/Gdk/Structs/EventWindowState.hs-boot b/GI/Gdk/Structs/EventWindowState.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/EventWindowState.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.EventWindowState 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
-
-newtype EventWindowState = EventWindowState (ForeignPtr EventWindowState)
diff --git a/GI/Gdk/Structs/FrameTimings.hs b/GI/Gdk/Structs/FrameTimings.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/FrameTimings.hs
+++ /dev/null
@@ -1,275 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-A #GdkFrameTimings object holds timing information for a single frame
-of the application’s displays. To retrieve #GdkFrameTimings objects,
-use gdk_frame_clock_get_timings() or gdk_frame_clock_get_current_timings().
-The information in #GdkFrameTimings is useful for precise synchronization
-of video with the event or audio streams, and for measuring
-quality metrics for the application’s display, such as latency and jitter.
--}
-
-module GI.Gdk.Structs.FrameTimings
-    ( 
-
--- * Exported types
-    FrameTimings(..)                        ,
-    noFrameTimings                          ,
-
-
- -- * Methods
--- ** frameTimingsGetComplete
-    frameTimingsGetComplete                 ,
-
-
--- ** frameTimingsGetFrameCounter
-    frameTimingsGetFrameCounter             ,
-
-
--- ** frameTimingsGetFrameTime
-    frameTimingsGetFrameTime                ,
-
-
--- ** frameTimingsGetPredictedPresentationTime
-    frameTimingsGetPredictedPresentationTime,
-
-
--- ** frameTimingsGetPresentationTime
-    frameTimingsGetPresentationTime         ,
-
-
--- ** frameTimingsGetRefreshInterval
-    frameTimingsGetRefreshInterval          ,
-
-
--- ** frameTimingsRef
-    frameTimingsRef                         ,
-
-
--- ** frameTimingsUnref
-    frameTimingsUnref                       ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype FrameTimings = FrameTimings (ForeignPtr FrameTimings)
-foreign import ccall "gdk_frame_timings_get_type" c_gdk_frame_timings_get_type :: 
-    IO GType
-
-instance BoxedObject FrameTimings where
-    boxedType _ = c_gdk_frame_timings_get_type
-
-noFrameTimings :: Maybe FrameTimings
-noFrameTimings = Nothing
-
--- method FrameTimings::get_complete
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_frame_timings_get_complete" gdk_frame_timings_get_complete :: 
-    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"
-    IO CInt
-
-
-frameTimingsGetComplete ::
-    (MonadIO m) =>
-    FrameTimings ->                         -- _obj
-    m Bool
-frameTimingsGetComplete _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_frame_timings_get_complete _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method FrameTimings::get_frame_counter
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt64
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_frame_timings_get_frame_counter" gdk_frame_timings_get_frame_counter :: 
-    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"
-    IO Int64
-
-
-frameTimingsGetFrameCounter ::
-    (MonadIO m) =>
-    FrameTimings ->                         -- _obj
-    m Int64
-frameTimingsGetFrameCounter _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_frame_timings_get_frame_counter _obj'
-    touchManagedPtr _obj
-    return result
-
--- method FrameTimings::get_frame_time
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt64
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_frame_timings_get_frame_time" gdk_frame_timings_get_frame_time :: 
-    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"
-    IO Int64
-
-
-frameTimingsGetFrameTime ::
-    (MonadIO m) =>
-    FrameTimings ->                         -- _obj
-    m Int64
-frameTimingsGetFrameTime _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_frame_timings_get_frame_time _obj'
-    touchManagedPtr _obj
-    return result
-
--- method FrameTimings::get_predicted_presentation_time
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt64
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_frame_timings_get_predicted_presentation_time" gdk_frame_timings_get_predicted_presentation_time :: 
-    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"
-    IO Int64
-
-
-frameTimingsGetPredictedPresentationTime ::
-    (MonadIO m) =>
-    FrameTimings ->                         -- _obj
-    m Int64
-frameTimingsGetPredictedPresentationTime _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_frame_timings_get_predicted_presentation_time _obj'
-    touchManagedPtr _obj
-    return result
-
--- method FrameTimings::get_presentation_time
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt64
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_frame_timings_get_presentation_time" gdk_frame_timings_get_presentation_time :: 
-    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"
-    IO Int64
-
-
-frameTimingsGetPresentationTime ::
-    (MonadIO m) =>
-    FrameTimings ->                         -- _obj
-    m Int64
-frameTimingsGetPresentationTime _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_frame_timings_get_presentation_time _obj'
-    touchManagedPtr _obj
-    return result
-
--- method FrameTimings::get_refresh_interval
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt64
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_frame_timings_get_refresh_interval" gdk_frame_timings_get_refresh_interval :: 
-    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"
-    IO Int64
-
-
-frameTimingsGetRefreshInterval ::
-    (MonadIO m) =>
-    FrameTimings ->                         -- _obj
-    m Int64
-frameTimingsGetRefreshInterval _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_frame_timings_get_refresh_interval _obj'
-    touchManagedPtr _obj
-    return result
-
--- method FrameTimings::ref
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "FrameTimings"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_frame_timings_ref" gdk_frame_timings_ref :: 
-    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"
-    IO (Ptr FrameTimings)
-
-
-frameTimingsRef ::
-    (MonadIO m) =>
-    FrameTimings ->                         -- _obj
-    m FrameTimings
-frameTimingsRef _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_frame_timings_ref _obj'
-    checkUnexpectedReturnNULL "gdk_frame_timings_ref" result
-    result' <- (wrapBoxed FrameTimings) result
-    touchManagedPtr _obj
-    return result'
-
--- method FrameTimings::unref
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "FrameTimings", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_frame_timings_unref" gdk_frame_timings_unref :: 
-    Ptr FrameTimings ->                     -- _obj : TInterface "Gdk" "FrameTimings"
-    IO ()
-
-
-frameTimingsUnref ::
-    (MonadIO m) =>
-    FrameTimings ->                         -- _obj
-    m ()
-frameTimingsUnref _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    gdk_frame_timings_unref _obj'
-    touchManagedPtr _obj
-    return ()
-
-
diff --git a/GI/Gdk/Structs/FrameTimings.hs-boot b/GI/Gdk/Structs/FrameTimings.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/FrameTimings.hs-boot
+++ /dev/null
@@ -1,11 +0,0 @@
-module GI.Gdk.Structs.FrameTimings 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
-
-newtype FrameTimings = FrameTimings (ForeignPtr FrameTimings)
-instance BoxedObject FrameTimings where
diff --git a/GI/Gdk/Structs/Geometry.hs b/GI/Gdk/Structs/Geometry.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/Geometry.hs
+++ /dev/null
@@ -1,193 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-The #GdkGeometry struct gives the window manager information about
-a window’s geometry constraints. Normally you would set these on
-the GTK+ level using gtk_window_set_geometry_hints(). #GtkWindow
-then sets the hints on the #GdkWindow it creates.
-
-gdk_window_set_geometry_hints() expects the hints to be fully valid already
-and simply passes them to the window manager; in contrast,
-gtk_window_set_geometry_hints() performs some interpretation. For example,
-#GtkWindow will apply the hints to the geometry widget instead of the
-toplevel window, if you set a geometry widget. Also, the
-@min_width/@min_height/@max_width/@max_height fields may be set to -1, and
-#GtkWindow will substitute the size request of the window or geometry widget.
-If the minimum size hint is not provided, #GtkWindow will use its requisition
-as the minimum size. If the minimum size is provided and a geometry widget is
-set, #GtkWindow will take the minimum size as the minimum size of the
-geometry widget rather than the entire window. The base size is treated
-similarly.
-
-The canonical use-case for gtk_window_set_geometry_hints() is to get a
-terminal widget to resize properly. Here, the terminal text area should be
-the geometry widget; #GtkWindow will then automatically set the base size to
-the size of other widgets in the terminal window, such as the menubar and
-scrollbar. Then, the @width_inc and @height_inc fields should be set to the
-size of one character in the terminal. Finally, the base size should be set
-to the size of one character. The net effect is that the minimum size of the
-terminal will have a 1x1 character terminal area, and only terminal sizes on
-the “character grid” will be allowed.
-
-Here’s an example of how the terminal example would be implemented, assuming
-a terminal area widget called “terminal” and a toplevel window “toplevel”:
-
-|[<!-- language="C" -->
-	GdkGeometry hints;
-
-	hints.base_width = terminal->char_width;
-        hints.base_height = terminal->char_height;
-        hints.min_width = terminal->char_width;
-        hints.min_height = terminal->char_height;
-        hints.width_inc = terminal->char_width;
-        hints.height_inc = terminal->char_height;
-
- gtk_window_set_geometry_hints (GTK_WINDOW (toplevel),
-                                GTK_WIDGET (terminal),
-                                &hints,
-                                GDK_HINT_RESIZE_INC |
-                                GDK_HINT_MIN_SIZE |
-                                GDK_HINT_BASE_SIZE);
-]|
-
-The other useful fields are the @min_aspect and @max_aspect fields; these
-contain a width/height ratio as a floating point number. If a geometry widget
-is set, the aspect applies to the geometry widget rather than the entire
-window. The most common use of these hints is probably to set @min_aspect and
-@max_aspect to the same value, thus forcing the window to keep a constant
-aspect ratio.
--}
-
-module GI.Gdk.Structs.Geometry
-    ( 
-
--- * Exported types
-    Geometry(..)                            ,
-    noGeometry                              ,
-
-
- -- * Properties
--- ** BaseHeight
-    geometryReadBaseHeight                  ,
-
-
--- ** BaseWidth
-    geometryReadBaseWidth                   ,
-
-
--- ** HeightInc
-    geometryReadHeightInc                   ,
-
-
--- ** MaxAspect
-    geometryReadMaxAspect                   ,
-
-
--- ** MaxHeight
-    geometryReadMaxHeight                   ,
-
-
--- ** MaxWidth
-    geometryReadMaxWidth                    ,
-
-
--- ** MinAspect
-    geometryReadMinAspect                   ,
-
-
--- ** MinHeight
-    geometryReadMinHeight                   ,
-
-
--- ** MinWidth
-    geometryReadMinWidth                    ,
-
-
--- ** WidthInc
-    geometryReadWidthInc                    ,
-
-
--- ** WinGravity
-    geometryReadWinGravity                  ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype Geometry = Geometry (ForeignPtr Geometry)
-noGeometry :: Maybe Geometry
-noGeometry = Nothing
-
-geometryReadMinWidth :: Geometry -> IO Int32
-geometryReadMinWidth s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Int32
-    return val
-
-geometryReadMinHeight :: Geometry -> IO Int32
-geometryReadMinHeight s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 4) :: IO Int32
-    return val
-
-geometryReadMaxWidth :: Geometry -> IO Int32
-geometryReadMaxWidth s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO Int32
-    return val
-
-geometryReadMaxHeight :: Geometry -> IO Int32
-geometryReadMaxHeight s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 12) :: IO Int32
-    return val
-
-geometryReadBaseWidth :: Geometry -> IO Int32
-geometryReadBaseWidth s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Int32
-    return val
-
-geometryReadBaseHeight :: Geometry -> IO Int32
-geometryReadBaseHeight s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 20) :: IO Int32
-    return val
-
-geometryReadWidthInc :: Geometry -> IO Int32
-geometryReadWidthInc s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO Int32
-    return val
-
-geometryReadHeightInc :: Geometry -> IO Int32
-geometryReadHeightInc s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 28) :: IO Int32
-    return val
-
-geometryReadMinAspect :: Geometry -> IO Double
-geometryReadMinAspect s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 32) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-geometryReadMaxAspect :: Geometry -> IO Double
-geometryReadMaxAspect s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 40) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-geometryReadWinGravity :: Geometry -> IO Gravity
-geometryReadWinGravity s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 48) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-
diff --git a/GI/Gdk/Structs/Geometry.hs-boot b/GI/Gdk/Structs/Geometry.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/Geometry.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.Geometry 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
-
-newtype Geometry = Geometry (ForeignPtr Geometry)
diff --git a/GI/Gdk/Structs/KeymapKey.hs b/GI/Gdk/Structs/KeymapKey.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/KeymapKey.hs
+++ /dev/null
@@ -1,64 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-A #GdkKeymapKey is a hardware key that can be mapped to a keyval.
--}
-
-module GI.Gdk.Structs.KeymapKey
-    ( 
-
--- * Exported types
-    KeymapKey(..)                           ,
-    noKeymapKey                             ,
-
-
- -- * Properties
--- ** Group
-    keymapKeyReadGroup                      ,
-
-
--- ** Keycode
-    keymapKeyReadKeycode                    ,
-
-
--- ** Level
-    keymapKeyReadLevel                      ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype KeymapKey = KeymapKey (ForeignPtr KeymapKey)
-noKeymapKey :: Maybe KeymapKey
-noKeymapKey = Nothing
-
-keymapKeyReadKeycode :: KeymapKey -> IO Word32
-keymapKeyReadKeycode s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word32
-    return val
-
-keymapKeyReadGroup :: KeymapKey -> IO Int32
-keymapKeyReadGroup s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 4) :: IO Int32
-    return val
-
-keymapKeyReadLevel :: KeymapKey -> IO Int32
-keymapKeyReadLevel s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO Int32
-    return val
-
-
diff --git a/GI/Gdk/Structs/KeymapKey.hs-boot b/GI/Gdk/Structs/KeymapKey.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/KeymapKey.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.KeymapKey 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
-
-newtype KeymapKey = KeymapKey (ForeignPtr KeymapKey)
diff --git a/GI/Gdk/Structs/Point.hs b/GI/Gdk/Structs/Point.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/Point.hs
+++ /dev/null
@@ -1,55 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Defines the x and y coordinates of a point.
--}
-
-module GI.Gdk.Structs.Point
-    ( 
-
--- * Exported types
-    Point(..)                               ,
-    noPoint                                 ,
-
-
- -- * Properties
--- ** X
-    pointReadX                              ,
-
-
--- ** Y
-    pointReadY                              ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype Point = Point (ForeignPtr Point)
-noPoint :: Maybe Point
-noPoint = Nothing
-
-pointReadX :: Point -> IO Int32
-pointReadX s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Int32
-    return val
-
-pointReadY :: Point -> IO Int32
-pointReadY s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 4) :: IO Int32
-    return val
-
-
diff --git a/GI/Gdk/Structs/Point.hs-boot b/GI/Gdk/Structs/Point.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/Point.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.Point 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
-
-newtype Point = Point (ForeignPtr Point)
diff --git a/GI/Gdk/Structs/RGBA.hs b/GI/Gdk/Structs/RGBA.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/RGBA.hs
+++ /dev/null
@@ -1,270 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-A #GdkRGBA is used to represent a (possibly translucent)
-color, in a way that is compatible with cairos notion of color.
--}
-
-module GI.Gdk.Structs.RGBA
-    ( 
-
--- * Exported types
-    RGBA(..)                                ,
-    noRGBA                                  ,
-
-
- -- * Methods
--- ** rGBACopy
-    rGBACopy                                ,
-
-
--- ** rGBAEqual
-    rGBAEqual                               ,
-
-
--- ** rGBAFree
-    rGBAFree                                ,
-
-
--- ** rGBAHash
-    rGBAHash                                ,
-
-
--- ** rGBAParse
-    rGBAParse                               ,
-
-
--- ** rGBAToString
-    rGBAToString                            ,
-
-
-
-
- -- * Properties
--- ** Alpha
-    rGBAReadAlpha                           ,
-
-
--- ** Blue
-    rGBAReadBlue                            ,
-
-
--- ** Green
-    rGBAReadGreen                           ,
-
-
--- ** Red
-    rGBAReadRed                             ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype RGBA = RGBA (ForeignPtr RGBA)
-foreign import ccall "gdk_rgba_get_type" c_gdk_rgba_get_type :: 
-    IO GType
-
-instance BoxedObject RGBA where
-    boxedType _ = c_gdk_rgba_get_type
-
-noRGBA :: Maybe RGBA
-noRGBA = Nothing
-
-rGBAReadRed :: RGBA -> IO Double
-rGBAReadRed s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-rGBAReadGreen :: RGBA -> IO Double
-rGBAReadGreen s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-rGBAReadBlue :: RGBA -> IO Double
-rGBAReadBlue s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-rGBAReadAlpha :: RGBA -> IO Double
-rGBAReadAlpha s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
--- method RGBA::copy
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "RGBA"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_rgba_copy" gdk_rgba_copy :: 
-    Ptr RGBA ->                             -- _obj : TInterface "Gdk" "RGBA"
-    IO (Ptr RGBA)
-
-
-rGBACopy ::
-    (MonadIO m) =>
-    RGBA ->                                 -- _obj
-    m RGBA
-rGBACopy _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_rgba_copy _obj'
-    checkUnexpectedReturnNULL "gdk_rgba_copy" result
-    result' <- (wrapBoxed RGBA) result
-    touchManagedPtr _obj
-    return result'
-
--- method RGBA::equal
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "p2", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "p2", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_rgba_equal" gdk_rgba_equal :: 
-    Ptr RGBA ->                             -- _obj : TInterface "Gdk" "RGBA"
-    Ptr RGBA ->                             -- p2 : TInterface "Gdk" "RGBA"
-    IO CInt
-
-
-rGBAEqual ::
-    (MonadIO m) =>
-    RGBA ->                                 -- _obj
-    RGBA ->                                 -- p2
-    m Bool
-rGBAEqual _obj p2 = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    let p2' = unsafeManagedPtrGetPtr p2
-    result <- gdk_rgba_equal _obj' p2'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    touchManagedPtr p2
-    return result'
-
--- method RGBA::free
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_rgba_free" gdk_rgba_free :: 
-    Ptr RGBA ->                             -- _obj : TInterface "Gdk" "RGBA"
-    IO ()
-
-
-rGBAFree ::
-    (MonadIO m) =>
-    RGBA ->                                 -- _obj
-    m ()
-rGBAFree _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    gdk_rgba_free _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method RGBA::hash
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_rgba_hash" gdk_rgba_hash :: 
-    Ptr RGBA ->                             -- _obj : TInterface "Gdk" "RGBA"
-    IO Word32
-
-
-rGBAHash ::
-    (MonadIO m) =>
-    RGBA ->                                 -- _obj
-    m Word32
-rGBAHash _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_rgba_hash _obj'
-    touchManagedPtr _obj
-    return result
-
--- method RGBA::parse
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_rgba_parse" gdk_rgba_parse :: 
-    Ptr RGBA ->                             -- _obj : TInterface "Gdk" "RGBA"
-    CString ->                              -- spec : TBasicType TUTF8
-    IO CInt
-
-
-rGBAParse ::
-    (MonadIO m) =>
-    RGBA ->                                 -- _obj
-    T.Text ->                               -- spec
-    m Bool
-rGBAParse _obj spec = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    spec' <- textToCString spec
-    result <- gdk_rgba_parse _obj' spec'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    freeMem spec'
-    return result'
-
--- method RGBA::to_string
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_rgba_to_string" gdk_rgba_to_string :: 
-    Ptr RGBA ->                             -- _obj : TInterface "Gdk" "RGBA"
-    IO CString
-
-
-rGBAToString ::
-    (MonadIO m) =>
-    RGBA ->                                 -- _obj
-    m T.Text
-rGBAToString _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_rgba_to_string _obj'
-    checkUnexpectedReturnNULL "gdk_rgba_to_string" result
-    result' <- cstringToText result
-    freeMem result
-    touchManagedPtr _obj
-    return result'
-
-
diff --git a/GI/Gdk/Structs/RGBA.hs-boot b/GI/Gdk/Structs/RGBA.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/RGBA.hs-boot
+++ /dev/null
@@ -1,11 +0,0 @@
-module GI.Gdk.Structs.RGBA 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
-
-newtype RGBA = RGBA (ForeignPtr RGBA)
-instance BoxedObject RGBA where
diff --git a/GI/Gdk/Structs/TimeCoord.hs b/GI/Gdk/Structs/TimeCoord.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/TimeCoord.hs
+++ /dev/null
@@ -1,48 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-A #GdkTimeCoord stores a single event in a motion history.
--}
-
-module GI.Gdk.Structs.TimeCoord
-    ( 
-
--- * Exported types
-    TimeCoord(..)                           ,
-    noTimeCoord                             ,
-
-
- -- * Properties
--- ** Time
-    timeCoordReadTime                       ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype TimeCoord = TimeCoord (ForeignPtr TimeCoord)
-noTimeCoord :: Maybe TimeCoord
-noTimeCoord = Nothing
-
-timeCoordReadTime :: TimeCoord -> IO Word32
-timeCoordReadTime s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word32
-    return val
-
--- XXX Skipped getter for "TimeCoord:axes" :: Not implemented: "Don't know how to unpack C array of type TCArray False 128 (-1) (TBasicType TDouble)"
-
-
diff --git a/GI/Gdk/Structs/TimeCoord.hs-boot b/GI/Gdk/Structs/TimeCoord.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/TimeCoord.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.TimeCoord 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
-
-newtype TimeCoord = TimeCoord (ForeignPtr TimeCoord)
diff --git a/GI/Gdk/Structs/WindowAttr.hs b/GI/Gdk/Structs/WindowAttr.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/WindowAttr.hs
+++ /dev/null
@@ -1,172 +0,0 @@
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Attributes to use for a newly-created window.
--}
-
-module GI.Gdk.Structs.WindowAttr
-    ( 
-
--- * Exported types
-    WindowAttr(..)                          ,
-    noWindowAttr                            ,
-
-
- -- * Properties
--- ** Cursor
-    windowAttrReadCursor                    ,
-
-
--- ** EventMask
-    windowAttrReadEventMask                 ,
-
-
--- ** Height
-    windowAttrReadHeight                    ,
-
-
--- ** OverrideRedirect
-    windowAttrReadOverrideRedirect          ,
-
-
--- ** Title
-    windowAttrReadTitle                     ,
-
-
--- ** TypeHint
-    windowAttrReadTypeHint                  ,
-
-
--- ** Visual
-    windowAttrReadVisual                    ,
-
-
--- ** Wclass
-    windowAttrReadWclass                    ,
-
-
--- ** Width
-    windowAttrReadWidth                     ,
-
-
--- ** WindowType
-    windowAttrReadWindowType                ,
-
-
--- ** WmclassClass
-    windowAttrReadWmclassClass              ,
-
-
--- ** WmclassName
-    windowAttrReadWmclassName               ,
-
-
--- ** X
-    windowAttrReadX                         ,
-
-
--- ** Y
-    windowAttrReadY                         ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype WindowAttr = WindowAttr (ForeignPtr WindowAttr)
-noWindowAttr :: Maybe WindowAttr
-noWindowAttr = Nothing
-
-windowAttrReadTitle :: WindowAttr -> IO T.Text
-windowAttrReadTitle s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CString
-    val' <- cstringToText val
-    return val'
-
-windowAttrReadEventMask :: WindowAttr -> IO Int32
-windowAttrReadEventMask s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO Int32
-    return val
-
-windowAttrReadX :: WindowAttr -> IO Int32
-windowAttrReadX s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 12) :: IO Int32
-    return val
-
-windowAttrReadY :: WindowAttr -> IO Int32
-windowAttrReadY s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Int32
-    return val
-
-windowAttrReadWidth :: WindowAttr -> IO Int32
-windowAttrReadWidth s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 20) :: IO Int32
-    return val
-
-windowAttrReadHeight :: WindowAttr -> IO Int32
-windowAttrReadHeight s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO Int32
-    return val
-
-windowAttrReadWclass :: WindowAttr -> IO WindowWindowClass
-windowAttrReadWclass s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 28) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-windowAttrReadVisual :: WindowAttr -> IO Visual
-windowAttrReadVisual s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 32) :: IO (Ptr Visual)
-    val' <- (newObject Visual) val
-    return val'
-
-windowAttrReadWindowType :: WindowAttr -> IO WindowType
-windowAttrReadWindowType s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 40) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-windowAttrReadCursor :: WindowAttr -> IO Cursor
-windowAttrReadCursor s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 48) :: IO (Ptr Cursor)
-    val' <- (newObject Cursor) val
-    return val'
-
-windowAttrReadWmclassName :: WindowAttr -> IO T.Text
-windowAttrReadWmclassName s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 56) :: IO CString
-    val' <- cstringToText val
-    return val'
-
-windowAttrReadWmclassClass :: WindowAttr -> IO T.Text
-windowAttrReadWmclassClass s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 64) :: IO CString
-    val' <- cstringToText val
-    return val'
-
-windowAttrReadOverrideRedirect :: WindowAttr -> IO Bool
-windowAttrReadOverrideRedirect s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 72) :: IO CInt
-    let val' = (/= 0) val
-    return val'
-
-windowAttrReadTypeHint :: WindowAttr -> IO WindowTypeHint
-windowAttrReadTypeHint s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 76) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-
diff --git a/GI/Gdk/Structs/WindowAttr.hs-boot b/GI/Gdk/Structs/WindowAttr.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/WindowAttr.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.WindowAttr 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
-
-newtype WindowAttr = WindowAttr (ForeignPtr WindowAttr)
diff --git a/GI/Gdk/Structs/WindowRedirect.hs b/GI/Gdk/Structs/WindowRedirect.hs
deleted file mode 100644
--- a/GI/Gdk/Structs/WindowRedirect.hs
+++ /dev/null
@@ -1,32 +0,0 @@
-
-{- |
-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.Gdk.Structs.WindowRedirect
-    ( 
-
--- * Exported types
-    WindowRedirect(..)                      ,
-    noWindowRedirect                        ,
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype WindowRedirect = WindowRedirect (ForeignPtr WindowRedirect)
-noWindowRedirect :: Maybe WindowRedirect
-noWindowRedirect = Nothing
-
-
diff --git a/GI/Gdk/Structs/WindowRedirect.hs-boot b/GI/Gdk/Structs/WindowRedirect.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Structs/WindowRedirect.hs-boot
+++ /dev/null
@@ -1,10 +0,0 @@
-module GI.Gdk.Structs.WindowRedirect 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
-
-newtype WindowRedirect = WindowRedirect (ForeignPtr WindowRedirect)
diff --git a/GI/Gdk/Types.hs b/GI/Gdk/Types.hs
deleted file mode 100644
--- a/GI/Gdk/Types.hs
+++ /dev/null
@@ -1,100 +0,0 @@
-module GI.Gdk.Types
-    (     module GI.Gdk.Objects.AppLaunchContext  ,
-    module GI.Gdk.Objects.Cursor            ,
-    module GI.Gdk.Objects.Device            ,
-    module GI.Gdk.Objects.DeviceManager     ,
-    module GI.Gdk.Objects.Display           ,
-    module GI.Gdk.Objects.DisplayManager    ,
-    module GI.Gdk.Objects.DragContext       ,
-    module GI.Gdk.Objects.FrameClock        ,
-    module GI.Gdk.Objects.GLContext         ,
-    module GI.Gdk.Objects.Keymap            ,
-    module GI.Gdk.Objects.Screen            ,
-    module GI.Gdk.Objects.Visual            ,
-    module GI.Gdk.Objects.Window            ,
-    module GI.Gdk.Structs.Atom              ,
-    module GI.Gdk.Structs.Color             ,
-    module GI.Gdk.Structs.EventAny          ,
-    module GI.Gdk.Structs.EventButton       ,
-    module GI.Gdk.Structs.EventConfigure    ,
-    module GI.Gdk.Structs.EventCrossing     ,
-    module GI.Gdk.Structs.EventDND          ,
-    module GI.Gdk.Structs.EventExpose       ,
-    module GI.Gdk.Structs.EventFocus        ,
-    module GI.Gdk.Structs.EventGrabBroken   ,
-    module GI.Gdk.Structs.EventKey          ,
-    module GI.Gdk.Structs.EventMotion       ,
-    module GI.Gdk.Structs.EventOwnerChange  ,
-    module GI.Gdk.Structs.EventProperty     ,
-    module GI.Gdk.Structs.EventProximity    ,
-    module GI.Gdk.Structs.EventScroll       ,
-    module GI.Gdk.Structs.EventSelection    ,
-    module GI.Gdk.Structs.EventSequence     ,
-    module GI.Gdk.Structs.EventSetting      ,
-    module GI.Gdk.Structs.EventTouch        ,
-    module GI.Gdk.Structs.EventVisibility   ,
-    module GI.Gdk.Structs.EventWindowState  ,
-    module GI.Gdk.Structs.FrameTimings      ,
-    module GI.Gdk.Structs.Geometry          ,
-    module GI.Gdk.Structs.KeymapKey         ,
-    module GI.Gdk.Structs.Point             ,
-    module GI.Gdk.Structs.RGBA              ,
-    module GI.Gdk.Structs.TimeCoord         ,
-    module GI.Gdk.Structs.WindowAttr        ,
-    module GI.Gdk.Structs.WindowRedirect    ,
-    module GI.Gdk.Unions.Event              ,
-    module GI.Gdk.Enums                     ,
-    module GI.Gdk.Flags                     ,
-
-
-    ) where
-
-
-import {-# SOURCE #-} GI.Gdk.Objects.AppLaunchContext
-import {-# SOURCE #-} GI.Gdk.Objects.Cursor
-import {-# SOURCE #-} GI.Gdk.Objects.Device
-import {-# SOURCE #-} GI.Gdk.Objects.DeviceManager
-import {-# SOURCE #-} GI.Gdk.Objects.Display
-import {-# SOURCE #-} GI.Gdk.Objects.DisplayManager
-import {-# SOURCE #-} GI.Gdk.Objects.DragContext
-import {-# SOURCE #-} GI.Gdk.Objects.FrameClock
-import {-# SOURCE #-} GI.Gdk.Objects.GLContext
-import {-# SOURCE #-} GI.Gdk.Objects.Keymap
-import {-# SOURCE #-} GI.Gdk.Objects.Screen
-import {-# SOURCE #-} GI.Gdk.Objects.Visual
-import {-# SOURCE #-} GI.Gdk.Objects.Window
-import {-# SOURCE #-} GI.Gdk.Structs.Atom
-import {-# SOURCE #-} GI.Gdk.Structs.Color
-import {-# SOURCE #-} GI.Gdk.Structs.EventAny
-import {-# SOURCE #-} GI.Gdk.Structs.EventButton
-import {-# SOURCE #-} GI.Gdk.Structs.EventConfigure
-import {-# SOURCE #-} GI.Gdk.Structs.EventCrossing
-import {-# SOURCE #-} GI.Gdk.Structs.EventDND
-import {-# SOURCE #-} GI.Gdk.Structs.EventExpose
-import {-# SOURCE #-} GI.Gdk.Structs.EventFocus
-import {-# SOURCE #-} GI.Gdk.Structs.EventGrabBroken
-import {-# SOURCE #-} GI.Gdk.Structs.EventKey
-import {-# SOURCE #-} GI.Gdk.Structs.EventMotion
-import {-# SOURCE #-} GI.Gdk.Structs.EventOwnerChange
-import {-# SOURCE #-} GI.Gdk.Structs.EventProperty
-import {-# SOURCE #-} GI.Gdk.Structs.EventProximity
-import {-# SOURCE #-} GI.Gdk.Structs.EventScroll
-import {-# SOURCE #-} GI.Gdk.Structs.EventSelection
-import {-# SOURCE #-} GI.Gdk.Structs.EventSequence
-import {-# SOURCE #-} GI.Gdk.Structs.EventSetting
-import {-# SOURCE #-} GI.Gdk.Structs.EventTouch
-import {-# SOURCE #-} GI.Gdk.Structs.EventVisibility
-import {-# SOURCE #-} GI.Gdk.Structs.EventWindowState
-import {-# SOURCE #-} GI.Gdk.Structs.FrameTimings
-import {-# SOURCE #-} GI.Gdk.Structs.Geometry
-import {-# SOURCE #-} GI.Gdk.Structs.KeymapKey
-import {-# SOURCE #-} GI.Gdk.Structs.Point
-import {-# SOURCE #-} GI.Gdk.Structs.RGBA
-import {-# SOURCE #-} GI.Gdk.Structs.TimeCoord
-import {-# SOURCE #-} GI.Gdk.Structs.WindowAttr
-import {-# SOURCE #-} GI.Gdk.Structs.WindowRedirect
-import {-# SOURCE #-} GI.Gdk.Unions.Event
-
-import GI.Gdk.Enums
-import GI.Gdk.Flags
-
diff --git a/GI/Gdk/Unions.hs b/GI/Gdk/Unions.hs
deleted file mode 100644
--- a/GI/Gdk/Unions.hs
+++ /dev/null
@@ -1,26 +0,0 @@
-
-{- |
-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.Gdk.Unions
-    (     module GI.Gdk.Unions.Event              ,
-
-
-    ) where
-
-import GI.Gdk.Unions.Event
-
-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.Gdk.Types
-import GI.Gdk.Callbacks
-
-
diff --git a/GI/Gdk/Unions/Event.hs b/GI/Gdk/Unions/Event.hs
deleted file mode 100644
--- a/GI/Gdk/Unions/Event.hs
+++ /dev/null
@@ -1,1045 +0,0 @@
-
-{- |
-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.Gdk.Unions.Event
-    ( 
-
--- * Exported types
-    Event(..)                               ,
-    noEvent                                 ,
-
-
- -- * Methods
--- ** eventCopy
-    eventCopy                               ,
-
-
--- ** eventFree
-    eventFree                               ,
-
-
--- ** eventGetAxis
-    eventGetAxis                            ,
-
-
--- ** eventGetButton
-    eventGetButton                          ,
-
-
--- ** eventGetClickCount
-    eventGetClickCount                      ,
-
-
--- ** eventGetCoords
-    eventGetCoords                          ,
-
-
--- ** eventGetDevice
-    eventGetDevice                          ,
-
-
--- ** eventGetEventSequence
-    eventGetEventSequence                   ,
-
-
--- ** eventGetEventType
-    eventGetEventType                       ,
-
-
--- ** eventGetKeycode
-    eventGetKeycode                         ,
-
-
--- ** eventGetKeyval
-    eventGetKeyval                          ,
-
-
--- ** eventGetRootCoords
-    eventGetRootCoords                      ,
-
-
--- ** eventGetScreen
-    eventGetScreen                          ,
-
-
--- ** eventGetScrollDeltas
-    eventGetScrollDeltas                    ,
-
-
--- ** eventGetScrollDirection
-    eventGetScrollDirection                 ,
-
-
--- ** eventGetSourceDevice
-    eventGetSourceDevice                    ,
-
-
--- ** eventGetState
-    eventGetState                           ,
-
-
--- ** eventGetTime
-    eventGetTime                            ,
-
-
--- ** eventGetWindow
-    eventGetWindow                          ,
-
-
--- ** eventNew
-    eventNew                                ,
-
-
--- ** eventPut
-    eventPut                                ,
-
-
--- ** eventSetDevice
-    eventSetDevice                          ,
-
-
--- ** eventSetScreen
-    eventSetScreen                          ,
-
-
--- ** eventSetSourceDevice
-    eventSetSourceDevice                    ,
-
-
--- ** eventTriggersContextMenu
-    eventTriggersContextMenu                ,
-
-
-
-
- -- * Properties
--- ** Any
-    eventReadAny                            ,
-
-
--- ** Button
-    eventReadButton                         ,
-
-
--- ** Configure
-    eventReadConfigure                      ,
-
-
--- ** Crossing
-    eventReadCrossing                       ,
-
-
--- ** Dnd
-    eventReadDnd                            ,
-
-
--- ** Expose
-    eventReadExpose                         ,
-
-
--- ** FocusChange
-    eventReadFocusChange                    ,
-
-
--- ** GrabBroken
-    eventReadGrabBroken                     ,
-
-
--- ** Key
-    eventReadKey                            ,
-
-
--- ** Motion
-    eventReadMotion                         ,
-
-
--- ** OwnerChange
-    eventReadOwnerChange                    ,
-
-
--- ** Property
-    eventReadProperty                       ,
-
-
--- ** Proximity
-    eventReadProximity                      ,
-
-
--- ** Scroll
-    eventReadScroll                         ,
-
-
--- ** Selection
-    eventReadSelection                      ,
-
-
--- ** Setting
-    eventReadSetting                        ,
-
-
--- ** Touch
-    eventReadTouch                          ,
-
-
--- ** Type
-    eventReadType                           ,
-
-
--- ** Visibility
-    eventReadVisibility                     ,
-
-
--- ** WindowState
-    eventReadWindowState                    ,
-
-
-
-
-    ) 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.Gdk.Types
-import GI.Gdk.Callbacks
-
-newtype Event = Event (ForeignPtr Event)
-foreign import ccall "gdk_event_get_type" c_gdk_event_get_type :: 
-    IO GType
-
-instance BoxedObject Event where
-    boxedType _ = c_gdk_event_get_type
-
-noEvent :: Maybe Event
-noEvent = Nothing
-
-eventReadType :: Event -> IO EventType
-eventReadType s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = (toEnum . fromIntegral) val
-    return val'
-
-eventReadAny :: Event -> IO EventAny
-eventReadAny s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventAny)
-    val' <- (newPtr 24 EventAny) val
-    return val'
-
-eventReadExpose :: Event -> IO EventExpose
-eventReadExpose s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventExpose)
-    val' <- (newPtr 56 EventExpose) val
-    return val'
-
-eventReadVisibility :: Event -> IO EventVisibility
-eventReadVisibility s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventVisibility)
-    val' <- (newPtr 24 EventVisibility) val
-    return val'
-
-eventReadMotion :: Event -> IO EventMotion
-eventReadMotion s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventMotion)
-    val' <- (newPtr 80 EventMotion) val
-    return val'
-
-eventReadButton :: Event -> IO EventButton
-eventReadButton s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventButton)
-    val' <- (newPtr 80 EventButton) val
-    return val'
-
-eventReadTouch :: Event -> IO EventTouch
-eventReadTouch s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventTouch)
-    val' <- (newPtr 96 EventTouch) val
-    return val'
-
-eventReadScroll :: Event -> IO EventScroll
-eventReadScroll s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventScroll)
-    val' <- (newPtr 88 EventScroll) val
-    return val'
-
-eventReadKey :: Event -> IO EventKey
-eventReadKey s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventKey)
-    val' <- (newPtr 56 EventKey) val
-    return val'
-
-eventReadCrossing :: Event -> IO EventCrossing
-eventReadCrossing s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventCrossing)
-    val' <- (newPtr 88 EventCrossing) val
-    return val'
-
-eventReadFocusChange :: Event -> IO EventFocus
-eventReadFocusChange s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventFocus)
-    val' <- (newPtr 24 EventFocus) val
-    return val'
-
-eventReadConfigure :: Event -> IO EventConfigure
-eventReadConfigure s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventConfigure)
-    val' <- (newPtr 40 EventConfigure) val
-    return val'
-
-eventReadProperty :: Event -> IO EventProperty
-eventReadProperty s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventProperty)
-    val' <- (newPtr 40 EventProperty) val
-    return val'
-
-eventReadSelection :: Event -> IO EventSelection
-eventReadSelection s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventSelection)
-    val' <- (newPtr 64 EventSelection) val
-    return val'
-
-eventReadOwnerChange :: Event -> IO EventOwnerChange
-eventReadOwnerChange s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventOwnerChange)
-    val' <- (newPtr 56 EventOwnerChange) val
-    return val'
-
-eventReadProximity :: Event -> IO EventProximity
-eventReadProximity s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventProximity)
-    val' <- (newPtr 32 EventProximity) val
-    return val'
-
-eventReadDnd :: Event -> IO EventDND
-eventReadDnd s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventDND)
-    val' <- (newPtr 40 EventDND) val
-    return val'
-
-eventReadWindowState :: Event -> IO EventWindowState
-eventReadWindowState s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventWindowState)
-    val' <- (newPtr 32 EventWindowState) val
-    return val'
-
-eventReadSetting :: Event -> IO EventSetting
-eventReadSetting s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventSetting)
-    val' <- (newPtr 32 EventSetting) val
-    return val'
-
-eventReadGrabBroken :: Event -> IO EventGrabBroken
-eventReadGrabBroken s = withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr EventGrabBroken)
-    val' <- (newPtr 40 EventGrabBroken) val
-    return val'
-
--- method Event::new
--- method type : Constructor
--- Args : [Arg {argName = "type", argType = TInterface "Gdk" "EventType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "type", argType = TInterface "Gdk" "EventType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Event"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_new" gdk_event_new :: 
-    CUInt ->                                -- type : TInterface "Gdk" "EventType"
-    IO (Ptr Event)
-
-
-eventNew ::
-    (MonadIO m) =>
-    EventType ->                            -- type
-    m Event
-eventNew type_ = liftIO $ do
-    let type_' = (fromIntegral . fromEnum) type_
-    result <- gdk_event_new type_'
-    checkUnexpectedReturnNULL "gdk_event_new" result
-    result' <- (wrapBoxed Event) result
-    return result'
-
--- method Event::copy
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Event"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_copy" gdk_event_copy :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    IO (Ptr Event)
-
-
-eventCopy ::
-    (MonadIO m) =>
-    Event ->                                -- _obj
-    m Event
-eventCopy _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_event_copy _obj'
-    checkUnexpectedReturnNULL "gdk_event_copy" result
-    result' <- (wrapBoxed Event) result
-    touchManagedPtr _obj
-    return result'
-
--- method Event::free
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_free" gdk_event_free :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    IO ()
-
-
-eventFree ::
-    (MonadIO m) =>
-    Event ->                                -- _obj
-    m ()
-eventFree _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    gdk_event_free _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Event::get_axis
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "axis_use", argType = TInterface "Gdk" "AxisUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "axis_use", argType = TInterface "Gdk" "AxisUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_get_axis" gdk_event_get_axis :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    CUInt ->                                -- axis_use : TInterface "Gdk" "AxisUse"
-    Ptr CDouble ->                          -- value : TBasicType TDouble
-    IO CInt
-
-
-eventGetAxis ::
-    (MonadIO m) =>
-    Event ->                                -- _obj
-    AxisUse ->                              -- axis_use
-    m (Bool,Double)
-eventGetAxis _obj axis_use = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    let axis_use' = (fromIntegral . fromEnum) axis_use
-    value <- allocMem :: IO (Ptr CDouble)
-    result <- gdk_event_get_axis _obj' axis_use' value
-    let result' = (/= 0) result
-    value' <- peek value
-    let value'' = realToFrac value'
-    touchManagedPtr _obj
-    freeMem value
-    return (result', value'')
-
--- method Event::get_button
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "button", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_get_button" gdk_event_get_button :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    Ptr Word32 ->                           -- button : TBasicType TUInt32
-    IO CInt
-
-
-eventGetButton ::
-    (MonadIO m) =>
-    Event ->                                -- _obj
-    m (Bool,Word32)
-eventGetButton _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    button <- allocMem :: IO (Ptr Word32)
-    result <- gdk_event_get_button _obj' button
-    let result' = (/= 0) result
-    button' <- peek button
-    touchManagedPtr _obj
-    freeMem button
-    return (result', button')
-
--- method Event::get_click_count
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "click_count", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_get_click_count" gdk_event_get_click_count :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    Ptr Word32 ->                           -- click_count : TBasicType TUInt32
-    IO CInt
-
-
-eventGetClickCount ::
-    (MonadIO m) =>
-    Event ->                                -- _obj
-    m (Bool,Word32)
-eventGetClickCount _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    click_count <- allocMem :: IO (Ptr Word32)
-    result <- gdk_event_get_click_count _obj' click_count
-    let result' = (/= 0) result
-    click_count' <- peek click_count
-    touchManagedPtr _obj
-    freeMem click_count
-    return (result', click_count')
-
--- method Event::get_coords
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_win", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y_win", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_get_coords" gdk_event_get_coords :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    Ptr CDouble ->                          -- x_win : TBasicType TDouble
-    Ptr CDouble ->                          -- y_win : TBasicType TDouble
-    IO CInt
-
-
-eventGetCoords ::
-    (MonadIO m) =>
-    Event ->                                -- _obj
-    m (Bool,Double,Double)
-eventGetCoords _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    x_win <- allocMem :: IO (Ptr CDouble)
-    y_win <- allocMem :: IO (Ptr CDouble)
-    result <- gdk_event_get_coords _obj' x_win y_win
-    let result' = (/= 0) result
-    x_win' <- peek x_win
-    let x_win'' = realToFrac x_win'
-    y_win' <- peek y_win
-    let y_win'' = realToFrac y_win'
-    touchManagedPtr _obj
-    freeMem x_win
-    freeMem y_win
-    return (result', x_win'', y_win'')
-
--- method Event::get_device
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Device"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_get_device" gdk_event_get_device :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    IO (Ptr Device)
-
-
-eventGetDevice ::
-    (MonadIO m) =>
-    Event ->                                -- _obj
-    m Device
-eventGetDevice _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_event_get_device _obj'
-    checkUnexpectedReturnNULL "gdk_event_get_device" result
-    result' <- (newObject Device) result
-    touchManagedPtr _obj
-    return result'
-
--- method Event::get_event_sequence
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "EventSequence"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_get_event_sequence" gdk_event_get_event_sequence :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    IO (Ptr EventSequence)
-
-
-eventGetEventSequence ::
-    (MonadIO m) =>
-    Event ->                                -- _obj
-    m EventSequence
-eventGetEventSequence _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_event_get_event_sequence _obj'
-    checkUnexpectedReturnNULL "gdk_event_get_event_sequence" result
-    result' <- (newBoxed EventSequence) result
-    touchManagedPtr _obj
-    return result'
-
--- method Event::get_event_type
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "EventType"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_get_event_type" gdk_event_get_event_type :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    IO CUInt
-
-
-eventGetEventType ::
-    (MonadIO m) =>
-    Event ->                                -- _obj
-    m EventType
-eventGetEventType _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_event_get_event_type _obj'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr _obj
-    return result'
-
--- method Event::get_keycode
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keycode", argType = TBasicType TUInt16, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_get_keycode" gdk_event_get_keycode :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    Ptr Word16 ->                           -- keycode : TBasicType TUInt16
-    IO CInt
-
-
-eventGetKeycode ::
-    (MonadIO m) =>
-    Event ->                                -- _obj
-    m (Bool,Word16)
-eventGetKeycode _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    keycode <- allocMem :: IO (Ptr Word16)
-    result <- gdk_event_get_keycode _obj' keycode
-    let result' = (/= 0) result
-    keycode' <- peek keycode
-    touchManagedPtr _obj
-    freeMem keycode
-    return (result', keycode')
-
--- method Event::get_keyval
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_get_keyval" gdk_event_get_keyval :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    Ptr Word32 ->                           -- keyval : TBasicType TUInt32
-    IO CInt
-
-
-eventGetKeyval ::
-    (MonadIO m) =>
-    Event ->                                -- _obj
-    m (Bool,Word32)
-eventGetKeyval _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    keyval <- allocMem :: IO (Ptr Word32)
-    result <- gdk_event_get_keyval _obj' keyval
-    let result' = (/= 0) result
-    keyval' <- peek keyval
-    touchManagedPtr _obj
-    freeMem keyval
-    return (result', keyval')
-
--- method Event::get_root_coords
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_root", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y_root", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_get_root_coords" gdk_event_get_root_coords :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    Ptr CDouble ->                          -- x_root : TBasicType TDouble
-    Ptr CDouble ->                          -- y_root : TBasicType TDouble
-    IO CInt
-
-
-eventGetRootCoords ::
-    (MonadIO m) =>
-    Event ->                                -- _obj
-    m (Bool,Double,Double)
-eventGetRootCoords _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    x_root <- allocMem :: IO (Ptr CDouble)
-    y_root <- allocMem :: IO (Ptr CDouble)
-    result <- gdk_event_get_root_coords _obj' x_root y_root
-    let result' = (/= 0) result
-    x_root' <- peek x_root
-    let x_root'' = realToFrac x_root'
-    y_root' <- peek y_root
-    let y_root'' = realToFrac y_root'
-    touchManagedPtr _obj
-    freeMem x_root
-    freeMem y_root
-    return (result', x_root'', y_root'')
-
--- method Event::get_screen
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Screen"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_get_screen" gdk_event_get_screen :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    IO (Ptr Screen)
-
-
-eventGetScreen ::
-    (MonadIO m) =>
-    Event ->                                -- _obj
-    m Screen
-eventGetScreen _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_event_get_screen _obj'
-    checkUnexpectedReturnNULL "gdk_event_get_screen" result
-    result' <- (newObject Screen) result
-    touchManagedPtr _obj
-    return result'
-
--- method Event::get_scroll_deltas
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "delta_x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "delta_y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_get_scroll_deltas" gdk_event_get_scroll_deltas :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    Ptr CDouble ->                          -- delta_x : TBasicType TDouble
-    Ptr CDouble ->                          -- delta_y : TBasicType TDouble
-    IO CInt
-
-
-eventGetScrollDeltas ::
-    (MonadIO m) =>
-    Event ->                                -- _obj
-    m (Bool,Double,Double)
-eventGetScrollDeltas _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    delta_x <- allocMem :: IO (Ptr CDouble)
-    delta_y <- allocMem :: IO (Ptr CDouble)
-    result <- gdk_event_get_scroll_deltas _obj' delta_x delta_y
-    let result' = (/= 0) result
-    delta_x' <- peek delta_x
-    let delta_x'' = realToFrac delta_x'
-    delta_y' <- peek delta_y
-    let delta_y'' = realToFrac delta_y'
-    touchManagedPtr _obj
-    freeMem delta_x
-    freeMem delta_y
-    return (result', delta_x'', delta_y'')
-
--- method Event::get_scroll_direction
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "direction", argType = TInterface "Gdk" "ScrollDirection", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_get_scroll_direction" gdk_event_get_scroll_direction :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    Ptr CUInt ->                            -- direction : TInterface "Gdk" "ScrollDirection"
-    IO CInt
-
-
-eventGetScrollDirection ::
-    (MonadIO m) =>
-    Event ->                                -- _obj
-    m (Bool,ScrollDirection)
-eventGetScrollDirection _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    direction <- allocMem :: IO (Ptr CUInt)
-    result <- gdk_event_get_scroll_direction _obj' direction
-    let result' = (/= 0) result
-    direction' <- peek direction
-    let direction'' = (toEnum . fromIntegral) direction'
-    touchManagedPtr _obj
-    freeMem direction
-    return (result', direction'')
-
--- method Event::get_source_device
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Device"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_get_source_device" gdk_event_get_source_device :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    IO (Ptr Device)
-
-
-eventGetSourceDevice ::
-    (MonadIO m) =>
-    Event ->                                -- _obj
-    m Device
-eventGetSourceDevice _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_event_get_source_device _obj'
-    checkUnexpectedReturnNULL "gdk_event_get_source_device" result
-    result' <- (newObject Device) result
-    touchManagedPtr _obj
-    return result'
-
--- method Event::get_state
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_get_state" gdk_event_get_state :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    Ptr CUInt ->                            -- state : TInterface "Gdk" "ModifierType"
-    IO CInt
-
-
-eventGetState ::
-    (MonadIO m) =>
-    Event ->                                -- _obj
-    m (Bool,[ModifierType])
-eventGetState _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    state <- allocMem :: IO (Ptr CUInt)
-    result <- gdk_event_get_state _obj' state
-    let result' = (/= 0) result
-    state' <- peek state
-    let state'' = wordToGFlags state'
-    touchManagedPtr _obj
-    freeMem state
-    return (result', state'')
-
--- method Event::get_time
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_get_time" gdk_event_get_time :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    IO Word32
-
-
-eventGetTime ::
-    (MonadIO m) =>
-    Event ->                                -- _obj
-    m Word32
-eventGetTime _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_event_get_time _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Event::get_window
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Gdk" "Window"
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_get_window" gdk_event_get_window :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    IO (Ptr Window)
-
-
-eventGetWindow ::
-    (MonadIO m) =>
-    Event ->                                -- _obj
-    m Window
-eventGetWindow _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_event_get_window _obj'
-    checkUnexpectedReturnNULL "gdk_event_get_window" result
-    result' <- (newObject Window) result
-    touchManagedPtr _obj
-    return result'
-
--- method Event::put
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_put" gdk_event_put :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    IO ()
-
-
-eventPut ::
-    (MonadIO m) =>
-    Event ->                                -- _obj
-    m ()
-eventPut _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    gdk_event_put _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Event::set_device
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_set_device" gdk_event_set_device :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
-    IO ()
-
-
-eventSetDevice ::
-    (MonadIO m, DeviceK a) =>
-    Event ->                                -- _obj
-    a ->                                    -- device
-    m ()
-eventSetDevice _obj device = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    let device' = unsafeManagedPtrCastPtr device
-    gdk_event_set_device _obj' device'
-    touchManagedPtr _obj
-    touchManagedPtr device
-    return ()
-
--- method Event::set_screen
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_set_screen" gdk_event_set_screen :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    Ptr Screen ->                           -- screen : TInterface "Gdk" "Screen"
-    IO ()
-
-
-eventSetScreen ::
-    (MonadIO m, ScreenK a) =>
-    Event ->                                -- _obj
-    a ->                                    -- screen
-    m ()
-eventSetScreen _obj screen = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    let screen' = unsafeManagedPtrCastPtr screen
-    gdk_event_set_screen _obj' screen'
-    touchManagedPtr _obj
-    touchManagedPtr screen
-    return ()
-
--- method Event::set_source_device
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_set_source_device" gdk_event_set_source_device :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    Ptr Device ->                           -- device : TInterface "Gdk" "Device"
-    IO ()
-
-
-eventSetSourceDevice ::
-    (MonadIO m, DeviceK a) =>
-    Event ->                                -- _obj
-    a ->                                    -- device
-    m ()
-eventSetSourceDevice _obj device = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    let device' = unsafeManagedPtrCastPtr device
-    gdk_event_set_source_device _obj' device'
-    touchManagedPtr _obj
-    touchManagedPtr device
-    return ()
-
--- method Event::triggers_context_menu
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "gdk_event_triggers_context_menu" gdk_event_triggers_context_menu :: 
-    Ptr Event ->                            -- _obj : TInterface "Gdk" "Event"
-    IO CInt
-
-
-eventTriggersContextMenu ::
-    (MonadIO m) =>
-    Event ->                                -- _obj
-    m Bool
-eventTriggersContextMenu _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- gdk_event_triggers_context_menu _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
-
diff --git a/GI/Gdk/Unions/Event.hs-boot b/GI/Gdk/Unions/Event.hs-boot
deleted file mode 100644
--- a/GI/Gdk/Unions/Event.hs-boot
+++ /dev/null
@@ -1,11 +0,0 @@
-module GI.Gdk.Unions.Event 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
-
-newtype Event = Event (ForeignPtr Event)
-instance BoxedObject Event where
diff --git a/GI/GdkAttributes.hs b/GI/GdkAttributes.hs
new file mode 100644
--- /dev/null
+++ b/GI/GdkAttributes.hs
@@ -0,0 +1,545 @@
+{-# OPTIONS_GHC -fno-warn-orphans -fno-warn-unused-imports #-}
+
+-- Generated code.
+
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+{-# LANGUAGE ForeignFunctionInterface, ConstraintKinds,
+    TypeFamilies, MultiParamTypeClasses, KindSignatures,
+    FlexibleInstances, UndecidableInstances, DataKinds,
+    OverloadedStrings, NegativeLiterals, FlexibleContexts #-}
+
+module GI.GdkAttributes where
+
+import Prelude ()
+import Data.GI.Base.ShortPrelude
+import Data.Char
+import Data.Int
+import Data.Word
+import qualified Data.ByteString.Char8 as B
+import Data.ByteString.Char8 (ByteString)
+import qualified Data.Map as Map
+import Foreign.C
+import Foreign.Ptr
+import Foreign.ForeignPtr
+import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)
+import Foreign.Storable (peek, poke, sizeOf)
+import Control.Applicative ((<$>))
+import Control.Exception (onException)
+import Control.Monad.IO.Class
+import qualified Data.Text as T
+
+import Data.GI.Base.Attributes hiding (get, set)
+import Data.GI.Base.BasicTypes
+import Data.GI.Base.BasicConversions
+import Data.GI.Base.Closure
+import Data.GI.Base.GError
+import Data.GI.Base.GHashTable
+import Data.GI.Base.GParamSpec
+import Data.GI.Base.GVariant
+import Data.GI.Base.GValue
+import Data.GI.Base.ManagedPtr
+import Data.GI.Base.Overloading
+import Data.GI.Base.Properties hiding (new)
+import Data.GI.Base.Signals (SignalConnectMode(..), connectSignalFunPtr, SignalHandlerId)
+import Data.GI.Base.Utils
+
+import GI.Gdk
+
+-- VVV Prop "display"
+   -- Type: TInterface "Gdk" "Display"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+
+getAppLaunchContextDisplay :: (MonadIO m, AppLaunchContextK o) => o -> m Display
+getAppLaunchContextDisplay obj = liftIO $ getObjectPropertyObject obj "display" Display
+
+constructAppLaunchContextDisplay :: (DisplayK a) => a -> IO ([Char], GValue)
+constructAppLaunchContextDisplay val = constructObjectPropertyObject "display" val
+
+data AppLaunchContextDisplayPropertyInfo
+instance AttrInfo AppLaunchContextDisplayPropertyInfo where
+    type AttrAllowedOps AppLaunchContextDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint AppLaunchContextDisplayPropertyInfo = DisplayK
+    type AttrBaseTypeConstraint AppLaunchContextDisplayPropertyInfo = AppLaunchContextK
+    type AttrGetType AppLaunchContextDisplayPropertyInfo = Display
+    type AttrLabel AppLaunchContextDisplayPropertyInfo = "AppLaunchContext::display"
+    attrGet _ = getAppLaunchContextDisplay
+    attrSet _ = undefined
+    attrConstruct _ = constructAppLaunchContextDisplay
+
+type instance AttributeList AppLaunchContext = '[ '("display", AppLaunchContextDisplayPropertyInfo)]
+
+-- VVV Prop "cursor-type"
+   -- Type: TInterface "Gdk" "CursorType"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+
+getCursorCursorType :: (MonadIO m, CursorK o) => o -> m CursorType
+getCursorCursorType obj = liftIO $ getObjectPropertyEnum obj "cursor-type"
+
+constructCursorCursorType :: CursorType -> IO ([Char], GValue)
+constructCursorCursorType val = constructObjectPropertyEnum "cursor-type" val
+
+data CursorCursorTypePropertyInfo
+instance AttrInfo CursorCursorTypePropertyInfo where
+    type AttrAllowedOps CursorCursorTypePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CursorCursorTypePropertyInfo = (~) CursorType
+    type AttrBaseTypeConstraint CursorCursorTypePropertyInfo = CursorK
+    type AttrGetType CursorCursorTypePropertyInfo = CursorType
+    type AttrLabel CursorCursorTypePropertyInfo = "Cursor::cursor-type"
+    attrGet _ = getCursorCursorType
+    attrSet _ = undefined
+    attrConstruct _ = constructCursorCursorType
+
+-- VVV Prop "display"
+   -- Type: TInterface "Gdk" "Display"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+
+getCursorDisplay :: (MonadIO m, CursorK o) => o -> m Display
+getCursorDisplay obj = liftIO $ getObjectPropertyObject obj "display" Display
+
+constructCursorDisplay :: (DisplayK a) => a -> IO ([Char], GValue)
+constructCursorDisplay val = constructObjectPropertyObject "display" val
+
+data CursorDisplayPropertyInfo
+instance AttrInfo CursorDisplayPropertyInfo where
+    type AttrAllowedOps CursorDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint CursorDisplayPropertyInfo = DisplayK
+    type AttrBaseTypeConstraint CursorDisplayPropertyInfo = CursorK
+    type AttrGetType CursorDisplayPropertyInfo = Display
+    type AttrLabel CursorDisplayPropertyInfo = "Cursor::display"
+    attrGet _ = getCursorDisplay
+    attrSet _ = undefined
+    attrConstruct _ = constructCursorDisplay
+
+type instance AttributeList Cursor = '[ '("cursor-type", CursorCursorTypePropertyInfo), '("display", CursorDisplayPropertyInfo)]
+
+-- VVV Prop "associated-device"
+   -- Type: TInterface "Gdk" "Device"
+   -- Flags: [PropertyReadable]
+
+getDeviceAssociatedDevice :: (MonadIO m, DeviceK o) => o -> m Device
+getDeviceAssociatedDevice obj = liftIO $ getObjectPropertyObject obj "associated-device" Device
+
+data DeviceAssociatedDevicePropertyInfo
+instance AttrInfo DeviceAssociatedDevicePropertyInfo where
+    type AttrAllowedOps DeviceAssociatedDevicePropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint DeviceAssociatedDevicePropertyInfo = (~) ()
+    type AttrBaseTypeConstraint DeviceAssociatedDevicePropertyInfo = DeviceK
+    type AttrGetType DeviceAssociatedDevicePropertyInfo = Device
+    type AttrLabel DeviceAssociatedDevicePropertyInfo = "Device::associated-device"
+    attrGet _ = getDeviceAssociatedDevice
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+
+-- VVV Prop "device-manager"
+   -- Type: TInterface "Gdk" "DeviceManager"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+
+getDeviceDeviceManager :: (MonadIO m, DeviceK o) => o -> m DeviceManager
+getDeviceDeviceManager obj = liftIO $ getObjectPropertyObject obj "device-manager" DeviceManager
+
+constructDeviceDeviceManager :: (DeviceManagerK a) => a -> IO ([Char], GValue)
+constructDeviceDeviceManager val = constructObjectPropertyObject "device-manager" val
+
+data DeviceDeviceManagerPropertyInfo
+instance AttrInfo DeviceDeviceManagerPropertyInfo where
+    type AttrAllowedOps DeviceDeviceManagerPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint DeviceDeviceManagerPropertyInfo = DeviceManagerK
+    type AttrBaseTypeConstraint DeviceDeviceManagerPropertyInfo = DeviceK
+    type AttrGetType DeviceDeviceManagerPropertyInfo = DeviceManager
+    type AttrLabel DeviceDeviceManagerPropertyInfo = "Device::device-manager"
+    attrGet _ = getDeviceDeviceManager
+    attrSet _ = undefined
+    attrConstruct _ = constructDeviceDeviceManager
+
+-- VVV Prop "display"
+   -- Type: TInterface "Gdk" "Display"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+
+getDeviceDisplay :: (MonadIO m, DeviceK o) => o -> m Display
+getDeviceDisplay obj = liftIO $ getObjectPropertyObject obj "display" Display
+
+constructDeviceDisplay :: (DisplayK a) => a -> IO ([Char], GValue)
+constructDeviceDisplay val = constructObjectPropertyObject "display" val
+
+data DeviceDisplayPropertyInfo
+instance AttrInfo DeviceDisplayPropertyInfo where
+    type AttrAllowedOps DeviceDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint DeviceDisplayPropertyInfo = DisplayK
+    type AttrBaseTypeConstraint DeviceDisplayPropertyInfo = DeviceK
+    type AttrGetType DeviceDisplayPropertyInfo = Display
+    type AttrLabel DeviceDisplayPropertyInfo = "Device::display"
+    attrGet _ = getDeviceDisplay
+    attrSet _ = undefined
+    attrConstruct _ = constructDeviceDisplay
+
+-- VVV Prop "has-cursor"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+
+getDeviceHasCursor :: (MonadIO m, DeviceK o) => o -> m Bool
+getDeviceHasCursor obj = liftIO $ getObjectPropertyBool obj "has-cursor"
+
+constructDeviceHasCursor :: Bool -> IO ([Char], GValue)
+constructDeviceHasCursor val = constructObjectPropertyBool "has-cursor" val
+
+data DeviceHasCursorPropertyInfo
+instance AttrInfo DeviceHasCursorPropertyInfo where
+    type AttrAllowedOps DeviceHasCursorPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint DeviceHasCursorPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint DeviceHasCursorPropertyInfo = DeviceK
+    type AttrGetType DeviceHasCursorPropertyInfo = Bool
+    type AttrLabel DeviceHasCursorPropertyInfo = "Device::has-cursor"
+    attrGet _ = getDeviceHasCursor
+    attrSet _ = undefined
+    attrConstruct _ = constructDeviceHasCursor
+
+-- VVV Prop "input-mode"
+   -- Type: TInterface "Gdk" "InputMode"
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getDeviceInputMode :: (MonadIO m, DeviceK o) => o -> m InputMode
+getDeviceInputMode obj = liftIO $ getObjectPropertyEnum obj "input-mode"
+
+setDeviceInputMode :: (MonadIO m, DeviceK o) => o -> InputMode -> m ()
+setDeviceInputMode obj val = liftIO $ setObjectPropertyEnum obj "input-mode" val
+
+constructDeviceInputMode :: InputMode -> IO ([Char], GValue)
+constructDeviceInputMode val = constructObjectPropertyEnum "input-mode" val
+
+data DeviceInputModePropertyInfo
+instance AttrInfo DeviceInputModePropertyInfo where
+    type AttrAllowedOps DeviceInputModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint DeviceInputModePropertyInfo = (~) InputMode
+    type AttrBaseTypeConstraint DeviceInputModePropertyInfo = DeviceK
+    type AttrGetType DeviceInputModePropertyInfo = InputMode
+    type AttrLabel DeviceInputModePropertyInfo = "Device::input-mode"
+    attrGet _ = getDeviceInputMode
+    attrSet _ = setDeviceInputMode
+    attrConstruct _ = constructDeviceInputMode
+
+-- VVV Prop "input-source"
+   -- Type: TInterface "Gdk" "InputSource"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+
+getDeviceInputSource :: (MonadIO m, DeviceK o) => o -> m InputSource
+getDeviceInputSource obj = liftIO $ getObjectPropertyEnum obj "input-source"
+
+constructDeviceInputSource :: InputSource -> IO ([Char], GValue)
+constructDeviceInputSource val = constructObjectPropertyEnum "input-source" val
+
+data DeviceInputSourcePropertyInfo
+instance AttrInfo DeviceInputSourcePropertyInfo where
+    type AttrAllowedOps DeviceInputSourcePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint DeviceInputSourcePropertyInfo = (~) InputSource
+    type AttrBaseTypeConstraint DeviceInputSourcePropertyInfo = DeviceK
+    type AttrGetType DeviceInputSourcePropertyInfo = InputSource
+    type AttrLabel DeviceInputSourcePropertyInfo = "Device::input-source"
+    attrGet _ = getDeviceInputSource
+    attrSet _ = undefined
+    attrConstruct _ = constructDeviceInputSource
+
+-- VVV Prop "n-axes"
+   -- Type: TBasicType TUInt32
+   -- Flags: [PropertyReadable]
+
+getDeviceNAxes :: (MonadIO m, DeviceK o) => o -> m Word32
+getDeviceNAxes obj = liftIO $ getObjectPropertyCUInt obj "n-axes"
+
+data DeviceNAxesPropertyInfo
+instance AttrInfo DeviceNAxesPropertyInfo where
+    type AttrAllowedOps DeviceNAxesPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint DeviceNAxesPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint DeviceNAxesPropertyInfo = DeviceK
+    type AttrGetType DeviceNAxesPropertyInfo = Word32
+    type AttrLabel DeviceNAxesPropertyInfo = "Device::n-axes"
+    attrGet _ = getDeviceNAxes
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+
+-- VVV Prop "name"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+
+getDeviceName :: (MonadIO m, DeviceK o) => o -> m T.Text
+getDeviceName obj = liftIO $ getObjectPropertyString obj "name"
+
+constructDeviceName :: T.Text -> IO ([Char], GValue)
+constructDeviceName val = constructObjectPropertyString "name" val
+
+data DeviceNamePropertyInfo
+instance AttrInfo DeviceNamePropertyInfo where
+    type AttrAllowedOps DeviceNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint DeviceNamePropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint DeviceNamePropertyInfo = DeviceK
+    type AttrGetType DeviceNamePropertyInfo = T.Text
+    type AttrLabel DeviceNamePropertyInfo = "Device::name"
+    attrGet _ = getDeviceName
+    attrSet _ = undefined
+    attrConstruct _ = constructDeviceName
+
+-- VVV Prop "product-id"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+
+getDeviceProductId :: (MonadIO m, DeviceK o) => o -> m T.Text
+getDeviceProductId obj = liftIO $ getObjectPropertyString obj "product-id"
+
+constructDeviceProductId :: T.Text -> IO ([Char], GValue)
+constructDeviceProductId val = constructObjectPropertyString "product-id" val
+
+data DeviceProductIdPropertyInfo
+instance AttrInfo DeviceProductIdPropertyInfo where
+    type AttrAllowedOps DeviceProductIdPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint DeviceProductIdPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint DeviceProductIdPropertyInfo = DeviceK
+    type AttrGetType DeviceProductIdPropertyInfo = T.Text
+    type AttrLabel DeviceProductIdPropertyInfo = "Device::product-id"
+    attrGet _ = getDeviceProductId
+    attrSet _ = undefined
+    attrConstruct _ = constructDeviceProductId
+
+-- VVV Prop "type"
+   -- Type: TInterface "Gdk" "DeviceType"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+
+getDeviceType :: (MonadIO m, DeviceK o) => o -> m DeviceType
+getDeviceType obj = liftIO $ getObjectPropertyEnum obj "type"
+
+constructDeviceType :: DeviceType -> IO ([Char], GValue)
+constructDeviceType val = constructObjectPropertyEnum "type" val
+
+data DeviceTypePropertyInfo
+instance AttrInfo DeviceTypePropertyInfo where
+    type AttrAllowedOps DeviceTypePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint DeviceTypePropertyInfo = (~) DeviceType
+    type AttrBaseTypeConstraint DeviceTypePropertyInfo = DeviceK
+    type AttrGetType DeviceTypePropertyInfo = DeviceType
+    type AttrLabel DeviceTypePropertyInfo = "Device::type"
+    attrGet _ = getDeviceType
+    attrSet _ = undefined
+    attrConstruct _ = constructDeviceType
+
+-- VVV Prop "vendor-id"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+
+getDeviceVendorId :: (MonadIO m, DeviceK o) => o -> m T.Text
+getDeviceVendorId obj = liftIO $ getObjectPropertyString obj "vendor-id"
+
+constructDeviceVendorId :: T.Text -> IO ([Char], GValue)
+constructDeviceVendorId val = constructObjectPropertyString "vendor-id" val
+
+data DeviceVendorIdPropertyInfo
+instance AttrInfo DeviceVendorIdPropertyInfo where
+    type AttrAllowedOps DeviceVendorIdPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint DeviceVendorIdPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint DeviceVendorIdPropertyInfo = DeviceK
+    type AttrGetType DeviceVendorIdPropertyInfo = T.Text
+    type AttrLabel DeviceVendorIdPropertyInfo = "Device::vendor-id"
+    attrGet _ = getDeviceVendorId
+    attrSet _ = undefined
+    attrConstruct _ = constructDeviceVendorId
+
+type instance AttributeList Device = '[ '("associated-device", DeviceAssociatedDevicePropertyInfo), '("device-manager", DeviceDeviceManagerPropertyInfo), '("display", DeviceDisplayPropertyInfo), '("has-cursor", DeviceHasCursorPropertyInfo), '("input-mode", DeviceInputModePropertyInfo), '("input-source", DeviceInputSourcePropertyInfo), '("n-axes", DeviceNAxesPropertyInfo), '("name", DeviceNamePropertyInfo), '("product-id", DeviceProductIdPropertyInfo), '("type", DeviceTypePropertyInfo), '("vendor-id", DeviceVendorIdPropertyInfo)]
+
+-- VVV Prop "display"
+   -- Type: TInterface "Gdk" "Display"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+
+getDeviceManagerDisplay :: (MonadIO m, DeviceManagerK o) => o -> m Display
+getDeviceManagerDisplay obj = liftIO $ getObjectPropertyObject obj "display" Display
+
+constructDeviceManagerDisplay :: (DisplayK a) => a -> IO ([Char], GValue)
+constructDeviceManagerDisplay val = constructObjectPropertyObject "display" val
+
+data DeviceManagerDisplayPropertyInfo
+instance AttrInfo DeviceManagerDisplayPropertyInfo where
+    type AttrAllowedOps DeviceManagerDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint DeviceManagerDisplayPropertyInfo = DisplayK
+    type AttrBaseTypeConstraint DeviceManagerDisplayPropertyInfo = DeviceManagerK
+    type AttrGetType DeviceManagerDisplayPropertyInfo = Display
+    type AttrLabel DeviceManagerDisplayPropertyInfo = "DeviceManager::display"
+    attrGet _ = getDeviceManagerDisplay
+    attrSet _ = undefined
+    attrConstruct _ = constructDeviceManagerDisplay
+
+type instance AttributeList DeviceManager = '[ '("display", DeviceManagerDisplayPropertyInfo)]
+
+type instance AttributeList Display = '[ ]
+
+-- VVV Prop "default-display"
+   -- Type: TInterface "Gdk" "Display"
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getDisplayManagerDefaultDisplay :: (MonadIO m, DisplayManagerK o) => o -> m Display
+getDisplayManagerDefaultDisplay obj = liftIO $ getObjectPropertyObject obj "default-display" Display
+
+setDisplayManagerDefaultDisplay :: (MonadIO m, DisplayManagerK o, DisplayK a) => o -> a -> m ()
+setDisplayManagerDefaultDisplay obj val = liftIO $ setObjectPropertyObject obj "default-display" val
+
+constructDisplayManagerDefaultDisplay :: (DisplayK a) => a -> IO ([Char], GValue)
+constructDisplayManagerDefaultDisplay val = constructObjectPropertyObject "default-display" val
+
+data DisplayManagerDefaultDisplayPropertyInfo
+instance AttrInfo DisplayManagerDefaultDisplayPropertyInfo where
+    type AttrAllowedOps DisplayManagerDefaultDisplayPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint DisplayManagerDefaultDisplayPropertyInfo = DisplayK
+    type AttrBaseTypeConstraint DisplayManagerDefaultDisplayPropertyInfo = DisplayManagerK
+    type AttrGetType DisplayManagerDefaultDisplayPropertyInfo = Display
+    type AttrLabel DisplayManagerDefaultDisplayPropertyInfo = "DisplayManager::default-display"
+    attrGet _ = getDisplayManagerDefaultDisplay
+    attrSet _ = setDisplayManagerDefaultDisplay
+    attrConstruct _ = constructDisplayManagerDefaultDisplay
+
+type instance AttributeList DisplayManager = '[ '("default-display", DisplayManagerDefaultDisplayPropertyInfo)]
+
+type instance AttributeList DragContext = '[ ]
+
+type instance AttributeList FrameClock = '[ ]
+
+-- VVV Prop "display"
+   -- Type: TInterface "Gdk" "Display"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+
+getGLContextDisplay :: (MonadIO m, GLContextK o) => o -> m Display
+getGLContextDisplay obj = liftIO $ getObjectPropertyObject obj "display" Display
+
+constructGLContextDisplay :: (DisplayK a) => a -> IO ([Char], GValue)
+constructGLContextDisplay val = constructObjectPropertyObject "display" val
+
+data GLContextDisplayPropertyInfo
+instance AttrInfo GLContextDisplayPropertyInfo where
+    type AttrAllowedOps GLContextDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GLContextDisplayPropertyInfo = DisplayK
+    type AttrBaseTypeConstraint GLContextDisplayPropertyInfo = GLContextK
+    type AttrGetType GLContextDisplayPropertyInfo = Display
+    type AttrLabel GLContextDisplayPropertyInfo = "GLContext::display"
+    attrGet _ = getGLContextDisplay
+    attrSet _ = undefined
+    attrConstruct _ = constructGLContextDisplay
+
+-- VVV Prop "shared-context"
+   -- Type: TInterface "Gdk" "GLContext"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+
+getGLContextSharedContext :: (MonadIO m, GLContextK o) => o -> m GLContext
+getGLContextSharedContext obj = liftIO $ getObjectPropertyObject obj "shared-context" GLContext
+
+constructGLContextSharedContext :: (GLContextK a) => a -> IO ([Char], GValue)
+constructGLContextSharedContext val = constructObjectPropertyObject "shared-context" val
+
+data GLContextSharedContextPropertyInfo
+instance AttrInfo GLContextSharedContextPropertyInfo where
+    type AttrAllowedOps GLContextSharedContextPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GLContextSharedContextPropertyInfo = GLContextK
+    type AttrBaseTypeConstraint GLContextSharedContextPropertyInfo = GLContextK
+    type AttrGetType GLContextSharedContextPropertyInfo = GLContext
+    type AttrLabel GLContextSharedContextPropertyInfo = "GLContext::shared-context"
+    attrGet _ = getGLContextSharedContext
+    attrSet _ = undefined
+    attrConstruct _ = constructGLContextSharedContext
+
+-- VVV Prop "window"
+   -- Type: TInterface "Gdk" "Window"
+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
+
+getGLContextWindow :: (MonadIO m, GLContextK o) => o -> m Window
+getGLContextWindow obj = liftIO $ getObjectPropertyObject obj "window" Window
+
+constructGLContextWindow :: (WindowK a) => a -> IO ([Char], GValue)
+constructGLContextWindow val = constructObjectPropertyObject "window" val
+
+data GLContextWindowPropertyInfo
+instance AttrInfo GLContextWindowPropertyInfo where
+    type AttrAllowedOps GLContextWindowPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint GLContextWindowPropertyInfo = WindowK
+    type AttrBaseTypeConstraint GLContextWindowPropertyInfo = GLContextK
+    type AttrGetType GLContextWindowPropertyInfo = Window
+    type AttrLabel GLContextWindowPropertyInfo = "GLContext::window"
+    attrGet _ = getGLContextWindow
+    attrSet _ = undefined
+    attrConstruct _ = constructGLContextWindow
+
+type instance AttributeList GLContext = '[ '("display", GLContextDisplayPropertyInfo), '("shared-context", GLContextSharedContextPropertyInfo), '("window", GLContextWindowPropertyInfo)]
+
+type instance AttributeList Keymap = '[ ]
+
+-- VVV Prop "font-options"
+   -- Type: TBasicType TVoid
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getScreenFontOptions :: (MonadIO m, ScreenK o) => o -> m (Ptr ())
+getScreenFontOptions obj = liftIO $ getObjectPropertyPtr obj "font-options"
+
+setScreenFontOptions :: (MonadIO m, ScreenK o) => o -> (Ptr ()) -> m ()
+setScreenFontOptions obj val = liftIO $ setObjectPropertyPtr obj "font-options" val
+
+constructScreenFontOptions :: (Ptr ()) -> IO ([Char], GValue)
+constructScreenFontOptions val = constructObjectPropertyPtr "font-options" val
+
+data ScreenFontOptionsPropertyInfo
+instance AttrInfo ScreenFontOptionsPropertyInfo where
+    type AttrAllowedOps ScreenFontOptionsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScreenFontOptionsPropertyInfo = (~) (Ptr ())
+    type AttrBaseTypeConstraint ScreenFontOptionsPropertyInfo = ScreenK
+    type AttrGetType ScreenFontOptionsPropertyInfo = (Ptr ())
+    type AttrLabel ScreenFontOptionsPropertyInfo = "Screen::font-options"
+    attrGet _ = getScreenFontOptions
+    attrSet _ = setScreenFontOptions
+    attrConstruct _ = constructScreenFontOptions
+
+-- VVV Prop "resolution"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getScreenResolution :: (MonadIO m, ScreenK o) => o -> m Double
+getScreenResolution obj = liftIO $ getObjectPropertyDouble obj "resolution"
+
+setScreenResolution :: (MonadIO m, ScreenK o) => o -> Double -> m ()
+setScreenResolution obj val = liftIO $ setObjectPropertyDouble obj "resolution" val
+
+constructScreenResolution :: Double -> IO ([Char], GValue)
+constructScreenResolution val = constructObjectPropertyDouble "resolution" val
+
+data ScreenResolutionPropertyInfo
+instance AttrInfo ScreenResolutionPropertyInfo where
+    type AttrAllowedOps ScreenResolutionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint ScreenResolutionPropertyInfo = (~) Double
+    type AttrBaseTypeConstraint ScreenResolutionPropertyInfo = ScreenK
+    type AttrGetType ScreenResolutionPropertyInfo = Double
+    type AttrLabel ScreenResolutionPropertyInfo = "Screen::resolution"
+    attrGet _ = getScreenResolution
+    attrSet _ = setScreenResolution
+    attrConstruct _ = constructScreenResolution
+
+type instance AttributeList Screen = '[ '("font-options", ScreenFontOptionsPropertyInfo), '("resolution", ScreenResolutionPropertyInfo)]
+
+type instance AttributeList Visual = '[ ]
+
+-- VVV Prop "cursor"
+   -- Type: TInterface "Gdk" "Cursor"
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getWindowCursor :: (MonadIO m, WindowK o) => o -> m Cursor
+getWindowCursor obj = liftIO $ getObjectPropertyObject obj "cursor" Cursor
+
+setWindowCursor :: (MonadIO m, WindowK o, CursorK a) => o -> a -> m ()
+setWindowCursor obj val = liftIO $ setObjectPropertyObject obj "cursor" val
+
+constructWindowCursor :: (CursorK a) => a -> IO ([Char], GValue)
+constructWindowCursor val = constructObjectPropertyObject "cursor" val
+
+data WindowCursorPropertyInfo
+instance AttrInfo WindowCursorPropertyInfo where
+    type AttrAllowedOps WindowCursorPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint WindowCursorPropertyInfo = CursorK
+    type AttrBaseTypeConstraint WindowCursorPropertyInfo = WindowK
+    type AttrGetType WindowCursorPropertyInfo = Cursor
+    type AttrLabel WindowCursorPropertyInfo = "Window::cursor"
+    attrGet _ = getWindowCursor
+    attrSet _ = setWindowCursor
+    attrConstruct _ = constructWindowCursor
+
+type instance AttributeList Window = '[ '("cursor", WindowCursorPropertyInfo)]
+
diff --git a/GI/GdkSignals.hs b/GI/GdkSignals.hs
new file mode 100644
--- /dev/null
+++ b/GI/GdkSignals.hs
@@ -0,0 +1,164 @@
+-- Generated code.
+
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+
+{-# LANGUAGE DataKinds,    FlexibleInstances,
+             TypeFamilies, MultiParamTypeClasses,
+               TypeOperators #-}
+
+module GI.GdkSignals where
+
+import Data.GI.Base.Properties (GObjectNotifySignalInfo)
+import Data.GI.Base.Signals
+import Data.GI.Base.Overloading
+
+import qualified GI.GObjectSignals as GObject
+import qualified GI.GioSignals as Gio
+import GI.Gdk
+
+type instance SignalList AppLaunchContext = '[ '("launch-failed", Gio.AppLaunchContextLaunchFailedSignalInfo), '("launched", Gio.AppLaunchContextLaunchedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]
+
+type instance SignalList Cursor = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]
+
+data DeviceChangedSignalInfo
+instance SignalInfo DeviceChangedSignalInfo where
+    type HaskellCallbackType DeviceChangedSignalInfo = DeviceChangedCallback
+    connectSignal _ = connectDeviceChanged
+
+type instance SignalList Device = '[ '("changed", DeviceChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]
+
+data DeviceManagerDeviceAddedSignalInfo
+instance SignalInfo DeviceManagerDeviceAddedSignalInfo where
+    type HaskellCallbackType DeviceManagerDeviceAddedSignalInfo = DeviceManagerDeviceAddedCallback
+    connectSignal _ = connectDeviceManagerDeviceAdded
+
+data DeviceManagerDeviceChangedSignalInfo
+instance SignalInfo DeviceManagerDeviceChangedSignalInfo where
+    type HaskellCallbackType DeviceManagerDeviceChangedSignalInfo = DeviceManagerDeviceChangedCallback
+    connectSignal _ = connectDeviceManagerDeviceChanged
+
+data DeviceManagerDeviceRemovedSignalInfo
+instance SignalInfo DeviceManagerDeviceRemovedSignalInfo where
+    type HaskellCallbackType DeviceManagerDeviceRemovedSignalInfo = DeviceManagerDeviceRemovedCallback
+    connectSignal _ = connectDeviceManagerDeviceRemoved
+
+type instance SignalList DeviceManager = '[ '("device-added", DeviceManagerDeviceAddedSignalInfo), '("device-changed", DeviceManagerDeviceChangedSignalInfo), '("device-removed", DeviceManagerDeviceRemovedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]
+
+data DisplayClosedSignalInfo
+instance SignalInfo DisplayClosedSignalInfo where
+    type HaskellCallbackType DisplayClosedSignalInfo = DisplayClosedCallback
+    connectSignal _ = connectDisplayClosed
+
+data DisplayOpenedSignalInfo
+instance SignalInfo DisplayOpenedSignalInfo where
+    type HaskellCallbackType DisplayOpenedSignalInfo = DisplayOpenedCallback
+    connectSignal _ = connectDisplayOpened
+
+type instance SignalList Display = '[ '("closed", DisplayClosedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("opened", DisplayOpenedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]
+
+data DisplayManagerDisplayOpenedSignalInfo
+instance SignalInfo DisplayManagerDisplayOpenedSignalInfo where
+    type HaskellCallbackType DisplayManagerDisplayOpenedSignalInfo = DisplayManagerDisplayOpenedCallback
+    connectSignal _ = connectDisplayManagerDisplayOpened
+
+type instance SignalList DisplayManager = '[ '("display-opened", DisplayManagerDisplayOpenedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]
+
+type instance SignalList DragContext = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]
+
+data FrameClockAfterPaintSignalInfo
+instance SignalInfo FrameClockAfterPaintSignalInfo where
+    type HaskellCallbackType FrameClockAfterPaintSignalInfo = FrameClockAfterPaintCallback
+    connectSignal _ = connectFrameClockAfterPaint
+
+data FrameClockBeforePaintSignalInfo
+instance SignalInfo FrameClockBeforePaintSignalInfo where
+    type HaskellCallbackType FrameClockBeforePaintSignalInfo = FrameClockBeforePaintCallback
+    connectSignal _ = connectFrameClockBeforePaint
+
+data FrameClockFlushEventsSignalInfo
+instance SignalInfo FrameClockFlushEventsSignalInfo where
+    type HaskellCallbackType FrameClockFlushEventsSignalInfo = FrameClockFlushEventsCallback
+    connectSignal _ = connectFrameClockFlushEvents
+
+data FrameClockLayoutSignalInfo
+instance SignalInfo FrameClockLayoutSignalInfo where
+    type HaskellCallbackType FrameClockLayoutSignalInfo = FrameClockLayoutCallback
+    connectSignal _ = connectFrameClockLayout
+
+data FrameClockPaintSignalInfo
+instance SignalInfo FrameClockPaintSignalInfo where
+    type HaskellCallbackType FrameClockPaintSignalInfo = FrameClockPaintCallback
+    connectSignal _ = connectFrameClockPaint
+
+data FrameClockResumeEventsSignalInfo
+instance SignalInfo FrameClockResumeEventsSignalInfo where
+    type HaskellCallbackType FrameClockResumeEventsSignalInfo = FrameClockResumeEventsCallback
+    connectSignal _ = connectFrameClockResumeEvents
+
+data FrameClockUpdateSignalInfo
+instance SignalInfo FrameClockUpdateSignalInfo where
+    type HaskellCallbackType FrameClockUpdateSignalInfo = FrameClockUpdateCallback
+    connectSignal _ = connectFrameClockUpdate
+
+type instance SignalList FrameClock = '[ '("after-paint", FrameClockAfterPaintSignalInfo), '("before-paint", FrameClockBeforePaintSignalInfo), '("flush-events", FrameClockFlushEventsSignalInfo), '("layout", FrameClockLayoutSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("paint", FrameClockPaintSignalInfo), '("resume-events", FrameClockResumeEventsSignalInfo), '("update", FrameClockUpdateSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]
+
+type instance SignalList GLContext = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]
+
+data KeymapDirectionChangedSignalInfo
+instance SignalInfo KeymapDirectionChangedSignalInfo where
+    type HaskellCallbackType KeymapDirectionChangedSignalInfo = KeymapDirectionChangedCallback
+    connectSignal _ = connectKeymapDirectionChanged
+
+data KeymapKeysChangedSignalInfo
+instance SignalInfo KeymapKeysChangedSignalInfo where
+    type HaskellCallbackType KeymapKeysChangedSignalInfo = KeymapKeysChangedCallback
+    connectSignal _ = connectKeymapKeysChanged
+
+data KeymapStateChangedSignalInfo
+instance SignalInfo KeymapStateChangedSignalInfo where
+    type HaskellCallbackType KeymapStateChangedSignalInfo = KeymapStateChangedCallback
+    connectSignal _ = connectKeymapStateChanged
+
+type instance SignalList Keymap = '[ '("direction-changed", KeymapDirectionChangedSignalInfo), '("keys-changed", KeymapKeysChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("state-changed", KeymapStateChangedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]
+
+data ScreenCompositedChangedSignalInfo
+instance SignalInfo ScreenCompositedChangedSignalInfo where
+    type HaskellCallbackType ScreenCompositedChangedSignalInfo = ScreenCompositedChangedCallback
+    connectSignal _ = connectScreenCompositedChanged
+
+data ScreenMonitorsChangedSignalInfo
+instance SignalInfo ScreenMonitorsChangedSignalInfo where
+    type HaskellCallbackType ScreenMonitorsChangedSignalInfo = ScreenMonitorsChangedCallback
+    connectSignal _ = connectScreenMonitorsChanged
+
+data ScreenSizeChangedSignalInfo
+instance SignalInfo ScreenSizeChangedSignalInfo where
+    type HaskellCallbackType ScreenSizeChangedSignalInfo = ScreenSizeChangedCallback
+    connectSignal _ = connectScreenSizeChanged
+
+type instance SignalList Screen = '[ '("composited-changed", ScreenCompositedChangedSignalInfo), '("monitors-changed", ScreenMonitorsChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("size-changed", ScreenSizeChangedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]
+
+type instance SignalList Visual = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]
+
+data WindowCreateSurfaceSignalInfo
+instance SignalInfo WindowCreateSurfaceSignalInfo where
+    type HaskellCallbackType WindowCreateSurfaceSignalInfo = WindowCreateSurfaceCallback
+    connectSignal _ = connectWindowCreateSurface
+
+data WindowFromEmbedderSignalInfo
+instance SignalInfo WindowFromEmbedderSignalInfo where
+    type HaskellCallbackType WindowFromEmbedderSignalInfo = WindowFromEmbedderCallback
+    connectSignal _ = connectWindowFromEmbedder
+
+data WindowPickEmbeddedChildSignalInfo
+instance SignalInfo WindowPickEmbeddedChildSignalInfo where
+    type HaskellCallbackType WindowPickEmbeddedChildSignalInfo = WindowPickEmbeddedChildCallback
+    connectSignal _ = connectWindowPickEmbeddedChild
+
+data WindowToEmbedderSignalInfo
+instance SignalInfo WindowToEmbedderSignalInfo where
+    type HaskellCallbackType WindowToEmbedderSignalInfo = WindowToEmbedderCallback
+    connectSignal _ = connectWindowToEmbedder
+
+type instance SignalList Window = '[ '("create-surface", WindowCreateSurfaceSignalInfo), '("from-embedder", WindowFromEmbedderSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("pick-embedded-child", WindowPickEmbeddedChildSignalInfo), '("to-embedder", WindowToEmbedderSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]
+
diff --git a/gi-gdk.cabal b/gi-gdk.cabal
--- a/gi-gdk.cabal
+++ b/gi-gdk.cabal
@@ -1,6 +1,6 @@
 -- Autogenerated, do not edit.
 name:               gi-gdk
-version:            0.3.16.12
+version:            0.3.18.10
 synopsis:           Gdk bindings
 description:        Bindings for Gdk, autogenerated by haskell-gi.
 homepage:           https://github.com/haskell-gi/haskell-gi
@@ -14,72 +14,16 @@
 
 library
     default-language:   Haskell2010
-    default-extensions: OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts
-    other-extensions:   PatternSynonyms ScopedTypeVariables, ViewPatterns
-    ghc-options:        -fno-warn-unused-imports -fno-warn-warnings-deprecations
-    exposed-modules:    GI.Gdk.Types
-                        GI.Gdk
-                        GI.Gdk.Callbacks
-                        GI.Gdk.Constants
-                        GI.Gdk.Enums
-                        GI.Gdk.Flags
-                        GI.Gdk.Functions
-                        GI.Gdk.Objects
-                        GI.Gdk.Objects.AppLaunchContext
-                        GI.Gdk.Objects.Cursor
-                        GI.Gdk.Objects.Device
-                        GI.Gdk.Objects.DeviceManager
-                        GI.Gdk.Objects.Display
-                        GI.Gdk.Objects.DisplayManager
-                        GI.Gdk.Objects.DragContext
-                        GI.Gdk.Objects.FrameClock
-                        GI.Gdk.Objects.GLContext
-                        GI.Gdk.Objects.Keymap
-                        GI.Gdk.Objects.Screen
-                        GI.Gdk.Objects.Visual
-                        GI.Gdk.Objects.Window
-                        GI.Gdk.Structs
-                        GI.Gdk.Structs.Atom
-                        GI.Gdk.Structs.Color
-                        GI.Gdk.Structs.EventAny
-                        GI.Gdk.Structs.EventButton
-                        GI.Gdk.Structs.EventConfigure
-                        GI.Gdk.Structs.EventCrossing
-                        GI.Gdk.Structs.EventDND
-                        GI.Gdk.Structs.EventExpose
-                        GI.Gdk.Structs.EventFocus
-                        GI.Gdk.Structs.EventGrabBroken
-                        GI.Gdk.Structs.EventKey
-                        GI.Gdk.Structs.EventMotion
-                        GI.Gdk.Structs.EventOwnerChange
-                        GI.Gdk.Structs.EventProperty
-                        GI.Gdk.Structs.EventProximity
-                        GI.Gdk.Structs.EventScroll
-                        GI.Gdk.Structs.EventSelection
-                        GI.Gdk.Structs.EventSequence
-                        GI.Gdk.Structs.EventSetting
-                        GI.Gdk.Structs.EventTouch
-                        GI.Gdk.Structs.EventVisibility
-                        GI.Gdk.Structs.EventWindowState
-                        GI.Gdk.Structs.FrameTimings
-                        GI.Gdk.Structs.Geometry
-                        GI.Gdk.Structs.KeymapKey
-                        GI.Gdk.Structs.Point
-                        GI.Gdk.Structs.RGBA
-                        GI.Gdk.Structs.TimeCoord
-                        GI.Gdk.Structs.WindowAttr
-                        GI.Gdk.Structs.WindowRedirect
-                        GI.Gdk.Unions
-                        GI.Gdk.Unions.Event
-    pkgconfig-depends:  gdk-3.0 >= 3.16
+    exposed-modules:    GI.Gdk, GI.GdkAttributes, GI.GdkSignals
+    pkgconfig-depends:  gdk-3.0 >= 3.18
     build-depends: base >= 4.7 && <5,
-        haskell-gi-base >= 0.12 && < 1,
-        gi-glib >= 0.2.44.12 && < 0.2.45,
-        gi-gobject >= 0.2.44.12 && < 0.2.45,
-        gi-gdkpixbuf >= 0.2.31.12 && < 0.2.32,
-        gi-gio >= 0.2.44.12 && < 0.2.45,
-        gi-pango >= 0.1.36.12 && < 0.1.37,
-        gi-cairo >= 0.1.14.12 && < 0.1.15,
+        haskell-gi-base >= 0.10 && < 1,
+        gi-glib >= 0.2.46.10 && < 0.3,
+        gi-gobject >= 0.2.46.10 && < 0.3,
+        gi-gdkpixbuf >= 0.2.32.10 && < 0.3,
+        gi-gio >= 0.2.46.10 && < 0.3,
+        gi-pango >= 0.1.38.10 && < 0.2,
+        gi-cairo >= 0.1.14.10 && < 0.2,
         bytestring >= 0.10,
         containers >= 0.5,
         text >= 1.0,
