diff --git a/GI/Vte.hs b/GI/Vte.hs
--- a/GI/Vte.hs
+++ b/GI/Vte.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -15,6 +16,10 @@
     module GI.Vte.Structs                   ,
 
 
+
+    module Data.GI.Base                     ,
+
+
     ) where
 
 import GI.Vte.Callbacks
@@ -35,4 +40,5 @@
 import GI.Vte.Types
 import GI.Vte.Callbacks
 
+import Data.GI.Base
 
diff --git a/GI/Vte/Callbacks.hs b/GI/Vte/Callbacks.hs
--- a/GI/Vte/Callbacks.hs
+++ b/GI/Vte/Callbacks.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
diff --git a/GI/Vte/Constants.hs b/GI/Vte/Constants.hs
--- a/GI/Vte/Constants.hs
+++ b/GI/Vte/Constants.hs
@@ -1,5 +1,6 @@
 {-# LANGUAGE PatternSynonyms, ScopedTypeVariables, ViewPatterns #-}
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -32,7 +33,7 @@
 pattern MINOR_VERSION = 42 :: Int32
 
 
-pattern MICRO_VERSION = 1 :: Int32
+pattern MICRO_VERSION = 3 :: Int32
 
 
 pattern MAJOR_VERSION = 0 :: Int32
diff --git a/GI/Vte/Enums.hs b/GI/Vte/Enums.hs
--- a/GI/Vte/Enums.hs
+++ b/GI/Vte/Enums.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
diff --git a/GI/Vte/Flags.hs b/GI/Vte/Flags.hs
--- a/GI/Vte/Flags.hs
+++ b/GI/Vte/Flags.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
diff --git a/GI/Vte/Functions.hs b/GI/Vte/Functions.hs
--- a/GI/Vte/Functions.hs
+++ b/GI/Vte/Functions.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -29,12 +30,8 @@
     getUserShell                            ,
 
 
--- ** ptyErrorQuark
-    ptyErrorQuark                           ,
 
 
-
-
     ) where
 
 import Prelude ()
@@ -47,30 +44,9 @@
 import GI.Vte.Types
 import GI.Vte.Callbacks
 
--- function vte_pty_error_quark
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_pty_error_quark" vte_pty_error_quark :: 
-    IO Word32
-
-
-ptyErrorQuark ::
-    (MonadIO m) =>
-    m Word32
-ptyErrorQuark  = liftIO $ do
-    result <- vte_pty_error_quark
-    return result
-
-
 -- function vte_get_user_shell
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TBasicType TFileName
 -- throws : False
 -- Skip return : False
@@ -81,7 +57,7 @@
 
 getUserShell ::
     (MonadIO m) =>
-    m [Char]
+    m [Char]                                -- result
 getUserShell  = liftIO $ do
     result <- vte_get_user_shell
     checkUnexpectedReturnNULL "vte_get_user_shell" result
@@ -93,7 +69,6 @@
 -- function vte_get_minor_version
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -104,7 +79,7 @@
 
 getMinorVersion ::
     (MonadIO m) =>
-    m Word32
+    m Word32                                -- result
 getMinorVersion  = liftIO $ do
     result <- vte_get_minor_version
     return result
@@ -113,7 +88,6 @@
 -- function vte_get_micro_version
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -124,7 +98,7 @@
 
 getMicroVersion ::
     (MonadIO m) =>
-    m Word32
+    m Word32                                -- result
 getMicroVersion  = liftIO $ do
     result <- vte_get_micro_version
     return result
@@ -133,7 +107,6 @@
 -- function vte_get_major_version
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -144,7 +117,7 @@
 
 getMajorVersion ::
     (MonadIO m) =>
-    m Word32
+    m Word32                                -- result
 getMajorVersion  = liftIO $ do
     result <- vte_get_major_version
     return result
@@ -153,7 +126,6 @@
 -- function vte_get_features
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -164,7 +136,7 @@
 
 getFeatures ::
     (MonadIO m) =>
-    m T.Text
+    m T.Text                                -- result
 getFeatures  = liftIO $ do
     result <- vte_get_features
     checkUnexpectedReturnNULL "vte_get_features" result
diff --git a/GI/Vte/Objects.hs b/GI/Vte/Objects.hs
--- a/GI/Vte/Objects.hs
+++ b/GI/Vte/Objects.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
diff --git a/GI/Vte/Objects/Pty.hs b/GI/Vte/Objects/Pty.hs
--- a/GI/Vte/Objects/Pty.hs
+++ b/GI/Vte/Objects/Pty.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,14 +18,17 @@
 
  -- * Methods
 -- ** ptyChildSetup
+    PtyChildSetupMethodInfo                 ,
     ptyChildSetup                           ,
 
 
 -- ** ptyGetFd
+    PtyGetFdMethodInfo                      ,
     ptyGetFd                                ,
 
 
 -- ** ptyGetSize
+    PtyGetSizeMethodInfo                    ,
     ptyGetSize                              ,
 
 
@@ -37,10 +41,12 @@
 
 
 -- ** ptySetSize
+    PtySetSizeMethodInfo                    ,
     ptySetSize                              ,
 
 
 -- ** ptySetUtf8
+    PtySetUtf8MethodInfo                    ,
     ptySetUtf8                              ,
 
 
@@ -96,6 +102,45 @@
 noPty :: Maybe Pty
 noPty = Nothing
 
+type family ResolvePtyMethod (t :: Symbol) (o :: *) :: * where
+    ResolvePtyMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolvePtyMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolvePtyMethod "childSetup" o = PtyChildSetupMethodInfo
+    ResolvePtyMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolvePtyMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolvePtyMethod "init" o = Gio.InitableInitMethodInfo
+    ResolvePtyMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolvePtyMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolvePtyMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolvePtyMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolvePtyMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolvePtyMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolvePtyMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolvePtyMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolvePtyMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolvePtyMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolvePtyMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolvePtyMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolvePtyMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolvePtyMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolvePtyMethod "getFd" o = PtyGetFdMethodInfo
+    ResolvePtyMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolvePtyMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolvePtyMethod "getSize" o = PtyGetSizeMethodInfo
+    ResolvePtyMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolvePtyMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolvePtyMethod "setSize" o = PtySetSizeMethodInfo
+    ResolvePtyMethod "setUtf8" o = PtySetUtf8MethodInfo
+    ResolvePtyMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolvePtyMethod t Pty, MethodInfo info Pty p) => IsLabelProxy t (Pty -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolvePtyMethod t Pty, MethodInfo info Pty p) => IsLabel t (Pty -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- VVV Prop "fd"
    -- Type: TBasicType TInt32
    -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
@@ -112,7 +157,7 @@
     type AttrSetTypeConstraint PtyFdPropertyInfo = (~) Int32
     type AttrBaseTypeConstraint PtyFdPropertyInfo = PtyK
     type AttrGetType PtyFdPropertyInfo = Int32
-    type AttrLabel PtyFdPropertyInfo = "Pty::fd"
+    type AttrLabel PtyFdPropertyInfo = "fd"
     attrGet _ = getPtyFd
     attrSet _ = undefined
     attrConstruct _ = constructPtyFd
@@ -133,7 +178,7 @@
     type AttrSetTypeConstraint PtyFlagsPropertyInfo = (~) [PtyFlags]
     type AttrBaseTypeConstraint PtyFlagsPropertyInfo = PtyK
     type AttrGetType PtyFlagsPropertyInfo = [PtyFlags]
-    type AttrLabel PtyFlagsPropertyInfo = "Pty::flags"
+    type AttrLabel PtyFlagsPropertyInfo = "flags"
     attrGet _ = getPtyFlags
     attrSet _ = undefined
     attrConstruct _ = constructPtyFlags
@@ -142,13 +187,12 @@
 type PtyAttributeList = ('[ '("fd", PtyFdPropertyInfo), '("flags", PtyFlagsPropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList Pty = PtySignalList
-type PtySignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type PtySignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method Pty::new_foreign_sync
 -- method type : Constructor
--- Args : [Arg {argName = "fd", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "fd", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "fd", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Vte" "Pty"
 -- throws : True
 -- Skip return : False
@@ -162,9 +206,9 @@
 
 ptyNewForeignSync ::
     (MonadIO m, Gio.CancellableK a) =>
-    Int32 ->                                -- fd
-    Maybe (a) ->                            -- cancellable
-    m Pty
+    Int32                                   -- fd
+    -> Maybe (a)                            -- cancellable
+    -> m Pty                                -- result
 ptyNewForeignSync fd cancellable = liftIO $ do
     maybeCancellable <- case cancellable of
         Nothing -> return nullPtr
@@ -183,9 +227,8 @@
 
 -- method Pty::new_sync
 -- method type : Constructor
--- Args : [Arg {argName = "flags", argType = TInterface "Vte" "PtyFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "flags", argType = TInterface "Vte" "PtyFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "flags", argType = TInterface "Vte" "PtyFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Vte" "Pty"
 -- throws : True
 -- Skip return : False
@@ -199,9 +242,9 @@
 
 ptyNewSync ::
     (MonadIO m, Gio.CancellableK a) =>
-    [PtyFlags] ->                           -- flags
-    Maybe (a) ->                            -- cancellable
-    m Pty
+    [PtyFlags]                              -- flags
+    -> Maybe (a)                            -- cancellable
+    -> m Pty                                -- result
 ptyNewSync flags cancellable = liftIO $ do
     let flags' = gflagsToWord flags
     maybeCancellable <- case cancellable of
@@ -221,9 +264,8 @@
 
 -- method Pty::child_setup
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Pty", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Pty", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Pty", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -235,19 +277,22 @@
 
 ptyChildSetup ::
     (MonadIO m, PtyK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 ptyChildSetup _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     vte_pty_child_setup _obj'
     touchManagedPtr _obj
     return ()
 
+data PtyChildSetupMethodInfo
+instance (signature ~ (m ()), MonadIO m, PtyK a) => MethodInfo PtyChildSetupMethodInfo a signature where
+    overloadedMethod _ = ptyChildSetup
+
 -- method Pty::get_fd
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Pty", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Pty", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Pty", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -259,19 +304,22 @@
 
 ptyGetFd ::
     (MonadIO m, PtyK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 ptyGetFd _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- vte_pty_get_fd _obj'
     touchManagedPtr _obj
     return result
 
+data PtyGetFdMethodInfo
+instance (signature ~ (m Int32), MonadIO m, PtyK a) => MethodInfo PtyGetFdMethodInfo a signature where
+    overloadedMethod _ = ptyGetFd
+
 -- method Pty::get_size
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Pty", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rows", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "columns", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Pty", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rows", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "columns", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Pty", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : True
 -- Skip return : False
@@ -286,8 +334,8 @@
 
 ptyGetSize ::
     (MonadIO m, PtyK a) =>
-    a ->                                    -- _obj
-    m (Int32,Int32)
+    a                                       -- _obj
+    -> m (Int32,Int32)                      -- result
 ptyGetSize _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     rows <- allocMem :: IO (Ptr Int32)
@@ -305,11 +353,14 @@
         freeMem columns
      )
 
+data PtyGetSizeMethodInfo
+instance (signature ~ (m (Int32,Int32)), MonadIO m, PtyK a) => MethodInfo PtyGetSizeMethodInfo a signature where
+    overloadedMethod _ = ptyGetSize
+
 -- method Pty::set_size
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Pty", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rows", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "columns", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Pty", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rows", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "columns", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Pty", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rows", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "columns", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : True
 -- Skip return : False
@@ -324,10 +375,10 @@
 
 ptySetSize ::
     (MonadIO m, PtyK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- rows
-    Int32 ->                                -- columns
-    m ()
+    a                                       -- _obj
+    -> Int32                                -- rows
+    -> Int32                                -- columns
+    -> m ()                                 -- result
 ptySetSize _obj rows columns = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     onException (do
@@ -338,11 +389,14 @@
         return ()
      )
 
+data PtySetSizeMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, PtyK a) => MethodInfo PtySetSizeMethodInfo a signature where
+    overloadedMethod _ = ptySetSize
+
 -- method Pty::set_utf8
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Pty", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "utf8", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Pty", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "utf8", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Pty", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "utf8", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : True
 -- Skip return : False
@@ -356,9 +410,9 @@
 
 ptySetUtf8 ::
     (MonadIO m, PtyK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- utf8
-    m ()
+    a                                       -- _obj
+    -> Bool                                 -- utf8
+    -> m ()                                 -- result
 ptySetUtf8 _obj utf8 = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let utf8' = (fromIntegral . fromEnum) utf8
@@ -369,5 +423,9 @@
      ) (do
         return ()
      )
+
+data PtySetUtf8MethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, PtyK a) => MethodInfo PtySetUtf8MethodInfo a signature where
+    overloadedMethod _ = ptySetUtf8
 
 
diff --git a/GI/Vte/Objects/Pty.hs-boot b/GI/Vte/Objects/Pty.hs-boot
--- a/GI/Vte/Objects/Pty.hs-boot
+++ b/GI/Vte/Objects/Pty.hs-boot
@@ -13,3 +13,8 @@
 instance (GObject o, IsDescendantOf Pty o) => PtyK o
 data PtyFdPropertyInfo
 data PtyFlagsPropertyInfo
+data PtyChildSetupMethodInfo
+data PtyGetFdMethodInfo
+data PtyGetSizeMethodInfo
+data PtySetSizeMethodInfo
+data PtySetUtf8MethodInfo
diff --git a/GI/Vte/Objects/Terminal.hs b/GI/Vte/Objects/Terminal.hs
--- a/GI/Vte/Objects/Terminal.hs
+++ b/GI/Vte/Objects/Terminal.hs
@@ -1,5229 +1,5944 @@
 
-{- |
-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.Vte.Objects.Terminal
-    ( 
-
--- * Exported types
-    Terminal(..)                            ,
-    TerminalK                               ,
-    toTerminal                              ,
-    noTerminal                              ,
-
-
- -- * Methods
--- ** terminalCopyClipboard
-    terminalCopyClipboard                   ,
-
-
--- ** terminalCopyPrimary
-    terminalCopyPrimary                     ,
-
-
--- ** terminalFeed
-    terminalFeed                            ,
-
-
--- ** terminalFeedChild
-    terminalFeedChild                       ,
-
-
--- ** terminalFeedChildBinary
-    terminalFeedChildBinary                 ,
-
-
--- ** terminalGetAllowBold
-    terminalGetAllowBold                    ,
-
-
--- ** terminalGetAudibleBell
-    terminalGetAudibleBell                  ,
-
-
--- ** terminalGetCharHeight
-    terminalGetCharHeight                   ,
-
-
--- ** terminalGetCharWidth
-    terminalGetCharWidth                    ,
-
-
--- ** terminalGetCjkAmbiguousWidth
-    terminalGetCjkAmbiguousWidth            ,
-
-
--- ** terminalGetColumnCount
-    terminalGetColumnCount                  ,
-
-
--- ** terminalGetCurrentDirectoryUri
-    terminalGetCurrentDirectoryUri          ,
-
-
--- ** terminalGetCurrentFileUri
-    terminalGetCurrentFileUri               ,
-
-
--- ** terminalGetCursorBlinkMode
-    terminalGetCursorBlinkMode              ,
-
-
--- ** terminalGetCursorPosition
-    terminalGetCursorPosition               ,
-
-
--- ** terminalGetCursorShape
-    terminalGetCursorShape                  ,
-
-
--- ** terminalGetEncoding
-    terminalGetEncoding                     ,
-
-
--- ** terminalGetFont
-    terminalGetFont                         ,
-
-
--- ** terminalGetFontScale
-    terminalGetFontScale                    ,
-
-
--- ** terminalGetGeometryHints
-    terminalGetGeometryHints                ,
-
-
--- ** terminalGetHasSelection
-    terminalGetHasSelection                 ,
-
-
--- ** terminalGetIconTitle
-    terminalGetIconTitle                    ,
-
-
--- ** terminalGetInputEnabled
-    terminalGetInputEnabled                 ,
-
-
--- ** terminalGetMouseAutohide
-    terminalGetMouseAutohide                ,
-
-
--- ** terminalGetPty
-    terminalGetPty                          ,
-
-
--- ** terminalGetRewrapOnResize
-    terminalGetRewrapOnResize               ,
-
-
--- ** terminalGetRowCount
-    terminalGetRowCount                     ,
-
-
--- ** terminalGetText
-    terminalGetText                         ,
-
-
--- ** terminalGetTextIncludeTrailingSpaces
-    terminalGetTextIncludeTrailingSpaces    ,
-
-
--- ** terminalGetTextRange
-    terminalGetTextRange                    ,
-
-
--- ** terminalGetWindowTitle
-    terminalGetWindowTitle                  ,
-
-
--- ** terminalGetWordCharExceptions
-    terminalGetWordCharExceptions           ,
-
-
--- ** terminalMatchAddGregex
-    terminalMatchAddGregex                  ,
-
-
--- ** terminalMatchCheck
-    terminalMatchCheck                      ,
-
-
--- ** terminalMatchCheckEvent
-    terminalMatchCheckEvent                 ,
-
-
--- ** terminalMatchRemove
-    terminalMatchRemove                     ,
-
-
--- ** terminalMatchRemoveAll
-    terminalMatchRemoveAll                  ,
-
-
--- ** terminalMatchSetCursorName
-    terminalMatchSetCursorName              ,
-
-
--- ** terminalMatchSetCursorType
-    terminalMatchSetCursorType              ,
-
-
--- ** terminalNew
-    terminalNew                             ,
-
-
--- ** terminalPasteClipboard
-    terminalPasteClipboard                  ,
-
-
--- ** terminalPastePrimary
-    terminalPastePrimary                    ,
-
-
--- ** terminalPtyNewSync
-    terminalPtyNewSync                      ,
-
-
--- ** terminalReset
-    terminalReset                           ,
-
-
--- ** terminalSearchFindNext
-    terminalSearchFindNext                  ,
-
-
--- ** terminalSearchFindPrevious
-    terminalSearchFindPrevious              ,
-
-
--- ** terminalSearchGetGregex
-    terminalSearchGetGregex                 ,
-
-
--- ** terminalSearchGetWrapAround
-    terminalSearchGetWrapAround             ,
-
-
--- ** terminalSearchSetGregex
-    terminalSearchSetGregex                 ,
-
-
--- ** terminalSearchSetWrapAround
-    terminalSearchSetWrapAround             ,
-
-
--- ** terminalSelectAll
-    terminalSelectAll                       ,
-
-
--- ** terminalSetAllowBold
-    terminalSetAllowBold                    ,
-
-
--- ** terminalSetAudibleBell
-    terminalSetAudibleBell                  ,
-
-
--- ** terminalSetBackspaceBinding
-    terminalSetBackspaceBinding             ,
-
-
--- ** terminalSetCjkAmbiguousWidth
-    terminalSetCjkAmbiguousWidth            ,
-
-
--- ** terminalSetColorBackground
-    terminalSetColorBackground              ,
-
-
--- ** terminalSetColorBold
-    terminalSetColorBold                    ,
-
-
--- ** terminalSetColorCursor
-    terminalSetColorCursor                  ,
-
-
--- ** terminalSetColorForeground
-    terminalSetColorForeground              ,
-
-
--- ** terminalSetColorHighlight
-    terminalSetColorHighlight               ,
-
-
--- ** terminalSetColorHighlightForeground
-    terminalSetColorHighlightForeground     ,
-
-
--- ** terminalSetColors
-    terminalSetColors                       ,
-
-
--- ** terminalSetCursorBlinkMode
-    terminalSetCursorBlinkMode              ,
-
-
--- ** terminalSetCursorShape
-    terminalSetCursorShape                  ,
-
-
--- ** terminalSetDefaultColors
-    terminalSetDefaultColors                ,
-
-
--- ** terminalSetDeleteBinding
-    terminalSetDeleteBinding                ,
-
-
--- ** terminalSetEncoding
-    terminalSetEncoding                     ,
-
-
--- ** terminalSetFont
-    terminalSetFont                         ,
-
-
--- ** terminalSetFontScale
-    terminalSetFontScale                    ,
-
-
--- ** terminalSetGeometryHintsForWindow
-    terminalSetGeometryHintsForWindow       ,
-
-
--- ** terminalSetInputEnabled
-    terminalSetInputEnabled                 ,
-
-
--- ** terminalSetMouseAutohide
-    terminalSetMouseAutohide                ,
-
-
--- ** terminalSetPty
-    terminalSetPty                          ,
-
-
--- ** terminalSetRewrapOnResize
-    terminalSetRewrapOnResize               ,
-
-
--- ** terminalSetScrollOnKeystroke
-    terminalSetScrollOnKeystroke            ,
-
-
--- ** terminalSetScrollOnOutput
-    terminalSetScrollOnOutput               ,
-
-
--- ** terminalSetScrollbackLines
-    terminalSetScrollbackLines              ,
-
-
--- ** terminalSetSize
-    terminalSetSize                         ,
-
-
--- ** terminalSetWordCharExceptions
-    terminalSetWordCharExceptions           ,
-
-
--- ** terminalSpawnSync
-    terminalSpawnSync                       ,
-
-
--- ** terminalUnselectAll
-    terminalUnselectAll                     ,
-
-
--- ** terminalWatchChild
-    terminalWatchChild                      ,
-
-
--- ** terminalWriteContentsSync
-    terminalWriteContentsSync               ,
-
-
-
-
- -- * Properties
--- ** AllowBold
-    TerminalAllowBoldPropertyInfo           ,
-    constructTerminalAllowBold              ,
-    getTerminalAllowBold                    ,
-    setTerminalAllowBold                    ,
-
-
--- ** AudibleBell
-    TerminalAudibleBellPropertyInfo         ,
-    constructTerminalAudibleBell            ,
-    getTerminalAudibleBell                  ,
-    setTerminalAudibleBell                  ,
-
-
--- ** BackspaceBinding
-    TerminalBackspaceBindingPropertyInfo    ,
-    constructTerminalBackspaceBinding       ,
-    getTerminalBackspaceBinding             ,
-    setTerminalBackspaceBinding             ,
-
-
--- ** CjkAmbiguousWidth
-    TerminalCjkAmbiguousWidthPropertyInfo   ,
-    constructTerminalCjkAmbiguousWidth      ,
-    getTerminalCjkAmbiguousWidth            ,
-    setTerminalCjkAmbiguousWidth            ,
-
-
--- ** CurrentDirectoryUri
-    TerminalCurrentDirectoryUriPropertyInfo ,
-    getTerminalCurrentDirectoryUri          ,
-
-
--- ** CurrentFileUri
-    TerminalCurrentFileUriPropertyInfo      ,
-    getTerminalCurrentFileUri               ,
-
-
--- ** CursorBlinkMode
-    TerminalCursorBlinkModePropertyInfo     ,
-    constructTerminalCursorBlinkMode        ,
-    getTerminalCursorBlinkMode              ,
-    setTerminalCursorBlinkMode              ,
-
-
--- ** CursorShape
-    TerminalCursorShapePropertyInfo         ,
-    constructTerminalCursorShape            ,
-    getTerminalCursorShape                  ,
-    setTerminalCursorShape                  ,
-
-
--- ** DeleteBinding
-    TerminalDeleteBindingPropertyInfo       ,
-    constructTerminalDeleteBinding          ,
-    getTerminalDeleteBinding                ,
-    setTerminalDeleteBinding                ,
-
-
--- ** Encoding
-    TerminalEncodingPropertyInfo            ,
-    constructTerminalEncoding               ,
-    getTerminalEncoding                     ,
-    setTerminalEncoding                     ,
-
-
--- ** FontDesc
-    TerminalFontDescPropertyInfo            ,
-    constructTerminalFontDesc               ,
-    getTerminalFontDesc                     ,
-    setTerminalFontDesc                     ,
-
-
--- ** FontScale
-    TerminalFontScalePropertyInfo           ,
-    constructTerminalFontScale              ,
-    getTerminalFontScale                    ,
-    setTerminalFontScale                    ,
-
-
--- ** IconTitle
-    TerminalIconTitlePropertyInfo           ,
-    getTerminalIconTitle                    ,
-
-
--- ** InputEnabled
-    TerminalInputEnabledPropertyInfo        ,
-    constructTerminalInputEnabled           ,
-    getTerminalInputEnabled                 ,
-    setTerminalInputEnabled                 ,
-
-
--- ** PointerAutohide
-    TerminalPointerAutohidePropertyInfo     ,
-    constructTerminalPointerAutohide        ,
-    getTerminalPointerAutohide              ,
-    setTerminalPointerAutohide              ,
-
-
--- ** Pty
-    TerminalPtyPropertyInfo                 ,
-    constructTerminalPty                    ,
-    getTerminalPty                          ,
-    setTerminalPty                          ,
-
-
--- ** RewrapOnResize
-    TerminalRewrapOnResizePropertyInfo      ,
-    constructTerminalRewrapOnResize         ,
-    getTerminalRewrapOnResize               ,
-    setTerminalRewrapOnResize               ,
-
-
--- ** ScrollOnKeystroke
-    TerminalScrollOnKeystrokePropertyInfo   ,
-    constructTerminalScrollOnKeystroke      ,
-    getTerminalScrollOnKeystroke            ,
-    setTerminalScrollOnKeystroke            ,
-
-
--- ** ScrollOnOutput
-    TerminalScrollOnOutputPropertyInfo      ,
-    constructTerminalScrollOnOutput         ,
-    getTerminalScrollOnOutput               ,
-    setTerminalScrollOnOutput               ,
-
-
--- ** ScrollbackLines
-    TerminalScrollbackLinesPropertyInfo     ,
-    constructTerminalScrollbackLines        ,
-    getTerminalScrollbackLines              ,
-    setTerminalScrollbackLines              ,
-
-
--- ** WindowTitle
-    TerminalWindowTitlePropertyInfo         ,
-    getTerminalWindowTitle                  ,
-
-
--- ** WordCharExceptions
-    TerminalWordCharExceptionsPropertyInfo  ,
-    getTerminalWordCharExceptions           ,
-
-
-
-
- -- * Signals
--- ** Bell
-    TerminalBellCallback                    ,
-    TerminalBellCallbackC                   ,
-    TerminalBellSignalInfo                  ,
-    afterTerminalBell                       ,
-    mkTerminalBellCallback                  ,
-    noTerminalBellCallback                  ,
-    onTerminalBell                          ,
-    terminalBellCallbackWrapper             ,
-    terminalBellClosure                     ,
-
-
--- ** CharSizeChanged
-    TerminalCharSizeChangedCallback         ,
-    TerminalCharSizeChangedCallbackC        ,
-    TerminalCharSizeChangedSignalInfo       ,
-    afterTerminalCharSizeChanged            ,
-    mkTerminalCharSizeChangedCallback       ,
-    noTerminalCharSizeChangedCallback       ,
-    onTerminalCharSizeChanged               ,
-    terminalCharSizeChangedCallbackWrapper  ,
-    terminalCharSizeChangedClosure          ,
-
-
--- ** ChildExited
-    TerminalChildExitedCallback             ,
-    TerminalChildExitedCallbackC            ,
-    TerminalChildExitedSignalInfo           ,
-    afterTerminalChildExited                ,
-    mkTerminalChildExitedCallback           ,
-    noTerminalChildExitedCallback           ,
-    onTerminalChildExited                   ,
-    terminalChildExitedCallbackWrapper      ,
-    terminalChildExitedClosure              ,
-
-
--- ** Commit
-    TerminalCommitCallback                  ,
-    TerminalCommitCallbackC                 ,
-    TerminalCommitSignalInfo                ,
-    afterTerminalCommit                     ,
-    mkTerminalCommitCallback                ,
-    noTerminalCommitCallback                ,
-    onTerminalCommit                        ,
-    terminalCommitCallbackWrapper           ,
-    terminalCommitClosure                   ,
-
-
--- ** ContentsChanged
-    TerminalContentsChangedCallback         ,
-    TerminalContentsChangedCallbackC        ,
-    TerminalContentsChangedSignalInfo       ,
-    afterTerminalContentsChanged            ,
-    mkTerminalContentsChangedCallback       ,
-    noTerminalContentsChangedCallback       ,
-    onTerminalContentsChanged               ,
-    terminalContentsChangedCallbackWrapper  ,
-    terminalContentsChangedClosure          ,
-
-
--- ** CopyClipboard
-    TerminalCopyClipboardCallback           ,
-    TerminalCopyClipboardCallbackC          ,
-    TerminalCopyClipboardSignalInfo         ,
-    afterTerminalCopyClipboard              ,
-    mkTerminalCopyClipboardCallback         ,
-    noTerminalCopyClipboardCallback         ,
-    onTerminalCopyClipboard                 ,
-    terminalCopyClipboardCallbackWrapper    ,
-    terminalCopyClipboardClosure            ,
-
-
--- ** CurrentDirectoryUriChanged
-    TerminalCurrentDirectoryUriChangedCallback,
-    TerminalCurrentDirectoryUriChangedCallbackC,
-    TerminalCurrentDirectoryUriChangedSignalInfo,
-    afterTerminalCurrentDirectoryUriChanged ,
-    mkTerminalCurrentDirectoryUriChangedCallback,
-    noTerminalCurrentDirectoryUriChangedCallback,
-    onTerminalCurrentDirectoryUriChanged    ,
-    terminalCurrentDirectoryUriChangedCallbackWrapper,
-    terminalCurrentDirectoryUriChangedClosure,
-
-
--- ** CurrentFileUriChanged
-    TerminalCurrentFileUriChangedCallback   ,
-    TerminalCurrentFileUriChangedCallbackC  ,
-    TerminalCurrentFileUriChangedSignalInfo ,
-    afterTerminalCurrentFileUriChanged      ,
-    mkTerminalCurrentFileUriChangedCallback ,
-    noTerminalCurrentFileUriChangedCallback ,
-    onTerminalCurrentFileUriChanged         ,
-    terminalCurrentFileUriChangedCallbackWrapper,
-    terminalCurrentFileUriChangedClosure    ,
-
-
--- ** CursorMoved
-    TerminalCursorMovedCallback             ,
-    TerminalCursorMovedCallbackC            ,
-    TerminalCursorMovedSignalInfo           ,
-    afterTerminalCursorMoved                ,
-    mkTerminalCursorMovedCallback           ,
-    noTerminalCursorMovedCallback           ,
-    onTerminalCursorMoved                   ,
-    terminalCursorMovedCallbackWrapper      ,
-    terminalCursorMovedClosure              ,
-
-
--- ** DecreaseFontSize
-    TerminalDecreaseFontSizeCallback        ,
-    TerminalDecreaseFontSizeCallbackC       ,
-    TerminalDecreaseFontSizeSignalInfo      ,
-    afterTerminalDecreaseFontSize           ,
-    mkTerminalDecreaseFontSizeCallback      ,
-    noTerminalDecreaseFontSizeCallback      ,
-    onTerminalDecreaseFontSize              ,
-    terminalDecreaseFontSizeCallbackWrapper ,
-    terminalDecreaseFontSizeClosure         ,
-
-
--- ** DeiconifyWindow
-    TerminalDeiconifyWindowCallback         ,
-    TerminalDeiconifyWindowCallbackC        ,
-    TerminalDeiconifyWindowSignalInfo       ,
-    afterTerminalDeiconifyWindow            ,
-    mkTerminalDeiconifyWindowCallback       ,
-    noTerminalDeiconifyWindowCallback       ,
-    onTerminalDeiconifyWindow               ,
-    terminalDeiconifyWindowCallbackWrapper  ,
-    terminalDeiconifyWindowClosure          ,
-
-
--- ** EncodingChanged
-    TerminalEncodingChangedCallback         ,
-    TerminalEncodingChangedCallbackC        ,
-    TerminalEncodingChangedSignalInfo       ,
-    afterTerminalEncodingChanged            ,
-    mkTerminalEncodingChangedCallback       ,
-    noTerminalEncodingChangedCallback       ,
-    onTerminalEncodingChanged               ,
-    terminalEncodingChangedCallbackWrapper  ,
-    terminalEncodingChangedClosure          ,
-
-
--- ** Eof
-    TerminalEofCallback                     ,
-    TerminalEofCallbackC                    ,
-    TerminalEofSignalInfo                   ,
-    afterTerminalEof                        ,
-    mkTerminalEofCallback                   ,
-    noTerminalEofCallback                   ,
-    onTerminalEof                           ,
-    terminalEofCallbackWrapper              ,
-    terminalEofClosure                      ,
-
-
--- ** IconTitleChanged
-    TerminalIconTitleChangedCallback        ,
-    TerminalIconTitleChangedCallbackC       ,
-    TerminalIconTitleChangedSignalInfo      ,
-    afterTerminalIconTitleChanged           ,
-    mkTerminalIconTitleChangedCallback      ,
-    noTerminalIconTitleChangedCallback      ,
-    onTerminalIconTitleChanged              ,
-    terminalIconTitleChangedCallbackWrapper ,
-    terminalIconTitleChangedClosure         ,
-
-
--- ** IconifyWindow
-    TerminalIconifyWindowCallback           ,
-    TerminalIconifyWindowCallbackC          ,
-    TerminalIconifyWindowSignalInfo         ,
-    afterTerminalIconifyWindow              ,
-    mkTerminalIconifyWindowCallback         ,
-    noTerminalIconifyWindowCallback         ,
-    onTerminalIconifyWindow                 ,
-    terminalIconifyWindowCallbackWrapper    ,
-    terminalIconifyWindowClosure            ,
-
-
--- ** IncreaseFontSize
-    TerminalIncreaseFontSizeCallback        ,
-    TerminalIncreaseFontSizeCallbackC       ,
-    TerminalIncreaseFontSizeSignalInfo      ,
-    afterTerminalIncreaseFontSize           ,
-    mkTerminalIncreaseFontSizeCallback      ,
-    noTerminalIncreaseFontSizeCallback      ,
-    onTerminalIncreaseFontSize              ,
-    terminalIncreaseFontSizeCallbackWrapper ,
-    terminalIncreaseFontSizeClosure         ,
-
-
--- ** LowerWindow
-    TerminalLowerWindowCallback             ,
-    TerminalLowerWindowCallbackC            ,
-    TerminalLowerWindowSignalInfo           ,
-    afterTerminalLowerWindow                ,
-    mkTerminalLowerWindowCallback           ,
-    noTerminalLowerWindowCallback           ,
-    onTerminalLowerWindow                   ,
-    terminalLowerWindowCallbackWrapper      ,
-    terminalLowerWindowClosure              ,
-
-
--- ** MaximizeWindow
-    TerminalMaximizeWindowCallback          ,
-    TerminalMaximizeWindowCallbackC         ,
-    TerminalMaximizeWindowSignalInfo        ,
-    afterTerminalMaximizeWindow             ,
-    mkTerminalMaximizeWindowCallback        ,
-    noTerminalMaximizeWindowCallback        ,
-    onTerminalMaximizeWindow                ,
-    terminalMaximizeWindowCallbackWrapper   ,
-    terminalMaximizeWindowClosure           ,
-
-
--- ** MoveWindow
-    TerminalMoveWindowCallback              ,
-    TerminalMoveWindowCallbackC             ,
-    TerminalMoveWindowSignalInfo            ,
-    afterTerminalMoveWindow                 ,
-    mkTerminalMoveWindowCallback            ,
-    noTerminalMoveWindowCallback            ,
-    onTerminalMoveWindow                    ,
-    terminalMoveWindowCallbackWrapper       ,
-    terminalMoveWindowClosure               ,
-
-
--- ** NotificationReceived
-    TerminalNotificationReceivedCallback    ,
-    TerminalNotificationReceivedCallbackC   ,
-    TerminalNotificationReceivedSignalInfo  ,
-    afterTerminalNotificationReceived       ,
-    mkTerminalNotificationReceivedCallback  ,
-    noTerminalNotificationReceivedCallback  ,
-    onTerminalNotificationReceived          ,
-    terminalNotificationReceivedCallbackWrapper,
-    terminalNotificationReceivedClosure     ,
-
-
--- ** PasteClipboard
-    TerminalPasteClipboardCallback          ,
-    TerminalPasteClipboardCallbackC         ,
-    TerminalPasteClipboardSignalInfo        ,
-    afterTerminalPasteClipboard             ,
-    mkTerminalPasteClipboardCallback        ,
-    noTerminalPasteClipboardCallback        ,
-    onTerminalPasteClipboard                ,
-    terminalPasteClipboardCallbackWrapper   ,
-    terminalPasteClipboardClosure           ,
-
-
--- ** RaiseWindow
-    TerminalRaiseWindowCallback             ,
-    TerminalRaiseWindowCallbackC            ,
-    TerminalRaiseWindowSignalInfo           ,
-    afterTerminalRaiseWindow                ,
-    mkTerminalRaiseWindowCallback           ,
-    noTerminalRaiseWindowCallback           ,
-    onTerminalRaiseWindow                   ,
-    terminalRaiseWindowCallbackWrapper      ,
-    terminalRaiseWindowClosure              ,
-
-
--- ** RefreshWindow
-    TerminalRefreshWindowCallback           ,
-    TerminalRefreshWindowCallbackC          ,
-    TerminalRefreshWindowSignalInfo         ,
-    afterTerminalRefreshWindow              ,
-    mkTerminalRefreshWindowCallback         ,
-    noTerminalRefreshWindowCallback         ,
-    onTerminalRefreshWindow                 ,
-    terminalRefreshWindowCallbackWrapper    ,
-    terminalRefreshWindowClosure            ,
-
-
--- ** ResizeWindow
-    TerminalResizeWindowCallback            ,
-    TerminalResizeWindowCallbackC           ,
-    TerminalResizeWindowSignalInfo          ,
-    afterTerminalResizeWindow               ,
-    mkTerminalResizeWindowCallback          ,
-    noTerminalResizeWindowCallback          ,
-    onTerminalResizeWindow                  ,
-    terminalResizeWindowCallbackWrapper     ,
-    terminalResizeWindowClosure             ,
-
-
--- ** RestoreWindow
-    TerminalRestoreWindowCallback           ,
-    TerminalRestoreWindowCallbackC          ,
-    TerminalRestoreWindowSignalInfo         ,
-    afterTerminalRestoreWindow              ,
-    mkTerminalRestoreWindowCallback         ,
-    noTerminalRestoreWindowCallback         ,
-    onTerminalRestoreWindow                 ,
-    terminalRestoreWindowCallbackWrapper    ,
-    terminalRestoreWindowClosure            ,
-
-
--- ** SelectionChanged
-    TerminalSelectionChangedCallback        ,
-    TerminalSelectionChangedCallbackC       ,
-    TerminalSelectionChangedSignalInfo      ,
-    afterTerminalSelectionChanged           ,
-    mkTerminalSelectionChangedCallback      ,
-    noTerminalSelectionChangedCallback      ,
-    onTerminalSelectionChanged              ,
-    terminalSelectionChangedCallbackWrapper ,
-    terminalSelectionChangedClosure         ,
-
-
--- ** TextDeleted
-    TerminalTextDeletedCallback             ,
-    TerminalTextDeletedCallbackC            ,
-    TerminalTextDeletedSignalInfo           ,
-    afterTerminalTextDeleted                ,
-    mkTerminalTextDeletedCallback           ,
-    noTerminalTextDeletedCallback           ,
-    onTerminalTextDeleted                   ,
-    terminalTextDeletedCallbackWrapper      ,
-    terminalTextDeletedClosure              ,
-
-
--- ** TextInserted
-    TerminalTextInsertedCallback            ,
-    TerminalTextInsertedCallbackC           ,
-    TerminalTextInsertedSignalInfo          ,
-    afterTerminalTextInserted               ,
-    mkTerminalTextInsertedCallback          ,
-    noTerminalTextInsertedCallback          ,
-    onTerminalTextInserted                  ,
-    terminalTextInsertedCallbackWrapper     ,
-    terminalTextInsertedClosure             ,
-
-
--- ** TextModified
-    TerminalTextModifiedCallback            ,
-    TerminalTextModifiedCallbackC           ,
-    TerminalTextModifiedSignalInfo          ,
-    afterTerminalTextModified               ,
-    mkTerminalTextModifiedCallback          ,
-    noTerminalTextModifiedCallback          ,
-    onTerminalTextModified                  ,
-    terminalTextModifiedCallbackWrapper     ,
-    terminalTextModifiedClosure             ,
-
-
--- ** TextScrolled
-    TerminalTextScrolledCallback            ,
-    TerminalTextScrolledCallbackC           ,
-    TerminalTextScrolledSignalInfo          ,
-    afterTerminalTextScrolled               ,
-    mkTerminalTextScrolledCallback          ,
-    noTerminalTextScrolledCallback          ,
-    onTerminalTextScrolled                  ,
-    terminalTextScrolledCallbackWrapper     ,
-    terminalTextScrolledClosure             ,
-
-
--- ** WindowTitleChanged
-    TerminalWindowTitleChangedCallback      ,
-    TerminalWindowTitleChangedCallbackC     ,
-    TerminalWindowTitleChangedSignalInfo    ,
-    afterTerminalWindowTitleChanged         ,
-    mkTerminalWindowTitleChangedCallback    ,
-    noTerminalWindowTitleChangedCallback    ,
-    onTerminalWindowTitleChanged            ,
-    terminalWindowTitleChangedCallbackWrapper,
-    terminalWindowTitleChangedClosure       ,
-
-
-
-
-    ) 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.Vte.Types
-import GI.Vte.Callbacks
-import qualified GI.Atk as Atk
-import qualified GI.GLib as GLib
-import qualified GI.GObject as GObject
-import qualified GI.Gdk as Gdk
-import qualified GI.Gio as Gio
-import qualified GI.Gtk as Gtk
-import qualified GI.Pango as Pango
-
-newtype Terminal = Terminal (ForeignPtr Terminal)
-foreign import ccall "vte_terminal_get_type"
-    c_vte_terminal_get_type :: IO GType
-
-type instance ParentTypes Terminal = TerminalParentTypes
-type TerminalParentTypes = '[Gtk.Widget, GObject.Object, Atk.ImplementorIface, Gtk.Buildable, Gtk.Scrollable]
-
-instance GObject Terminal where
-    gobjectIsInitiallyUnowned _ = True
-    gobjectType _ = c_vte_terminal_get_type
-    
-
-class GObject o => TerminalK o
-instance (GObject o, IsDescendantOf Terminal o) => TerminalK o
-
-toTerminal :: TerminalK o => o -> IO Terminal
-toTerminal = unsafeCastTo Terminal
-
-noTerminal :: Maybe Terminal
-noTerminal = Nothing
-
--- signal Terminal::bell
-type TerminalBellCallback =
-    IO ()
-
-noTerminalBellCallback :: Maybe TerminalBellCallback
-noTerminalBellCallback = Nothing
-
-type TerminalBellCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalBellCallback :: TerminalBellCallbackC -> IO (FunPtr TerminalBellCallbackC)
-
-terminalBellClosure :: TerminalBellCallback -> IO Closure
-terminalBellClosure cb = newCClosure =<< mkTerminalBellCallback wrapped
-    where wrapped = terminalBellCallbackWrapper cb
-
-terminalBellCallbackWrapper ::
-    TerminalBellCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalBellCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalBell :: (GObject a, MonadIO m) => a -> TerminalBellCallback -> m SignalHandlerId
-onTerminalBell obj cb = liftIO $ connectTerminalBell obj cb SignalConnectBefore
-afterTerminalBell :: (GObject a, MonadIO m) => a -> TerminalBellCallback -> m SignalHandlerId
-afterTerminalBell obj cb = connectTerminalBell obj cb SignalConnectAfter
-
-connectTerminalBell :: (GObject a, MonadIO m) =>
-                       a -> TerminalBellCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalBell obj cb after = liftIO $ do
-    cb' <- mkTerminalBellCallback (terminalBellCallbackWrapper cb)
-    connectSignalFunPtr obj "bell" cb' after
-
--- signal Terminal::char-size-changed
-type TerminalCharSizeChangedCallback =
-    Word32 ->
-    Word32 ->
-    IO ()
-
-noTerminalCharSizeChangedCallback :: Maybe TerminalCharSizeChangedCallback
-noTerminalCharSizeChangedCallback = Nothing
-
-type TerminalCharSizeChangedCallbackC =
-    Ptr () ->                               -- object
-    Word32 ->
-    Word32 ->
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalCharSizeChangedCallback :: TerminalCharSizeChangedCallbackC -> IO (FunPtr TerminalCharSizeChangedCallbackC)
-
-terminalCharSizeChangedClosure :: TerminalCharSizeChangedCallback -> IO Closure
-terminalCharSizeChangedClosure cb = newCClosure =<< mkTerminalCharSizeChangedCallback wrapped
-    where wrapped = terminalCharSizeChangedCallbackWrapper cb
-
-terminalCharSizeChangedCallbackWrapper ::
-    TerminalCharSizeChangedCallback ->
-    Ptr () ->
-    Word32 ->
-    Word32 ->
-    Ptr () ->
-    IO ()
-terminalCharSizeChangedCallbackWrapper _cb _ width height _ = do
-    _cb  width height
-
-onTerminalCharSizeChanged :: (GObject a, MonadIO m) => a -> TerminalCharSizeChangedCallback -> m SignalHandlerId
-onTerminalCharSizeChanged obj cb = liftIO $ connectTerminalCharSizeChanged obj cb SignalConnectBefore
-afterTerminalCharSizeChanged :: (GObject a, MonadIO m) => a -> TerminalCharSizeChangedCallback -> m SignalHandlerId
-afterTerminalCharSizeChanged obj cb = connectTerminalCharSizeChanged obj cb SignalConnectAfter
-
-connectTerminalCharSizeChanged :: (GObject a, MonadIO m) =>
-                                  a -> TerminalCharSizeChangedCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalCharSizeChanged obj cb after = liftIO $ do
-    cb' <- mkTerminalCharSizeChangedCallback (terminalCharSizeChangedCallbackWrapper cb)
-    connectSignalFunPtr obj "char-size-changed" cb' after
-
--- signal Terminal::child-exited
-type TerminalChildExitedCallback =
-    Int32 ->
-    IO ()
-
-noTerminalChildExitedCallback :: Maybe TerminalChildExitedCallback
-noTerminalChildExitedCallback = Nothing
-
-type TerminalChildExitedCallbackC =
-    Ptr () ->                               -- object
-    Int32 ->
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalChildExitedCallback :: TerminalChildExitedCallbackC -> IO (FunPtr TerminalChildExitedCallbackC)
-
-terminalChildExitedClosure :: TerminalChildExitedCallback -> IO Closure
-terminalChildExitedClosure cb = newCClosure =<< mkTerminalChildExitedCallback wrapped
-    where wrapped = terminalChildExitedCallbackWrapper cb
-
-terminalChildExitedCallbackWrapper ::
-    TerminalChildExitedCallback ->
-    Ptr () ->
-    Int32 ->
-    Ptr () ->
-    IO ()
-terminalChildExitedCallbackWrapper _cb _ status _ = do
-    _cb  status
-
-onTerminalChildExited :: (GObject a, MonadIO m) => a -> TerminalChildExitedCallback -> m SignalHandlerId
-onTerminalChildExited obj cb = liftIO $ connectTerminalChildExited obj cb SignalConnectBefore
-afterTerminalChildExited :: (GObject a, MonadIO m) => a -> TerminalChildExitedCallback -> m SignalHandlerId
-afterTerminalChildExited obj cb = connectTerminalChildExited obj cb SignalConnectAfter
-
-connectTerminalChildExited :: (GObject a, MonadIO m) =>
-                              a -> TerminalChildExitedCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalChildExited obj cb after = liftIO $ do
-    cb' <- mkTerminalChildExitedCallback (terminalChildExitedCallbackWrapper cb)
-    connectSignalFunPtr obj "child-exited" cb' after
-
--- signal Terminal::commit
-type TerminalCommitCallback =
-    T.Text ->
-    Word32 ->
-    IO ()
-
-noTerminalCommitCallback :: Maybe TerminalCommitCallback
-noTerminalCommitCallback = Nothing
-
-type TerminalCommitCallbackC =
-    Ptr () ->                               -- object
-    CString ->
-    Word32 ->
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalCommitCallback :: TerminalCommitCallbackC -> IO (FunPtr TerminalCommitCallbackC)
-
-terminalCommitClosure :: TerminalCommitCallback -> IO Closure
-terminalCommitClosure cb = newCClosure =<< mkTerminalCommitCallback wrapped
-    where wrapped = terminalCommitCallbackWrapper cb
-
-terminalCommitCallbackWrapper ::
-    TerminalCommitCallback ->
-    Ptr () ->
-    CString ->
-    Word32 ->
-    Ptr () ->
-    IO ()
-terminalCommitCallbackWrapper _cb _ text size _ = do
-    text' <- cstringToText text
-    _cb  text' size
-
-onTerminalCommit :: (GObject a, MonadIO m) => a -> TerminalCommitCallback -> m SignalHandlerId
-onTerminalCommit obj cb = liftIO $ connectTerminalCommit obj cb SignalConnectBefore
-afterTerminalCommit :: (GObject a, MonadIO m) => a -> TerminalCommitCallback -> m SignalHandlerId
-afterTerminalCommit obj cb = connectTerminalCommit obj cb SignalConnectAfter
-
-connectTerminalCommit :: (GObject a, MonadIO m) =>
-                         a -> TerminalCommitCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalCommit obj cb after = liftIO $ do
-    cb' <- mkTerminalCommitCallback (terminalCommitCallbackWrapper cb)
-    connectSignalFunPtr obj "commit" cb' after
-
--- signal Terminal::contents-changed
-type TerminalContentsChangedCallback =
-    IO ()
-
-noTerminalContentsChangedCallback :: Maybe TerminalContentsChangedCallback
-noTerminalContentsChangedCallback = Nothing
-
-type TerminalContentsChangedCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalContentsChangedCallback :: TerminalContentsChangedCallbackC -> IO (FunPtr TerminalContentsChangedCallbackC)
-
-terminalContentsChangedClosure :: TerminalContentsChangedCallback -> IO Closure
-terminalContentsChangedClosure cb = newCClosure =<< mkTerminalContentsChangedCallback wrapped
-    where wrapped = terminalContentsChangedCallbackWrapper cb
-
-terminalContentsChangedCallbackWrapper ::
-    TerminalContentsChangedCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalContentsChangedCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalContentsChanged :: (GObject a, MonadIO m) => a -> TerminalContentsChangedCallback -> m SignalHandlerId
-onTerminalContentsChanged obj cb = liftIO $ connectTerminalContentsChanged obj cb SignalConnectBefore
-afterTerminalContentsChanged :: (GObject a, MonadIO m) => a -> TerminalContentsChangedCallback -> m SignalHandlerId
-afterTerminalContentsChanged obj cb = connectTerminalContentsChanged obj cb SignalConnectAfter
-
-connectTerminalContentsChanged :: (GObject a, MonadIO m) =>
-                                  a -> TerminalContentsChangedCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalContentsChanged obj cb after = liftIO $ do
-    cb' <- mkTerminalContentsChangedCallback (terminalContentsChangedCallbackWrapper cb)
-    connectSignalFunPtr obj "contents-changed" cb' after
-
--- signal Terminal::copy-clipboard
-type TerminalCopyClipboardCallback =
-    IO ()
-
-noTerminalCopyClipboardCallback :: Maybe TerminalCopyClipboardCallback
-noTerminalCopyClipboardCallback = Nothing
-
-type TerminalCopyClipboardCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalCopyClipboardCallback :: TerminalCopyClipboardCallbackC -> IO (FunPtr TerminalCopyClipboardCallbackC)
-
-terminalCopyClipboardClosure :: TerminalCopyClipboardCallback -> IO Closure
-terminalCopyClipboardClosure cb = newCClosure =<< mkTerminalCopyClipboardCallback wrapped
-    where wrapped = terminalCopyClipboardCallbackWrapper cb
-
-terminalCopyClipboardCallbackWrapper ::
-    TerminalCopyClipboardCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalCopyClipboardCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalCopyClipboard :: (GObject a, MonadIO m) => a -> TerminalCopyClipboardCallback -> m SignalHandlerId
-onTerminalCopyClipboard obj cb = liftIO $ connectTerminalCopyClipboard obj cb SignalConnectBefore
-afterTerminalCopyClipboard :: (GObject a, MonadIO m) => a -> TerminalCopyClipboardCallback -> m SignalHandlerId
-afterTerminalCopyClipboard obj cb = connectTerminalCopyClipboard obj cb SignalConnectAfter
-
-connectTerminalCopyClipboard :: (GObject a, MonadIO m) =>
-                                a -> TerminalCopyClipboardCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalCopyClipboard obj cb after = liftIO $ do
-    cb' <- mkTerminalCopyClipboardCallback (terminalCopyClipboardCallbackWrapper cb)
-    connectSignalFunPtr obj "copy-clipboard" cb' after
-
--- signal Terminal::current-directory-uri-changed
-type TerminalCurrentDirectoryUriChangedCallback =
-    IO ()
-
-noTerminalCurrentDirectoryUriChangedCallback :: Maybe TerminalCurrentDirectoryUriChangedCallback
-noTerminalCurrentDirectoryUriChangedCallback = Nothing
-
-type TerminalCurrentDirectoryUriChangedCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalCurrentDirectoryUriChangedCallback :: TerminalCurrentDirectoryUriChangedCallbackC -> IO (FunPtr TerminalCurrentDirectoryUriChangedCallbackC)
-
-terminalCurrentDirectoryUriChangedClosure :: TerminalCurrentDirectoryUriChangedCallback -> IO Closure
-terminalCurrentDirectoryUriChangedClosure cb = newCClosure =<< mkTerminalCurrentDirectoryUriChangedCallback wrapped
-    where wrapped = terminalCurrentDirectoryUriChangedCallbackWrapper cb
-
-terminalCurrentDirectoryUriChangedCallbackWrapper ::
-    TerminalCurrentDirectoryUriChangedCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalCurrentDirectoryUriChangedCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalCurrentDirectoryUriChanged :: (GObject a, MonadIO m) => a -> TerminalCurrentDirectoryUriChangedCallback -> m SignalHandlerId
-onTerminalCurrentDirectoryUriChanged obj cb = liftIO $ connectTerminalCurrentDirectoryUriChanged obj cb SignalConnectBefore
-afterTerminalCurrentDirectoryUriChanged :: (GObject a, MonadIO m) => a -> TerminalCurrentDirectoryUriChangedCallback -> m SignalHandlerId
-afterTerminalCurrentDirectoryUriChanged obj cb = connectTerminalCurrentDirectoryUriChanged obj cb SignalConnectAfter
-
-connectTerminalCurrentDirectoryUriChanged :: (GObject a, MonadIO m) =>
-                                             a -> TerminalCurrentDirectoryUriChangedCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalCurrentDirectoryUriChanged obj cb after = liftIO $ do
-    cb' <- mkTerminalCurrentDirectoryUriChangedCallback (terminalCurrentDirectoryUriChangedCallbackWrapper cb)
-    connectSignalFunPtr obj "current-directory-uri-changed" cb' after
-
--- signal Terminal::current-file-uri-changed
-type TerminalCurrentFileUriChangedCallback =
-    IO ()
-
-noTerminalCurrentFileUriChangedCallback :: Maybe TerminalCurrentFileUriChangedCallback
-noTerminalCurrentFileUriChangedCallback = Nothing
-
-type TerminalCurrentFileUriChangedCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalCurrentFileUriChangedCallback :: TerminalCurrentFileUriChangedCallbackC -> IO (FunPtr TerminalCurrentFileUriChangedCallbackC)
-
-terminalCurrentFileUriChangedClosure :: TerminalCurrentFileUriChangedCallback -> IO Closure
-terminalCurrentFileUriChangedClosure cb = newCClosure =<< mkTerminalCurrentFileUriChangedCallback wrapped
-    where wrapped = terminalCurrentFileUriChangedCallbackWrapper cb
-
-terminalCurrentFileUriChangedCallbackWrapper ::
-    TerminalCurrentFileUriChangedCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalCurrentFileUriChangedCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalCurrentFileUriChanged :: (GObject a, MonadIO m) => a -> TerminalCurrentFileUriChangedCallback -> m SignalHandlerId
-onTerminalCurrentFileUriChanged obj cb = liftIO $ connectTerminalCurrentFileUriChanged obj cb SignalConnectBefore
-afterTerminalCurrentFileUriChanged :: (GObject a, MonadIO m) => a -> TerminalCurrentFileUriChangedCallback -> m SignalHandlerId
-afterTerminalCurrentFileUriChanged obj cb = connectTerminalCurrentFileUriChanged obj cb SignalConnectAfter
-
-connectTerminalCurrentFileUriChanged :: (GObject a, MonadIO m) =>
-                                        a -> TerminalCurrentFileUriChangedCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalCurrentFileUriChanged obj cb after = liftIO $ do
-    cb' <- mkTerminalCurrentFileUriChangedCallback (terminalCurrentFileUriChangedCallbackWrapper cb)
-    connectSignalFunPtr obj "current-file-uri-changed" cb' after
-
--- signal Terminal::cursor-moved
-type TerminalCursorMovedCallback =
-    IO ()
-
-noTerminalCursorMovedCallback :: Maybe TerminalCursorMovedCallback
-noTerminalCursorMovedCallback = Nothing
-
-type TerminalCursorMovedCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalCursorMovedCallback :: TerminalCursorMovedCallbackC -> IO (FunPtr TerminalCursorMovedCallbackC)
-
-terminalCursorMovedClosure :: TerminalCursorMovedCallback -> IO Closure
-terminalCursorMovedClosure cb = newCClosure =<< mkTerminalCursorMovedCallback wrapped
-    where wrapped = terminalCursorMovedCallbackWrapper cb
-
-terminalCursorMovedCallbackWrapper ::
-    TerminalCursorMovedCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalCursorMovedCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalCursorMoved :: (GObject a, MonadIO m) => a -> TerminalCursorMovedCallback -> m SignalHandlerId
-onTerminalCursorMoved obj cb = liftIO $ connectTerminalCursorMoved obj cb SignalConnectBefore
-afterTerminalCursorMoved :: (GObject a, MonadIO m) => a -> TerminalCursorMovedCallback -> m SignalHandlerId
-afterTerminalCursorMoved obj cb = connectTerminalCursorMoved obj cb SignalConnectAfter
-
-connectTerminalCursorMoved :: (GObject a, MonadIO m) =>
-                              a -> TerminalCursorMovedCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalCursorMoved obj cb after = liftIO $ do
-    cb' <- mkTerminalCursorMovedCallback (terminalCursorMovedCallbackWrapper cb)
-    connectSignalFunPtr obj "cursor-moved" cb' after
-
--- signal Terminal::decrease-font-size
-type TerminalDecreaseFontSizeCallback =
-    IO ()
-
-noTerminalDecreaseFontSizeCallback :: Maybe TerminalDecreaseFontSizeCallback
-noTerminalDecreaseFontSizeCallback = Nothing
-
-type TerminalDecreaseFontSizeCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalDecreaseFontSizeCallback :: TerminalDecreaseFontSizeCallbackC -> IO (FunPtr TerminalDecreaseFontSizeCallbackC)
-
-terminalDecreaseFontSizeClosure :: TerminalDecreaseFontSizeCallback -> IO Closure
-terminalDecreaseFontSizeClosure cb = newCClosure =<< mkTerminalDecreaseFontSizeCallback wrapped
-    where wrapped = terminalDecreaseFontSizeCallbackWrapper cb
-
-terminalDecreaseFontSizeCallbackWrapper ::
-    TerminalDecreaseFontSizeCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalDecreaseFontSizeCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalDecreaseFontSize :: (GObject a, MonadIO m) => a -> TerminalDecreaseFontSizeCallback -> m SignalHandlerId
-onTerminalDecreaseFontSize obj cb = liftIO $ connectTerminalDecreaseFontSize obj cb SignalConnectBefore
-afterTerminalDecreaseFontSize :: (GObject a, MonadIO m) => a -> TerminalDecreaseFontSizeCallback -> m SignalHandlerId
-afterTerminalDecreaseFontSize obj cb = connectTerminalDecreaseFontSize obj cb SignalConnectAfter
-
-connectTerminalDecreaseFontSize :: (GObject a, MonadIO m) =>
-                                   a -> TerminalDecreaseFontSizeCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalDecreaseFontSize obj cb after = liftIO $ do
-    cb' <- mkTerminalDecreaseFontSizeCallback (terminalDecreaseFontSizeCallbackWrapper cb)
-    connectSignalFunPtr obj "decrease-font-size" cb' after
-
--- signal Terminal::deiconify-window
-type TerminalDeiconifyWindowCallback =
-    IO ()
-
-noTerminalDeiconifyWindowCallback :: Maybe TerminalDeiconifyWindowCallback
-noTerminalDeiconifyWindowCallback = Nothing
-
-type TerminalDeiconifyWindowCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalDeiconifyWindowCallback :: TerminalDeiconifyWindowCallbackC -> IO (FunPtr TerminalDeiconifyWindowCallbackC)
-
-terminalDeiconifyWindowClosure :: TerminalDeiconifyWindowCallback -> IO Closure
-terminalDeiconifyWindowClosure cb = newCClosure =<< mkTerminalDeiconifyWindowCallback wrapped
-    where wrapped = terminalDeiconifyWindowCallbackWrapper cb
-
-terminalDeiconifyWindowCallbackWrapper ::
-    TerminalDeiconifyWindowCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalDeiconifyWindowCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalDeiconifyWindow :: (GObject a, MonadIO m) => a -> TerminalDeiconifyWindowCallback -> m SignalHandlerId
-onTerminalDeiconifyWindow obj cb = liftIO $ connectTerminalDeiconifyWindow obj cb SignalConnectBefore
-afterTerminalDeiconifyWindow :: (GObject a, MonadIO m) => a -> TerminalDeiconifyWindowCallback -> m SignalHandlerId
-afterTerminalDeiconifyWindow obj cb = connectTerminalDeiconifyWindow obj cb SignalConnectAfter
-
-connectTerminalDeiconifyWindow :: (GObject a, MonadIO m) =>
-                                  a -> TerminalDeiconifyWindowCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalDeiconifyWindow obj cb after = liftIO $ do
-    cb' <- mkTerminalDeiconifyWindowCallback (terminalDeiconifyWindowCallbackWrapper cb)
-    connectSignalFunPtr obj "deiconify-window" cb' after
-
--- signal Terminal::encoding-changed
-type TerminalEncodingChangedCallback =
-    IO ()
-
-noTerminalEncodingChangedCallback :: Maybe TerminalEncodingChangedCallback
-noTerminalEncodingChangedCallback = Nothing
-
-type TerminalEncodingChangedCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalEncodingChangedCallback :: TerminalEncodingChangedCallbackC -> IO (FunPtr TerminalEncodingChangedCallbackC)
-
-terminalEncodingChangedClosure :: TerminalEncodingChangedCallback -> IO Closure
-terminalEncodingChangedClosure cb = newCClosure =<< mkTerminalEncodingChangedCallback wrapped
-    where wrapped = terminalEncodingChangedCallbackWrapper cb
-
-terminalEncodingChangedCallbackWrapper ::
-    TerminalEncodingChangedCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalEncodingChangedCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalEncodingChanged :: (GObject a, MonadIO m) => a -> TerminalEncodingChangedCallback -> m SignalHandlerId
-onTerminalEncodingChanged obj cb = liftIO $ connectTerminalEncodingChanged obj cb SignalConnectBefore
-afterTerminalEncodingChanged :: (GObject a, MonadIO m) => a -> TerminalEncodingChangedCallback -> m SignalHandlerId
-afterTerminalEncodingChanged obj cb = connectTerminalEncodingChanged obj cb SignalConnectAfter
-
-connectTerminalEncodingChanged :: (GObject a, MonadIO m) =>
-                                  a -> TerminalEncodingChangedCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalEncodingChanged obj cb after = liftIO $ do
-    cb' <- mkTerminalEncodingChangedCallback (terminalEncodingChangedCallbackWrapper cb)
-    connectSignalFunPtr obj "encoding-changed" cb' after
-
--- signal Terminal::eof
-type TerminalEofCallback =
-    IO ()
-
-noTerminalEofCallback :: Maybe TerminalEofCallback
-noTerminalEofCallback = Nothing
-
-type TerminalEofCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalEofCallback :: TerminalEofCallbackC -> IO (FunPtr TerminalEofCallbackC)
-
-terminalEofClosure :: TerminalEofCallback -> IO Closure
-terminalEofClosure cb = newCClosure =<< mkTerminalEofCallback wrapped
-    where wrapped = terminalEofCallbackWrapper cb
-
-terminalEofCallbackWrapper ::
-    TerminalEofCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalEofCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalEof :: (GObject a, MonadIO m) => a -> TerminalEofCallback -> m SignalHandlerId
-onTerminalEof obj cb = liftIO $ connectTerminalEof obj cb SignalConnectBefore
-afterTerminalEof :: (GObject a, MonadIO m) => a -> TerminalEofCallback -> m SignalHandlerId
-afterTerminalEof obj cb = connectTerminalEof obj cb SignalConnectAfter
-
-connectTerminalEof :: (GObject a, MonadIO m) =>
-                      a -> TerminalEofCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalEof obj cb after = liftIO $ do
-    cb' <- mkTerminalEofCallback (terminalEofCallbackWrapper cb)
-    connectSignalFunPtr obj "eof" cb' after
-
--- signal Terminal::icon-title-changed
-type TerminalIconTitleChangedCallback =
-    IO ()
-
-noTerminalIconTitleChangedCallback :: Maybe TerminalIconTitleChangedCallback
-noTerminalIconTitleChangedCallback = Nothing
-
-type TerminalIconTitleChangedCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalIconTitleChangedCallback :: TerminalIconTitleChangedCallbackC -> IO (FunPtr TerminalIconTitleChangedCallbackC)
-
-terminalIconTitleChangedClosure :: TerminalIconTitleChangedCallback -> IO Closure
-terminalIconTitleChangedClosure cb = newCClosure =<< mkTerminalIconTitleChangedCallback wrapped
-    where wrapped = terminalIconTitleChangedCallbackWrapper cb
-
-terminalIconTitleChangedCallbackWrapper ::
-    TerminalIconTitleChangedCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalIconTitleChangedCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalIconTitleChanged :: (GObject a, MonadIO m) => a -> TerminalIconTitleChangedCallback -> m SignalHandlerId
-onTerminalIconTitleChanged obj cb = liftIO $ connectTerminalIconTitleChanged obj cb SignalConnectBefore
-afterTerminalIconTitleChanged :: (GObject a, MonadIO m) => a -> TerminalIconTitleChangedCallback -> m SignalHandlerId
-afterTerminalIconTitleChanged obj cb = connectTerminalIconTitleChanged obj cb SignalConnectAfter
-
-connectTerminalIconTitleChanged :: (GObject a, MonadIO m) =>
-                                   a -> TerminalIconTitleChangedCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalIconTitleChanged obj cb after = liftIO $ do
-    cb' <- mkTerminalIconTitleChangedCallback (terminalIconTitleChangedCallbackWrapper cb)
-    connectSignalFunPtr obj "icon-title-changed" cb' after
-
--- signal Terminal::iconify-window
-type TerminalIconifyWindowCallback =
-    IO ()
-
-noTerminalIconifyWindowCallback :: Maybe TerminalIconifyWindowCallback
-noTerminalIconifyWindowCallback = Nothing
-
-type TerminalIconifyWindowCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalIconifyWindowCallback :: TerminalIconifyWindowCallbackC -> IO (FunPtr TerminalIconifyWindowCallbackC)
-
-terminalIconifyWindowClosure :: TerminalIconifyWindowCallback -> IO Closure
-terminalIconifyWindowClosure cb = newCClosure =<< mkTerminalIconifyWindowCallback wrapped
-    where wrapped = terminalIconifyWindowCallbackWrapper cb
-
-terminalIconifyWindowCallbackWrapper ::
-    TerminalIconifyWindowCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalIconifyWindowCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalIconifyWindow :: (GObject a, MonadIO m) => a -> TerminalIconifyWindowCallback -> m SignalHandlerId
-onTerminalIconifyWindow obj cb = liftIO $ connectTerminalIconifyWindow obj cb SignalConnectBefore
-afterTerminalIconifyWindow :: (GObject a, MonadIO m) => a -> TerminalIconifyWindowCallback -> m SignalHandlerId
-afterTerminalIconifyWindow obj cb = connectTerminalIconifyWindow obj cb SignalConnectAfter
-
-connectTerminalIconifyWindow :: (GObject a, MonadIO m) =>
-                                a -> TerminalIconifyWindowCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalIconifyWindow obj cb after = liftIO $ do
-    cb' <- mkTerminalIconifyWindowCallback (terminalIconifyWindowCallbackWrapper cb)
-    connectSignalFunPtr obj "iconify-window" cb' after
-
--- signal Terminal::increase-font-size
-type TerminalIncreaseFontSizeCallback =
-    IO ()
-
-noTerminalIncreaseFontSizeCallback :: Maybe TerminalIncreaseFontSizeCallback
-noTerminalIncreaseFontSizeCallback = Nothing
-
-type TerminalIncreaseFontSizeCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalIncreaseFontSizeCallback :: TerminalIncreaseFontSizeCallbackC -> IO (FunPtr TerminalIncreaseFontSizeCallbackC)
-
-terminalIncreaseFontSizeClosure :: TerminalIncreaseFontSizeCallback -> IO Closure
-terminalIncreaseFontSizeClosure cb = newCClosure =<< mkTerminalIncreaseFontSizeCallback wrapped
-    where wrapped = terminalIncreaseFontSizeCallbackWrapper cb
-
-terminalIncreaseFontSizeCallbackWrapper ::
-    TerminalIncreaseFontSizeCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalIncreaseFontSizeCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalIncreaseFontSize :: (GObject a, MonadIO m) => a -> TerminalIncreaseFontSizeCallback -> m SignalHandlerId
-onTerminalIncreaseFontSize obj cb = liftIO $ connectTerminalIncreaseFontSize obj cb SignalConnectBefore
-afterTerminalIncreaseFontSize :: (GObject a, MonadIO m) => a -> TerminalIncreaseFontSizeCallback -> m SignalHandlerId
-afterTerminalIncreaseFontSize obj cb = connectTerminalIncreaseFontSize obj cb SignalConnectAfter
-
-connectTerminalIncreaseFontSize :: (GObject a, MonadIO m) =>
-                                   a -> TerminalIncreaseFontSizeCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalIncreaseFontSize obj cb after = liftIO $ do
-    cb' <- mkTerminalIncreaseFontSizeCallback (terminalIncreaseFontSizeCallbackWrapper cb)
-    connectSignalFunPtr obj "increase-font-size" cb' after
-
--- signal Terminal::lower-window
-type TerminalLowerWindowCallback =
-    IO ()
-
-noTerminalLowerWindowCallback :: Maybe TerminalLowerWindowCallback
-noTerminalLowerWindowCallback = Nothing
-
-type TerminalLowerWindowCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalLowerWindowCallback :: TerminalLowerWindowCallbackC -> IO (FunPtr TerminalLowerWindowCallbackC)
-
-terminalLowerWindowClosure :: TerminalLowerWindowCallback -> IO Closure
-terminalLowerWindowClosure cb = newCClosure =<< mkTerminalLowerWindowCallback wrapped
-    where wrapped = terminalLowerWindowCallbackWrapper cb
-
-terminalLowerWindowCallbackWrapper ::
-    TerminalLowerWindowCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalLowerWindowCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalLowerWindow :: (GObject a, MonadIO m) => a -> TerminalLowerWindowCallback -> m SignalHandlerId
-onTerminalLowerWindow obj cb = liftIO $ connectTerminalLowerWindow obj cb SignalConnectBefore
-afterTerminalLowerWindow :: (GObject a, MonadIO m) => a -> TerminalLowerWindowCallback -> m SignalHandlerId
-afterTerminalLowerWindow obj cb = connectTerminalLowerWindow obj cb SignalConnectAfter
-
-connectTerminalLowerWindow :: (GObject a, MonadIO m) =>
-                              a -> TerminalLowerWindowCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalLowerWindow obj cb after = liftIO $ do
-    cb' <- mkTerminalLowerWindowCallback (terminalLowerWindowCallbackWrapper cb)
-    connectSignalFunPtr obj "lower-window" cb' after
-
--- signal Terminal::maximize-window
-type TerminalMaximizeWindowCallback =
-    IO ()
-
-noTerminalMaximizeWindowCallback :: Maybe TerminalMaximizeWindowCallback
-noTerminalMaximizeWindowCallback = Nothing
-
-type TerminalMaximizeWindowCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalMaximizeWindowCallback :: TerminalMaximizeWindowCallbackC -> IO (FunPtr TerminalMaximizeWindowCallbackC)
-
-terminalMaximizeWindowClosure :: TerminalMaximizeWindowCallback -> IO Closure
-terminalMaximizeWindowClosure cb = newCClosure =<< mkTerminalMaximizeWindowCallback wrapped
-    where wrapped = terminalMaximizeWindowCallbackWrapper cb
-
-terminalMaximizeWindowCallbackWrapper ::
-    TerminalMaximizeWindowCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalMaximizeWindowCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalMaximizeWindow :: (GObject a, MonadIO m) => a -> TerminalMaximizeWindowCallback -> m SignalHandlerId
-onTerminalMaximizeWindow obj cb = liftIO $ connectTerminalMaximizeWindow obj cb SignalConnectBefore
-afterTerminalMaximizeWindow :: (GObject a, MonadIO m) => a -> TerminalMaximizeWindowCallback -> m SignalHandlerId
-afterTerminalMaximizeWindow obj cb = connectTerminalMaximizeWindow obj cb SignalConnectAfter
-
-connectTerminalMaximizeWindow :: (GObject a, MonadIO m) =>
-                                 a -> TerminalMaximizeWindowCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalMaximizeWindow obj cb after = liftIO $ do
-    cb' <- mkTerminalMaximizeWindowCallback (terminalMaximizeWindowCallbackWrapper cb)
-    connectSignalFunPtr obj "maximize-window" cb' after
-
--- signal Terminal::move-window
-type TerminalMoveWindowCallback =
-    Word32 ->
-    Word32 ->
-    IO ()
-
-noTerminalMoveWindowCallback :: Maybe TerminalMoveWindowCallback
-noTerminalMoveWindowCallback = Nothing
-
-type TerminalMoveWindowCallbackC =
-    Ptr () ->                               -- object
-    Word32 ->
-    Word32 ->
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalMoveWindowCallback :: TerminalMoveWindowCallbackC -> IO (FunPtr TerminalMoveWindowCallbackC)
-
-terminalMoveWindowClosure :: TerminalMoveWindowCallback -> IO Closure
-terminalMoveWindowClosure cb = newCClosure =<< mkTerminalMoveWindowCallback wrapped
-    where wrapped = terminalMoveWindowCallbackWrapper cb
-
-terminalMoveWindowCallbackWrapper ::
-    TerminalMoveWindowCallback ->
-    Ptr () ->
-    Word32 ->
-    Word32 ->
-    Ptr () ->
-    IO ()
-terminalMoveWindowCallbackWrapper _cb _ x y _ = do
-    _cb  x y
-
-onTerminalMoveWindow :: (GObject a, MonadIO m) => a -> TerminalMoveWindowCallback -> m SignalHandlerId
-onTerminalMoveWindow obj cb = liftIO $ connectTerminalMoveWindow obj cb SignalConnectBefore
-afterTerminalMoveWindow :: (GObject a, MonadIO m) => a -> TerminalMoveWindowCallback -> m SignalHandlerId
-afterTerminalMoveWindow obj cb = connectTerminalMoveWindow obj cb SignalConnectAfter
-
-connectTerminalMoveWindow :: (GObject a, MonadIO m) =>
-                             a -> TerminalMoveWindowCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalMoveWindow obj cb after = liftIO $ do
-    cb' <- mkTerminalMoveWindowCallback (terminalMoveWindowCallbackWrapper cb)
-    connectSignalFunPtr obj "move-window" cb' after
-
--- signal Terminal::notification-received
-type TerminalNotificationReceivedCallback =
-    T.Text ->
-    Maybe T.Text ->
-    IO ()
-
-noTerminalNotificationReceivedCallback :: Maybe TerminalNotificationReceivedCallback
-noTerminalNotificationReceivedCallback = Nothing
-
-type TerminalNotificationReceivedCallbackC =
-    Ptr () ->                               -- object
-    CString ->
-    CString ->
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalNotificationReceivedCallback :: TerminalNotificationReceivedCallbackC -> IO (FunPtr TerminalNotificationReceivedCallbackC)
-
-terminalNotificationReceivedClosure :: TerminalNotificationReceivedCallback -> IO Closure
-terminalNotificationReceivedClosure cb = newCClosure =<< mkTerminalNotificationReceivedCallback wrapped
-    where wrapped = terminalNotificationReceivedCallbackWrapper cb
-
-terminalNotificationReceivedCallbackWrapper ::
-    TerminalNotificationReceivedCallback ->
-    Ptr () ->
-    CString ->
-    CString ->
-    Ptr () ->
-    IO ()
-terminalNotificationReceivedCallbackWrapper _cb _ summary body _ = do
-    summary' <- cstringToText summary
-    maybeBody <-
-        if body == nullPtr
-        then return Nothing
-        else do
-            body' <- cstringToText body
-            return $ Just body'
-    _cb  summary' maybeBody
-
-onTerminalNotificationReceived :: (GObject a, MonadIO m) => a -> TerminalNotificationReceivedCallback -> m SignalHandlerId
-onTerminalNotificationReceived obj cb = liftIO $ connectTerminalNotificationReceived obj cb SignalConnectBefore
-afterTerminalNotificationReceived :: (GObject a, MonadIO m) => a -> TerminalNotificationReceivedCallback -> m SignalHandlerId
-afterTerminalNotificationReceived obj cb = connectTerminalNotificationReceived obj cb SignalConnectAfter
-
-connectTerminalNotificationReceived :: (GObject a, MonadIO m) =>
-                                       a -> TerminalNotificationReceivedCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalNotificationReceived obj cb after = liftIO $ do
-    cb' <- mkTerminalNotificationReceivedCallback (terminalNotificationReceivedCallbackWrapper cb)
-    connectSignalFunPtr obj "notification-received" cb' after
-
--- signal Terminal::paste-clipboard
-type TerminalPasteClipboardCallback =
-    IO ()
-
-noTerminalPasteClipboardCallback :: Maybe TerminalPasteClipboardCallback
-noTerminalPasteClipboardCallback = Nothing
-
-type TerminalPasteClipboardCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalPasteClipboardCallback :: TerminalPasteClipboardCallbackC -> IO (FunPtr TerminalPasteClipboardCallbackC)
-
-terminalPasteClipboardClosure :: TerminalPasteClipboardCallback -> IO Closure
-terminalPasteClipboardClosure cb = newCClosure =<< mkTerminalPasteClipboardCallback wrapped
-    where wrapped = terminalPasteClipboardCallbackWrapper cb
-
-terminalPasteClipboardCallbackWrapper ::
-    TerminalPasteClipboardCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalPasteClipboardCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalPasteClipboard :: (GObject a, MonadIO m) => a -> TerminalPasteClipboardCallback -> m SignalHandlerId
-onTerminalPasteClipboard obj cb = liftIO $ connectTerminalPasteClipboard obj cb SignalConnectBefore
-afterTerminalPasteClipboard :: (GObject a, MonadIO m) => a -> TerminalPasteClipboardCallback -> m SignalHandlerId
-afterTerminalPasteClipboard obj cb = connectTerminalPasteClipboard obj cb SignalConnectAfter
-
-connectTerminalPasteClipboard :: (GObject a, MonadIO m) =>
-                                 a -> TerminalPasteClipboardCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalPasteClipboard obj cb after = liftIO $ do
-    cb' <- mkTerminalPasteClipboardCallback (terminalPasteClipboardCallbackWrapper cb)
-    connectSignalFunPtr obj "paste-clipboard" cb' after
-
--- signal Terminal::raise-window
-type TerminalRaiseWindowCallback =
-    IO ()
-
-noTerminalRaiseWindowCallback :: Maybe TerminalRaiseWindowCallback
-noTerminalRaiseWindowCallback = Nothing
-
-type TerminalRaiseWindowCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalRaiseWindowCallback :: TerminalRaiseWindowCallbackC -> IO (FunPtr TerminalRaiseWindowCallbackC)
-
-terminalRaiseWindowClosure :: TerminalRaiseWindowCallback -> IO Closure
-terminalRaiseWindowClosure cb = newCClosure =<< mkTerminalRaiseWindowCallback wrapped
-    where wrapped = terminalRaiseWindowCallbackWrapper cb
-
-terminalRaiseWindowCallbackWrapper ::
-    TerminalRaiseWindowCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalRaiseWindowCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalRaiseWindow :: (GObject a, MonadIO m) => a -> TerminalRaiseWindowCallback -> m SignalHandlerId
-onTerminalRaiseWindow obj cb = liftIO $ connectTerminalRaiseWindow obj cb SignalConnectBefore
-afterTerminalRaiseWindow :: (GObject a, MonadIO m) => a -> TerminalRaiseWindowCallback -> m SignalHandlerId
-afterTerminalRaiseWindow obj cb = connectTerminalRaiseWindow obj cb SignalConnectAfter
-
-connectTerminalRaiseWindow :: (GObject a, MonadIO m) =>
-                              a -> TerminalRaiseWindowCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalRaiseWindow obj cb after = liftIO $ do
-    cb' <- mkTerminalRaiseWindowCallback (terminalRaiseWindowCallbackWrapper cb)
-    connectSignalFunPtr obj "raise-window" cb' after
-
--- signal Terminal::refresh-window
-type TerminalRefreshWindowCallback =
-    IO ()
-
-noTerminalRefreshWindowCallback :: Maybe TerminalRefreshWindowCallback
-noTerminalRefreshWindowCallback = Nothing
-
-type TerminalRefreshWindowCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalRefreshWindowCallback :: TerminalRefreshWindowCallbackC -> IO (FunPtr TerminalRefreshWindowCallbackC)
-
-terminalRefreshWindowClosure :: TerminalRefreshWindowCallback -> IO Closure
-terminalRefreshWindowClosure cb = newCClosure =<< mkTerminalRefreshWindowCallback wrapped
-    where wrapped = terminalRefreshWindowCallbackWrapper cb
-
-terminalRefreshWindowCallbackWrapper ::
-    TerminalRefreshWindowCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalRefreshWindowCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalRefreshWindow :: (GObject a, MonadIO m) => a -> TerminalRefreshWindowCallback -> m SignalHandlerId
-onTerminalRefreshWindow obj cb = liftIO $ connectTerminalRefreshWindow obj cb SignalConnectBefore
-afterTerminalRefreshWindow :: (GObject a, MonadIO m) => a -> TerminalRefreshWindowCallback -> m SignalHandlerId
-afterTerminalRefreshWindow obj cb = connectTerminalRefreshWindow obj cb SignalConnectAfter
-
-connectTerminalRefreshWindow :: (GObject a, MonadIO m) =>
-                                a -> TerminalRefreshWindowCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalRefreshWindow obj cb after = liftIO $ do
-    cb' <- mkTerminalRefreshWindowCallback (terminalRefreshWindowCallbackWrapper cb)
-    connectSignalFunPtr obj "refresh-window" cb' after
-
--- signal Terminal::resize-window
-type TerminalResizeWindowCallback =
-    Word32 ->
-    Word32 ->
-    IO ()
-
-noTerminalResizeWindowCallback :: Maybe TerminalResizeWindowCallback
-noTerminalResizeWindowCallback = Nothing
-
-type TerminalResizeWindowCallbackC =
-    Ptr () ->                               -- object
-    Word32 ->
-    Word32 ->
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalResizeWindowCallback :: TerminalResizeWindowCallbackC -> IO (FunPtr TerminalResizeWindowCallbackC)
-
-terminalResizeWindowClosure :: TerminalResizeWindowCallback -> IO Closure
-terminalResizeWindowClosure cb = newCClosure =<< mkTerminalResizeWindowCallback wrapped
-    where wrapped = terminalResizeWindowCallbackWrapper cb
-
-terminalResizeWindowCallbackWrapper ::
-    TerminalResizeWindowCallback ->
-    Ptr () ->
-    Word32 ->
-    Word32 ->
-    Ptr () ->
-    IO ()
-terminalResizeWindowCallbackWrapper _cb _ width height _ = do
-    _cb  width height
-
-onTerminalResizeWindow :: (GObject a, MonadIO m) => a -> TerminalResizeWindowCallback -> m SignalHandlerId
-onTerminalResizeWindow obj cb = liftIO $ connectTerminalResizeWindow obj cb SignalConnectBefore
-afterTerminalResizeWindow :: (GObject a, MonadIO m) => a -> TerminalResizeWindowCallback -> m SignalHandlerId
-afterTerminalResizeWindow obj cb = connectTerminalResizeWindow obj cb SignalConnectAfter
-
-connectTerminalResizeWindow :: (GObject a, MonadIO m) =>
-                               a -> TerminalResizeWindowCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalResizeWindow obj cb after = liftIO $ do
-    cb' <- mkTerminalResizeWindowCallback (terminalResizeWindowCallbackWrapper cb)
-    connectSignalFunPtr obj "resize-window" cb' after
-
--- signal Terminal::restore-window
-type TerminalRestoreWindowCallback =
-    IO ()
-
-noTerminalRestoreWindowCallback :: Maybe TerminalRestoreWindowCallback
-noTerminalRestoreWindowCallback = Nothing
-
-type TerminalRestoreWindowCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalRestoreWindowCallback :: TerminalRestoreWindowCallbackC -> IO (FunPtr TerminalRestoreWindowCallbackC)
-
-terminalRestoreWindowClosure :: TerminalRestoreWindowCallback -> IO Closure
-terminalRestoreWindowClosure cb = newCClosure =<< mkTerminalRestoreWindowCallback wrapped
-    where wrapped = terminalRestoreWindowCallbackWrapper cb
-
-terminalRestoreWindowCallbackWrapper ::
-    TerminalRestoreWindowCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalRestoreWindowCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalRestoreWindow :: (GObject a, MonadIO m) => a -> TerminalRestoreWindowCallback -> m SignalHandlerId
-onTerminalRestoreWindow obj cb = liftIO $ connectTerminalRestoreWindow obj cb SignalConnectBefore
-afterTerminalRestoreWindow :: (GObject a, MonadIO m) => a -> TerminalRestoreWindowCallback -> m SignalHandlerId
-afterTerminalRestoreWindow obj cb = connectTerminalRestoreWindow obj cb SignalConnectAfter
-
-connectTerminalRestoreWindow :: (GObject a, MonadIO m) =>
-                                a -> TerminalRestoreWindowCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalRestoreWindow obj cb after = liftIO $ do
-    cb' <- mkTerminalRestoreWindowCallback (terminalRestoreWindowCallbackWrapper cb)
-    connectSignalFunPtr obj "restore-window" cb' after
-
--- signal Terminal::selection-changed
-type TerminalSelectionChangedCallback =
-    IO ()
-
-noTerminalSelectionChangedCallback :: Maybe TerminalSelectionChangedCallback
-noTerminalSelectionChangedCallback = Nothing
-
-type TerminalSelectionChangedCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalSelectionChangedCallback :: TerminalSelectionChangedCallbackC -> IO (FunPtr TerminalSelectionChangedCallbackC)
-
-terminalSelectionChangedClosure :: TerminalSelectionChangedCallback -> IO Closure
-terminalSelectionChangedClosure cb = newCClosure =<< mkTerminalSelectionChangedCallback wrapped
-    where wrapped = terminalSelectionChangedCallbackWrapper cb
-
-terminalSelectionChangedCallbackWrapper ::
-    TerminalSelectionChangedCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalSelectionChangedCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalSelectionChanged :: (GObject a, MonadIO m) => a -> TerminalSelectionChangedCallback -> m SignalHandlerId
-onTerminalSelectionChanged obj cb = liftIO $ connectTerminalSelectionChanged obj cb SignalConnectBefore
-afterTerminalSelectionChanged :: (GObject a, MonadIO m) => a -> TerminalSelectionChangedCallback -> m SignalHandlerId
-afterTerminalSelectionChanged obj cb = connectTerminalSelectionChanged obj cb SignalConnectAfter
-
-connectTerminalSelectionChanged :: (GObject a, MonadIO m) =>
-                                   a -> TerminalSelectionChangedCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalSelectionChanged obj cb after = liftIO $ do
-    cb' <- mkTerminalSelectionChangedCallback (terminalSelectionChangedCallbackWrapper cb)
-    connectSignalFunPtr obj "selection-changed" cb' after
-
--- signal Terminal::text-deleted
-type TerminalTextDeletedCallback =
-    IO ()
-
-noTerminalTextDeletedCallback :: Maybe TerminalTextDeletedCallback
-noTerminalTextDeletedCallback = Nothing
-
-type TerminalTextDeletedCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalTextDeletedCallback :: TerminalTextDeletedCallbackC -> IO (FunPtr TerminalTextDeletedCallbackC)
-
-terminalTextDeletedClosure :: TerminalTextDeletedCallback -> IO Closure
-terminalTextDeletedClosure cb = newCClosure =<< mkTerminalTextDeletedCallback wrapped
-    where wrapped = terminalTextDeletedCallbackWrapper cb
-
-terminalTextDeletedCallbackWrapper ::
-    TerminalTextDeletedCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalTextDeletedCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalTextDeleted :: (GObject a, MonadIO m) => a -> TerminalTextDeletedCallback -> m SignalHandlerId
-onTerminalTextDeleted obj cb = liftIO $ connectTerminalTextDeleted obj cb SignalConnectBefore
-afterTerminalTextDeleted :: (GObject a, MonadIO m) => a -> TerminalTextDeletedCallback -> m SignalHandlerId
-afterTerminalTextDeleted obj cb = connectTerminalTextDeleted obj cb SignalConnectAfter
-
-connectTerminalTextDeleted :: (GObject a, MonadIO m) =>
-                              a -> TerminalTextDeletedCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalTextDeleted obj cb after = liftIO $ do
-    cb' <- mkTerminalTextDeletedCallback (terminalTextDeletedCallbackWrapper cb)
-    connectSignalFunPtr obj "text-deleted" cb' after
-
--- signal Terminal::text-inserted
-type TerminalTextInsertedCallback =
-    IO ()
-
-noTerminalTextInsertedCallback :: Maybe TerminalTextInsertedCallback
-noTerminalTextInsertedCallback = Nothing
-
-type TerminalTextInsertedCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalTextInsertedCallback :: TerminalTextInsertedCallbackC -> IO (FunPtr TerminalTextInsertedCallbackC)
-
-terminalTextInsertedClosure :: TerminalTextInsertedCallback -> IO Closure
-terminalTextInsertedClosure cb = newCClosure =<< mkTerminalTextInsertedCallback wrapped
-    where wrapped = terminalTextInsertedCallbackWrapper cb
-
-terminalTextInsertedCallbackWrapper ::
-    TerminalTextInsertedCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalTextInsertedCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalTextInserted :: (GObject a, MonadIO m) => a -> TerminalTextInsertedCallback -> m SignalHandlerId
-onTerminalTextInserted obj cb = liftIO $ connectTerminalTextInserted obj cb SignalConnectBefore
-afterTerminalTextInserted :: (GObject a, MonadIO m) => a -> TerminalTextInsertedCallback -> m SignalHandlerId
-afterTerminalTextInserted obj cb = connectTerminalTextInserted obj cb SignalConnectAfter
-
-connectTerminalTextInserted :: (GObject a, MonadIO m) =>
-                               a -> TerminalTextInsertedCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalTextInserted obj cb after = liftIO $ do
-    cb' <- mkTerminalTextInsertedCallback (terminalTextInsertedCallbackWrapper cb)
-    connectSignalFunPtr obj "text-inserted" cb' after
-
--- signal Terminal::text-modified
-type TerminalTextModifiedCallback =
-    IO ()
-
-noTerminalTextModifiedCallback :: Maybe TerminalTextModifiedCallback
-noTerminalTextModifiedCallback = Nothing
-
-type TerminalTextModifiedCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalTextModifiedCallback :: TerminalTextModifiedCallbackC -> IO (FunPtr TerminalTextModifiedCallbackC)
-
-terminalTextModifiedClosure :: TerminalTextModifiedCallback -> IO Closure
-terminalTextModifiedClosure cb = newCClosure =<< mkTerminalTextModifiedCallback wrapped
-    where wrapped = terminalTextModifiedCallbackWrapper cb
-
-terminalTextModifiedCallbackWrapper ::
-    TerminalTextModifiedCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalTextModifiedCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalTextModified :: (GObject a, MonadIO m) => a -> TerminalTextModifiedCallback -> m SignalHandlerId
-onTerminalTextModified obj cb = liftIO $ connectTerminalTextModified obj cb SignalConnectBefore
-afterTerminalTextModified :: (GObject a, MonadIO m) => a -> TerminalTextModifiedCallback -> m SignalHandlerId
-afterTerminalTextModified obj cb = connectTerminalTextModified obj cb SignalConnectAfter
-
-connectTerminalTextModified :: (GObject a, MonadIO m) =>
-                               a -> TerminalTextModifiedCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalTextModified obj cb after = liftIO $ do
-    cb' <- mkTerminalTextModifiedCallback (terminalTextModifiedCallbackWrapper cb)
-    connectSignalFunPtr obj "text-modified" cb' after
-
--- signal Terminal::text-scrolled
-type TerminalTextScrolledCallback =
-    Int32 ->
-    IO ()
-
-noTerminalTextScrolledCallback :: Maybe TerminalTextScrolledCallback
-noTerminalTextScrolledCallback = Nothing
-
-type TerminalTextScrolledCallbackC =
-    Ptr () ->                               -- object
-    Int32 ->
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalTextScrolledCallback :: TerminalTextScrolledCallbackC -> IO (FunPtr TerminalTextScrolledCallbackC)
-
-terminalTextScrolledClosure :: TerminalTextScrolledCallback -> IO Closure
-terminalTextScrolledClosure cb = newCClosure =<< mkTerminalTextScrolledCallback wrapped
-    where wrapped = terminalTextScrolledCallbackWrapper cb
-
-terminalTextScrolledCallbackWrapper ::
-    TerminalTextScrolledCallback ->
-    Ptr () ->
-    Int32 ->
-    Ptr () ->
-    IO ()
-terminalTextScrolledCallbackWrapper _cb _ delta _ = do
-    _cb  delta
-
-onTerminalTextScrolled :: (GObject a, MonadIO m) => a -> TerminalTextScrolledCallback -> m SignalHandlerId
-onTerminalTextScrolled obj cb = liftIO $ connectTerminalTextScrolled obj cb SignalConnectBefore
-afterTerminalTextScrolled :: (GObject a, MonadIO m) => a -> TerminalTextScrolledCallback -> m SignalHandlerId
-afterTerminalTextScrolled obj cb = connectTerminalTextScrolled obj cb SignalConnectAfter
-
-connectTerminalTextScrolled :: (GObject a, MonadIO m) =>
-                               a -> TerminalTextScrolledCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalTextScrolled obj cb after = liftIO $ do
-    cb' <- mkTerminalTextScrolledCallback (terminalTextScrolledCallbackWrapper cb)
-    connectSignalFunPtr obj "text-scrolled" cb' after
-
--- signal Terminal::window-title-changed
-type TerminalWindowTitleChangedCallback =
-    IO ()
-
-noTerminalWindowTitleChangedCallback :: Maybe TerminalWindowTitleChangedCallback
-noTerminalWindowTitleChangedCallback = Nothing
-
-type TerminalWindowTitleChangedCallbackC =
-    Ptr () ->                               -- object
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTerminalWindowTitleChangedCallback :: TerminalWindowTitleChangedCallbackC -> IO (FunPtr TerminalWindowTitleChangedCallbackC)
-
-terminalWindowTitleChangedClosure :: TerminalWindowTitleChangedCallback -> IO Closure
-terminalWindowTitleChangedClosure cb = newCClosure =<< mkTerminalWindowTitleChangedCallback wrapped
-    where wrapped = terminalWindowTitleChangedCallbackWrapper cb
-
-terminalWindowTitleChangedCallbackWrapper ::
-    TerminalWindowTitleChangedCallback ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-terminalWindowTitleChangedCallbackWrapper _cb _ _ = do
-    _cb 
-
-onTerminalWindowTitleChanged :: (GObject a, MonadIO m) => a -> TerminalWindowTitleChangedCallback -> m SignalHandlerId
-onTerminalWindowTitleChanged obj cb = liftIO $ connectTerminalWindowTitleChanged obj cb SignalConnectBefore
-afterTerminalWindowTitleChanged :: (GObject a, MonadIO m) => a -> TerminalWindowTitleChangedCallback -> m SignalHandlerId
-afterTerminalWindowTitleChanged obj cb = connectTerminalWindowTitleChanged obj cb SignalConnectAfter
-
-connectTerminalWindowTitleChanged :: (GObject a, MonadIO m) =>
-                                     a -> TerminalWindowTitleChangedCallback -> SignalConnectMode -> m SignalHandlerId
-connectTerminalWindowTitleChanged obj cb after = liftIO $ do
-    cb' <- mkTerminalWindowTitleChangedCallback (terminalWindowTitleChangedCallbackWrapper cb)
-    connectSignalFunPtr obj "window-title-changed" cb' after
-
--- VVV Prop "allow-bold"
-   -- Type: TBasicType TBoolean
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getTerminalAllowBold :: (MonadIO m, TerminalK o) => o -> m Bool
-getTerminalAllowBold obj = liftIO $ getObjectPropertyBool obj "allow-bold"
-
-setTerminalAllowBold :: (MonadIO m, TerminalK o) => o -> Bool -> m ()
-setTerminalAllowBold obj val = liftIO $ setObjectPropertyBool obj "allow-bold" val
-
-constructTerminalAllowBold :: Bool -> IO ([Char], GValue)
-constructTerminalAllowBold val = constructObjectPropertyBool "allow-bold" val
-
-data TerminalAllowBoldPropertyInfo
-instance AttrInfo TerminalAllowBoldPropertyInfo where
-    type AttrAllowedOps TerminalAllowBoldPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint TerminalAllowBoldPropertyInfo = (~) Bool
-    type AttrBaseTypeConstraint TerminalAllowBoldPropertyInfo = TerminalK
-    type AttrGetType TerminalAllowBoldPropertyInfo = Bool
-    type AttrLabel TerminalAllowBoldPropertyInfo = "Terminal::allow-bold"
-    attrGet _ = getTerminalAllowBold
-    attrSet _ = setTerminalAllowBold
-    attrConstruct _ = constructTerminalAllowBold
-
--- VVV Prop "audible-bell"
-   -- Type: TBasicType TBoolean
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getTerminalAudibleBell :: (MonadIO m, TerminalK o) => o -> m Bool
-getTerminalAudibleBell obj = liftIO $ getObjectPropertyBool obj "audible-bell"
-
-setTerminalAudibleBell :: (MonadIO m, TerminalK o) => o -> Bool -> m ()
-setTerminalAudibleBell obj val = liftIO $ setObjectPropertyBool obj "audible-bell" val
-
-constructTerminalAudibleBell :: Bool -> IO ([Char], GValue)
-constructTerminalAudibleBell val = constructObjectPropertyBool "audible-bell" val
-
-data TerminalAudibleBellPropertyInfo
-instance AttrInfo TerminalAudibleBellPropertyInfo where
-    type AttrAllowedOps TerminalAudibleBellPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint TerminalAudibleBellPropertyInfo = (~) Bool
-    type AttrBaseTypeConstraint TerminalAudibleBellPropertyInfo = TerminalK
-    type AttrGetType TerminalAudibleBellPropertyInfo = Bool
-    type AttrLabel TerminalAudibleBellPropertyInfo = "Terminal::audible-bell"
-    attrGet _ = getTerminalAudibleBell
-    attrSet _ = setTerminalAudibleBell
-    attrConstruct _ = constructTerminalAudibleBell
-
--- VVV Prop "backspace-binding"
-   -- Type: TInterface "Vte" "EraseBinding"
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getTerminalBackspaceBinding :: (MonadIO m, TerminalK o) => o -> m EraseBinding
-getTerminalBackspaceBinding obj = liftIO $ getObjectPropertyEnum obj "backspace-binding"
-
-setTerminalBackspaceBinding :: (MonadIO m, TerminalK o) => o -> EraseBinding -> m ()
-setTerminalBackspaceBinding obj val = liftIO $ setObjectPropertyEnum obj "backspace-binding" val
-
-constructTerminalBackspaceBinding :: EraseBinding -> IO ([Char], GValue)
-constructTerminalBackspaceBinding val = constructObjectPropertyEnum "backspace-binding" val
-
-data TerminalBackspaceBindingPropertyInfo
-instance AttrInfo TerminalBackspaceBindingPropertyInfo where
-    type AttrAllowedOps TerminalBackspaceBindingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint TerminalBackspaceBindingPropertyInfo = (~) EraseBinding
-    type AttrBaseTypeConstraint TerminalBackspaceBindingPropertyInfo = TerminalK
-    type AttrGetType TerminalBackspaceBindingPropertyInfo = EraseBinding
-    type AttrLabel TerminalBackspaceBindingPropertyInfo = "Terminal::backspace-binding"
-    attrGet _ = getTerminalBackspaceBinding
-    attrSet _ = setTerminalBackspaceBinding
-    attrConstruct _ = constructTerminalBackspaceBinding
-
--- VVV Prop "cjk-ambiguous-width"
-   -- Type: TBasicType TInt32
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getTerminalCjkAmbiguousWidth :: (MonadIO m, TerminalK o) => o -> m Int32
-getTerminalCjkAmbiguousWidth obj = liftIO $ getObjectPropertyCInt obj "cjk-ambiguous-width"
-
-setTerminalCjkAmbiguousWidth :: (MonadIO m, TerminalK o) => o -> Int32 -> m ()
-setTerminalCjkAmbiguousWidth obj val = liftIO $ setObjectPropertyCInt obj "cjk-ambiguous-width" val
-
-constructTerminalCjkAmbiguousWidth :: Int32 -> IO ([Char], GValue)
-constructTerminalCjkAmbiguousWidth val = constructObjectPropertyCInt "cjk-ambiguous-width" val
-
-data TerminalCjkAmbiguousWidthPropertyInfo
-instance AttrInfo TerminalCjkAmbiguousWidthPropertyInfo where
-    type AttrAllowedOps TerminalCjkAmbiguousWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint TerminalCjkAmbiguousWidthPropertyInfo = (~) Int32
-    type AttrBaseTypeConstraint TerminalCjkAmbiguousWidthPropertyInfo = TerminalK
-    type AttrGetType TerminalCjkAmbiguousWidthPropertyInfo = Int32
-    type AttrLabel TerminalCjkAmbiguousWidthPropertyInfo = "Terminal::cjk-ambiguous-width"
-    attrGet _ = getTerminalCjkAmbiguousWidth
-    attrSet _ = setTerminalCjkAmbiguousWidth
-    attrConstruct _ = constructTerminalCjkAmbiguousWidth
-
--- VVV Prop "current-directory-uri"
-   -- Type: TBasicType TUTF8
-   -- Flags: [PropertyReadable]
-
-getTerminalCurrentDirectoryUri :: (MonadIO m, TerminalK o) => o -> m T.Text
-getTerminalCurrentDirectoryUri obj = liftIO $ getObjectPropertyString obj "current-directory-uri"
-
-data TerminalCurrentDirectoryUriPropertyInfo
-instance AttrInfo TerminalCurrentDirectoryUriPropertyInfo where
-    type AttrAllowedOps TerminalCurrentDirectoryUriPropertyInfo = '[ 'AttrGet]
-    type AttrSetTypeConstraint TerminalCurrentDirectoryUriPropertyInfo = (~) ()
-    type AttrBaseTypeConstraint TerminalCurrentDirectoryUriPropertyInfo = TerminalK
-    type AttrGetType TerminalCurrentDirectoryUriPropertyInfo = T.Text
-    type AttrLabel TerminalCurrentDirectoryUriPropertyInfo = "Terminal::current-directory-uri"
-    attrGet _ = getTerminalCurrentDirectoryUri
-    attrSet _ = undefined
-    attrConstruct _ = undefined
-
--- VVV Prop "current-file-uri"
-   -- Type: TBasicType TUTF8
-   -- Flags: [PropertyReadable]
-
-getTerminalCurrentFileUri :: (MonadIO m, TerminalK o) => o -> m T.Text
-getTerminalCurrentFileUri obj = liftIO $ getObjectPropertyString obj "current-file-uri"
-
-data TerminalCurrentFileUriPropertyInfo
-instance AttrInfo TerminalCurrentFileUriPropertyInfo where
-    type AttrAllowedOps TerminalCurrentFileUriPropertyInfo = '[ 'AttrGet]
-    type AttrSetTypeConstraint TerminalCurrentFileUriPropertyInfo = (~) ()
-    type AttrBaseTypeConstraint TerminalCurrentFileUriPropertyInfo = TerminalK
-    type AttrGetType TerminalCurrentFileUriPropertyInfo = T.Text
-    type AttrLabel TerminalCurrentFileUriPropertyInfo = "Terminal::current-file-uri"
-    attrGet _ = getTerminalCurrentFileUri
-    attrSet _ = undefined
-    attrConstruct _ = undefined
-
--- VVV Prop "cursor-blink-mode"
-   -- Type: TInterface "Vte" "CursorBlinkMode"
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getTerminalCursorBlinkMode :: (MonadIO m, TerminalK o) => o -> m CursorBlinkMode
-getTerminalCursorBlinkMode obj = liftIO $ getObjectPropertyEnum obj "cursor-blink-mode"
-
-setTerminalCursorBlinkMode :: (MonadIO m, TerminalK o) => o -> CursorBlinkMode -> m ()
-setTerminalCursorBlinkMode obj val = liftIO $ setObjectPropertyEnum obj "cursor-blink-mode" val
-
-constructTerminalCursorBlinkMode :: CursorBlinkMode -> IO ([Char], GValue)
-constructTerminalCursorBlinkMode val = constructObjectPropertyEnum "cursor-blink-mode" val
-
-data TerminalCursorBlinkModePropertyInfo
-instance AttrInfo TerminalCursorBlinkModePropertyInfo where
-    type AttrAllowedOps TerminalCursorBlinkModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint TerminalCursorBlinkModePropertyInfo = (~) CursorBlinkMode
-    type AttrBaseTypeConstraint TerminalCursorBlinkModePropertyInfo = TerminalK
-    type AttrGetType TerminalCursorBlinkModePropertyInfo = CursorBlinkMode
-    type AttrLabel TerminalCursorBlinkModePropertyInfo = "Terminal::cursor-blink-mode"
-    attrGet _ = getTerminalCursorBlinkMode
-    attrSet _ = setTerminalCursorBlinkMode
-    attrConstruct _ = constructTerminalCursorBlinkMode
-
--- VVV Prop "cursor-shape"
-   -- Type: TInterface "Vte" "CursorShape"
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getTerminalCursorShape :: (MonadIO m, TerminalK o) => o -> m CursorShape
-getTerminalCursorShape obj = liftIO $ getObjectPropertyEnum obj "cursor-shape"
-
-setTerminalCursorShape :: (MonadIO m, TerminalK o) => o -> CursorShape -> m ()
-setTerminalCursorShape obj val = liftIO $ setObjectPropertyEnum obj "cursor-shape" val
-
-constructTerminalCursorShape :: CursorShape -> IO ([Char], GValue)
-constructTerminalCursorShape val = constructObjectPropertyEnum "cursor-shape" val
-
-data TerminalCursorShapePropertyInfo
-instance AttrInfo TerminalCursorShapePropertyInfo where
-    type AttrAllowedOps TerminalCursorShapePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint TerminalCursorShapePropertyInfo = (~) CursorShape
-    type AttrBaseTypeConstraint TerminalCursorShapePropertyInfo = TerminalK
-    type AttrGetType TerminalCursorShapePropertyInfo = CursorShape
-    type AttrLabel TerminalCursorShapePropertyInfo = "Terminal::cursor-shape"
-    attrGet _ = getTerminalCursorShape
-    attrSet _ = setTerminalCursorShape
-    attrConstruct _ = constructTerminalCursorShape
-
--- VVV Prop "delete-binding"
-   -- Type: TInterface "Vte" "EraseBinding"
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getTerminalDeleteBinding :: (MonadIO m, TerminalK o) => o -> m EraseBinding
-getTerminalDeleteBinding obj = liftIO $ getObjectPropertyEnum obj "delete-binding"
-
-setTerminalDeleteBinding :: (MonadIO m, TerminalK o) => o -> EraseBinding -> m ()
-setTerminalDeleteBinding obj val = liftIO $ setObjectPropertyEnum obj "delete-binding" val
-
-constructTerminalDeleteBinding :: EraseBinding -> IO ([Char], GValue)
-constructTerminalDeleteBinding val = constructObjectPropertyEnum "delete-binding" val
-
-data TerminalDeleteBindingPropertyInfo
-instance AttrInfo TerminalDeleteBindingPropertyInfo where
-    type AttrAllowedOps TerminalDeleteBindingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint TerminalDeleteBindingPropertyInfo = (~) EraseBinding
-    type AttrBaseTypeConstraint TerminalDeleteBindingPropertyInfo = TerminalK
-    type AttrGetType TerminalDeleteBindingPropertyInfo = EraseBinding
-    type AttrLabel TerminalDeleteBindingPropertyInfo = "Terminal::delete-binding"
-    attrGet _ = getTerminalDeleteBinding
-    attrSet _ = setTerminalDeleteBinding
-    attrConstruct _ = constructTerminalDeleteBinding
-
--- VVV Prop "encoding"
-   -- Type: TBasicType TUTF8
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getTerminalEncoding :: (MonadIO m, TerminalK o) => o -> m T.Text
-getTerminalEncoding obj = liftIO $ getObjectPropertyString obj "encoding"
-
-setTerminalEncoding :: (MonadIO m, TerminalK o) => o -> T.Text -> m ()
-setTerminalEncoding obj val = liftIO $ setObjectPropertyString obj "encoding" val
-
-constructTerminalEncoding :: T.Text -> IO ([Char], GValue)
-constructTerminalEncoding val = constructObjectPropertyString "encoding" val
-
-data TerminalEncodingPropertyInfo
-instance AttrInfo TerminalEncodingPropertyInfo where
-    type AttrAllowedOps TerminalEncodingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint TerminalEncodingPropertyInfo = (~) T.Text
-    type AttrBaseTypeConstraint TerminalEncodingPropertyInfo = TerminalK
-    type AttrGetType TerminalEncodingPropertyInfo = T.Text
-    type AttrLabel TerminalEncodingPropertyInfo = "Terminal::encoding"
-    attrGet _ = getTerminalEncoding
-    attrSet _ = setTerminalEncoding
-    attrConstruct _ = constructTerminalEncoding
-
--- VVV Prop "font-desc"
-   -- Type: TInterface "Pango" "FontDescription"
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getTerminalFontDesc :: (MonadIO m, TerminalK o) => o -> m Pango.FontDescription
-getTerminalFontDesc obj = liftIO $ getObjectPropertyBoxed obj "font-desc" Pango.FontDescription
-
-setTerminalFontDesc :: (MonadIO m, TerminalK o) => o -> Pango.FontDescription -> m ()
-setTerminalFontDesc obj val = liftIO $ setObjectPropertyBoxed obj "font-desc" val
-
-constructTerminalFontDesc :: Pango.FontDescription -> IO ([Char], GValue)
-constructTerminalFontDesc val = constructObjectPropertyBoxed "font-desc" val
-
-data TerminalFontDescPropertyInfo
-instance AttrInfo TerminalFontDescPropertyInfo where
-    type AttrAllowedOps TerminalFontDescPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint TerminalFontDescPropertyInfo = (~) Pango.FontDescription
-    type AttrBaseTypeConstraint TerminalFontDescPropertyInfo = TerminalK
-    type AttrGetType TerminalFontDescPropertyInfo = Pango.FontDescription
-    type AttrLabel TerminalFontDescPropertyInfo = "Terminal::font-desc"
-    attrGet _ = getTerminalFontDesc
-    attrSet _ = setTerminalFontDesc
-    attrConstruct _ = constructTerminalFontDesc
-
--- VVV Prop "font-scale"
-   -- Type: TBasicType TDouble
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getTerminalFontScale :: (MonadIO m, TerminalK o) => o -> m Double
-getTerminalFontScale obj = liftIO $ getObjectPropertyDouble obj "font-scale"
-
-setTerminalFontScale :: (MonadIO m, TerminalK o) => o -> Double -> m ()
-setTerminalFontScale obj val = liftIO $ setObjectPropertyDouble obj "font-scale" val
-
-constructTerminalFontScale :: Double -> IO ([Char], GValue)
-constructTerminalFontScale val = constructObjectPropertyDouble "font-scale" val
-
-data TerminalFontScalePropertyInfo
-instance AttrInfo TerminalFontScalePropertyInfo where
-    type AttrAllowedOps TerminalFontScalePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint TerminalFontScalePropertyInfo = (~) Double
-    type AttrBaseTypeConstraint TerminalFontScalePropertyInfo = TerminalK
-    type AttrGetType TerminalFontScalePropertyInfo = Double
-    type AttrLabel TerminalFontScalePropertyInfo = "Terminal::font-scale"
-    attrGet _ = getTerminalFontScale
-    attrSet _ = setTerminalFontScale
-    attrConstruct _ = constructTerminalFontScale
-
--- VVV Prop "icon-title"
-   -- Type: TBasicType TUTF8
-   -- Flags: [PropertyReadable]
-
-getTerminalIconTitle :: (MonadIO m, TerminalK o) => o -> m T.Text
-getTerminalIconTitle obj = liftIO $ getObjectPropertyString obj "icon-title"
-
-data TerminalIconTitlePropertyInfo
-instance AttrInfo TerminalIconTitlePropertyInfo where
-    type AttrAllowedOps TerminalIconTitlePropertyInfo = '[ 'AttrGet]
-    type AttrSetTypeConstraint TerminalIconTitlePropertyInfo = (~) ()
-    type AttrBaseTypeConstraint TerminalIconTitlePropertyInfo = TerminalK
-    type AttrGetType TerminalIconTitlePropertyInfo = T.Text
-    type AttrLabel TerminalIconTitlePropertyInfo = "Terminal::icon-title"
-    attrGet _ = getTerminalIconTitle
-    attrSet _ = undefined
-    attrConstruct _ = undefined
-
--- VVV Prop "input-enabled"
-   -- Type: TBasicType TBoolean
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getTerminalInputEnabled :: (MonadIO m, TerminalK o) => o -> m Bool
-getTerminalInputEnabled obj = liftIO $ getObjectPropertyBool obj "input-enabled"
-
-setTerminalInputEnabled :: (MonadIO m, TerminalK o) => o -> Bool -> m ()
-setTerminalInputEnabled obj val = liftIO $ setObjectPropertyBool obj "input-enabled" val
-
-constructTerminalInputEnabled :: Bool -> IO ([Char], GValue)
-constructTerminalInputEnabled val = constructObjectPropertyBool "input-enabled" val
-
-data TerminalInputEnabledPropertyInfo
-instance AttrInfo TerminalInputEnabledPropertyInfo where
-    type AttrAllowedOps TerminalInputEnabledPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint TerminalInputEnabledPropertyInfo = (~) Bool
-    type AttrBaseTypeConstraint TerminalInputEnabledPropertyInfo = TerminalK
-    type AttrGetType TerminalInputEnabledPropertyInfo = Bool
-    type AttrLabel TerminalInputEnabledPropertyInfo = "Terminal::input-enabled"
-    attrGet _ = getTerminalInputEnabled
-    attrSet _ = setTerminalInputEnabled
-    attrConstruct _ = constructTerminalInputEnabled
-
--- VVV Prop "pointer-autohide"
-   -- Type: TBasicType TBoolean
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getTerminalPointerAutohide :: (MonadIO m, TerminalK o) => o -> m Bool
-getTerminalPointerAutohide obj = liftIO $ getObjectPropertyBool obj "pointer-autohide"
-
-setTerminalPointerAutohide :: (MonadIO m, TerminalK o) => o -> Bool -> m ()
-setTerminalPointerAutohide obj val = liftIO $ setObjectPropertyBool obj "pointer-autohide" val
-
-constructTerminalPointerAutohide :: Bool -> IO ([Char], GValue)
-constructTerminalPointerAutohide val = constructObjectPropertyBool "pointer-autohide" val
-
-data TerminalPointerAutohidePropertyInfo
-instance AttrInfo TerminalPointerAutohidePropertyInfo where
-    type AttrAllowedOps TerminalPointerAutohidePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint TerminalPointerAutohidePropertyInfo = (~) Bool
-    type AttrBaseTypeConstraint TerminalPointerAutohidePropertyInfo = TerminalK
-    type AttrGetType TerminalPointerAutohidePropertyInfo = Bool
-    type AttrLabel TerminalPointerAutohidePropertyInfo = "Terminal::pointer-autohide"
-    attrGet _ = getTerminalPointerAutohide
-    attrSet _ = setTerminalPointerAutohide
-    attrConstruct _ = constructTerminalPointerAutohide
-
--- VVV Prop "pty"
-   -- Type: TInterface "Vte" "Pty"
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getTerminalPty :: (MonadIO m, TerminalK o) => o -> m Pty
-getTerminalPty obj = liftIO $ getObjectPropertyObject obj "pty" Pty
-
-setTerminalPty :: (MonadIO m, TerminalK o, PtyK a) => o -> a -> m ()
-setTerminalPty obj val = liftIO $ setObjectPropertyObject obj "pty" val
-
-constructTerminalPty :: (PtyK a) => a -> IO ([Char], GValue)
-constructTerminalPty val = constructObjectPropertyObject "pty" val
-
-data TerminalPtyPropertyInfo
-instance AttrInfo TerminalPtyPropertyInfo where
-    type AttrAllowedOps TerminalPtyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint TerminalPtyPropertyInfo = PtyK
-    type AttrBaseTypeConstraint TerminalPtyPropertyInfo = TerminalK
-    type AttrGetType TerminalPtyPropertyInfo = Pty
-    type AttrLabel TerminalPtyPropertyInfo = "Terminal::pty"
-    attrGet _ = getTerminalPty
-    attrSet _ = setTerminalPty
-    attrConstruct _ = constructTerminalPty
-
--- VVV Prop "rewrap-on-resize"
-   -- Type: TBasicType TBoolean
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getTerminalRewrapOnResize :: (MonadIO m, TerminalK o) => o -> m Bool
-getTerminalRewrapOnResize obj = liftIO $ getObjectPropertyBool obj "rewrap-on-resize"
-
-setTerminalRewrapOnResize :: (MonadIO m, TerminalK o) => o -> Bool -> m ()
-setTerminalRewrapOnResize obj val = liftIO $ setObjectPropertyBool obj "rewrap-on-resize" val
-
-constructTerminalRewrapOnResize :: Bool -> IO ([Char], GValue)
-constructTerminalRewrapOnResize val = constructObjectPropertyBool "rewrap-on-resize" val
-
-data TerminalRewrapOnResizePropertyInfo
-instance AttrInfo TerminalRewrapOnResizePropertyInfo where
-    type AttrAllowedOps TerminalRewrapOnResizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint TerminalRewrapOnResizePropertyInfo = (~) Bool
-    type AttrBaseTypeConstraint TerminalRewrapOnResizePropertyInfo = TerminalK
-    type AttrGetType TerminalRewrapOnResizePropertyInfo = Bool
-    type AttrLabel TerminalRewrapOnResizePropertyInfo = "Terminal::rewrap-on-resize"
-    attrGet _ = getTerminalRewrapOnResize
-    attrSet _ = setTerminalRewrapOnResize
-    attrConstruct _ = constructTerminalRewrapOnResize
-
--- VVV Prop "scroll-on-keystroke"
-   -- Type: TBasicType TBoolean
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getTerminalScrollOnKeystroke :: (MonadIO m, TerminalK o) => o -> m Bool
-getTerminalScrollOnKeystroke obj = liftIO $ getObjectPropertyBool obj "scroll-on-keystroke"
-
-setTerminalScrollOnKeystroke :: (MonadIO m, TerminalK o) => o -> Bool -> m ()
-setTerminalScrollOnKeystroke obj val = liftIO $ setObjectPropertyBool obj "scroll-on-keystroke" val
-
-constructTerminalScrollOnKeystroke :: Bool -> IO ([Char], GValue)
-constructTerminalScrollOnKeystroke val = constructObjectPropertyBool "scroll-on-keystroke" val
-
-data TerminalScrollOnKeystrokePropertyInfo
-instance AttrInfo TerminalScrollOnKeystrokePropertyInfo where
-    type AttrAllowedOps TerminalScrollOnKeystrokePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint TerminalScrollOnKeystrokePropertyInfo = (~) Bool
-    type AttrBaseTypeConstraint TerminalScrollOnKeystrokePropertyInfo = TerminalK
-    type AttrGetType TerminalScrollOnKeystrokePropertyInfo = Bool
-    type AttrLabel TerminalScrollOnKeystrokePropertyInfo = "Terminal::scroll-on-keystroke"
-    attrGet _ = getTerminalScrollOnKeystroke
-    attrSet _ = setTerminalScrollOnKeystroke
-    attrConstruct _ = constructTerminalScrollOnKeystroke
-
--- VVV Prop "scroll-on-output"
-   -- Type: TBasicType TBoolean
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getTerminalScrollOnOutput :: (MonadIO m, TerminalK o) => o -> m Bool
-getTerminalScrollOnOutput obj = liftIO $ getObjectPropertyBool obj "scroll-on-output"
-
-setTerminalScrollOnOutput :: (MonadIO m, TerminalK o) => o -> Bool -> m ()
-setTerminalScrollOnOutput obj val = liftIO $ setObjectPropertyBool obj "scroll-on-output" val
-
-constructTerminalScrollOnOutput :: Bool -> IO ([Char], GValue)
-constructTerminalScrollOnOutput val = constructObjectPropertyBool "scroll-on-output" val
-
-data TerminalScrollOnOutputPropertyInfo
-instance AttrInfo TerminalScrollOnOutputPropertyInfo where
-    type AttrAllowedOps TerminalScrollOnOutputPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint TerminalScrollOnOutputPropertyInfo = (~) Bool
-    type AttrBaseTypeConstraint TerminalScrollOnOutputPropertyInfo = TerminalK
-    type AttrGetType TerminalScrollOnOutputPropertyInfo = Bool
-    type AttrLabel TerminalScrollOnOutputPropertyInfo = "Terminal::scroll-on-output"
-    attrGet _ = getTerminalScrollOnOutput
-    attrSet _ = setTerminalScrollOnOutput
-    attrConstruct _ = constructTerminalScrollOnOutput
-
--- VVV Prop "scrollback-lines"
-   -- Type: TBasicType TUInt32
-   -- Flags: [PropertyReadable,PropertyWritable]
-
-getTerminalScrollbackLines :: (MonadIO m, TerminalK o) => o -> m Word32
-getTerminalScrollbackLines obj = liftIO $ getObjectPropertyCUInt obj "scrollback-lines"
-
-setTerminalScrollbackLines :: (MonadIO m, TerminalK o) => o -> Word32 -> m ()
-setTerminalScrollbackLines obj val = liftIO $ setObjectPropertyCUInt obj "scrollback-lines" val
-
-constructTerminalScrollbackLines :: Word32 -> IO ([Char], GValue)
-constructTerminalScrollbackLines val = constructObjectPropertyCUInt "scrollback-lines" val
-
-data TerminalScrollbackLinesPropertyInfo
-instance AttrInfo TerminalScrollbackLinesPropertyInfo where
-    type AttrAllowedOps TerminalScrollbackLinesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint TerminalScrollbackLinesPropertyInfo = (~) Word32
-    type AttrBaseTypeConstraint TerminalScrollbackLinesPropertyInfo = TerminalK
-    type AttrGetType TerminalScrollbackLinesPropertyInfo = Word32
-    type AttrLabel TerminalScrollbackLinesPropertyInfo = "Terminal::scrollback-lines"
-    attrGet _ = getTerminalScrollbackLines
-    attrSet _ = setTerminalScrollbackLines
-    attrConstruct _ = constructTerminalScrollbackLines
-
--- VVV Prop "window-title"
-   -- Type: TBasicType TUTF8
-   -- Flags: [PropertyReadable]
-
-getTerminalWindowTitle :: (MonadIO m, TerminalK o) => o -> m T.Text
-getTerminalWindowTitle obj = liftIO $ getObjectPropertyString obj "window-title"
-
-data TerminalWindowTitlePropertyInfo
-instance AttrInfo TerminalWindowTitlePropertyInfo where
-    type AttrAllowedOps TerminalWindowTitlePropertyInfo = '[ 'AttrGet]
-    type AttrSetTypeConstraint TerminalWindowTitlePropertyInfo = (~) ()
-    type AttrBaseTypeConstraint TerminalWindowTitlePropertyInfo = TerminalK
-    type AttrGetType TerminalWindowTitlePropertyInfo = T.Text
-    type AttrLabel TerminalWindowTitlePropertyInfo = "Terminal::window-title"
-    attrGet _ = getTerminalWindowTitle
-    attrSet _ = undefined
-    attrConstruct _ = undefined
-
--- VVV Prop "word-char-exceptions"
-   -- Type: TBasicType TUTF8
-   -- Flags: [PropertyReadable]
-
-getTerminalWordCharExceptions :: (MonadIO m, TerminalK o) => o -> m T.Text
-getTerminalWordCharExceptions obj = liftIO $ getObjectPropertyString obj "word-char-exceptions"
-
-data TerminalWordCharExceptionsPropertyInfo
-instance AttrInfo TerminalWordCharExceptionsPropertyInfo where
-    type AttrAllowedOps TerminalWordCharExceptionsPropertyInfo = '[ 'AttrGet]
-    type AttrSetTypeConstraint TerminalWordCharExceptionsPropertyInfo = (~) ()
-    type AttrBaseTypeConstraint TerminalWordCharExceptionsPropertyInfo = TerminalK
-    type AttrGetType TerminalWordCharExceptionsPropertyInfo = T.Text
-    type AttrLabel TerminalWordCharExceptionsPropertyInfo = "Terminal::word-char-exceptions"
-    attrGet _ = getTerminalWordCharExceptions
-    attrSet _ = undefined
-    attrConstruct _ = undefined
-
-type instance AttributeList Terminal = TerminalAttributeList
-type TerminalAttributeList = ('[ '("allow-bold", TerminalAllowBoldPropertyInfo), '("app-paintable", Gtk.WidgetAppPaintablePropertyInfo), '("audible-bell", TerminalAudibleBellPropertyInfo), '("backspace-binding", TerminalBackspaceBindingPropertyInfo), '("can-default", Gtk.WidgetCanDefaultPropertyInfo), '("can-focus", Gtk.WidgetCanFocusPropertyInfo), '("cjk-ambiguous-width", TerminalCjkAmbiguousWidthPropertyInfo), '("composite-child", Gtk.WidgetCompositeChildPropertyInfo), '("current-directory-uri", TerminalCurrentDirectoryUriPropertyInfo), '("current-file-uri", TerminalCurrentFileUriPropertyInfo), '("cursor-blink-mode", TerminalCursorBlinkModePropertyInfo), '("cursor-shape", TerminalCursorShapePropertyInfo), '("delete-binding", TerminalDeleteBindingPropertyInfo), '("double-buffered", Gtk.WidgetDoubleBufferedPropertyInfo), '("encoding", TerminalEncodingPropertyInfo), '("events", Gtk.WidgetEventsPropertyInfo), '("expand", Gtk.WidgetExpandPropertyInfo), '("font-desc", TerminalFontDescPropertyInfo), '("font-scale", TerminalFontScalePropertyInfo), '("hadjustment", Gtk.ScrollableHadjustmentPropertyInfo), '("halign", Gtk.WidgetHalignPropertyInfo), '("has-default", Gtk.WidgetHasDefaultPropertyInfo), '("has-focus", Gtk.WidgetHasFocusPropertyInfo), '("has-tooltip", Gtk.WidgetHasTooltipPropertyInfo), '("height-request", Gtk.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.WidgetHexpandPropertyInfo), '("hexpand-set", Gtk.WidgetHexpandSetPropertyInfo), '("hscroll-policy", Gtk.ScrollableHscrollPolicyPropertyInfo), '("icon-title", TerminalIconTitlePropertyInfo), '("input-enabled", TerminalInputEnabledPropertyInfo), '("is-focus", Gtk.WidgetIsFocusPropertyInfo), '("margin", Gtk.WidgetMarginPropertyInfo), '("margin-bottom", Gtk.WidgetMarginBottomPropertyInfo), '("margin-end", Gtk.WidgetMarginEndPropertyInfo), '("margin-left", Gtk.WidgetMarginLeftPropertyInfo), '("margin-right", Gtk.WidgetMarginRightPropertyInfo), '("margin-start", Gtk.WidgetMarginStartPropertyInfo), '("margin-top", Gtk.WidgetMarginTopPropertyInfo), '("name", Gtk.WidgetNamePropertyInfo), '("no-show-all", Gtk.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.WidgetOpacityPropertyInfo), '("parent", Gtk.WidgetParentPropertyInfo), '("pointer-autohide", TerminalPointerAutohidePropertyInfo), '("pty", TerminalPtyPropertyInfo), '("receives-default", Gtk.WidgetReceivesDefaultPropertyInfo), '("rewrap-on-resize", TerminalRewrapOnResizePropertyInfo), '("scale-factor", Gtk.WidgetScaleFactorPropertyInfo), '("scroll-on-keystroke", TerminalScrollOnKeystrokePropertyInfo), '("scroll-on-output", TerminalScrollOnOutputPropertyInfo), '("scrollback-lines", TerminalScrollbackLinesPropertyInfo), '("sensitive", Gtk.WidgetSensitivePropertyInfo), '("style", Gtk.WidgetStylePropertyInfo), '("tooltip-markup", Gtk.WidgetTooltipMarkupPropertyInfo), '("tooltip-text", Gtk.WidgetTooltipTextPropertyInfo), '("vadjustment", Gtk.ScrollableVadjustmentPropertyInfo), '("valign", Gtk.WidgetValignPropertyInfo), '("vexpand", Gtk.WidgetVexpandPropertyInfo), '("vexpand-set", Gtk.WidgetVexpandSetPropertyInfo), '("visible", Gtk.WidgetVisiblePropertyInfo), '("vscroll-policy", Gtk.ScrollableVscrollPolicyPropertyInfo), '("width-request", Gtk.WidgetWidthRequestPropertyInfo), '("window", Gtk.WidgetWindowPropertyInfo), '("window-title", TerminalWindowTitlePropertyInfo), '("word-char-exceptions", TerminalWordCharExceptionsPropertyInfo)] :: [(Symbol, *)])
-
-data TerminalBellSignalInfo
-instance SignalInfo TerminalBellSignalInfo where
-    type HaskellCallbackType TerminalBellSignalInfo = TerminalBellCallback
-    connectSignal _ = connectTerminalBell
-
-data TerminalCharSizeChangedSignalInfo
-instance SignalInfo TerminalCharSizeChangedSignalInfo where
-    type HaskellCallbackType TerminalCharSizeChangedSignalInfo = TerminalCharSizeChangedCallback
-    connectSignal _ = connectTerminalCharSizeChanged
-
-data TerminalChildExitedSignalInfo
-instance SignalInfo TerminalChildExitedSignalInfo where
-    type HaskellCallbackType TerminalChildExitedSignalInfo = TerminalChildExitedCallback
-    connectSignal _ = connectTerminalChildExited
-
-data TerminalCommitSignalInfo
-instance SignalInfo TerminalCommitSignalInfo where
-    type HaskellCallbackType TerminalCommitSignalInfo = TerminalCommitCallback
-    connectSignal _ = connectTerminalCommit
-
-data TerminalContentsChangedSignalInfo
-instance SignalInfo TerminalContentsChangedSignalInfo where
-    type HaskellCallbackType TerminalContentsChangedSignalInfo = TerminalContentsChangedCallback
-    connectSignal _ = connectTerminalContentsChanged
-
-data TerminalCopyClipboardSignalInfo
-instance SignalInfo TerminalCopyClipboardSignalInfo where
-    type HaskellCallbackType TerminalCopyClipboardSignalInfo = TerminalCopyClipboardCallback
-    connectSignal _ = connectTerminalCopyClipboard
-
-data TerminalCurrentDirectoryUriChangedSignalInfo
-instance SignalInfo TerminalCurrentDirectoryUriChangedSignalInfo where
-    type HaskellCallbackType TerminalCurrentDirectoryUriChangedSignalInfo = TerminalCurrentDirectoryUriChangedCallback
-    connectSignal _ = connectTerminalCurrentDirectoryUriChanged
-
-data TerminalCurrentFileUriChangedSignalInfo
-instance SignalInfo TerminalCurrentFileUriChangedSignalInfo where
-    type HaskellCallbackType TerminalCurrentFileUriChangedSignalInfo = TerminalCurrentFileUriChangedCallback
-    connectSignal _ = connectTerminalCurrentFileUriChanged
-
-data TerminalCursorMovedSignalInfo
-instance SignalInfo TerminalCursorMovedSignalInfo where
-    type HaskellCallbackType TerminalCursorMovedSignalInfo = TerminalCursorMovedCallback
-    connectSignal _ = connectTerminalCursorMoved
-
-data TerminalDecreaseFontSizeSignalInfo
-instance SignalInfo TerminalDecreaseFontSizeSignalInfo where
-    type HaskellCallbackType TerminalDecreaseFontSizeSignalInfo = TerminalDecreaseFontSizeCallback
-    connectSignal _ = connectTerminalDecreaseFontSize
-
-data TerminalDeiconifyWindowSignalInfo
-instance SignalInfo TerminalDeiconifyWindowSignalInfo where
-    type HaskellCallbackType TerminalDeiconifyWindowSignalInfo = TerminalDeiconifyWindowCallback
-    connectSignal _ = connectTerminalDeiconifyWindow
-
-data TerminalEncodingChangedSignalInfo
-instance SignalInfo TerminalEncodingChangedSignalInfo where
-    type HaskellCallbackType TerminalEncodingChangedSignalInfo = TerminalEncodingChangedCallback
-    connectSignal _ = connectTerminalEncodingChanged
-
-data TerminalEofSignalInfo
-instance SignalInfo TerminalEofSignalInfo where
-    type HaskellCallbackType TerminalEofSignalInfo = TerminalEofCallback
-    connectSignal _ = connectTerminalEof
-
-data TerminalIconTitleChangedSignalInfo
-instance SignalInfo TerminalIconTitleChangedSignalInfo where
-    type HaskellCallbackType TerminalIconTitleChangedSignalInfo = TerminalIconTitleChangedCallback
-    connectSignal _ = connectTerminalIconTitleChanged
-
-data TerminalIconifyWindowSignalInfo
-instance SignalInfo TerminalIconifyWindowSignalInfo where
-    type HaskellCallbackType TerminalIconifyWindowSignalInfo = TerminalIconifyWindowCallback
-    connectSignal _ = connectTerminalIconifyWindow
-
-data TerminalIncreaseFontSizeSignalInfo
-instance SignalInfo TerminalIncreaseFontSizeSignalInfo where
-    type HaskellCallbackType TerminalIncreaseFontSizeSignalInfo = TerminalIncreaseFontSizeCallback
-    connectSignal _ = connectTerminalIncreaseFontSize
-
-data TerminalLowerWindowSignalInfo
-instance SignalInfo TerminalLowerWindowSignalInfo where
-    type HaskellCallbackType TerminalLowerWindowSignalInfo = TerminalLowerWindowCallback
-    connectSignal _ = connectTerminalLowerWindow
-
-data TerminalMaximizeWindowSignalInfo
-instance SignalInfo TerminalMaximizeWindowSignalInfo where
-    type HaskellCallbackType TerminalMaximizeWindowSignalInfo = TerminalMaximizeWindowCallback
-    connectSignal _ = connectTerminalMaximizeWindow
-
-data TerminalMoveWindowSignalInfo
-instance SignalInfo TerminalMoveWindowSignalInfo where
-    type HaskellCallbackType TerminalMoveWindowSignalInfo = TerminalMoveWindowCallback
-    connectSignal _ = connectTerminalMoveWindow
-
-data TerminalNotificationReceivedSignalInfo
-instance SignalInfo TerminalNotificationReceivedSignalInfo where
-    type HaskellCallbackType TerminalNotificationReceivedSignalInfo = TerminalNotificationReceivedCallback
-    connectSignal _ = connectTerminalNotificationReceived
-
-data TerminalPasteClipboardSignalInfo
-instance SignalInfo TerminalPasteClipboardSignalInfo where
-    type HaskellCallbackType TerminalPasteClipboardSignalInfo = TerminalPasteClipboardCallback
-    connectSignal _ = connectTerminalPasteClipboard
-
-data TerminalRaiseWindowSignalInfo
-instance SignalInfo TerminalRaiseWindowSignalInfo where
-    type HaskellCallbackType TerminalRaiseWindowSignalInfo = TerminalRaiseWindowCallback
-    connectSignal _ = connectTerminalRaiseWindow
-
-data TerminalRefreshWindowSignalInfo
-instance SignalInfo TerminalRefreshWindowSignalInfo where
-    type HaskellCallbackType TerminalRefreshWindowSignalInfo = TerminalRefreshWindowCallback
-    connectSignal _ = connectTerminalRefreshWindow
-
-data TerminalResizeWindowSignalInfo
-instance SignalInfo TerminalResizeWindowSignalInfo where
-    type HaskellCallbackType TerminalResizeWindowSignalInfo = TerminalResizeWindowCallback
-    connectSignal _ = connectTerminalResizeWindow
-
-data TerminalRestoreWindowSignalInfo
-instance SignalInfo TerminalRestoreWindowSignalInfo where
-    type HaskellCallbackType TerminalRestoreWindowSignalInfo = TerminalRestoreWindowCallback
-    connectSignal _ = connectTerminalRestoreWindow
-
-data TerminalSelectionChangedSignalInfo
-instance SignalInfo TerminalSelectionChangedSignalInfo where
-    type HaskellCallbackType TerminalSelectionChangedSignalInfo = TerminalSelectionChangedCallback
-    connectSignal _ = connectTerminalSelectionChanged
-
-data TerminalTextDeletedSignalInfo
-instance SignalInfo TerminalTextDeletedSignalInfo where
-    type HaskellCallbackType TerminalTextDeletedSignalInfo = TerminalTextDeletedCallback
-    connectSignal _ = connectTerminalTextDeleted
-
-data TerminalTextInsertedSignalInfo
-instance SignalInfo TerminalTextInsertedSignalInfo where
-    type HaskellCallbackType TerminalTextInsertedSignalInfo = TerminalTextInsertedCallback
-    connectSignal _ = connectTerminalTextInserted
-
-data TerminalTextModifiedSignalInfo
-instance SignalInfo TerminalTextModifiedSignalInfo where
-    type HaskellCallbackType TerminalTextModifiedSignalInfo = TerminalTextModifiedCallback
-    connectSignal _ = connectTerminalTextModified
-
-data TerminalTextScrolledSignalInfo
-instance SignalInfo TerminalTextScrolledSignalInfo where
-    type HaskellCallbackType TerminalTextScrolledSignalInfo = TerminalTextScrolledCallback
-    connectSignal _ = connectTerminalTextScrolled
-
-data TerminalWindowTitleChangedSignalInfo
-instance SignalInfo TerminalWindowTitleChangedSignalInfo where
-    type HaskellCallbackType TerminalWindowTitleChangedSignalInfo = TerminalWindowTitleChangedCallback
-    connectSignal _ = connectTerminalWindowTitleChanged
-
-type instance SignalList Terminal = TerminalSignalList
-type TerminalSignalList = ('[ '("accel-closures-changed", Gtk.WidgetAccelClosuresChangedSignalInfo), '("bell", TerminalBellSignalInfo), '("button-press-event", Gtk.WidgetButtonPressEventSignalInfo), '("button-release-event", Gtk.WidgetButtonReleaseEventSignalInfo), '("can-activate-accel", Gtk.WidgetCanActivateAccelSignalInfo), '("char-size-changed", TerminalCharSizeChangedSignalInfo), '("child-exited", TerminalChildExitedSignalInfo), '("child-notify", Gtk.WidgetChildNotifySignalInfo), '("commit", TerminalCommitSignalInfo), '("composited-changed", Gtk.WidgetCompositedChangedSignalInfo), '("configure-event", Gtk.WidgetConfigureEventSignalInfo), '("contents-changed", TerminalContentsChangedSignalInfo), '("copy-clipboard", TerminalCopyClipboardSignalInfo), '("current-directory-uri-changed", TerminalCurrentDirectoryUriChangedSignalInfo), '("current-file-uri-changed", TerminalCurrentFileUriChangedSignalInfo), '("cursor-moved", TerminalCursorMovedSignalInfo), '("damage-event", Gtk.WidgetDamageEventSignalInfo), '("decrease-font-size", TerminalDecreaseFontSizeSignalInfo), '("deiconify-window", TerminalDeiconifyWindowSignalInfo), '("delete-event", Gtk.WidgetDeleteEventSignalInfo), '("destroy", Gtk.WidgetDestroySignalInfo), '("destroy-event", Gtk.WidgetDestroyEventSignalInfo), '("direction-changed", Gtk.WidgetDirectionChangedSignalInfo), '("drag-begin", Gtk.WidgetDragBeginSignalInfo), '("drag-data-delete", Gtk.WidgetDragDataDeleteSignalInfo), '("drag-data-get", Gtk.WidgetDragDataGetSignalInfo), '("drag-data-received", Gtk.WidgetDragDataReceivedSignalInfo), '("drag-drop", Gtk.WidgetDragDropSignalInfo), '("drag-end", Gtk.WidgetDragEndSignalInfo), '("drag-failed", Gtk.WidgetDragFailedSignalInfo), '("drag-leave", Gtk.WidgetDragLeaveSignalInfo), '("drag-motion", Gtk.WidgetDragMotionSignalInfo), '("draw", Gtk.WidgetDrawSignalInfo), '("encoding-changed", TerminalEncodingChangedSignalInfo), '("enter-notify-event", Gtk.WidgetEnterNotifyEventSignalInfo), '("eof", TerminalEofSignalInfo), '("event", Gtk.WidgetEventSignalInfo), '("event-after", Gtk.WidgetEventAfterSignalInfo), '("focus", Gtk.WidgetFocusSignalInfo), '("focus-in-event", Gtk.WidgetFocusInEventSignalInfo), '("focus-out-event", Gtk.WidgetFocusOutEventSignalInfo), '("grab-broken-event", Gtk.WidgetGrabBrokenEventSignalInfo), '("grab-focus", Gtk.WidgetGrabFocusSignalInfo), '("grab-notify", Gtk.WidgetGrabNotifySignalInfo), '("hide", Gtk.WidgetHideSignalInfo), '("hierarchy-changed", Gtk.WidgetHierarchyChangedSignalInfo), '("icon-title-changed", TerminalIconTitleChangedSignalInfo), '("iconify-window", TerminalIconifyWindowSignalInfo), '("increase-font-size", TerminalIncreaseFontSizeSignalInfo), '("key-press-event", Gtk.WidgetKeyPressEventSignalInfo), '("key-release-event", Gtk.WidgetKeyReleaseEventSignalInfo), '("keynav-failed", Gtk.WidgetKeynavFailedSignalInfo), '("leave-notify-event", Gtk.WidgetLeaveNotifyEventSignalInfo), '("lower-window", TerminalLowerWindowSignalInfo), '("map", Gtk.WidgetMapSignalInfo), '("map-event", Gtk.WidgetMapEventSignalInfo), '("maximize-window", TerminalMaximizeWindowSignalInfo), '("mnemonic-activate", Gtk.WidgetMnemonicActivateSignalInfo), '("motion-notify-event", Gtk.WidgetMotionNotifyEventSignalInfo), '("move-focus", Gtk.WidgetMoveFocusSignalInfo), '("move-window", TerminalMoveWindowSignalInfo), '("notification-received", TerminalNotificationReceivedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("parent-set", Gtk.WidgetParentSetSignalInfo), '("paste-clipboard", TerminalPasteClipboardSignalInfo), '("popup-menu", Gtk.WidgetPopupMenuSignalInfo), '("property-notify-event", Gtk.WidgetPropertyNotifyEventSignalInfo), '("proximity-in-event", Gtk.WidgetProximityInEventSignalInfo), '("proximity-out-event", Gtk.WidgetProximityOutEventSignalInfo), '("query-tooltip", Gtk.WidgetQueryTooltipSignalInfo), '("raise-window", TerminalRaiseWindowSignalInfo), '("realize", Gtk.WidgetRealizeSignalInfo), '("refresh-window", TerminalRefreshWindowSignalInfo), '("resize-window", TerminalResizeWindowSignalInfo), '("restore-window", TerminalRestoreWindowSignalInfo), '("screen-changed", Gtk.WidgetScreenChangedSignalInfo), '("scroll-event", Gtk.WidgetScrollEventSignalInfo), '("selection-changed", TerminalSelectionChangedSignalInfo), '("selection-clear-event", Gtk.WidgetSelectionClearEventSignalInfo), '("selection-get", Gtk.WidgetSelectionGetSignalInfo), '("selection-notify-event", Gtk.WidgetSelectionNotifyEventSignalInfo), '("selection-received", Gtk.WidgetSelectionReceivedSignalInfo), '("selection-request-event", Gtk.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.WidgetShowSignalInfo), '("show-help", Gtk.WidgetShowHelpSignalInfo), '("size-allocate", Gtk.WidgetSizeAllocateSignalInfo), '("state-changed", Gtk.WidgetStateChangedSignalInfo), '("state-flags-changed", Gtk.WidgetStateFlagsChangedSignalInfo), '("style-set", Gtk.WidgetStyleSetSignalInfo), '("style-updated", Gtk.WidgetStyleUpdatedSignalInfo), '("text-deleted", TerminalTextDeletedSignalInfo), '("text-inserted", TerminalTextInsertedSignalInfo), '("text-modified", TerminalTextModifiedSignalInfo), '("text-scrolled", TerminalTextScrolledSignalInfo), '("touch-event", Gtk.WidgetTouchEventSignalInfo), '("unmap", Gtk.WidgetUnmapSignalInfo), '("unmap-event", Gtk.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.WidgetUnrealizeSignalInfo), '("visibility-notify-event", Gtk.WidgetVisibilityNotifyEventSignalInfo), '("window-state-event", Gtk.WidgetWindowStateEventSignalInfo), '("window-title-changed", TerminalWindowTitleChangedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-
--- method Terminal::new
--- method type : Constructor
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TInterface "Vte" "Terminal"
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_new" vte_terminal_new :: 
-    IO (Ptr Terminal)
-
-
-terminalNew ::
-    (MonadIO m) =>
-    m Terminal
-terminalNew  = liftIO $ do
-    result <- vte_terminal_new
-    checkUnexpectedReturnNULL "vte_terminal_new" result
-    result' <- (newObject Terminal) result
-    return result'
-
--- method Terminal::copy_clipboard
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_copy_clipboard" vte_terminal_copy_clipboard :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO ()
-
-
-terminalCopyClipboard ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m ()
-terminalCopyClipboard _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    vte_terminal_copy_clipboard _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::copy_primary
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_copy_primary" vte_terminal_copy_primary :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO ()
-
-
-terminalCopyPrimary ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m ()
-terminalCopyPrimary _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    vte_terminal_copy_primary _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::feed
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : [Arg {argName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_feed" vte_terminal_feed :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Ptr Word8 ->                            -- data : TCArray False (-1) 2 (TBasicType TUInt8)
-    Int64 ->                                -- length : TBasicType TInt64
-    IO ()
-
-
-terminalFeed ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    ByteString ->                           -- data
-    m ()
-terminalFeed _obj data_ = liftIO $ do
-    let length_ = fromIntegral $ B.length data_
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    data_' <- packByteString data_
-    vte_terminal_feed _obj' data_' length_
-    touchManagedPtr _obj
-    freeMem data_'
-    return ()
-
--- method Terminal::feed_child
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", 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 "vte_terminal_feed_child" vte_terminal_feed_child :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    CString ->                              -- text : TBasicType TUTF8
-    Int64 ->                                -- length : TBasicType TInt64
-    IO ()
-
-
-terminalFeedChild ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- text
-    Int64 ->                                -- length
-    m ()
-terminalFeedChild _obj text length_ = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    text' <- textToCString text
-    vte_terminal_feed_child _obj' text' length_
-    touchManagedPtr _obj
-    freeMem text'
-    return ()
-
--- method Terminal::feed_child_binary
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TUInt8, 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}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TUInt8, 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}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_feed_child_binary" vte_terminal_feed_child_binary :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Word8 ->                                -- data : TBasicType TUInt8
-    Word64 ->                               -- length : TBasicType TUInt64
-    IO ()
-
-
-terminalFeedChildBinary ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Word8 ->                                -- data
-    Word64 ->                               -- length
-    m ()
-terminalFeedChildBinary _obj data_ length_ = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    vte_terminal_feed_child_binary _obj' data_ length_
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::get_allow_bold
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_allow_bold" vte_terminal_get_allow_bold :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO CInt
-
-
-terminalGetAllowBold ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m Bool
-terminalGetAllowBold _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_allow_bold _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Terminal::get_audible_bell
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_audible_bell" vte_terminal_get_audible_bell :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO CInt
-
-
-terminalGetAudibleBell ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m Bool
-terminalGetAudibleBell _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_audible_bell _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Terminal::get_char_height
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt64
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_char_height" vte_terminal_get_char_height :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO Int64
-
-
-terminalGetCharHeight ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m Int64
-terminalGetCharHeight _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_char_height _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Terminal::get_char_width
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt64
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_char_width" vte_terminal_get_char_width :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO Int64
-
-
-terminalGetCharWidth ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m Int64
-terminalGetCharWidth _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_char_width _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Terminal::get_cjk_ambiguous_width
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_cjk_ambiguous_width" vte_terminal_get_cjk_ambiguous_width :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO Int32
-
-
-terminalGetCjkAmbiguousWidth ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m Int32
-terminalGetCjkAmbiguousWidth _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_cjk_ambiguous_width _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Terminal::get_column_count
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt64
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_column_count" vte_terminal_get_column_count :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO Int64
-
-
-terminalGetColumnCount ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m Int64
-terminalGetColumnCount _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_column_count _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Terminal::get_current_directory_uri
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_current_directory_uri" vte_terminal_get_current_directory_uri :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO CString
-
-
-terminalGetCurrentDirectoryUri ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m T.Text
-terminalGetCurrentDirectoryUri _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_current_directory_uri _obj'
-    checkUnexpectedReturnNULL "vte_terminal_get_current_directory_uri" result
-    result' <- cstringToText result
-    touchManagedPtr _obj
-    return result'
-
--- method Terminal::get_current_file_uri
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_current_file_uri" vte_terminal_get_current_file_uri :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO CString
-
-
-terminalGetCurrentFileUri ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m T.Text
-terminalGetCurrentFileUri _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_current_file_uri _obj'
-    checkUnexpectedReturnNULL "vte_terminal_get_current_file_uri" result
-    result' <- cstringToText result
-    touchManagedPtr _obj
-    return result'
-
--- method Terminal::get_cursor_blink_mode
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Vte" "CursorBlinkMode"
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_cursor_blink_mode" vte_terminal_get_cursor_blink_mode :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO CUInt
-
-
-terminalGetCursorBlinkMode ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m CursorBlinkMode
-terminalGetCursorBlinkMode _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_cursor_blink_mode _obj'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr _obj
-    return result'
-
--- method Terminal::get_cursor_position
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "row", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_cursor_position" vte_terminal_get_cursor_position :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Ptr Int64 ->                            -- column : TBasicType TInt64
-    Ptr Int64 ->                            -- row : TBasicType TInt64
-    IO ()
-
-
-terminalGetCursorPosition ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m (Int64,Int64)
-terminalGetCursorPosition _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    column <- allocMem :: IO (Ptr Int64)
-    row <- allocMem :: IO (Ptr Int64)
-    vte_terminal_get_cursor_position _obj' column row
-    column' <- peek column
-    row' <- peek row
-    touchManagedPtr _obj
-    freeMem column
-    freeMem row
-    return (column', row')
-
--- method Terminal::get_cursor_shape
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Vte" "CursorShape"
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_cursor_shape" vte_terminal_get_cursor_shape :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO CUInt
-
-
-terminalGetCursorShape ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m CursorShape
-terminalGetCursorShape _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_cursor_shape _obj'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr _obj
-    return result'
-
--- method Terminal::get_encoding
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_encoding" vte_terminal_get_encoding :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO CString
-
-
-terminalGetEncoding ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m T.Text
-terminalGetEncoding _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_encoding _obj'
-    checkUnexpectedReturnNULL "vte_terminal_get_encoding" result
-    result' <- cstringToText result
-    touchManagedPtr _obj
-    return result'
-
--- method Terminal::get_font
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Pango" "FontDescription"
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_font" vte_terminal_get_font :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO (Ptr Pango.FontDescription)
-
-
-terminalGetFont ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m Pango.FontDescription
-terminalGetFont _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_font _obj'
-    checkUnexpectedReturnNULL "vte_terminal_get_font" result
-    result' <- (newBoxed Pango.FontDescription) result
-    touchManagedPtr _obj
-    return result'
-
--- method Terminal::get_font_scale
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TDouble
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_font_scale" vte_terminal_get_font_scale :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO CDouble
-
-
-terminalGetFontScale ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m Double
-terminalGetFontScale _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_font_scale _obj'
-    let result' = realToFrac result
-    touchManagedPtr _obj
-    return result'
-
--- method Terminal::get_geometry_hints
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hints", argType = TInterface "Gdk" "Geometry", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "min_rows", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "min_columns", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "min_rows", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "min_columns", 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 "vte_terminal_get_geometry_hints" vte_terminal_get_geometry_hints :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Ptr Gdk.Geometry ->                     -- hints : TInterface "Gdk" "Geometry"
-    Int32 ->                                -- min_rows : TBasicType TInt32
-    Int32 ->                                -- min_columns : TBasicType TInt32
-    IO ()
-
-
-terminalGetGeometryHints ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- min_rows
-    Int32 ->                                -- min_columns
-    m (Gdk.Geometry)
-terminalGetGeometryHints _obj min_rows min_columns = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    hints <- callocBytes 56 :: IO (Ptr Gdk.Geometry)
-    vte_terminal_get_geometry_hints _obj' hints min_rows min_columns
-    hints' <- (wrapPtr Gdk.Geometry) hints
-    touchManagedPtr _obj
-    return hints'
-
--- method Terminal::get_has_selection
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_has_selection" vte_terminal_get_has_selection :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO CInt
-
-
-terminalGetHasSelection ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m Bool
-terminalGetHasSelection _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_has_selection _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Terminal::get_icon_title
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_icon_title" vte_terminal_get_icon_title :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO CString
-
-
-terminalGetIconTitle ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m T.Text
-terminalGetIconTitle _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_icon_title _obj'
-    checkUnexpectedReturnNULL "vte_terminal_get_icon_title" result
-    result' <- cstringToText result
-    touchManagedPtr _obj
-    return result'
-
--- method Terminal::get_input_enabled
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_input_enabled" vte_terminal_get_input_enabled :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO CInt
-
-
-terminalGetInputEnabled ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m Bool
-terminalGetInputEnabled _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_input_enabled _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Terminal::get_mouse_autohide
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_mouse_autohide" vte_terminal_get_mouse_autohide :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO CInt
-
-
-terminalGetMouseAutohide ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m Bool
-terminalGetMouseAutohide _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_mouse_autohide _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Terminal::get_pty
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Vte" "Pty"
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_pty" vte_terminal_get_pty :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO (Ptr Pty)
-
-
-terminalGetPty ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m Pty
-terminalGetPty _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_pty _obj'
-    checkUnexpectedReturnNULL "vte_terminal_get_pty" result
-    result' <- (newObject Pty) result
-    touchManagedPtr _obj
-    return result'
-
--- method Terminal::get_rewrap_on_resize
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_rewrap_on_resize" vte_terminal_get_rewrap_on_resize :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO CInt
-
-
-terminalGetRewrapOnResize ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m Bool
-terminalGetRewrapOnResize _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_rewrap_on_resize _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Terminal::get_row_count
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt64
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_row_count" vte_terminal_get_row_count :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO Int64
-
-
-terminalGetRowCount ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m Int64
-terminalGetRowCount _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_row_count _obj'
-    touchManagedPtr _obj
-    return result
-
--- method Terminal::get_text
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "is_selected", argType = TInterface "Vte" "SelectionFunc", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attributes", argType = TGArray (TInterface "Vte" "CharAttributes"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "is_selected", argType = TInterface "Vte" "SelectionFunc", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_text" vte_terminal_get_text :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    FunPtr SelectionFuncC ->                -- is_selected : TInterface "Vte" "SelectionFunc"
-    Ptr () ->                               -- user_data : TBasicType TVoid
-    Ptr (Ptr (GArray (Ptr CharAttributes))) -> -- attributes : TGArray (TInterface "Vte" "CharAttributes")
-    IO CString
-
-
-terminalGetText ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Maybe (SelectionFunc) ->                -- is_selected
-    m (T.Text,[CharAttributes])
-terminalGetText _obj is_selected = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeIs_selected <- case is_selected of
-        Nothing -> return (castPtrToFunPtr nullPtr)
-        Just jIs_selected -> do
-            jIs_selected' <- mkSelectionFunc (selectionFuncWrapper Nothing jIs_selected)
-            return jIs_selected'
-    attributes <- allocMem :: IO (Ptr (Ptr (GArray (Ptr CharAttributes))))
-    let user_data = nullPtr
-    result <- vte_terminal_get_text _obj' maybeIs_selected user_data attributes
-    checkUnexpectedReturnNULL "vte_terminal_get_text" result
-    result' <- cstringToText result
-    freeMem result
-    attributes' <- peek attributes
-    attributes'' <- unpackGArray attributes'
-    attributes''' <- mapM (wrapPtr CharAttributes) attributes''
-    unrefGArray attributes'
-    safeFreeFunPtr $ castFunPtrToPtr maybeIs_selected
-    touchManagedPtr _obj
-    freeMem attributes
-    return (result', attributes''')
-
--- method Terminal::get_text_include_trailing_spaces
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "is_selected", argType = TInterface "Vte" "SelectionFunc", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attributes", argType = TGArray (TInterface "Vte" "CharAttributes"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "is_selected", argType = TInterface "Vte" "SelectionFunc", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_text_include_trailing_spaces" vte_terminal_get_text_include_trailing_spaces :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    FunPtr SelectionFuncC ->                -- is_selected : TInterface "Vte" "SelectionFunc"
-    Ptr () ->                               -- user_data : TBasicType TVoid
-    Ptr (Ptr (GArray (Ptr CharAttributes))) -> -- attributes : TGArray (TInterface "Vte" "CharAttributes")
-    IO CString
-
-
-terminalGetTextIncludeTrailingSpaces ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Maybe (SelectionFunc) ->                -- is_selected
-    m (T.Text,[CharAttributes])
-terminalGetTextIncludeTrailingSpaces _obj is_selected = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeIs_selected <- case is_selected of
-        Nothing -> return (castPtrToFunPtr nullPtr)
-        Just jIs_selected -> do
-            jIs_selected' <- mkSelectionFunc (selectionFuncWrapper Nothing jIs_selected)
-            return jIs_selected'
-    attributes <- allocMem :: IO (Ptr (Ptr (GArray (Ptr CharAttributes))))
-    let user_data = nullPtr
-    result <- vte_terminal_get_text_include_trailing_spaces _obj' maybeIs_selected user_data attributes
-    checkUnexpectedReturnNULL "vte_terminal_get_text_include_trailing_spaces" result
-    result' <- cstringToText result
-    freeMem result
-    attributes' <- peek attributes
-    attributes'' <- unpackGArray attributes'
-    attributes''' <- mapM (wrapPtr CharAttributes) attributes''
-    unrefGArray attributes'
-    safeFreeFunPtr $ castFunPtrToPtr maybeIs_selected
-    touchManagedPtr _obj
-    freeMem attributes
-    return (result', attributes''')
-
--- method Terminal::get_text_range
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_row", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_col", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_row", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_col", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "is_selected", argType = TInterface "Vte" "SelectionFunc", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeCall, argClosure = 6, argDestroy = -1, transfer = TransferNothing},Arg {argName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attributes", argType = TGArray (TInterface "Vte" "CharAttributes"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_row", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_col", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_row", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_col", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "is_selected", argType = TInterface "Vte" "SelectionFunc", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeCall, argClosure = 6, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_text_range" vte_terminal_get_text_range :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Int64 ->                                -- start_row : TBasicType TInt64
-    Int64 ->                                -- start_col : TBasicType TInt64
-    Int64 ->                                -- end_row : TBasicType TInt64
-    Int64 ->                                -- end_col : TBasicType TInt64
-    FunPtr SelectionFuncC ->                -- is_selected : TInterface "Vte" "SelectionFunc"
-    Ptr () ->                               -- user_data : TBasicType TVoid
-    Ptr (Ptr (GArray (Ptr CharAttributes))) -> -- attributes : TGArray (TInterface "Vte" "CharAttributes")
-    IO CString
-
-
-terminalGetTextRange ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Int64 ->                                -- start_row
-    Int64 ->                                -- start_col
-    Int64 ->                                -- end_row
-    Int64 ->                                -- end_col
-    Maybe (SelectionFunc) ->                -- is_selected
-    m (T.Text,[CharAttributes])
-terminalGetTextRange _obj start_row start_col end_row end_col is_selected = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeIs_selected <- case is_selected of
-        Nothing -> return (castPtrToFunPtr nullPtr)
-        Just jIs_selected -> do
-            jIs_selected' <- mkSelectionFunc (selectionFuncWrapper Nothing jIs_selected)
-            return jIs_selected'
-    attributes <- allocMem :: IO (Ptr (Ptr (GArray (Ptr CharAttributes))))
-    let user_data = nullPtr
-    result <- vte_terminal_get_text_range _obj' start_row start_col end_row end_col maybeIs_selected user_data attributes
-    checkUnexpectedReturnNULL "vte_terminal_get_text_range" result
-    result' <- cstringToText result
-    freeMem result
-    attributes' <- peek attributes
-    attributes'' <- unpackGArray attributes'
-    attributes''' <- mapM (wrapPtr CharAttributes) attributes''
-    unrefGArray attributes'
-    safeFreeFunPtr $ castFunPtrToPtr maybeIs_selected
-    touchManagedPtr _obj
-    freeMem attributes
-    return (result', attributes''')
-
--- method Terminal::get_window_title
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_window_title" vte_terminal_get_window_title :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO CString
-
-
-terminalGetWindowTitle ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m T.Text
-terminalGetWindowTitle _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_window_title _obj'
-    checkUnexpectedReturnNULL "vte_terminal_get_window_title" result
-    result' <- cstringToText result
-    touchManagedPtr _obj
-    return result'
-
--- method Terminal::get_word_char_exceptions
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_get_word_char_exceptions" vte_terminal_get_word_char_exceptions :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO CString
-
-
-terminalGetWordCharExceptions ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m T.Text
-terminalGetWordCharExceptions _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_get_word_char_exceptions _obj'
-    checkUnexpectedReturnNULL "vte_terminal_get_word_char_exceptions" result
-    result' <- cstringToText result
-    touchManagedPtr _obj
-    return result'
-
--- method Terminal::match_add_gregex
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "regex", argType = TInterface "GLib" "Regex", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GLib" "RegexMatchFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "regex", argType = TInterface "GLib" "Regex", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GLib" "RegexMatchFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_match_add_gregex" vte_terminal_match_add_gregex :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Ptr GLib.Regex ->                       -- regex : TInterface "GLib" "Regex"
-    CUInt ->                                -- flags : TInterface "GLib" "RegexMatchFlags"
-    IO Int32
-
-
-terminalMatchAddGregex ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    GLib.Regex ->                           -- regex
-    [GLib.RegexMatchFlags] ->               -- flags
-    m Int32
-terminalMatchAddGregex _obj regex flags = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let regex' = unsafeManagedPtrGetPtr regex
-    let flags' = gflagsToWord flags
-    result <- vte_terminal_match_add_gregex _obj' regex' flags'
-    touchManagedPtr _obj
-    touchManagedPtr regex
-    return result
-
--- method Terminal::match_check
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tag", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_match_check" vte_terminal_match_check :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Int64 ->                                -- column : TBasicType TInt64
-    Int64 ->                                -- row : TBasicType TInt64
-    Ptr Int32 ->                            -- tag : TBasicType TInt32
-    IO CString
-
-
-terminalMatchCheck ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Int64 ->                                -- column
-    Int64 ->                                -- row
-    m (T.Text,Int32)
-terminalMatchCheck _obj column row = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    tag <- allocMem :: IO (Ptr Int32)
-    result <- vte_terminal_match_check _obj' column row tag
-    checkUnexpectedReturnNULL "vte_terminal_match_check" result
-    result' <- cstringToText result
-    freeMem result
-    tag' <- peek tag
-    touchManagedPtr _obj
-    freeMem tag
-    return (result', tag')
-
--- method Terminal::match_check_event
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", 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},Arg {argName = "tag", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", 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 TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_match_check_event" vte_terminal_match_check_event :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Ptr Gdk.Event ->                        -- event : TInterface "Gdk" "Event"
-    Ptr Int32 ->                            -- tag : TBasicType TInt32
-    IO CString
-
-
-terminalMatchCheckEvent ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Gdk.Event ->                            -- event
-    m (T.Text,Int32)
-terminalMatchCheckEvent _obj event = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let event' = unsafeManagedPtrGetPtr event
-    tag <- allocMem :: IO (Ptr Int32)
-    result <- vte_terminal_match_check_event _obj' event' tag
-    checkUnexpectedReturnNULL "vte_terminal_match_check_event" result
-    result' <- cstringToText result
-    freeMem result
-    tag' <- peek tag
-    touchManagedPtr _obj
-    touchManagedPtr event
-    freeMem tag
-    return (result', tag')
-
--- method Terminal::match_remove
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tag", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tag", 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 "vte_terminal_match_remove" vte_terminal_match_remove :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Int32 ->                                -- tag : TBasicType TInt32
-    IO ()
-
-
-terminalMatchRemove ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- tag
-    m ()
-terminalMatchRemove _obj tag = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    vte_terminal_match_remove _obj' tag
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::match_remove_all
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_match_remove_all" vte_terminal_match_remove_all :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO ()
-
-
-terminalMatchRemoveAll ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m ()
-terminalMatchRemoveAll _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    vte_terminal_match_remove_all _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::match_set_cursor_name
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tag", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tag", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor_name", 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 "vte_terminal_match_set_cursor_name" vte_terminal_match_set_cursor_name :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Int32 ->                                -- tag : TBasicType TInt32
-    CString ->                              -- cursor_name : TBasicType TUTF8
-    IO ()
-
-
-terminalMatchSetCursorName ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- tag
-    T.Text ->                               -- cursor_name
-    m ()
-terminalMatchSetCursorName _obj tag cursor_name = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    cursor_name' <- textToCString cursor_name
-    vte_terminal_match_set_cursor_name _obj' tag cursor_name'
-    touchManagedPtr _obj
-    freeMem cursor_name'
-    return ()
-
--- method Terminal::match_set_cursor_type
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tag", argType = TBasicType TInt32, 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 = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tag", argType = TBasicType TInt32, 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 : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_match_set_cursor_type" vte_terminal_match_set_cursor_type :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Int32 ->                                -- tag : TBasicType TInt32
-    CUInt ->                                -- cursor_type : TInterface "Gdk" "CursorType"
-    IO ()
-
-
-terminalMatchSetCursorType ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- tag
-    Gdk.CursorType ->                       -- cursor_type
-    m ()
-terminalMatchSetCursorType _obj tag cursor_type = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let cursor_type' = (fromIntegral . fromEnum) cursor_type
-    vte_terminal_match_set_cursor_type _obj' tag cursor_type'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::paste_clipboard
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_paste_clipboard" vte_terminal_paste_clipboard :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO ()
-
-
-terminalPasteClipboard ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m ()
-terminalPasteClipboard _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    vte_terminal_paste_clipboard _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::paste_primary
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_paste_primary" vte_terminal_paste_primary :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO ()
-
-
-terminalPastePrimary ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m ()
-terminalPastePrimary _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    vte_terminal_paste_primary _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::pty_new_sync
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "Vte" "PtyFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "Vte" "PtyFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Vte" "Pty"
--- throws : True
--- Skip return : False
-
-foreign import ccall "vte_terminal_pty_new_sync" vte_terminal_pty_new_sync :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    CUInt ->                                -- flags : TInterface "Vte" "PtyFlags"
-    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"
-    Ptr (Ptr GError) ->                     -- error
-    IO (Ptr Pty)
-
-
-terminalPtyNewSync ::
-    (MonadIO m, TerminalK a, Gio.CancellableK b) =>
-    a ->                                    -- _obj
-    [PtyFlags] ->                           -- flags
-    Maybe (b) ->                            -- cancellable
-    m Pty
-terminalPtyNewSync _obj flags cancellable = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let flags' = gflagsToWord flags
-    maybeCancellable <- case cancellable of
-        Nothing -> return nullPtr
-        Just jCancellable -> do
-            let jCancellable' = unsafeManagedPtrCastPtr jCancellable
-            return jCancellable'
-    onException (do
-        result <- propagateGError $ vte_terminal_pty_new_sync _obj' flags' maybeCancellable
-        checkUnexpectedReturnNULL "vte_terminal_pty_new_sync" result
-        result' <- (wrapObject Pty) result
-        touchManagedPtr _obj
-        whenJust cancellable touchManagedPtr
-        return result'
-     ) (do
-        return ()
-     )
-
--- method Terminal::reset
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "clear_tabstops", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "clear_history", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "clear_tabstops", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "clear_history", 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 "vte_terminal_reset" vte_terminal_reset :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    CInt ->                                 -- clear_tabstops : TBasicType TBoolean
-    CInt ->                                 -- clear_history : TBasicType TBoolean
-    IO ()
-
-
-terminalReset ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- clear_tabstops
-    Bool ->                                 -- clear_history
-    m ()
-terminalReset _obj clear_tabstops clear_history = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let clear_tabstops' = (fromIntegral . fromEnum) clear_tabstops
-    let clear_history' = (fromIntegral . fromEnum) clear_history
-    vte_terminal_reset _obj' clear_tabstops' clear_history'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::search_find_next
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_search_find_next" vte_terminal_search_find_next :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO CInt
-
-
-terminalSearchFindNext ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m Bool
-terminalSearchFindNext _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_search_find_next _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Terminal::search_find_previous
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_search_find_previous" vte_terminal_search_find_previous :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO CInt
-
-
-terminalSearchFindPrevious ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m Bool
-terminalSearchFindPrevious _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_search_find_previous _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Terminal::search_get_gregex
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GLib" "Regex"
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_search_get_gregex" vte_terminal_search_get_gregex :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO (Ptr GLib.Regex)
-
-
-terminalSearchGetGregex ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m GLib.Regex
-terminalSearchGetGregex _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_search_get_gregex _obj'
-    checkUnexpectedReturnNULL "vte_terminal_search_get_gregex" result
-    result' <- (newBoxed GLib.Regex) result
-    touchManagedPtr _obj
-    return result'
-
--- method Terminal::search_get_wrap_around
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_search_get_wrap_around" vte_terminal_search_get_wrap_around :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO CInt
-
-
-terminalSearchGetWrapAround ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m Bool
-terminalSearchGetWrapAround _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- vte_terminal_search_get_wrap_around _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
--- method Terminal::search_set_gregex
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "regex", argType = TInterface "GLib" "Regex", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GLib" "RegexMatchFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "regex", argType = TInterface "GLib" "Regex", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GLib" "RegexMatchFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_search_set_gregex" vte_terminal_search_set_gregex :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Ptr GLib.Regex ->                       -- regex : TInterface "GLib" "Regex"
-    CUInt ->                                -- flags : TInterface "GLib" "RegexMatchFlags"
-    IO ()
-
-
-terminalSearchSetGregex ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Maybe (GLib.Regex) ->                   -- regex
-    [GLib.RegexMatchFlags] ->               -- flags
-    m ()
-terminalSearchSetGregex _obj regex flags = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeRegex <- case regex of
-        Nothing -> return nullPtr
-        Just jRegex -> do
-            let jRegex' = unsafeManagedPtrGetPtr jRegex
-            return jRegex'
-    let flags' = gflagsToWord flags
-    vte_terminal_search_set_gregex _obj' maybeRegex flags'
-    touchManagedPtr _obj
-    whenJust regex touchManagedPtr
-    return ()
-
--- method Terminal::search_set_wrap_around
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wrap_around", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wrap_around", 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 "vte_terminal_search_set_wrap_around" vte_terminal_search_set_wrap_around :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    CInt ->                                 -- wrap_around : TBasicType TBoolean
-    IO ()
-
-
-terminalSearchSetWrapAround ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- wrap_around
-    m ()
-terminalSearchSetWrapAround _obj wrap_around = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let wrap_around' = (fromIntegral . fromEnum) wrap_around
-    vte_terminal_search_set_wrap_around _obj' wrap_around'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::select_all
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_select_all" vte_terminal_select_all :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO ()
-
-
-terminalSelectAll ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m ()
-terminalSelectAll _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    vte_terminal_select_all _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::set_allow_bold
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "allow_bold", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "allow_bold", 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 "vte_terminal_set_allow_bold" vte_terminal_set_allow_bold :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    CInt ->                                 -- allow_bold : TBasicType TBoolean
-    IO ()
-
-
-terminalSetAllowBold ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- allow_bold
-    m ()
-terminalSetAllowBold _obj allow_bold = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let allow_bold' = (fromIntegral . fromEnum) allow_bold
-    vte_terminal_set_allow_bold _obj' allow_bold'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::set_audible_bell
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "is_audible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "is_audible", 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 "vte_terminal_set_audible_bell" vte_terminal_set_audible_bell :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    CInt ->                                 -- is_audible : TBasicType TBoolean
-    IO ()
-
-
-terminalSetAudibleBell ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- is_audible
-    m ()
-terminalSetAudibleBell _obj is_audible = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let is_audible' = (fromIntegral . fromEnum) is_audible
-    vte_terminal_set_audible_bell _obj' is_audible'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::set_backspace_binding
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "binding", argType = TInterface "Vte" "EraseBinding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "binding", argType = TInterface "Vte" "EraseBinding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_set_backspace_binding" vte_terminal_set_backspace_binding :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    CUInt ->                                -- binding : TInterface "Vte" "EraseBinding"
-    IO ()
-
-
-terminalSetBackspaceBinding ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    EraseBinding ->                         -- binding
-    m ()
-terminalSetBackspaceBinding _obj binding = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let binding' = (fromIntegral . fromEnum) binding
-    vte_terminal_set_backspace_binding _obj' binding'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::set_cjk_ambiguous_width
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", 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}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", 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}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_set_cjk_ambiguous_width" vte_terminal_set_cjk_ambiguous_width :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Int32 ->                                -- width : TBasicType TInt32
-    IO ()
-
-
-terminalSetCjkAmbiguousWidth ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- width
-    m ()
-terminalSetCjkAmbiguousWidth _obj width = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    vte_terminal_set_cjk_ambiguous_width _obj' width
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::set_color_background
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "background", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "background", 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 "vte_terminal_set_color_background" vte_terminal_set_color_background :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Ptr Gdk.RGBA ->                         -- background : TInterface "Gdk" "RGBA"
-    IO ()
-
-
-terminalSetColorBackground ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Gdk.RGBA ->                             -- background
-    m ()
-terminalSetColorBackground _obj background = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let background' = unsafeManagedPtrGetPtr background
-    vte_terminal_set_color_background _obj' background'
-    touchManagedPtr _obj
-    touchManagedPtr background
-    return ()
-
--- method Terminal::set_color_bold
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "bold", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "bold", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_set_color_bold" vte_terminal_set_color_bold :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Ptr Gdk.RGBA ->                         -- bold : TInterface "Gdk" "RGBA"
-    IO ()
-
-
-terminalSetColorBold ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Maybe (Gdk.RGBA) ->                     -- bold
-    m ()
-terminalSetColorBold _obj bold = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeBold <- case bold of
-        Nothing -> return nullPtr
-        Just jBold -> do
-            let jBold' = unsafeManagedPtrGetPtr jBold
-            return jBold'
-    vte_terminal_set_color_bold _obj' maybeBold
-    touchManagedPtr _obj
-    whenJust bold touchManagedPtr
-    return ()
-
--- method Terminal::set_color_cursor
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor_background", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor_background", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_set_color_cursor" vte_terminal_set_color_cursor :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Ptr Gdk.RGBA ->                         -- cursor_background : TInterface "Gdk" "RGBA"
-    IO ()
-
-
-terminalSetColorCursor ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Maybe (Gdk.RGBA) ->                     -- cursor_background
-    m ()
-terminalSetColorCursor _obj cursor_background = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeCursor_background <- case cursor_background of
-        Nothing -> return nullPtr
-        Just jCursor_background -> do
-            let jCursor_background' = unsafeManagedPtrGetPtr jCursor_background
-            return jCursor_background'
-    vte_terminal_set_color_cursor _obj' maybeCursor_background
-    touchManagedPtr _obj
-    whenJust cursor_background touchManagedPtr
-    return ()
-
--- method Terminal::set_color_foreground
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "foreground", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "foreground", 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 "vte_terminal_set_color_foreground" vte_terminal_set_color_foreground :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Ptr Gdk.RGBA ->                         -- foreground : TInterface "Gdk" "RGBA"
-    IO ()
-
-
-terminalSetColorForeground ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Gdk.RGBA ->                             -- foreground
-    m ()
-terminalSetColorForeground _obj foreground = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let foreground' = unsafeManagedPtrGetPtr foreground
-    vte_terminal_set_color_foreground _obj' foreground'
-    touchManagedPtr _obj
-    touchManagedPtr foreground
-    return ()
-
--- method Terminal::set_color_highlight
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "highlight_background", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "highlight_background", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_set_color_highlight" vte_terminal_set_color_highlight :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Ptr Gdk.RGBA ->                         -- highlight_background : TInterface "Gdk" "RGBA"
-    IO ()
-
-
-terminalSetColorHighlight ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Maybe (Gdk.RGBA) ->                     -- highlight_background
-    m ()
-terminalSetColorHighlight _obj highlight_background = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeHighlight_background <- case highlight_background of
-        Nothing -> return nullPtr
-        Just jHighlight_background -> do
-            let jHighlight_background' = unsafeManagedPtrGetPtr jHighlight_background
-            return jHighlight_background'
-    vte_terminal_set_color_highlight _obj' maybeHighlight_background
-    touchManagedPtr _obj
-    whenJust highlight_background touchManagedPtr
-    return ()
-
--- method Terminal::set_color_highlight_foreground
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "highlight_foreground", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "highlight_foreground", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_set_color_highlight_foreground" vte_terminal_set_color_highlight_foreground :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Ptr Gdk.RGBA ->                         -- highlight_foreground : TInterface "Gdk" "RGBA"
-    IO ()
-
-
-terminalSetColorHighlightForeground ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Maybe (Gdk.RGBA) ->                     -- highlight_foreground
-    m ()
-terminalSetColorHighlightForeground _obj highlight_foreground = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeHighlight_foreground <- case highlight_foreground of
-        Nothing -> return nullPtr
-        Just jHighlight_foreground -> do
-            let jHighlight_foreground' = unsafeManagedPtrGetPtr jHighlight_foreground
-            return jHighlight_foreground'
-    vte_terminal_set_color_highlight_foreground _obj' maybeHighlight_foreground
-    touchManagedPtr _obj
-    whenJust highlight_foreground touchManagedPtr
-    return ()
-
--- method Terminal::set_colors
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "foreground", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "background", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "palette", argType = TCArray False (-1) 4 (TInterface "Gdk" "RGBA"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "palette_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : [Arg {argName = "palette_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "foreground", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "background", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "palette", argType = TCArray False (-1) 4 (TInterface "Gdk" "RGBA"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_set_colors" vte_terminal_set_colors :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Ptr Gdk.RGBA ->                         -- foreground : TInterface "Gdk" "RGBA"
-    Ptr Gdk.RGBA ->                         -- background : TInterface "Gdk" "RGBA"
-    Ptr Gdk.RGBA ->                         -- palette : TCArray False (-1) 4 (TInterface "Gdk" "RGBA")
-    Word64 ->                               -- palette_size : TBasicType TUInt64
-    IO ()
-
-
-terminalSetColors ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Maybe (Gdk.RGBA) ->                     -- foreground
-    Maybe (Gdk.RGBA) ->                     -- background
-    Maybe ([Gdk.RGBA]) ->                   -- palette
-    m ()
-terminalSetColors _obj foreground background palette = liftIO $ do
-    let palette_size = case palette of
-            Nothing -> 0
-            Just jPalette -> fromIntegral $ length jPalette
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeForeground <- case foreground of
-        Nothing -> return nullPtr
-        Just jForeground -> do
-            let jForeground' = unsafeManagedPtrGetPtr jForeground
-            return jForeground'
-    maybeBackground <- case background of
-        Nothing -> return nullPtr
-        Just jBackground -> do
-            let jBackground' = unsafeManagedPtrGetPtr jBackground
-            return jBackground'
-    maybePalette <- case palette of
-        Nothing -> return nullPtr
-        Just jPalette -> do
-            let jPalette' = map unsafeManagedPtrGetPtr jPalette
-            jPalette'' <- packBlockArray 32 jPalette'
-            return jPalette''
-    vte_terminal_set_colors _obj' maybeForeground maybeBackground maybePalette palette_size
-    touchManagedPtr _obj
-    whenJust foreground touchManagedPtr
-    whenJust background touchManagedPtr
-    whenJust palette (mapM_ touchManagedPtr)
-    freeMem maybePalette
-    return ()
-
--- method Terminal::set_cursor_blink_mode
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mode", argType = TInterface "Vte" "CursorBlinkMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mode", argType = TInterface "Vte" "CursorBlinkMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_set_cursor_blink_mode" vte_terminal_set_cursor_blink_mode :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    CUInt ->                                -- mode : TInterface "Vte" "CursorBlinkMode"
-    IO ()
-
-
-terminalSetCursorBlinkMode ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    CursorBlinkMode ->                      -- mode
-    m ()
-terminalSetCursorBlinkMode _obj mode = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let mode' = (fromIntegral . fromEnum) mode
-    vte_terminal_set_cursor_blink_mode _obj' mode'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::set_cursor_shape
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "shape", argType = TInterface "Vte" "CursorShape", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "shape", argType = TInterface "Vte" "CursorShape", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_set_cursor_shape" vte_terminal_set_cursor_shape :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    CUInt ->                                -- shape : TInterface "Vte" "CursorShape"
-    IO ()
-
-
-terminalSetCursorShape ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    CursorShape ->                          -- shape
-    m ()
-terminalSetCursorShape _obj shape = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let shape' = (fromIntegral . fromEnum) shape
-    vte_terminal_set_cursor_shape _obj' shape'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::set_default_colors
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_set_default_colors" vte_terminal_set_default_colors :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO ()
-
-
-terminalSetDefaultColors ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m ()
-terminalSetDefaultColors _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    vte_terminal_set_default_colors _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::set_delete_binding
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "binding", argType = TInterface "Vte" "EraseBinding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "binding", argType = TInterface "Vte" "EraseBinding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_set_delete_binding" vte_terminal_set_delete_binding :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    CUInt ->                                -- binding : TInterface "Vte" "EraseBinding"
-    IO ()
-
-
-terminalSetDeleteBinding ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    EraseBinding ->                         -- binding
-    m ()
-terminalSetDeleteBinding _obj binding = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let binding' = (fromIntegral . fromEnum) binding
-    vte_terminal_set_delete_binding _obj' binding'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::set_encoding
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "codeset", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "codeset", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : True
--- Skip return : False
-
-foreign import ccall "vte_terminal_set_encoding" vte_terminal_set_encoding :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    CString ->                              -- codeset : TBasicType TUTF8
-    Ptr (Ptr GError) ->                     -- error
-    IO CInt
-
-
-terminalSetEncoding ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Maybe (T.Text) ->                       -- codeset
-    m ()
-terminalSetEncoding _obj codeset = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeCodeset <- case codeset of
-        Nothing -> return nullPtr
-        Just jCodeset -> do
-            jCodeset' <- textToCString jCodeset
-            return jCodeset'
-    onException (do
-        _ <- propagateGError $ vte_terminal_set_encoding _obj' maybeCodeset
-        touchManagedPtr _obj
-        freeMem maybeCodeset
-        return ()
-     ) (do
-        freeMem maybeCodeset
-     )
-
--- method Terminal::set_font
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font_desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font_desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_set_font" vte_terminal_set_font :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Ptr Pango.FontDescription ->            -- font_desc : TInterface "Pango" "FontDescription"
-    IO ()
-
-
-terminalSetFont ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Maybe (Pango.FontDescription) ->        -- font_desc
-    m ()
-terminalSetFont _obj font_desc = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybeFont_desc <- case font_desc of
-        Nothing -> return nullPtr
-        Just jFont_desc -> do
-            let jFont_desc' = unsafeManagedPtrGetPtr jFont_desc
-            return jFont_desc'
-    vte_terminal_set_font _obj' maybeFont_desc
-    touchManagedPtr _obj
-    whenJust font_desc touchManagedPtr
-    return ()
-
--- method Terminal::set_font_scale
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale", 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 "vte_terminal_set_font_scale" vte_terminal_set_font_scale :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    CDouble ->                              -- scale : TBasicType TDouble
-    IO ()
-
-
-terminalSetFontScale ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Double ->                               -- scale
-    m ()
-terminalSetFontScale _obj scale = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let scale' = realToFrac scale
-    vte_terminal_set_font_scale _obj' scale'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::set_geometry_hints_for_window
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gtk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gtk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_set_geometry_hints_for_window" vte_terminal_set_geometry_hints_for_window :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Ptr Gtk.Window ->                       -- window : TInterface "Gtk" "Window"
-    IO ()
-
-
-terminalSetGeometryHintsForWindow ::
-    (MonadIO m, TerminalK a, Gtk.WindowK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- window
-    m ()
-terminalSetGeometryHintsForWindow _obj window = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let window' = unsafeManagedPtrCastPtr window
-    vte_terminal_set_geometry_hints_for_window _obj' window'
-    touchManagedPtr _obj
-    touchManagedPtr window
-    return ()
-
--- method Terminal::set_input_enabled
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", 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 "Vte" "Terminal", 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 "vte_terminal_set_input_enabled" vte_terminal_set_input_enabled :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    CInt ->                                 -- enabled : TBasicType TBoolean
-    IO ()
-
-
-terminalSetInputEnabled ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- enabled
-    m ()
-terminalSetInputEnabled _obj enabled = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let enabled' = (fromIntegral . fromEnum) enabled
-    vte_terminal_set_input_enabled _obj' enabled'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::set_mouse_autohide
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", 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 "Vte" "Terminal", 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 "vte_terminal_set_mouse_autohide" vte_terminal_set_mouse_autohide :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    CInt ->                                 -- setting : TBasicType TBoolean
-    IO ()
-
-
-terminalSetMouseAutohide ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- setting
-    m ()
-terminalSetMouseAutohide _obj setting = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let setting' = (fromIntegral . fromEnum) setting
-    vte_terminal_set_mouse_autohide _obj' setting'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::set_pty
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pty", argType = TInterface "Vte" "Pty", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pty", argType = TInterface "Vte" "Pty", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_set_pty" vte_terminal_set_pty :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Ptr Pty ->                              -- pty : TInterface "Vte" "Pty"
-    IO ()
-
-
-terminalSetPty ::
-    (MonadIO m, TerminalK a, PtyK b) =>
-    a ->                                    -- _obj
-    Maybe (b) ->                            -- pty
-    m ()
-terminalSetPty _obj pty = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    maybePty <- case pty of
-        Nothing -> return nullPtr
-        Just jPty -> do
-            let jPty' = unsafeManagedPtrCastPtr jPty
-            return jPty'
-    vte_terminal_set_pty _obj' maybePty
-    touchManagedPtr _obj
-    whenJust pty touchManagedPtr
-    return ()
-
--- method Terminal::set_rewrap_on_resize
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rewrap", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rewrap", 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 "vte_terminal_set_rewrap_on_resize" vte_terminal_set_rewrap_on_resize :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    CInt ->                                 -- rewrap : TBasicType TBoolean
-    IO ()
-
-
-terminalSetRewrapOnResize ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- rewrap
-    m ()
-terminalSetRewrapOnResize _obj rewrap = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let rewrap' = (fromIntegral . fromEnum) rewrap
-    vte_terminal_set_rewrap_on_resize _obj' rewrap'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::set_scroll_on_keystroke
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scroll", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scroll", 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 "vte_terminal_set_scroll_on_keystroke" vte_terminal_set_scroll_on_keystroke :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    CInt ->                                 -- scroll : TBasicType TBoolean
-    IO ()
-
-
-terminalSetScrollOnKeystroke ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- scroll
-    m ()
-terminalSetScrollOnKeystroke _obj scroll = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let scroll' = (fromIntegral . fromEnum) scroll
-    vte_terminal_set_scroll_on_keystroke _obj' scroll'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::set_scroll_on_output
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scroll", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scroll", 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 "vte_terminal_set_scroll_on_output" vte_terminal_set_scroll_on_output :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    CInt ->                                 -- scroll : TBasicType TBoolean
-    IO ()
-
-
-terminalSetScrollOnOutput ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- scroll
-    m ()
-terminalSetScrollOnOutput _obj scroll = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let scroll' = (fromIntegral . fromEnum) scroll
-    vte_terminal_set_scroll_on_output _obj' scroll'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::set_scrollback_lines
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "lines", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "lines", 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 "vte_terminal_set_scrollback_lines" vte_terminal_set_scrollback_lines :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Int64 ->                                -- lines : TBasicType TInt64
-    IO ()
-
-
-terminalSetScrollbackLines ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Int64 ->                                -- lines
-    m ()
-terminalSetScrollbackLines _obj lines = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    vte_terminal_set_scrollback_lines _obj' lines
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::set_size
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "columns", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rows", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "columns", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rows", 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 "vte_terminal_set_size" vte_terminal_set_size :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Int64 ->                                -- columns : TBasicType TInt64
-    Int64 ->                                -- rows : TBasicType TInt64
-    IO ()
-
-
-terminalSetSize ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Int64 ->                                -- columns
-    Int64 ->                                -- rows
-    m ()
-terminalSetSize _obj columns rows = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    vte_terminal_set_size _obj' columns rows
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::set_word_char_exceptions
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "exceptions", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "exceptions", 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 "vte_terminal_set_word_char_exceptions" vte_terminal_set_word_char_exceptions :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    CString ->                              -- exceptions : TBasicType TUTF8
-    IO ()
-
-
-terminalSetWordCharExceptions ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- exceptions
-    m ()
-terminalSetWordCharExceptions _obj exceptions = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    exceptions' <- textToCString exceptions
-    vte_terminal_set_word_char_exceptions _obj' exceptions'
-    touchManagedPtr _obj
-    freeMem exceptions'
-    return ()
-
--- method Terminal::spawn_sync
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pty_flags", argType = TInterface "Vte" "PtyFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "working_directory", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "argv", argType = TCArray True (-1) (-1) (TBasicType TFileName), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "envv", argType = TCArray True (-1) (-1) (TBasicType TFileName), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "spawn_flags", argType = TInterface "GLib" "SpawnFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "child_setup", argType = TInterface "GLib" "SpawnChildSetupFunc", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeCall, argClosure = 7, argDestroy = -1, transfer = TransferNothing},Arg {argName = "child_setup_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "child_pid", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pty_flags", argType = TInterface "Vte" "PtyFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "working_directory", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "argv", argType = TCArray True (-1) (-1) (TBasicType TFileName), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "envv", argType = TCArray True (-1) (-1) (TBasicType TFileName), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "spawn_flags", argType = TInterface "GLib" "SpawnFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "child_setup", argType = TInterface "GLib" "SpawnChildSetupFunc", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeCall, argClosure = 7, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : True
--- Skip return : False
-
-foreign import ccall "vte_terminal_spawn_sync" vte_terminal_spawn_sync :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    CUInt ->                                -- pty_flags : TInterface "Vte" "PtyFlags"
-    CString ->                              -- working_directory : TBasicType TUTF8
-    Ptr CString ->                          -- argv : TCArray True (-1) (-1) (TBasicType TFileName)
-    Ptr CString ->                          -- envv : TCArray True (-1) (-1) (TBasicType TFileName)
-    CUInt ->                                -- spawn_flags : TInterface "GLib" "SpawnFlags"
-    FunPtr GLib.SpawnChildSetupFuncC ->     -- child_setup : TInterface "GLib" "SpawnChildSetupFunc"
-    Ptr () ->                               -- child_setup_data : TBasicType TVoid
-    Ptr Int32 ->                            -- child_pid : TBasicType TInt32
-    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"
-    Ptr (Ptr GError) ->                     -- error
-    IO CInt
-
-
-terminalSpawnSync ::
-    (MonadIO m, TerminalK a, Gio.CancellableK b) =>
-    a ->                                    -- _obj
-    [PtyFlags] ->                           -- pty_flags
-    Maybe (T.Text) ->                       -- working_directory
-    [[Char]] ->                             -- argv
-    Maybe ([[Char]]) ->                     -- envv
-    [GLib.SpawnFlags] ->                    -- spawn_flags
-    Maybe (GLib.SpawnChildSetupFunc) ->     -- child_setup
-    Maybe (b) ->                            -- cancellable
-    m (Int32)
-terminalSpawnSync _obj pty_flags working_directory argv envv spawn_flags child_setup cancellable = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let pty_flags' = gflagsToWord pty_flags
-    maybeWorking_directory <- case working_directory of
-        Nothing -> return nullPtr
-        Just jWorking_directory -> do
-            jWorking_directory' <- textToCString jWorking_directory
-            return jWorking_directory'
-    argv' <- packZeroTerminatedFileNameArray argv
-    maybeEnvv <- case envv of
-        Nothing -> return nullPtr
-        Just jEnvv -> do
-            jEnvv' <- packZeroTerminatedFileNameArray jEnvv
-            return jEnvv'
-    let spawn_flags' = gflagsToWord spawn_flags
-    maybeChild_setup <- case child_setup of
-        Nothing -> return (castPtrToFunPtr nullPtr)
-        Just jChild_setup -> do
-            jChild_setup' <- GLib.mkSpawnChildSetupFunc (GLib.spawnChildSetupFuncWrapper Nothing jChild_setup)
-            return jChild_setup'
-    child_pid <- allocMem :: IO (Ptr Int32)
-    maybeCancellable <- case cancellable of
-        Nothing -> return nullPtr
-        Just jCancellable -> do
-            let jCancellable' = unsafeManagedPtrCastPtr jCancellable
-            return jCancellable'
-    let child_setup_data = nullPtr
-    onException (do
-        _ <- propagateGError $ vte_terminal_spawn_sync _obj' pty_flags' maybeWorking_directory argv' maybeEnvv spawn_flags' maybeChild_setup child_setup_data child_pid maybeCancellable
-        child_pid' <- peek child_pid
-        safeFreeFunPtr $ castFunPtrToPtr maybeChild_setup
-        touchManagedPtr _obj
-        whenJust cancellable touchManagedPtr
-        freeMem maybeWorking_directory
-        mapZeroTerminatedCArray freeMem argv'
-        freeMem argv'
-        mapZeroTerminatedCArray freeMem maybeEnvv
-        freeMem maybeEnvv
-        freeMem child_pid
-        return child_pid'
-     ) (do
-        safeFreeFunPtr $ castFunPtrToPtr maybeChild_setup
-        freeMem maybeWorking_directory
-        mapZeroTerminatedCArray freeMem argv'
-        freeMem argv'
-        mapZeroTerminatedCArray freeMem maybeEnvv
-        freeMem maybeEnvv
-        freeMem child_pid
-     )
-
--- method Terminal::unselect_all
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "vte_terminal_unselect_all" vte_terminal_unselect_all :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    IO ()
-
-
-terminalUnselectAll ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    m ()
-terminalUnselectAll _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    vte_terminal_unselect_all _obj'
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::watch_child
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "child_pid", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "child_pid", 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 "vte_terminal_watch_child" vte_terminal_watch_child :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Int32 ->                                -- child_pid : TBasicType TInt32
-    IO ()
-
-
-terminalWatchChild ::
-    (MonadIO m, TerminalK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- child_pid
-    m ()
-terminalWatchChild _obj child_pid = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    vte_terminal_watch_child _obj' child_pid
-    touchManagedPtr _obj
-    return ()
-
--- method Terminal::write_contents_sync
--- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "stream", argType = TInterface "Gio" "OutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "Vte" "WriteFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "stream", argType = TInterface "Gio" "OutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "Vte" "WriteFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : True
--- Skip return : False
-
-foreign import ccall "vte_terminal_write_contents_sync" vte_terminal_write_contents_sync :: 
-    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
-    Ptr Gio.OutputStream ->                 -- stream : TInterface "Gio" "OutputStream"
-    CUInt ->                                -- flags : TInterface "Vte" "WriteFlags"
-    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"
-    Ptr (Ptr GError) ->                     -- error
-    IO CInt
-
-
-terminalWriteContentsSync ::
-    (MonadIO m, TerminalK a, Gio.OutputStreamK b, Gio.CancellableK c) =>
-    a ->                                    -- _obj
-    b ->                                    -- stream
-    WriteFlags ->                           -- flags
-    Maybe (c) ->                            -- cancellable
-    m ()
-terminalWriteContentsSync _obj stream flags cancellable = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let stream' = unsafeManagedPtrCastPtr stream
-    let flags' = (fromIntegral . fromEnum) flags
-    maybeCancellable <- case cancellable of
-        Nothing -> return nullPtr
-        Just jCancellable -> do
-            let jCancellable' = unsafeManagedPtrCastPtr jCancellable
-            return jCancellable'
-    onException (do
-        _ <- propagateGError $ vte_terminal_write_contents_sync _obj' stream' flags' maybeCancellable
-        touchManagedPtr _obj
-        touchManagedPtr stream
-        whenJust cancellable touchManagedPtr
-        return ()
-     ) (do
-        return ()
-     )
+
+{- |
+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.Vte.Objects.Terminal
+    ( 
+
+-- * Exported types
+    Terminal(..)                            ,
+    TerminalK                               ,
+    toTerminal                              ,
+    noTerminal                              ,
+
+
+ -- * Methods
+-- ** terminalCopyClipboard
+    TerminalCopyClipboardMethodInfo         ,
+    terminalCopyClipboard                   ,
+
+
+-- ** terminalCopyPrimary
+    TerminalCopyPrimaryMethodInfo           ,
+    terminalCopyPrimary                     ,
+
+
+-- ** terminalFeed
+    TerminalFeedMethodInfo                  ,
+    terminalFeed                            ,
+
+
+-- ** terminalFeedChild
+    TerminalFeedChildMethodInfo             ,
+    terminalFeedChild                       ,
+
+
+-- ** terminalFeedChildBinary
+    TerminalFeedChildBinaryMethodInfo       ,
+    terminalFeedChildBinary                 ,
+
+
+-- ** terminalGetAllowBold
+    TerminalGetAllowBoldMethodInfo          ,
+    terminalGetAllowBold                    ,
+
+
+-- ** terminalGetAudibleBell
+    TerminalGetAudibleBellMethodInfo        ,
+    terminalGetAudibleBell                  ,
+
+
+-- ** terminalGetCharHeight
+    TerminalGetCharHeightMethodInfo         ,
+    terminalGetCharHeight                   ,
+
+
+-- ** terminalGetCharWidth
+    TerminalGetCharWidthMethodInfo          ,
+    terminalGetCharWidth                    ,
+
+
+-- ** terminalGetCjkAmbiguousWidth
+    TerminalGetCjkAmbiguousWidthMethodInfo  ,
+    terminalGetCjkAmbiguousWidth            ,
+
+
+-- ** terminalGetColumnCount
+    TerminalGetColumnCountMethodInfo        ,
+    terminalGetColumnCount                  ,
+
+
+-- ** terminalGetCurrentDirectoryUri
+    TerminalGetCurrentDirectoryUriMethodInfo,
+    terminalGetCurrentDirectoryUri          ,
+
+
+-- ** terminalGetCurrentFileUri
+    TerminalGetCurrentFileUriMethodInfo     ,
+    terminalGetCurrentFileUri               ,
+
+
+-- ** terminalGetCursorBlinkMode
+    TerminalGetCursorBlinkModeMethodInfo    ,
+    terminalGetCursorBlinkMode              ,
+
+
+-- ** terminalGetCursorPosition
+    TerminalGetCursorPositionMethodInfo     ,
+    terminalGetCursorPosition               ,
+
+
+-- ** terminalGetCursorShape
+    TerminalGetCursorShapeMethodInfo        ,
+    terminalGetCursorShape                  ,
+
+
+-- ** terminalGetEncoding
+    TerminalGetEncodingMethodInfo           ,
+    terminalGetEncoding                     ,
+
+
+-- ** terminalGetFont
+    TerminalGetFontMethodInfo               ,
+    terminalGetFont                         ,
+
+
+-- ** terminalGetFontScale
+    TerminalGetFontScaleMethodInfo          ,
+    terminalGetFontScale                    ,
+
+
+-- ** terminalGetGeometryHints
+    TerminalGetGeometryHintsMethodInfo      ,
+    terminalGetGeometryHints                ,
+
+
+-- ** terminalGetHasSelection
+    TerminalGetHasSelectionMethodInfo       ,
+    terminalGetHasSelection                 ,
+
+
+-- ** terminalGetIconTitle
+    TerminalGetIconTitleMethodInfo          ,
+    terminalGetIconTitle                    ,
+
+
+-- ** terminalGetInputEnabled
+    TerminalGetInputEnabledMethodInfo       ,
+    terminalGetInputEnabled                 ,
+
+
+-- ** terminalGetMouseAutohide
+    TerminalGetMouseAutohideMethodInfo      ,
+    terminalGetMouseAutohide                ,
+
+
+-- ** terminalGetPty
+    TerminalGetPtyMethodInfo                ,
+    terminalGetPty                          ,
+
+
+-- ** terminalGetRewrapOnResize
+    TerminalGetRewrapOnResizeMethodInfo     ,
+    terminalGetRewrapOnResize               ,
+
+
+-- ** terminalGetRowCount
+    TerminalGetRowCountMethodInfo           ,
+    terminalGetRowCount                     ,
+
+
+-- ** terminalGetText
+    TerminalGetTextMethodInfo               ,
+    terminalGetText                         ,
+
+
+-- ** terminalGetTextIncludeTrailingSpaces
+    TerminalGetTextIncludeTrailingSpacesMethodInfo,
+    terminalGetTextIncludeTrailingSpaces    ,
+
+
+-- ** terminalGetTextRange
+    TerminalGetTextRangeMethodInfo          ,
+    terminalGetTextRange                    ,
+
+
+-- ** terminalGetWindowTitle
+    TerminalGetWindowTitleMethodInfo        ,
+    terminalGetWindowTitle                  ,
+
+
+-- ** terminalGetWordCharExceptions
+    TerminalGetWordCharExceptionsMethodInfo ,
+    terminalGetWordCharExceptions           ,
+
+
+-- ** terminalMatchAddGregex
+    TerminalMatchAddGregexMethodInfo        ,
+    terminalMatchAddGregex                  ,
+
+
+-- ** terminalMatchCheck
+    TerminalMatchCheckMethodInfo            ,
+    terminalMatchCheck                      ,
+
+
+-- ** terminalMatchCheckEvent
+    TerminalMatchCheckEventMethodInfo       ,
+    terminalMatchCheckEvent                 ,
+
+
+-- ** terminalMatchRemove
+    TerminalMatchRemoveMethodInfo           ,
+    terminalMatchRemove                     ,
+
+
+-- ** terminalMatchRemoveAll
+    TerminalMatchRemoveAllMethodInfo        ,
+    terminalMatchRemoveAll                  ,
+
+
+-- ** terminalMatchSetCursorName
+    TerminalMatchSetCursorNameMethodInfo    ,
+    terminalMatchSetCursorName              ,
+
+
+-- ** terminalMatchSetCursorType
+    TerminalMatchSetCursorTypeMethodInfo    ,
+    terminalMatchSetCursorType              ,
+
+
+-- ** terminalNew
+    terminalNew                             ,
+
+
+-- ** terminalPasteClipboard
+    TerminalPasteClipboardMethodInfo        ,
+    terminalPasteClipboard                  ,
+
+
+-- ** terminalPastePrimary
+    TerminalPastePrimaryMethodInfo          ,
+    terminalPastePrimary                    ,
+
+
+-- ** terminalPtyNewSync
+    TerminalPtyNewSyncMethodInfo            ,
+    terminalPtyNewSync                      ,
+
+
+-- ** terminalReset
+    TerminalResetMethodInfo                 ,
+    terminalReset                           ,
+
+
+-- ** terminalSearchFindNext
+    TerminalSearchFindNextMethodInfo        ,
+    terminalSearchFindNext                  ,
+
+
+-- ** terminalSearchFindPrevious
+    TerminalSearchFindPreviousMethodInfo    ,
+    terminalSearchFindPrevious              ,
+
+
+-- ** terminalSearchGetGregex
+    TerminalSearchGetGregexMethodInfo       ,
+    terminalSearchGetGregex                 ,
+
+
+-- ** terminalSearchGetWrapAround
+    TerminalSearchGetWrapAroundMethodInfo   ,
+    terminalSearchGetWrapAround             ,
+
+
+-- ** terminalSearchSetGregex
+    TerminalSearchSetGregexMethodInfo       ,
+    terminalSearchSetGregex                 ,
+
+
+-- ** terminalSearchSetWrapAround
+    TerminalSearchSetWrapAroundMethodInfo   ,
+    terminalSearchSetWrapAround             ,
+
+
+-- ** terminalSelectAll
+    TerminalSelectAllMethodInfo             ,
+    terminalSelectAll                       ,
+
+
+-- ** terminalSetAllowBold
+    TerminalSetAllowBoldMethodInfo          ,
+    terminalSetAllowBold                    ,
+
+
+-- ** terminalSetAudibleBell
+    TerminalSetAudibleBellMethodInfo        ,
+    terminalSetAudibleBell                  ,
+
+
+-- ** terminalSetBackspaceBinding
+    TerminalSetBackspaceBindingMethodInfo   ,
+    terminalSetBackspaceBinding             ,
+
+
+-- ** terminalSetCjkAmbiguousWidth
+    TerminalSetCjkAmbiguousWidthMethodInfo  ,
+    terminalSetCjkAmbiguousWidth            ,
+
+
+-- ** terminalSetColorBackground
+    TerminalSetColorBackgroundMethodInfo    ,
+    terminalSetColorBackground              ,
+
+
+-- ** terminalSetColorBold
+    TerminalSetColorBoldMethodInfo          ,
+    terminalSetColorBold                    ,
+
+
+-- ** terminalSetColorCursor
+    TerminalSetColorCursorMethodInfo        ,
+    terminalSetColorCursor                  ,
+
+
+-- ** terminalSetColorForeground
+    TerminalSetColorForegroundMethodInfo    ,
+    terminalSetColorForeground              ,
+
+
+-- ** terminalSetColorHighlight
+    TerminalSetColorHighlightMethodInfo     ,
+    terminalSetColorHighlight               ,
+
+
+-- ** terminalSetColorHighlightForeground
+    TerminalSetColorHighlightForegroundMethodInfo,
+    terminalSetColorHighlightForeground     ,
+
+
+-- ** terminalSetColors
+    TerminalSetColorsMethodInfo             ,
+    terminalSetColors                       ,
+
+
+-- ** terminalSetCursorBlinkMode
+    TerminalSetCursorBlinkModeMethodInfo    ,
+    terminalSetCursorBlinkMode              ,
+
+
+-- ** terminalSetCursorShape
+    TerminalSetCursorShapeMethodInfo        ,
+    terminalSetCursorShape                  ,
+
+
+-- ** terminalSetDefaultColors
+    TerminalSetDefaultColorsMethodInfo      ,
+    terminalSetDefaultColors                ,
+
+
+-- ** terminalSetDeleteBinding
+    TerminalSetDeleteBindingMethodInfo      ,
+    terminalSetDeleteBinding                ,
+
+
+-- ** terminalSetEncoding
+    TerminalSetEncodingMethodInfo           ,
+    terminalSetEncoding                     ,
+
+
+-- ** terminalSetFont
+    TerminalSetFontMethodInfo               ,
+    terminalSetFont                         ,
+
+
+-- ** terminalSetFontScale
+    TerminalSetFontScaleMethodInfo          ,
+    terminalSetFontScale                    ,
+
+
+-- ** terminalSetGeometryHintsForWindow
+    TerminalSetGeometryHintsForWindowMethodInfo,
+    terminalSetGeometryHintsForWindow       ,
+
+
+-- ** terminalSetInputEnabled
+    TerminalSetInputEnabledMethodInfo       ,
+    terminalSetInputEnabled                 ,
+
+
+-- ** terminalSetMouseAutohide
+    TerminalSetMouseAutohideMethodInfo      ,
+    terminalSetMouseAutohide                ,
+
+
+-- ** terminalSetPty
+    TerminalSetPtyMethodInfo                ,
+    terminalSetPty                          ,
+
+
+-- ** terminalSetRewrapOnResize
+    TerminalSetRewrapOnResizeMethodInfo     ,
+    terminalSetRewrapOnResize               ,
+
+
+-- ** terminalSetScrollOnKeystroke
+    TerminalSetScrollOnKeystrokeMethodInfo  ,
+    terminalSetScrollOnKeystroke            ,
+
+
+-- ** terminalSetScrollOnOutput
+    TerminalSetScrollOnOutputMethodInfo     ,
+    terminalSetScrollOnOutput               ,
+
+
+-- ** terminalSetScrollbackLines
+    TerminalSetScrollbackLinesMethodInfo    ,
+    terminalSetScrollbackLines              ,
+
+
+-- ** terminalSetSize
+    TerminalSetSizeMethodInfo               ,
+    terminalSetSize                         ,
+
+
+-- ** terminalSetWordCharExceptions
+    TerminalSetWordCharExceptionsMethodInfo ,
+    terminalSetWordCharExceptions           ,
+
+
+-- ** terminalSpawnSync
+    TerminalSpawnSyncMethodInfo             ,
+    terminalSpawnSync                       ,
+
+
+-- ** terminalUnselectAll
+    TerminalUnselectAllMethodInfo           ,
+    terminalUnselectAll                     ,
+
+
+-- ** terminalWatchChild
+    TerminalWatchChildMethodInfo            ,
+    terminalWatchChild                      ,
+
+
+-- ** terminalWriteContentsSync
+    TerminalWriteContentsSyncMethodInfo     ,
+    terminalWriteContentsSync               ,
+
+
+
+
+ -- * Properties
+-- ** AllowBold
+    TerminalAllowBoldPropertyInfo           ,
+    constructTerminalAllowBold              ,
+    getTerminalAllowBold                    ,
+    setTerminalAllowBold                    ,
+
+
+-- ** AudibleBell
+    TerminalAudibleBellPropertyInfo         ,
+    constructTerminalAudibleBell            ,
+    getTerminalAudibleBell                  ,
+    setTerminalAudibleBell                  ,
+
+
+-- ** BackspaceBinding
+    TerminalBackspaceBindingPropertyInfo    ,
+    constructTerminalBackspaceBinding       ,
+    getTerminalBackspaceBinding             ,
+    setTerminalBackspaceBinding             ,
+
+
+-- ** CjkAmbiguousWidth
+    TerminalCjkAmbiguousWidthPropertyInfo   ,
+    constructTerminalCjkAmbiguousWidth      ,
+    getTerminalCjkAmbiguousWidth            ,
+    setTerminalCjkAmbiguousWidth            ,
+
+
+-- ** CurrentDirectoryUri
+    TerminalCurrentDirectoryUriPropertyInfo ,
+    getTerminalCurrentDirectoryUri          ,
+
+
+-- ** CurrentFileUri
+    TerminalCurrentFileUriPropertyInfo      ,
+    getTerminalCurrentFileUri               ,
+
+
+-- ** CursorBlinkMode
+    TerminalCursorBlinkModePropertyInfo     ,
+    constructTerminalCursorBlinkMode        ,
+    getTerminalCursorBlinkMode              ,
+    setTerminalCursorBlinkMode              ,
+
+
+-- ** CursorShape
+    TerminalCursorShapePropertyInfo         ,
+    constructTerminalCursorShape            ,
+    getTerminalCursorShape                  ,
+    setTerminalCursorShape                  ,
+
+
+-- ** DeleteBinding
+    TerminalDeleteBindingPropertyInfo       ,
+    constructTerminalDeleteBinding          ,
+    getTerminalDeleteBinding                ,
+    setTerminalDeleteBinding                ,
+
+
+-- ** Encoding
+    TerminalEncodingPropertyInfo            ,
+    constructTerminalEncoding               ,
+    getTerminalEncoding                     ,
+    setTerminalEncoding                     ,
+
+
+-- ** FontDesc
+    TerminalFontDescPropertyInfo            ,
+    constructTerminalFontDesc               ,
+    getTerminalFontDesc                     ,
+    setTerminalFontDesc                     ,
+
+
+-- ** FontScale
+    TerminalFontScalePropertyInfo           ,
+    constructTerminalFontScale              ,
+    getTerminalFontScale                    ,
+    setTerminalFontScale                    ,
+
+
+-- ** IconTitle
+    TerminalIconTitlePropertyInfo           ,
+    getTerminalIconTitle                    ,
+
+
+-- ** InputEnabled
+    TerminalInputEnabledPropertyInfo        ,
+    constructTerminalInputEnabled           ,
+    getTerminalInputEnabled                 ,
+    setTerminalInputEnabled                 ,
+
+
+-- ** PointerAutohide
+    TerminalPointerAutohidePropertyInfo     ,
+    constructTerminalPointerAutohide        ,
+    getTerminalPointerAutohide              ,
+    setTerminalPointerAutohide              ,
+
+
+-- ** Pty
+    TerminalPtyPropertyInfo                 ,
+    constructTerminalPty                    ,
+    getTerminalPty                          ,
+    setTerminalPty                          ,
+
+
+-- ** RewrapOnResize
+    TerminalRewrapOnResizePropertyInfo      ,
+    constructTerminalRewrapOnResize         ,
+    getTerminalRewrapOnResize               ,
+    setTerminalRewrapOnResize               ,
+
+
+-- ** ScrollOnKeystroke
+    TerminalScrollOnKeystrokePropertyInfo   ,
+    constructTerminalScrollOnKeystroke      ,
+    getTerminalScrollOnKeystroke            ,
+    setTerminalScrollOnKeystroke            ,
+
+
+-- ** ScrollOnOutput
+    TerminalScrollOnOutputPropertyInfo      ,
+    constructTerminalScrollOnOutput         ,
+    getTerminalScrollOnOutput               ,
+    setTerminalScrollOnOutput               ,
+
+
+-- ** ScrollbackLines
+    TerminalScrollbackLinesPropertyInfo     ,
+    constructTerminalScrollbackLines        ,
+    getTerminalScrollbackLines              ,
+    setTerminalScrollbackLines              ,
+
+
+-- ** WindowTitle
+    TerminalWindowTitlePropertyInfo         ,
+    getTerminalWindowTitle                  ,
+
+
+-- ** WordCharExceptions
+    TerminalWordCharExceptionsPropertyInfo  ,
+    getTerminalWordCharExceptions           ,
+
+
+
+
+ -- * Signals
+-- ** Bell
+    TerminalBellCallback                    ,
+    TerminalBellCallbackC                   ,
+    TerminalBellSignalInfo                  ,
+    afterTerminalBell                       ,
+    mkTerminalBellCallback                  ,
+    noTerminalBellCallback                  ,
+    onTerminalBell                          ,
+    terminalBellCallbackWrapper             ,
+    terminalBellClosure                     ,
+
+
+-- ** CharSizeChanged
+    TerminalCharSizeChangedCallback         ,
+    TerminalCharSizeChangedCallbackC        ,
+    TerminalCharSizeChangedSignalInfo       ,
+    afterTerminalCharSizeChanged            ,
+    mkTerminalCharSizeChangedCallback       ,
+    noTerminalCharSizeChangedCallback       ,
+    onTerminalCharSizeChanged               ,
+    terminalCharSizeChangedCallbackWrapper  ,
+    terminalCharSizeChangedClosure          ,
+
+
+-- ** ChildExited
+    TerminalChildExitedCallback             ,
+    TerminalChildExitedCallbackC            ,
+    TerminalChildExitedSignalInfo           ,
+    afterTerminalChildExited                ,
+    mkTerminalChildExitedCallback           ,
+    noTerminalChildExitedCallback           ,
+    onTerminalChildExited                   ,
+    terminalChildExitedCallbackWrapper      ,
+    terminalChildExitedClosure              ,
+
+
+-- ** Commit
+    TerminalCommitCallback                  ,
+    TerminalCommitCallbackC                 ,
+    TerminalCommitSignalInfo                ,
+    afterTerminalCommit                     ,
+    mkTerminalCommitCallback                ,
+    noTerminalCommitCallback                ,
+    onTerminalCommit                        ,
+    terminalCommitCallbackWrapper           ,
+    terminalCommitClosure                   ,
+
+
+-- ** ContentsChanged
+    TerminalContentsChangedCallback         ,
+    TerminalContentsChangedCallbackC        ,
+    TerminalContentsChangedSignalInfo       ,
+    afterTerminalContentsChanged            ,
+    mkTerminalContentsChangedCallback       ,
+    noTerminalContentsChangedCallback       ,
+    onTerminalContentsChanged               ,
+    terminalContentsChangedCallbackWrapper  ,
+    terminalContentsChangedClosure          ,
+
+
+-- ** CopyClipboard
+    TerminalCopyClipboardCallback           ,
+    TerminalCopyClipboardCallbackC          ,
+    TerminalCopyClipboardSignalInfo         ,
+    afterTerminalCopyClipboard              ,
+    mkTerminalCopyClipboardCallback         ,
+    noTerminalCopyClipboardCallback         ,
+    onTerminalCopyClipboard                 ,
+    terminalCopyClipboardCallbackWrapper    ,
+    terminalCopyClipboardClosure            ,
+
+
+-- ** CurrentDirectoryUriChanged
+    TerminalCurrentDirectoryUriChangedCallback,
+    TerminalCurrentDirectoryUriChangedCallbackC,
+    TerminalCurrentDirectoryUriChangedSignalInfo,
+    afterTerminalCurrentDirectoryUriChanged ,
+    mkTerminalCurrentDirectoryUriChangedCallback,
+    noTerminalCurrentDirectoryUriChangedCallback,
+    onTerminalCurrentDirectoryUriChanged    ,
+    terminalCurrentDirectoryUriChangedCallbackWrapper,
+    terminalCurrentDirectoryUriChangedClosure,
+
+
+-- ** CurrentFileUriChanged
+    TerminalCurrentFileUriChangedCallback   ,
+    TerminalCurrentFileUriChangedCallbackC  ,
+    TerminalCurrentFileUriChangedSignalInfo ,
+    afterTerminalCurrentFileUriChanged      ,
+    mkTerminalCurrentFileUriChangedCallback ,
+    noTerminalCurrentFileUriChangedCallback ,
+    onTerminalCurrentFileUriChanged         ,
+    terminalCurrentFileUriChangedCallbackWrapper,
+    terminalCurrentFileUriChangedClosure    ,
+
+
+-- ** CursorMoved
+    TerminalCursorMovedCallback             ,
+    TerminalCursorMovedCallbackC            ,
+    TerminalCursorMovedSignalInfo           ,
+    afterTerminalCursorMoved                ,
+    mkTerminalCursorMovedCallback           ,
+    noTerminalCursorMovedCallback           ,
+    onTerminalCursorMoved                   ,
+    terminalCursorMovedCallbackWrapper      ,
+    terminalCursorMovedClosure              ,
+
+
+-- ** DecreaseFontSize
+    TerminalDecreaseFontSizeCallback        ,
+    TerminalDecreaseFontSizeCallbackC       ,
+    TerminalDecreaseFontSizeSignalInfo      ,
+    afterTerminalDecreaseFontSize           ,
+    mkTerminalDecreaseFontSizeCallback      ,
+    noTerminalDecreaseFontSizeCallback      ,
+    onTerminalDecreaseFontSize              ,
+    terminalDecreaseFontSizeCallbackWrapper ,
+    terminalDecreaseFontSizeClosure         ,
+
+
+-- ** DeiconifyWindow
+    TerminalDeiconifyWindowCallback         ,
+    TerminalDeiconifyWindowCallbackC        ,
+    TerminalDeiconifyWindowSignalInfo       ,
+    afterTerminalDeiconifyWindow            ,
+    mkTerminalDeiconifyWindowCallback       ,
+    noTerminalDeiconifyWindowCallback       ,
+    onTerminalDeiconifyWindow               ,
+    terminalDeiconifyWindowCallbackWrapper  ,
+    terminalDeiconifyWindowClosure          ,
+
+
+-- ** EncodingChanged
+    TerminalEncodingChangedCallback         ,
+    TerminalEncodingChangedCallbackC        ,
+    TerminalEncodingChangedSignalInfo       ,
+    afterTerminalEncodingChanged            ,
+    mkTerminalEncodingChangedCallback       ,
+    noTerminalEncodingChangedCallback       ,
+    onTerminalEncodingChanged               ,
+    terminalEncodingChangedCallbackWrapper  ,
+    terminalEncodingChangedClosure          ,
+
+
+-- ** Eof
+    TerminalEofCallback                     ,
+    TerminalEofCallbackC                    ,
+    TerminalEofSignalInfo                   ,
+    afterTerminalEof                        ,
+    mkTerminalEofCallback                   ,
+    noTerminalEofCallback                   ,
+    onTerminalEof                           ,
+    terminalEofCallbackWrapper              ,
+    terminalEofClosure                      ,
+
+
+-- ** IconTitleChanged
+    TerminalIconTitleChangedCallback        ,
+    TerminalIconTitleChangedCallbackC       ,
+    TerminalIconTitleChangedSignalInfo      ,
+    afterTerminalIconTitleChanged           ,
+    mkTerminalIconTitleChangedCallback      ,
+    noTerminalIconTitleChangedCallback      ,
+    onTerminalIconTitleChanged              ,
+    terminalIconTitleChangedCallbackWrapper ,
+    terminalIconTitleChangedClosure         ,
+
+
+-- ** IconifyWindow
+    TerminalIconifyWindowCallback           ,
+    TerminalIconifyWindowCallbackC          ,
+    TerminalIconifyWindowSignalInfo         ,
+    afterTerminalIconifyWindow              ,
+    mkTerminalIconifyWindowCallback         ,
+    noTerminalIconifyWindowCallback         ,
+    onTerminalIconifyWindow                 ,
+    terminalIconifyWindowCallbackWrapper    ,
+    terminalIconifyWindowClosure            ,
+
+
+-- ** IncreaseFontSize
+    TerminalIncreaseFontSizeCallback        ,
+    TerminalIncreaseFontSizeCallbackC       ,
+    TerminalIncreaseFontSizeSignalInfo      ,
+    afterTerminalIncreaseFontSize           ,
+    mkTerminalIncreaseFontSizeCallback      ,
+    noTerminalIncreaseFontSizeCallback      ,
+    onTerminalIncreaseFontSize              ,
+    terminalIncreaseFontSizeCallbackWrapper ,
+    terminalIncreaseFontSizeClosure         ,
+
+
+-- ** LowerWindow
+    TerminalLowerWindowCallback             ,
+    TerminalLowerWindowCallbackC            ,
+    TerminalLowerWindowSignalInfo           ,
+    afterTerminalLowerWindow                ,
+    mkTerminalLowerWindowCallback           ,
+    noTerminalLowerWindowCallback           ,
+    onTerminalLowerWindow                   ,
+    terminalLowerWindowCallbackWrapper      ,
+    terminalLowerWindowClosure              ,
+
+
+-- ** MaximizeWindow
+    TerminalMaximizeWindowCallback          ,
+    TerminalMaximizeWindowCallbackC         ,
+    TerminalMaximizeWindowSignalInfo        ,
+    afterTerminalMaximizeWindow             ,
+    mkTerminalMaximizeWindowCallback        ,
+    noTerminalMaximizeWindowCallback        ,
+    onTerminalMaximizeWindow                ,
+    terminalMaximizeWindowCallbackWrapper   ,
+    terminalMaximizeWindowClosure           ,
+
+
+-- ** MoveWindow
+    TerminalMoveWindowCallback              ,
+    TerminalMoveWindowCallbackC             ,
+    TerminalMoveWindowSignalInfo            ,
+    afterTerminalMoveWindow                 ,
+    mkTerminalMoveWindowCallback            ,
+    noTerminalMoveWindowCallback            ,
+    onTerminalMoveWindow                    ,
+    terminalMoveWindowCallbackWrapper       ,
+    terminalMoveWindowClosure               ,
+
+
+-- ** NotificationReceived
+    TerminalNotificationReceivedCallback    ,
+    TerminalNotificationReceivedCallbackC   ,
+    TerminalNotificationReceivedSignalInfo  ,
+    afterTerminalNotificationReceived       ,
+    mkTerminalNotificationReceivedCallback  ,
+    noTerminalNotificationReceivedCallback  ,
+    onTerminalNotificationReceived          ,
+    terminalNotificationReceivedCallbackWrapper,
+    terminalNotificationReceivedClosure     ,
+
+
+-- ** PasteClipboard
+    TerminalPasteClipboardCallback          ,
+    TerminalPasteClipboardCallbackC         ,
+    TerminalPasteClipboardSignalInfo        ,
+    afterTerminalPasteClipboard             ,
+    mkTerminalPasteClipboardCallback        ,
+    noTerminalPasteClipboardCallback        ,
+    onTerminalPasteClipboard                ,
+    terminalPasteClipboardCallbackWrapper   ,
+    terminalPasteClipboardClosure           ,
+
+
+-- ** RaiseWindow
+    TerminalRaiseWindowCallback             ,
+    TerminalRaiseWindowCallbackC            ,
+    TerminalRaiseWindowSignalInfo           ,
+    afterTerminalRaiseWindow                ,
+    mkTerminalRaiseWindowCallback           ,
+    noTerminalRaiseWindowCallback           ,
+    onTerminalRaiseWindow                   ,
+    terminalRaiseWindowCallbackWrapper      ,
+    terminalRaiseWindowClosure              ,
+
+
+-- ** RefreshWindow
+    TerminalRefreshWindowCallback           ,
+    TerminalRefreshWindowCallbackC          ,
+    TerminalRefreshWindowSignalInfo         ,
+    afterTerminalRefreshWindow              ,
+    mkTerminalRefreshWindowCallback         ,
+    noTerminalRefreshWindowCallback         ,
+    onTerminalRefreshWindow                 ,
+    terminalRefreshWindowCallbackWrapper    ,
+    terminalRefreshWindowClosure            ,
+
+
+-- ** ResizeWindow
+    TerminalResizeWindowCallback            ,
+    TerminalResizeWindowCallbackC           ,
+    TerminalResizeWindowSignalInfo          ,
+    afterTerminalResizeWindow               ,
+    mkTerminalResizeWindowCallback          ,
+    noTerminalResizeWindowCallback          ,
+    onTerminalResizeWindow                  ,
+    terminalResizeWindowCallbackWrapper     ,
+    terminalResizeWindowClosure             ,
+
+
+-- ** RestoreWindow
+    TerminalRestoreWindowCallback           ,
+    TerminalRestoreWindowCallbackC          ,
+    TerminalRestoreWindowSignalInfo         ,
+    afterTerminalRestoreWindow              ,
+    mkTerminalRestoreWindowCallback         ,
+    noTerminalRestoreWindowCallback         ,
+    onTerminalRestoreWindow                 ,
+    terminalRestoreWindowCallbackWrapper    ,
+    terminalRestoreWindowClosure            ,
+
+
+-- ** SelectionChanged
+    TerminalSelectionChangedCallback        ,
+    TerminalSelectionChangedCallbackC       ,
+    TerminalSelectionChangedSignalInfo      ,
+    afterTerminalSelectionChanged           ,
+    mkTerminalSelectionChangedCallback      ,
+    noTerminalSelectionChangedCallback      ,
+    onTerminalSelectionChanged              ,
+    terminalSelectionChangedCallbackWrapper ,
+    terminalSelectionChangedClosure         ,
+
+
+-- ** TextDeleted
+    TerminalTextDeletedCallback             ,
+    TerminalTextDeletedCallbackC            ,
+    TerminalTextDeletedSignalInfo           ,
+    afterTerminalTextDeleted                ,
+    mkTerminalTextDeletedCallback           ,
+    noTerminalTextDeletedCallback           ,
+    onTerminalTextDeleted                   ,
+    terminalTextDeletedCallbackWrapper      ,
+    terminalTextDeletedClosure              ,
+
+
+-- ** TextInserted
+    TerminalTextInsertedCallback            ,
+    TerminalTextInsertedCallbackC           ,
+    TerminalTextInsertedSignalInfo          ,
+    afterTerminalTextInserted               ,
+    mkTerminalTextInsertedCallback          ,
+    noTerminalTextInsertedCallback          ,
+    onTerminalTextInserted                  ,
+    terminalTextInsertedCallbackWrapper     ,
+    terminalTextInsertedClosure             ,
+
+
+-- ** TextModified
+    TerminalTextModifiedCallback            ,
+    TerminalTextModifiedCallbackC           ,
+    TerminalTextModifiedSignalInfo          ,
+    afterTerminalTextModified               ,
+    mkTerminalTextModifiedCallback          ,
+    noTerminalTextModifiedCallback          ,
+    onTerminalTextModified                  ,
+    terminalTextModifiedCallbackWrapper     ,
+    terminalTextModifiedClosure             ,
+
+
+-- ** TextScrolled
+    TerminalTextScrolledCallback            ,
+    TerminalTextScrolledCallbackC           ,
+    TerminalTextScrolledSignalInfo          ,
+    afterTerminalTextScrolled               ,
+    mkTerminalTextScrolledCallback          ,
+    noTerminalTextScrolledCallback          ,
+    onTerminalTextScrolled                  ,
+    terminalTextScrolledCallbackWrapper     ,
+    terminalTextScrolledClosure             ,
+
+
+-- ** WindowTitleChanged
+    TerminalWindowTitleChangedCallback      ,
+    TerminalWindowTitleChangedCallbackC     ,
+    TerminalWindowTitleChangedSignalInfo    ,
+    afterTerminalWindowTitleChanged         ,
+    mkTerminalWindowTitleChangedCallback    ,
+    noTerminalWindowTitleChangedCallback    ,
+    onTerminalWindowTitleChanged            ,
+    terminalWindowTitleChangedCallbackWrapper,
+    terminalWindowTitleChangedClosure       ,
+
+
+
+
+    ) 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.Vte.Types
+import GI.Vte.Callbacks
+import qualified GI.Atk as Atk
+import qualified GI.GLib as GLib
+import qualified GI.GObject as GObject
+import qualified GI.Gdk as Gdk
+import qualified GI.Gio as Gio
+import qualified GI.Gtk as Gtk
+import qualified GI.Pango as Pango
+
+newtype Terminal = Terminal (ForeignPtr Terminal)
+foreign import ccall "vte_terminal_get_type"
+    c_vte_terminal_get_type :: IO GType
+
+type instance ParentTypes Terminal = TerminalParentTypes
+type TerminalParentTypes = '[Gtk.Widget, GObject.Object, Atk.ImplementorIface, Gtk.Buildable, Gtk.Scrollable]
+
+instance GObject Terminal where
+    gobjectIsInitiallyUnowned _ = True
+    gobjectType _ = c_vte_terminal_get_type
+    
+
+class GObject o => TerminalK o
+instance (GObject o, IsDescendantOf Terminal o) => TerminalK o
+
+toTerminal :: TerminalK o => o -> IO Terminal
+toTerminal = unsafeCastTo Terminal
+
+noTerminal :: Maybe Terminal
+noTerminal = Nothing
+
+type family ResolveTerminalMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTerminalMethod "activate" o = Gtk.WidgetActivateMethodInfo
+    ResolveTerminalMethod "addAccelerator" o = Gtk.WidgetAddAcceleratorMethodInfo
+    ResolveTerminalMethod "addChild" o = Gtk.BuildableAddChildMethodInfo
+    ResolveTerminalMethod "addDeviceEvents" o = Gtk.WidgetAddDeviceEventsMethodInfo
+    ResolveTerminalMethod "addEvents" o = Gtk.WidgetAddEventsMethodInfo
+    ResolveTerminalMethod "addMnemonicLabel" o = Gtk.WidgetAddMnemonicLabelMethodInfo
+    ResolveTerminalMethod "addTickCallback" o = Gtk.WidgetAddTickCallbackMethodInfo
+    ResolveTerminalMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveTerminalMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveTerminalMethod "canActivateAccel" o = Gtk.WidgetCanActivateAccelMethodInfo
+    ResolveTerminalMethod "childFocus" o = Gtk.WidgetChildFocusMethodInfo
+    ResolveTerminalMethod "childNotify" o = Gtk.WidgetChildNotifyMethodInfo
+    ResolveTerminalMethod "classPath" o = Gtk.WidgetClassPathMethodInfo
+    ResolveTerminalMethod "computeExpand" o = Gtk.WidgetComputeExpandMethodInfo
+    ResolveTerminalMethod "constructChild" o = Gtk.BuildableConstructChildMethodInfo
+    ResolveTerminalMethod "copyClipboard" o = TerminalCopyClipboardMethodInfo
+    ResolveTerminalMethod "copyPrimary" o = TerminalCopyPrimaryMethodInfo
+    ResolveTerminalMethod "createPangoContext" o = Gtk.WidgetCreatePangoContextMethodInfo
+    ResolveTerminalMethod "createPangoLayout" o = Gtk.WidgetCreatePangoLayoutMethodInfo
+    ResolveTerminalMethod "customFinished" o = Gtk.BuildableCustomFinishedMethodInfo
+    ResolveTerminalMethod "customTagEnd" o = Gtk.BuildableCustomTagEndMethodInfo
+    ResolveTerminalMethod "customTagStart" o = Gtk.BuildableCustomTagStartMethodInfo
+    ResolveTerminalMethod "destroy" o = Gtk.WidgetDestroyMethodInfo
+    ResolveTerminalMethod "destroyed" o = Gtk.WidgetDestroyedMethodInfo
+    ResolveTerminalMethod "deviceIsShadowed" o = Gtk.WidgetDeviceIsShadowedMethodInfo
+    ResolveTerminalMethod "dragBegin" o = Gtk.WidgetDragBeginMethodInfo
+    ResolveTerminalMethod "dragBeginWithCoordinates" o = Gtk.WidgetDragBeginWithCoordinatesMethodInfo
+    ResolveTerminalMethod "dragCheckThreshold" o = Gtk.WidgetDragCheckThresholdMethodInfo
+    ResolveTerminalMethod "dragDestAddImageTargets" o = Gtk.WidgetDragDestAddImageTargetsMethodInfo
+    ResolveTerminalMethod "dragDestAddTextTargets" o = Gtk.WidgetDragDestAddTextTargetsMethodInfo
+    ResolveTerminalMethod "dragDestAddUriTargets" o = Gtk.WidgetDragDestAddUriTargetsMethodInfo
+    ResolveTerminalMethod "dragDestFindTarget" o = Gtk.WidgetDragDestFindTargetMethodInfo
+    ResolveTerminalMethod "dragDestGetTargetList" o = Gtk.WidgetDragDestGetTargetListMethodInfo
+    ResolveTerminalMethod "dragDestGetTrackMotion" o = Gtk.WidgetDragDestGetTrackMotionMethodInfo
+    ResolveTerminalMethod "dragDestSet" o = Gtk.WidgetDragDestSetMethodInfo
+    ResolveTerminalMethod "dragDestSetProxy" o = Gtk.WidgetDragDestSetProxyMethodInfo
+    ResolveTerminalMethod "dragDestSetTargetList" o = Gtk.WidgetDragDestSetTargetListMethodInfo
+    ResolveTerminalMethod "dragDestSetTrackMotion" o = Gtk.WidgetDragDestSetTrackMotionMethodInfo
+    ResolveTerminalMethod "dragDestUnset" o = Gtk.WidgetDragDestUnsetMethodInfo
+    ResolveTerminalMethod "dragGetData" o = Gtk.WidgetDragGetDataMethodInfo
+    ResolveTerminalMethod "dragHighlight" o = Gtk.WidgetDragHighlightMethodInfo
+    ResolveTerminalMethod "dragSourceAddImageTargets" o = Gtk.WidgetDragSourceAddImageTargetsMethodInfo
+    ResolveTerminalMethod "dragSourceAddTextTargets" o = Gtk.WidgetDragSourceAddTextTargetsMethodInfo
+    ResolveTerminalMethod "dragSourceAddUriTargets" o = Gtk.WidgetDragSourceAddUriTargetsMethodInfo
+    ResolveTerminalMethod "dragSourceGetTargetList" o = Gtk.WidgetDragSourceGetTargetListMethodInfo
+    ResolveTerminalMethod "dragSourceSet" o = Gtk.WidgetDragSourceSetMethodInfo
+    ResolveTerminalMethod "dragSourceSetIconGicon" o = Gtk.WidgetDragSourceSetIconGiconMethodInfo
+    ResolveTerminalMethod "dragSourceSetIconName" o = Gtk.WidgetDragSourceSetIconNameMethodInfo
+    ResolveTerminalMethod "dragSourceSetIconPixbuf" o = Gtk.WidgetDragSourceSetIconPixbufMethodInfo
+    ResolveTerminalMethod "dragSourceSetIconStock" o = Gtk.WidgetDragSourceSetIconStockMethodInfo
+    ResolveTerminalMethod "dragSourceSetTargetList" o = Gtk.WidgetDragSourceSetTargetListMethodInfo
+    ResolveTerminalMethod "dragSourceUnset" o = Gtk.WidgetDragSourceUnsetMethodInfo
+    ResolveTerminalMethod "dragUnhighlight" o = Gtk.WidgetDragUnhighlightMethodInfo
+    ResolveTerminalMethod "draw" o = Gtk.WidgetDrawMethodInfo
+    ResolveTerminalMethod "ensureStyle" o = Gtk.WidgetEnsureStyleMethodInfo
+    ResolveTerminalMethod "errorBell" o = Gtk.WidgetErrorBellMethodInfo
+    ResolveTerminalMethod "event" o = Gtk.WidgetEventMethodInfo
+    ResolveTerminalMethod "feed" o = TerminalFeedMethodInfo
+    ResolveTerminalMethod "feedChild" o = TerminalFeedChildMethodInfo
+    ResolveTerminalMethod "feedChildBinary" o = TerminalFeedChildBinaryMethodInfo
+    ResolveTerminalMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveTerminalMethod "freezeChildNotify" o = Gtk.WidgetFreezeChildNotifyMethodInfo
+    ResolveTerminalMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveTerminalMethod "grabAdd" o = Gtk.WidgetGrabAddMethodInfo
+    ResolveTerminalMethod "grabDefault" o = Gtk.WidgetGrabDefaultMethodInfo
+    ResolveTerminalMethod "grabFocus" o = Gtk.WidgetGrabFocusMethodInfo
+    ResolveTerminalMethod "grabRemove" o = Gtk.WidgetGrabRemoveMethodInfo
+    ResolveTerminalMethod "hasDefault" o = Gtk.WidgetHasDefaultMethodInfo
+    ResolveTerminalMethod "hasFocus" o = Gtk.WidgetHasFocusMethodInfo
+    ResolveTerminalMethod "hasGrab" o = Gtk.WidgetHasGrabMethodInfo
+    ResolveTerminalMethod "hasRcStyle" o = Gtk.WidgetHasRcStyleMethodInfo
+    ResolveTerminalMethod "hasScreen" o = Gtk.WidgetHasScreenMethodInfo
+    ResolveTerminalMethod "hasVisibleFocus" o = Gtk.WidgetHasVisibleFocusMethodInfo
+    ResolveTerminalMethod "hide" o = Gtk.WidgetHideMethodInfo
+    ResolveTerminalMethod "hideOnDelete" o = Gtk.WidgetHideOnDeleteMethodInfo
+    ResolveTerminalMethod "inDestruction" o = Gtk.WidgetInDestructionMethodInfo
+    ResolveTerminalMethod "initTemplate" o = Gtk.WidgetInitTemplateMethodInfo
+    ResolveTerminalMethod "inputShapeCombineRegion" o = Gtk.WidgetInputShapeCombineRegionMethodInfo
+    ResolveTerminalMethod "insertActionGroup" o = Gtk.WidgetInsertActionGroupMethodInfo
+    ResolveTerminalMethod "intersect" o = Gtk.WidgetIntersectMethodInfo
+    ResolveTerminalMethod "isAncestor" o = Gtk.WidgetIsAncestorMethodInfo
+    ResolveTerminalMethod "isComposited" o = Gtk.WidgetIsCompositedMethodInfo
+    ResolveTerminalMethod "isDrawable" o = Gtk.WidgetIsDrawableMethodInfo
+    ResolveTerminalMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveTerminalMethod "isFocus" o = Gtk.WidgetIsFocusMethodInfo
+    ResolveTerminalMethod "isSensitive" o = Gtk.WidgetIsSensitiveMethodInfo
+    ResolveTerminalMethod "isToplevel" o = Gtk.WidgetIsToplevelMethodInfo
+    ResolveTerminalMethod "isVisible" o = Gtk.WidgetIsVisibleMethodInfo
+    ResolveTerminalMethod "keynavFailed" o = Gtk.WidgetKeynavFailedMethodInfo
+    ResolveTerminalMethod "listAccelClosures" o = Gtk.WidgetListAccelClosuresMethodInfo
+    ResolveTerminalMethod "listActionPrefixes" o = Gtk.WidgetListActionPrefixesMethodInfo
+    ResolveTerminalMethod "listMnemonicLabels" o = Gtk.WidgetListMnemonicLabelsMethodInfo
+    ResolveTerminalMethod "map" o = Gtk.WidgetMapMethodInfo
+    ResolveTerminalMethod "matchAddGregex" o = TerminalMatchAddGregexMethodInfo
+    ResolveTerminalMethod "matchCheck" o = TerminalMatchCheckMethodInfo
+    ResolveTerminalMethod "matchCheckEvent" o = TerminalMatchCheckEventMethodInfo
+    ResolveTerminalMethod "matchRemove" o = TerminalMatchRemoveMethodInfo
+    ResolveTerminalMethod "matchRemoveAll" o = TerminalMatchRemoveAllMethodInfo
+    ResolveTerminalMethod "matchSetCursorName" o = TerminalMatchSetCursorNameMethodInfo
+    ResolveTerminalMethod "matchSetCursorType" o = TerminalMatchSetCursorTypeMethodInfo
+    ResolveTerminalMethod "mnemonicActivate" o = Gtk.WidgetMnemonicActivateMethodInfo
+    ResolveTerminalMethod "modifyBase" o = Gtk.WidgetModifyBaseMethodInfo
+    ResolveTerminalMethod "modifyBg" o = Gtk.WidgetModifyBgMethodInfo
+    ResolveTerminalMethod "modifyCursor" o = Gtk.WidgetModifyCursorMethodInfo
+    ResolveTerminalMethod "modifyFg" o = Gtk.WidgetModifyFgMethodInfo
+    ResolveTerminalMethod "modifyFont" o = Gtk.WidgetModifyFontMethodInfo
+    ResolveTerminalMethod "modifyStyle" o = Gtk.WidgetModifyStyleMethodInfo
+    ResolveTerminalMethod "modifyText" o = Gtk.WidgetModifyTextMethodInfo
+    ResolveTerminalMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveTerminalMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveTerminalMethod "overrideBackgroundColor" o = Gtk.WidgetOverrideBackgroundColorMethodInfo
+    ResolveTerminalMethod "overrideColor" o = Gtk.WidgetOverrideColorMethodInfo
+    ResolveTerminalMethod "overrideCursor" o = Gtk.WidgetOverrideCursorMethodInfo
+    ResolveTerminalMethod "overrideFont" o = Gtk.WidgetOverrideFontMethodInfo
+    ResolveTerminalMethod "overrideSymbolicColor" o = Gtk.WidgetOverrideSymbolicColorMethodInfo
+    ResolveTerminalMethod "parserFinished" o = Gtk.BuildableParserFinishedMethodInfo
+    ResolveTerminalMethod "pasteClipboard" o = TerminalPasteClipboardMethodInfo
+    ResolveTerminalMethod "pastePrimary" o = TerminalPastePrimaryMethodInfo
+    ResolveTerminalMethod "path" o = Gtk.WidgetPathMethodInfo
+    ResolveTerminalMethod "ptyNewSync" o = TerminalPtyNewSyncMethodInfo
+    ResolveTerminalMethod "queueComputeExpand" o = Gtk.WidgetQueueComputeExpandMethodInfo
+    ResolveTerminalMethod "queueDraw" o = Gtk.WidgetQueueDrawMethodInfo
+    ResolveTerminalMethod "queueDrawArea" o = Gtk.WidgetQueueDrawAreaMethodInfo
+    ResolveTerminalMethod "queueDrawRegion" o = Gtk.WidgetQueueDrawRegionMethodInfo
+    ResolveTerminalMethod "queueResize" o = Gtk.WidgetQueueResizeMethodInfo
+    ResolveTerminalMethod "queueResizeNoRedraw" o = Gtk.WidgetQueueResizeNoRedrawMethodInfo
+    ResolveTerminalMethod "realize" o = Gtk.WidgetRealizeMethodInfo
+    ResolveTerminalMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveTerminalMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveTerminalMethod "regionIntersect" o = Gtk.WidgetRegionIntersectMethodInfo
+    ResolveTerminalMethod "registerWindow" o = Gtk.WidgetRegisterWindowMethodInfo
+    ResolveTerminalMethod "removeAccelerator" o = Gtk.WidgetRemoveAcceleratorMethodInfo
+    ResolveTerminalMethod "removeMnemonicLabel" o = Gtk.WidgetRemoveMnemonicLabelMethodInfo
+    ResolveTerminalMethod "removeTickCallback" o = Gtk.WidgetRemoveTickCallbackMethodInfo
+    ResolveTerminalMethod "renderIcon" o = Gtk.WidgetRenderIconMethodInfo
+    ResolveTerminalMethod "renderIconPixbuf" o = Gtk.WidgetRenderIconPixbufMethodInfo
+    ResolveTerminalMethod "reparent" o = Gtk.WidgetReparentMethodInfo
+    ResolveTerminalMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveTerminalMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveTerminalMethod "reset" o = TerminalResetMethodInfo
+    ResolveTerminalMethod "resetRcStyles" o = Gtk.WidgetResetRcStylesMethodInfo
+    ResolveTerminalMethod "resetStyle" o = Gtk.WidgetResetStyleMethodInfo
+    ResolveTerminalMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveTerminalMethod "searchFindNext" o = TerminalSearchFindNextMethodInfo
+    ResolveTerminalMethod "searchFindPrevious" o = TerminalSearchFindPreviousMethodInfo
+    ResolveTerminalMethod "searchGetGregex" o = TerminalSearchGetGregexMethodInfo
+    ResolveTerminalMethod "searchGetWrapAround" o = TerminalSearchGetWrapAroundMethodInfo
+    ResolveTerminalMethod "searchSetGregex" o = TerminalSearchSetGregexMethodInfo
+    ResolveTerminalMethod "searchSetWrapAround" o = TerminalSearchSetWrapAroundMethodInfo
+    ResolveTerminalMethod "selectAll" o = TerminalSelectAllMethodInfo
+    ResolveTerminalMethod "sendExpose" o = Gtk.WidgetSendExposeMethodInfo
+    ResolveTerminalMethod "sendFocusChange" o = Gtk.WidgetSendFocusChangeMethodInfo
+    ResolveTerminalMethod "shapeCombineRegion" o = Gtk.WidgetShapeCombineRegionMethodInfo
+    ResolveTerminalMethod "show" o = Gtk.WidgetShowMethodInfo
+    ResolveTerminalMethod "showAll" o = Gtk.WidgetShowAllMethodInfo
+    ResolveTerminalMethod "showNow" o = Gtk.WidgetShowNowMethodInfo
+    ResolveTerminalMethod "sizeAllocate" o = Gtk.WidgetSizeAllocateMethodInfo
+    ResolveTerminalMethod "sizeAllocateWithBaseline" o = Gtk.WidgetSizeAllocateWithBaselineMethodInfo
+    ResolveTerminalMethod "sizeRequest" o = Gtk.WidgetSizeRequestMethodInfo
+    ResolveTerminalMethod "spawnSync" o = TerminalSpawnSyncMethodInfo
+    ResolveTerminalMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveTerminalMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveTerminalMethod "styleAttach" o = Gtk.WidgetStyleAttachMethodInfo
+    ResolveTerminalMethod "styleGetProperty" o = Gtk.WidgetStyleGetPropertyMethodInfo
+    ResolveTerminalMethod "thawChildNotify" o = Gtk.WidgetThawChildNotifyMethodInfo
+    ResolveTerminalMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveTerminalMethod "translateCoordinates" o = Gtk.WidgetTranslateCoordinatesMethodInfo
+    ResolveTerminalMethod "triggerTooltipQuery" o = Gtk.WidgetTriggerTooltipQueryMethodInfo
+    ResolveTerminalMethod "unmap" o = Gtk.WidgetUnmapMethodInfo
+    ResolveTerminalMethod "unparent" o = Gtk.WidgetUnparentMethodInfo
+    ResolveTerminalMethod "unrealize" o = Gtk.WidgetUnrealizeMethodInfo
+    ResolveTerminalMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveTerminalMethod "unregisterWindow" o = Gtk.WidgetUnregisterWindowMethodInfo
+    ResolveTerminalMethod "unselectAll" o = TerminalUnselectAllMethodInfo
+    ResolveTerminalMethod "unsetStateFlags" o = Gtk.WidgetUnsetStateFlagsMethodInfo
+    ResolveTerminalMethod "watchChild" o = TerminalWatchChildMethodInfo
+    ResolveTerminalMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveTerminalMethod "writeContentsSync" o = TerminalWriteContentsSyncMethodInfo
+    ResolveTerminalMethod "getAccessible" o = Gtk.WidgetGetAccessibleMethodInfo
+    ResolveTerminalMethod "getActionGroup" o = Gtk.WidgetGetActionGroupMethodInfo
+    ResolveTerminalMethod "getAllocatedBaseline" o = Gtk.WidgetGetAllocatedBaselineMethodInfo
+    ResolveTerminalMethod "getAllocatedHeight" o = Gtk.WidgetGetAllocatedHeightMethodInfo
+    ResolveTerminalMethod "getAllocatedWidth" o = Gtk.WidgetGetAllocatedWidthMethodInfo
+    ResolveTerminalMethod "getAllocation" o = Gtk.WidgetGetAllocationMethodInfo
+    ResolveTerminalMethod "getAllowBold" o = TerminalGetAllowBoldMethodInfo
+    ResolveTerminalMethod "getAncestor" o = Gtk.WidgetGetAncestorMethodInfo
+    ResolveTerminalMethod "getAppPaintable" o = Gtk.WidgetGetAppPaintableMethodInfo
+    ResolveTerminalMethod "getAudibleBell" o = TerminalGetAudibleBellMethodInfo
+    ResolveTerminalMethod "getBorder" o = Gtk.ScrollableGetBorderMethodInfo
+    ResolveTerminalMethod "getCanDefault" o = Gtk.WidgetGetCanDefaultMethodInfo
+    ResolveTerminalMethod "getCanFocus" o = Gtk.WidgetGetCanFocusMethodInfo
+    ResolveTerminalMethod "getCharHeight" o = TerminalGetCharHeightMethodInfo
+    ResolveTerminalMethod "getCharWidth" o = TerminalGetCharWidthMethodInfo
+    ResolveTerminalMethod "getChildRequisition" o = Gtk.WidgetGetChildRequisitionMethodInfo
+    ResolveTerminalMethod "getChildVisible" o = Gtk.WidgetGetChildVisibleMethodInfo
+    ResolveTerminalMethod "getCjkAmbiguousWidth" o = TerminalGetCjkAmbiguousWidthMethodInfo
+    ResolveTerminalMethod "getClip" o = Gtk.WidgetGetClipMethodInfo
+    ResolveTerminalMethod "getClipboard" o = Gtk.WidgetGetClipboardMethodInfo
+    ResolveTerminalMethod "getColumnCount" o = TerminalGetColumnCountMethodInfo
+    ResolveTerminalMethod "getCompositeName" o = Gtk.WidgetGetCompositeNameMethodInfo
+    ResolveTerminalMethod "getCurrentDirectoryUri" o = TerminalGetCurrentDirectoryUriMethodInfo
+    ResolveTerminalMethod "getCurrentFileUri" o = TerminalGetCurrentFileUriMethodInfo
+    ResolveTerminalMethod "getCursorBlinkMode" o = TerminalGetCursorBlinkModeMethodInfo
+    ResolveTerminalMethod "getCursorPosition" o = TerminalGetCursorPositionMethodInfo
+    ResolveTerminalMethod "getCursorShape" o = TerminalGetCursorShapeMethodInfo
+    ResolveTerminalMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveTerminalMethod "getDeviceEnabled" o = Gtk.WidgetGetDeviceEnabledMethodInfo
+    ResolveTerminalMethod "getDeviceEvents" o = Gtk.WidgetGetDeviceEventsMethodInfo
+    ResolveTerminalMethod "getDirection" o = Gtk.WidgetGetDirectionMethodInfo
+    ResolveTerminalMethod "getDisplay" o = Gtk.WidgetGetDisplayMethodInfo
+    ResolveTerminalMethod "getDoubleBuffered" o = Gtk.WidgetGetDoubleBufferedMethodInfo
+    ResolveTerminalMethod "getEncoding" o = TerminalGetEncodingMethodInfo
+    ResolveTerminalMethod "getEvents" o = Gtk.WidgetGetEventsMethodInfo
+    ResolveTerminalMethod "getFont" o = TerminalGetFontMethodInfo
+    ResolveTerminalMethod "getFontMap" o = Gtk.WidgetGetFontMapMethodInfo
+    ResolveTerminalMethod "getFontOptions" o = Gtk.WidgetGetFontOptionsMethodInfo
+    ResolveTerminalMethod "getFontScale" o = TerminalGetFontScaleMethodInfo
+    ResolveTerminalMethod "getFrameClock" o = Gtk.WidgetGetFrameClockMethodInfo
+    ResolveTerminalMethod "getGeometryHints" o = TerminalGetGeometryHintsMethodInfo
+    ResolveTerminalMethod "getHadjustment" o = Gtk.ScrollableGetHadjustmentMethodInfo
+    ResolveTerminalMethod "getHalign" o = Gtk.WidgetGetHalignMethodInfo
+    ResolveTerminalMethod "getHasSelection" o = TerminalGetHasSelectionMethodInfo
+    ResolveTerminalMethod "getHasTooltip" o = Gtk.WidgetGetHasTooltipMethodInfo
+    ResolveTerminalMethod "getHasWindow" o = Gtk.WidgetGetHasWindowMethodInfo
+    ResolveTerminalMethod "getHexpand" o = Gtk.WidgetGetHexpandMethodInfo
+    ResolveTerminalMethod "getHexpandSet" o = Gtk.WidgetGetHexpandSetMethodInfo
+    ResolveTerminalMethod "getHscrollPolicy" o = Gtk.ScrollableGetHscrollPolicyMethodInfo
+    ResolveTerminalMethod "getIconTitle" o = TerminalGetIconTitleMethodInfo
+    ResolveTerminalMethod "getInputEnabled" o = TerminalGetInputEnabledMethodInfo
+    ResolveTerminalMethod "getInternalChild" o = Gtk.BuildableGetInternalChildMethodInfo
+    ResolveTerminalMethod "getMapped" o = Gtk.WidgetGetMappedMethodInfo
+    ResolveTerminalMethod "getMarginBottom" o = Gtk.WidgetGetMarginBottomMethodInfo
+    ResolveTerminalMethod "getMarginEnd" o = Gtk.WidgetGetMarginEndMethodInfo
+    ResolveTerminalMethod "getMarginLeft" o = Gtk.WidgetGetMarginLeftMethodInfo
+    ResolveTerminalMethod "getMarginRight" o = Gtk.WidgetGetMarginRightMethodInfo
+    ResolveTerminalMethod "getMarginStart" o = Gtk.WidgetGetMarginStartMethodInfo
+    ResolveTerminalMethod "getMarginTop" o = Gtk.WidgetGetMarginTopMethodInfo
+    ResolveTerminalMethod "getModifierMask" o = Gtk.WidgetGetModifierMaskMethodInfo
+    ResolveTerminalMethod "getModifierStyle" o = Gtk.WidgetGetModifierStyleMethodInfo
+    ResolveTerminalMethod "getMouseAutohide" o = TerminalGetMouseAutohideMethodInfo
+    ResolveTerminalMethod "getNoShowAll" o = Gtk.WidgetGetNoShowAllMethodInfo
+    ResolveTerminalMethod "getOpacity" o = Gtk.WidgetGetOpacityMethodInfo
+    ResolveTerminalMethod "getPangoContext" o = Gtk.WidgetGetPangoContextMethodInfo
+    ResolveTerminalMethod "getParent" o = Gtk.WidgetGetParentMethodInfo
+    ResolveTerminalMethod "getParentWindow" o = Gtk.WidgetGetParentWindowMethodInfo
+    ResolveTerminalMethod "getPath" o = Gtk.WidgetGetPathMethodInfo
+    ResolveTerminalMethod "getPointer" o = Gtk.WidgetGetPointerMethodInfo
+    ResolveTerminalMethod "getPreferredHeight" o = Gtk.WidgetGetPreferredHeightMethodInfo
+    ResolveTerminalMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
+    ResolveTerminalMethod "getPreferredHeightForWidth" o = Gtk.WidgetGetPreferredHeightForWidthMethodInfo
+    ResolveTerminalMethod "getPreferredSize" o = Gtk.WidgetGetPreferredSizeMethodInfo
+    ResolveTerminalMethod "getPreferredWidth" o = Gtk.WidgetGetPreferredWidthMethodInfo
+    ResolveTerminalMethod "getPreferredWidthForHeight" o = Gtk.WidgetGetPreferredWidthForHeightMethodInfo
+    ResolveTerminalMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveTerminalMethod "getPty" o = TerminalGetPtyMethodInfo
+    ResolveTerminalMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveTerminalMethod "getRealized" o = Gtk.WidgetGetRealizedMethodInfo
+    ResolveTerminalMethod "getReceivesDefault" o = Gtk.WidgetGetReceivesDefaultMethodInfo
+    ResolveTerminalMethod "getRequestMode" o = Gtk.WidgetGetRequestModeMethodInfo
+    ResolveTerminalMethod "getRequisition" o = Gtk.WidgetGetRequisitionMethodInfo
+    ResolveTerminalMethod "getRewrapOnResize" o = TerminalGetRewrapOnResizeMethodInfo
+    ResolveTerminalMethod "getRootWindow" o = Gtk.WidgetGetRootWindowMethodInfo
+    ResolveTerminalMethod "getRowCount" o = TerminalGetRowCountMethodInfo
+    ResolveTerminalMethod "getScaleFactor" o = Gtk.WidgetGetScaleFactorMethodInfo
+    ResolveTerminalMethod "getScreen" o = Gtk.WidgetGetScreenMethodInfo
+    ResolveTerminalMethod "getSensitive" o = Gtk.WidgetGetSensitiveMethodInfo
+    ResolveTerminalMethod "getSettings" o = Gtk.WidgetGetSettingsMethodInfo
+    ResolveTerminalMethod "getSizeRequest" o = Gtk.WidgetGetSizeRequestMethodInfo
+    ResolveTerminalMethod "getState" o = Gtk.WidgetGetStateMethodInfo
+    ResolveTerminalMethod "getStateFlags" o = Gtk.WidgetGetStateFlagsMethodInfo
+    ResolveTerminalMethod "getStyle" o = Gtk.WidgetGetStyleMethodInfo
+    ResolveTerminalMethod "getStyleContext" o = Gtk.WidgetGetStyleContextMethodInfo
+    ResolveTerminalMethod "getSupportMultidevice" o = Gtk.WidgetGetSupportMultideviceMethodInfo
+    ResolveTerminalMethod "getTemplateChild" o = Gtk.WidgetGetTemplateChildMethodInfo
+    ResolveTerminalMethod "getText" o = TerminalGetTextMethodInfo
+    ResolveTerminalMethod "getTextIncludeTrailingSpaces" o = TerminalGetTextIncludeTrailingSpacesMethodInfo
+    ResolveTerminalMethod "getTextRange" o = TerminalGetTextRangeMethodInfo
+    ResolveTerminalMethod "getTooltipMarkup" o = Gtk.WidgetGetTooltipMarkupMethodInfo
+    ResolveTerminalMethod "getTooltipText" o = Gtk.WidgetGetTooltipTextMethodInfo
+    ResolveTerminalMethod "getTooltipWindow" o = Gtk.WidgetGetTooltipWindowMethodInfo
+    ResolveTerminalMethod "getToplevel" o = Gtk.WidgetGetToplevelMethodInfo
+    ResolveTerminalMethod "getVadjustment" o = Gtk.ScrollableGetVadjustmentMethodInfo
+    ResolveTerminalMethod "getValign" o = Gtk.WidgetGetValignMethodInfo
+    ResolveTerminalMethod "getValignWithBaseline" o = Gtk.WidgetGetValignWithBaselineMethodInfo
+    ResolveTerminalMethod "getVexpand" o = Gtk.WidgetGetVexpandMethodInfo
+    ResolveTerminalMethod "getVexpandSet" o = Gtk.WidgetGetVexpandSetMethodInfo
+    ResolveTerminalMethod "getVisible" o = Gtk.WidgetGetVisibleMethodInfo
+    ResolveTerminalMethod "getVisual" o = Gtk.WidgetGetVisualMethodInfo
+    ResolveTerminalMethod "getVscrollPolicy" o = Gtk.ScrollableGetVscrollPolicyMethodInfo
+    ResolveTerminalMethod "getWindow" o = Gtk.WidgetGetWindowMethodInfo
+    ResolveTerminalMethod "getWindowTitle" o = TerminalGetWindowTitleMethodInfo
+    ResolveTerminalMethod "getWordCharExceptions" o = TerminalGetWordCharExceptionsMethodInfo
+    ResolveTerminalMethod "setAccelPath" o = Gtk.WidgetSetAccelPathMethodInfo
+    ResolveTerminalMethod "setAllocation" o = Gtk.WidgetSetAllocationMethodInfo
+    ResolveTerminalMethod "setAllowBold" o = TerminalSetAllowBoldMethodInfo
+    ResolveTerminalMethod "setAppPaintable" o = Gtk.WidgetSetAppPaintableMethodInfo
+    ResolveTerminalMethod "setAudibleBell" o = TerminalSetAudibleBellMethodInfo
+    ResolveTerminalMethod "setBackspaceBinding" o = TerminalSetBackspaceBindingMethodInfo
+    ResolveTerminalMethod "setBuildableProperty" o = Gtk.BuildableSetBuildablePropertyMethodInfo
+    ResolveTerminalMethod "setCanDefault" o = Gtk.WidgetSetCanDefaultMethodInfo
+    ResolveTerminalMethod "setCanFocus" o = Gtk.WidgetSetCanFocusMethodInfo
+    ResolveTerminalMethod "setChildVisible" o = Gtk.WidgetSetChildVisibleMethodInfo
+    ResolveTerminalMethod "setCjkAmbiguousWidth" o = TerminalSetCjkAmbiguousWidthMethodInfo
+    ResolveTerminalMethod "setClip" o = Gtk.WidgetSetClipMethodInfo
+    ResolveTerminalMethod "setColorBackground" o = TerminalSetColorBackgroundMethodInfo
+    ResolveTerminalMethod "setColorBold" o = TerminalSetColorBoldMethodInfo
+    ResolveTerminalMethod "setColorCursor" o = TerminalSetColorCursorMethodInfo
+    ResolveTerminalMethod "setColorForeground" o = TerminalSetColorForegroundMethodInfo
+    ResolveTerminalMethod "setColorHighlight" o = TerminalSetColorHighlightMethodInfo
+    ResolveTerminalMethod "setColorHighlightForeground" o = TerminalSetColorHighlightForegroundMethodInfo
+    ResolveTerminalMethod "setColors" o = TerminalSetColorsMethodInfo
+    ResolveTerminalMethod "setCompositeName" o = Gtk.WidgetSetCompositeNameMethodInfo
+    ResolveTerminalMethod "setCursorBlinkMode" o = TerminalSetCursorBlinkModeMethodInfo
+    ResolveTerminalMethod "setCursorShape" o = TerminalSetCursorShapeMethodInfo
+    ResolveTerminalMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveTerminalMethod "setDefaultColors" o = TerminalSetDefaultColorsMethodInfo
+    ResolveTerminalMethod "setDeleteBinding" o = TerminalSetDeleteBindingMethodInfo
+    ResolveTerminalMethod "setDeviceEnabled" o = Gtk.WidgetSetDeviceEnabledMethodInfo
+    ResolveTerminalMethod "setDeviceEvents" o = Gtk.WidgetSetDeviceEventsMethodInfo
+    ResolveTerminalMethod "setDirection" o = Gtk.WidgetSetDirectionMethodInfo
+    ResolveTerminalMethod "setDoubleBuffered" o = Gtk.WidgetSetDoubleBufferedMethodInfo
+    ResolveTerminalMethod "setEncoding" o = TerminalSetEncodingMethodInfo
+    ResolveTerminalMethod "setEvents" o = Gtk.WidgetSetEventsMethodInfo
+    ResolveTerminalMethod "setFont" o = TerminalSetFontMethodInfo
+    ResolveTerminalMethod "setFontMap" o = Gtk.WidgetSetFontMapMethodInfo
+    ResolveTerminalMethod "setFontOptions" o = Gtk.WidgetSetFontOptionsMethodInfo
+    ResolveTerminalMethod "setFontScale" o = TerminalSetFontScaleMethodInfo
+    ResolveTerminalMethod "setGeometryHintsForWindow" o = TerminalSetGeometryHintsForWindowMethodInfo
+    ResolveTerminalMethod "setHadjustment" o = Gtk.ScrollableSetHadjustmentMethodInfo
+    ResolveTerminalMethod "setHalign" o = Gtk.WidgetSetHalignMethodInfo
+    ResolveTerminalMethod "setHasTooltip" o = Gtk.WidgetSetHasTooltipMethodInfo
+    ResolveTerminalMethod "setHasWindow" o = Gtk.WidgetSetHasWindowMethodInfo
+    ResolveTerminalMethod "setHexpand" o = Gtk.WidgetSetHexpandMethodInfo
+    ResolveTerminalMethod "setHexpandSet" o = Gtk.WidgetSetHexpandSetMethodInfo
+    ResolveTerminalMethod "setHscrollPolicy" o = Gtk.ScrollableSetHscrollPolicyMethodInfo
+    ResolveTerminalMethod "setInputEnabled" o = TerminalSetInputEnabledMethodInfo
+    ResolveTerminalMethod "setMapped" o = Gtk.WidgetSetMappedMethodInfo
+    ResolveTerminalMethod "setMarginBottom" o = Gtk.WidgetSetMarginBottomMethodInfo
+    ResolveTerminalMethod "setMarginEnd" o = Gtk.WidgetSetMarginEndMethodInfo
+    ResolveTerminalMethod "setMarginLeft" o = Gtk.WidgetSetMarginLeftMethodInfo
+    ResolveTerminalMethod "setMarginRight" o = Gtk.WidgetSetMarginRightMethodInfo
+    ResolveTerminalMethod "setMarginStart" o = Gtk.WidgetSetMarginStartMethodInfo
+    ResolveTerminalMethod "setMarginTop" o = Gtk.WidgetSetMarginTopMethodInfo
+    ResolveTerminalMethod "setMouseAutohide" o = TerminalSetMouseAutohideMethodInfo
+    ResolveTerminalMethod "setNoShowAll" o = Gtk.WidgetSetNoShowAllMethodInfo
+    ResolveTerminalMethod "setOpacity" o = Gtk.WidgetSetOpacityMethodInfo
+    ResolveTerminalMethod "setParent" o = Gtk.WidgetSetParentMethodInfo
+    ResolveTerminalMethod "setParentWindow" o = Gtk.WidgetSetParentWindowMethodInfo
+    ResolveTerminalMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveTerminalMethod "setPty" o = TerminalSetPtyMethodInfo
+    ResolveTerminalMethod "setRealized" o = Gtk.WidgetSetRealizedMethodInfo
+    ResolveTerminalMethod "setReceivesDefault" o = Gtk.WidgetSetReceivesDefaultMethodInfo
+    ResolveTerminalMethod "setRedrawOnAllocate" o = Gtk.WidgetSetRedrawOnAllocateMethodInfo
+    ResolveTerminalMethod "setRewrapOnResize" o = TerminalSetRewrapOnResizeMethodInfo
+    ResolveTerminalMethod "setScrollOnKeystroke" o = TerminalSetScrollOnKeystrokeMethodInfo
+    ResolveTerminalMethod "setScrollOnOutput" o = TerminalSetScrollOnOutputMethodInfo
+    ResolveTerminalMethod "setScrollbackLines" o = TerminalSetScrollbackLinesMethodInfo
+    ResolveTerminalMethod "setSensitive" o = Gtk.WidgetSetSensitiveMethodInfo
+    ResolveTerminalMethod "setSize" o = TerminalSetSizeMethodInfo
+    ResolveTerminalMethod "setSizeRequest" o = Gtk.WidgetSetSizeRequestMethodInfo
+    ResolveTerminalMethod "setState" o = Gtk.WidgetSetStateMethodInfo
+    ResolveTerminalMethod "setStateFlags" o = Gtk.WidgetSetStateFlagsMethodInfo
+    ResolveTerminalMethod "setStyle" o = Gtk.WidgetSetStyleMethodInfo
+    ResolveTerminalMethod "setSupportMultidevice" o = Gtk.WidgetSetSupportMultideviceMethodInfo
+    ResolveTerminalMethod "setTooltipMarkup" o = Gtk.WidgetSetTooltipMarkupMethodInfo
+    ResolveTerminalMethod "setTooltipText" o = Gtk.WidgetSetTooltipTextMethodInfo
+    ResolveTerminalMethod "setTooltipWindow" o = Gtk.WidgetSetTooltipWindowMethodInfo
+    ResolveTerminalMethod "setVadjustment" o = Gtk.ScrollableSetVadjustmentMethodInfo
+    ResolveTerminalMethod "setValign" o = Gtk.WidgetSetValignMethodInfo
+    ResolveTerminalMethod "setVexpand" o = Gtk.WidgetSetVexpandMethodInfo
+    ResolveTerminalMethod "setVexpandSet" o = Gtk.WidgetSetVexpandSetMethodInfo
+    ResolveTerminalMethod "setVisible" o = Gtk.WidgetSetVisibleMethodInfo
+    ResolveTerminalMethod "setVisual" o = Gtk.WidgetSetVisualMethodInfo
+    ResolveTerminalMethod "setVscrollPolicy" o = Gtk.ScrollableSetVscrollPolicyMethodInfo
+    ResolveTerminalMethod "setWindow" o = Gtk.WidgetSetWindowMethodInfo
+    ResolveTerminalMethod "setWordCharExceptions" o = TerminalSetWordCharExceptionsMethodInfo
+    ResolveTerminalMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveTerminalMethod t Terminal, MethodInfo info Terminal p) => IsLabelProxy t (Terminal -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveTerminalMethod t Terminal, MethodInfo info Terminal p) => IsLabel t (Terminal -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
+-- signal Terminal::bell
+type TerminalBellCallback =
+    IO ()
+
+noTerminalBellCallback :: Maybe TerminalBellCallback
+noTerminalBellCallback = Nothing
+
+type TerminalBellCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalBellCallback :: TerminalBellCallbackC -> IO (FunPtr TerminalBellCallbackC)
+
+terminalBellClosure :: TerminalBellCallback -> IO Closure
+terminalBellClosure cb = newCClosure =<< mkTerminalBellCallback wrapped
+    where wrapped = terminalBellCallbackWrapper cb
+
+terminalBellCallbackWrapper ::
+    TerminalBellCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalBellCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalBell :: (GObject a, MonadIO m) => a -> TerminalBellCallback -> m SignalHandlerId
+onTerminalBell obj cb = liftIO $ connectTerminalBell obj cb SignalConnectBefore
+afterTerminalBell :: (GObject a, MonadIO m) => a -> TerminalBellCallback -> m SignalHandlerId
+afterTerminalBell obj cb = connectTerminalBell obj cb SignalConnectAfter
+
+connectTerminalBell :: (GObject a, MonadIO m) =>
+                       a -> TerminalBellCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalBell obj cb after = liftIO $ do
+    cb' <- mkTerminalBellCallback (terminalBellCallbackWrapper cb)
+    connectSignalFunPtr obj "bell" cb' after
+
+-- signal Terminal::char-size-changed
+type TerminalCharSizeChangedCallback =
+    Word32 ->
+    Word32 ->
+    IO ()
+
+noTerminalCharSizeChangedCallback :: Maybe TerminalCharSizeChangedCallback
+noTerminalCharSizeChangedCallback = Nothing
+
+type TerminalCharSizeChangedCallbackC =
+    Ptr () ->                               -- object
+    Word32 ->
+    Word32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalCharSizeChangedCallback :: TerminalCharSizeChangedCallbackC -> IO (FunPtr TerminalCharSizeChangedCallbackC)
+
+terminalCharSizeChangedClosure :: TerminalCharSizeChangedCallback -> IO Closure
+terminalCharSizeChangedClosure cb = newCClosure =<< mkTerminalCharSizeChangedCallback wrapped
+    where wrapped = terminalCharSizeChangedCallbackWrapper cb
+
+terminalCharSizeChangedCallbackWrapper ::
+    TerminalCharSizeChangedCallback ->
+    Ptr () ->
+    Word32 ->
+    Word32 ->
+    Ptr () ->
+    IO ()
+terminalCharSizeChangedCallbackWrapper _cb _ width height _ = do
+    _cb  width height
+
+onTerminalCharSizeChanged :: (GObject a, MonadIO m) => a -> TerminalCharSizeChangedCallback -> m SignalHandlerId
+onTerminalCharSizeChanged obj cb = liftIO $ connectTerminalCharSizeChanged obj cb SignalConnectBefore
+afterTerminalCharSizeChanged :: (GObject a, MonadIO m) => a -> TerminalCharSizeChangedCallback -> m SignalHandlerId
+afterTerminalCharSizeChanged obj cb = connectTerminalCharSizeChanged obj cb SignalConnectAfter
+
+connectTerminalCharSizeChanged :: (GObject a, MonadIO m) =>
+                                  a -> TerminalCharSizeChangedCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalCharSizeChanged obj cb after = liftIO $ do
+    cb' <- mkTerminalCharSizeChangedCallback (terminalCharSizeChangedCallbackWrapper cb)
+    connectSignalFunPtr obj "char-size-changed" cb' after
+
+-- signal Terminal::child-exited
+type TerminalChildExitedCallback =
+    Int32 ->
+    IO ()
+
+noTerminalChildExitedCallback :: Maybe TerminalChildExitedCallback
+noTerminalChildExitedCallback = Nothing
+
+type TerminalChildExitedCallbackC =
+    Ptr () ->                               -- object
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalChildExitedCallback :: TerminalChildExitedCallbackC -> IO (FunPtr TerminalChildExitedCallbackC)
+
+terminalChildExitedClosure :: TerminalChildExitedCallback -> IO Closure
+terminalChildExitedClosure cb = newCClosure =<< mkTerminalChildExitedCallback wrapped
+    where wrapped = terminalChildExitedCallbackWrapper cb
+
+terminalChildExitedCallbackWrapper ::
+    TerminalChildExitedCallback ->
+    Ptr () ->
+    Int32 ->
+    Ptr () ->
+    IO ()
+terminalChildExitedCallbackWrapper _cb _ status _ = do
+    _cb  status
+
+onTerminalChildExited :: (GObject a, MonadIO m) => a -> TerminalChildExitedCallback -> m SignalHandlerId
+onTerminalChildExited obj cb = liftIO $ connectTerminalChildExited obj cb SignalConnectBefore
+afterTerminalChildExited :: (GObject a, MonadIO m) => a -> TerminalChildExitedCallback -> m SignalHandlerId
+afterTerminalChildExited obj cb = connectTerminalChildExited obj cb SignalConnectAfter
+
+connectTerminalChildExited :: (GObject a, MonadIO m) =>
+                              a -> TerminalChildExitedCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalChildExited obj cb after = liftIO $ do
+    cb' <- mkTerminalChildExitedCallback (terminalChildExitedCallbackWrapper cb)
+    connectSignalFunPtr obj "child-exited" cb' after
+
+-- signal Terminal::commit
+type TerminalCommitCallback =
+    T.Text ->
+    Word32 ->
+    IO ()
+
+noTerminalCommitCallback :: Maybe TerminalCommitCallback
+noTerminalCommitCallback = Nothing
+
+type TerminalCommitCallbackC =
+    Ptr () ->                               -- object
+    CString ->
+    Word32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalCommitCallback :: TerminalCommitCallbackC -> IO (FunPtr TerminalCommitCallbackC)
+
+terminalCommitClosure :: TerminalCommitCallback -> IO Closure
+terminalCommitClosure cb = newCClosure =<< mkTerminalCommitCallback wrapped
+    where wrapped = terminalCommitCallbackWrapper cb
+
+terminalCommitCallbackWrapper ::
+    TerminalCommitCallback ->
+    Ptr () ->
+    CString ->
+    Word32 ->
+    Ptr () ->
+    IO ()
+terminalCommitCallbackWrapper _cb _ text size _ = do
+    text' <- cstringToText text
+    _cb  text' size
+
+onTerminalCommit :: (GObject a, MonadIO m) => a -> TerminalCommitCallback -> m SignalHandlerId
+onTerminalCommit obj cb = liftIO $ connectTerminalCommit obj cb SignalConnectBefore
+afterTerminalCommit :: (GObject a, MonadIO m) => a -> TerminalCommitCallback -> m SignalHandlerId
+afterTerminalCommit obj cb = connectTerminalCommit obj cb SignalConnectAfter
+
+connectTerminalCommit :: (GObject a, MonadIO m) =>
+                         a -> TerminalCommitCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalCommit obj cb after = liftIO $ do
+    cb' <- mkTerminalCommitCallback (terminalCommitCallbackWrapper cb)
+    connectSignalFunPtr obj "commit" cb' after
+
+-- signal Terminal::contents-changed
+type TerminalContentsChangedCallback =
+    IO ()
+
+noTerminalContentsChangedCallback :: Maybe TerminalContentsChangedCallback
+noTerminalContentsChangedCallback = Nothing
+
+type TerminalContentsChangedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalContentsChangedCallback :: TerminalContentsChangedCallbackC -> IO (FunPtr TerminalContentsChangedCallbackC)
+
+terminalContentsChangedClosure :: TerminalContentsChangedCallback -> IO Closure
+terminalContentsChangedClosure cb = newCClosure =<< mkTerminalContentsChangedCallback wrapped
+    where wrapped = terminalContentsChangedCallbackWrapper cb
+
+terminalContentsChangedCallbackWrapper ::
+    TerminalContentsChangedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalContentsChangedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalContentsChanged :: (GObject a, MonadIO m) => a -> TerminalContentsChangedCallback -> m SignalHandlerId
+onTerminalContentsChanged obj cb = liftIO $ connectTerminalContentsChanged obj cb SignalConnectBefore
+afterTerminalContentsChanged :: (GObject a, MonadIO m) => a -> TerminalContentsChangedCallback -> m SignalHandlerId
+afterTerminalContentsChanged obj cb = connectTerminalContentsChanged obj cb SignalConnectAfter
+
+connectTerminalContentsChanged :: (GObject a, MonadIO m) =>
+                                  a -> TerminalContentsChangedCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalContentsChanged obj cb after = liftIO $ do
+    cb' <- mkTerminalContentsChangedCallback (terminalContentsChangedCallbackWrapper cb)
+    connectSignalFunPtr obj "contents-changed" cb' after
+
+-- signal Terminal::copy-clipboard
+type TerminalCopyClipboardCallback =
+    IO ()
+
+noTerminalCopyClipboardCallback :: Maybe TerminalCopyClipboardCallback
+noTerminalCopyClipboardCallback = Nothing
+
+type TerminalCopyClipboardCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalCopyClipboardCallback :: TerminalCopyClipboardCallbackC -> IO (FunPtr TerminalCopyClipboardCallbackC)
+
+terminalCopyClipboardClosure :: TerminalCopyClipboardCallback -> IO Closure
+terminalCopyClipboardClosure cb = newCClosure =<< mkTerminalCopyClipboardCallback wrapped
+    where wrapped = terminalCopyClipboardCallbackWrapper cb
+
+terminalCopyClipboardCallbackWrapper ::
+    TerminalCopyClipboardCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalCopyClipboardCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalCopyClipboard :: (GObject a, MonadIO m) => a -> TerminalCopyClipboardCallback -> m SignalHandlerId
+onTerminalCopyClipboard obj cb = liftIO $ connectTerminalCopyClipboard obj cb SignalConnectBefore
+afterTerminalCopyClipboard :: (GObject a, MonadIO m) => a -> TerminalCopyClipboardCallback -> m SignalHandlerId
+afterTerminalCopyClipboard obj cb = connectTerminalCopyClipboard obj cb SignalConnectAfter
+
+connectTerminalCopyClipboard :: (GObject a, MonadIO m) =>
+                                a -> TerminalCopyClipboardCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalCopyClipboard obj cb after = liftIO $ do
+    cb' <- mkTerminalCopyClipboardCallback (terminalCopyClipboardCallbackWrapper cb)
+    connectSignalFunPtr obj "copy-clipboard" cb' after
+
+-- signal Terminal::current-directory-uri-changed
+type TerminalCurrentDirectoryUriChangedCallback =
+    IO ()
+
+noTerminalCurrentDirectoryUriChangedCallback :: Maybe TerminalCurrentDirectoryUriChangedCallback
+noTerminalCurrentDirectoryUriChangedCallback = Nothing
+
+type TerminalCurrentDirectoryUriChangedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalCurrentDirectoryUriChangedCallback :: TerminalCurrentDirectoryUriChangedCallbackC -> IO (FunPtr TerminalCurrentDirectoryUriChangedCallbackC)
+
+terminalCurrentDirectoryUriChangedClosure :: TerminalCurrentDirectoryUriChangedCallback -> IO Closure
+terminalCurrentDirectoryUriChangedClosure cb = newCClosure =<< mkTerminalCurrentDirectoryUriChangedCallback wrapped
+    where wrapped = terminalCurrentDirectoryUriChangedCallbackWrapper cb
+
+terminalCurrentDirectoryUriChangedCallbackWrapper ::
+    TerminalCurrentDirectoryUriChangedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalCurrentDirectoryUriChangedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalCurrentDirectoryUriChanged :: (GObject a, MonadIO m) => a -> TerminalCurrentDirectoryUriChangedCallback -> m SignalHandlerId
+onTerminalCurrentDirectoryUriChanged obj cb = liftIO $ connectTerminalCurrentDirectoryUriChanged obj cb SignalConnectBefore
+afterTerminalCurrentDirectoryUriChanged :: (GObject a, MonadIO m) => a -> TerminalCurrentDirectoryUriChangedCallback -> m SignalHandlerId
+afterTerminalCurrentDirectoryUriChanged obj cb = connectTerminalCurrentDirectoryUriChanged obj cb SignalConnectAfter
+
+connectTerminalCurrentDirectoryUriChanged :: (GObject a, MonadIO m) =>
+                                             a -> TerminalCurrentDirectoryUriChangedCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalCurrentDirectoryUriChanged obj cb after = liftIO $ do
+    cb' <- mkTerminalCurrentDirectoryUriChangedCallback (terminalCurrentDirectoryUriChangedCallbackWrapper cb)
+    connectSignalFunPtr obj "current-directory-uri-changed" cb' after
+
+-- signal Terminal::current-file-uri-changed
+type TerminalCurrentFileUriChangedCallback =
+    IO ()
+
+noTerminalCurrentFileUriChangedCallback :: Maybe TerminalCurrentFileUriChangedCallback
+noTerminalCurrentFileUriChangedCallback = Nothing
+
+type TerminalCurrentFileUriChangedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalCurrentFileUriChangedCallback :: TerminalCurrentFileUriChangedCallbackC -> IO (FunPtr TerminalCurrentFileUriChangedCallbackC)
+
+terminalCurrentFileUriChangedClosure :: TerminalCurrentFileUriChangedCallback -> IO Closure
+terminalCurrentFileUriChangedClosure cb = newCClosure =<< mkTerminalCurrentFileUriChangedCallback wrapped
+    where wrapped = terminalCurrentFileUriChangedCallbackWrapper cb
+
+terminalCurrentFileUriChangedCallbackWrapper ::
+    TerminalCurrentFileUriChangedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalCurrentFileUriChangedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalCurrentFileUriChanged :: (GObject a, MonadIO m) => a -> TerminalCurrentFileUriChangedCallback -> m SignalHandlerId
+onTerminalCurrentFileUriChanged obj cb = liftIO $ connectTerminalCurrentFileUriChanged obj cb SignalConnectBefore
+afterTerminalCurrentFileUriChanged :: (GObject a, MonadIO m) => a -> TerminalCurrentFileUriChangedCallback -> m SignalHandlerId
+afterTerminalCurrentFileUriChanged obj cb = connectTerminalCurrentFileUriChanged obj cb SignalConnectAfter
+
+connectTerminalCurrentFileUriChanged :: (GObject a, MonadIO m) =>
+                                        a -> TerminalCurrentFileUriChangedCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalCurrentFileUriChanged obj cb after = liftIO $ do
+    cb' <- mkTerminalCurrentFileUriChangedCallback (terminalCurrentFileUriChangedCallbackWrapper cb)
+    connectSignalFunPtr obj "current-file-uri-changed" cb' after
+
+-- signal Terminal::cursor-moved
+type TerminalCursorMovedCallback =
+    IO ()
+
+noTerminalCursorMovedCallback :: Maybe TerminalCursorMovedCallback
+noTerminalCursorMovedCallback = Nothing
+
+type TerminalCursorMovedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalCursorMovedCallback :: TerminalCursorMovedCallbackC -> IO (FunPtr TerminalCursorMovedCallbackC)
+
+terminalCursorMovedClosure :: TerminalCursorMovedCallback -> IO Closure
+terminalCursorMovedClosure cb = newCClosure =<< mkTerminalCursorMovedCallback wrapped
+    where wrapped = terminalCursorMovedCallbackWrapper cb
+
+terminalCursorMovedCallbackWrapper ::
+    TerminalCursorMovedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalCursorMovedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalCursorMoved :: (GObject a, MonadIO m) => a -> TerminalCursorMovedCallback -> m SignalHandlerId
+onTerminalCursorMoved obj cb = liftIO $ connectTerminalCursorMoved obj cb SignalConnectBefore
+afterTerminalCursorMoved :: (GObject a, MonadIO m) => a -> TerminalCursorMovedCallback -> m SignalHandlerId
+afterTerminalCursorMoved obj cb = connectTerminalCursorMoved obj cb SignalConnectAfter
+
+connectTerminalCursorMoved :: (GObject a, MonadIO m) =>
+                              a -> TerminalCursorMovedCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalCursorMoved obj cb after = liftIO $ do
+    cb' <- mkTerminalCursorMovedCallback (terminalCursorMovedCallbackWrapper cb)
+    connectSignalFunPtr obj "cursor-moved" cb' after
+
+-- signal Terminal::decrease-font-size
+type TerminalDecreaseFontSizeCallback =
+    IO ()
+
+noTerminalDecreaseFontSizeCallback :: Maybe TerminalDecreaseFontSizeCallback
+noTerminalDecreaseFontSizeCallback = Nothing
+
+type TerminalDecreaseFontSizeCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalDecreaseFontSizeCallback :: TerminalDecreaseFontSizeCallbackC -> IO (FunPtr TerminalDecreaseFontSizeCallbackC)
+
+terminalDecreaseFontSizeClosure :: TerminalDecreaseFontSizeCallback -> IO Closure
+terminalDecreaseFontSizeClosure cb = newCClosure =<< mkTerminalDecreaseFontSizeCallback wrapped
+    where wrapped = terminalDecreaseFontSizeCallbackWrapper cb
+
+terminalDecreaseFontSizeCallbackWrapper ::
+    TerminalDecreaseFontSizeCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalDecreaseFontSizeCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalDecreaseFontSize :: (GObject a, MonadIO m) => a -> TerminalDecreaseFontSizeCallback -> m SignalHandlerId
+onTerminalDecreaseFontSize obj cb = liftIO $ connectTerminalDecreaseFontSize obj cb SignalConnectBefore
+afterTerminalDecreaseFontSize :: (GObject a, MonadIO m) => a -> TerminalDecreaseFontSizeCallback -> m SignalHandlerId
+afterTerminalDecreaseFontSize obj cb = connectTerminalDecreaseFontSize obj cb SignalConnectAfter
+
+connectTerminalDecreaseFontSize :: (GObject a, MonadIO m) =>
+                                   a -> TerminalDecreaseFontSizeCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalDecreaseFontSize obj cb after = liftIO $ do
+    cb' <- mkTerminalDecreaseFontSizeCallback (terminalDecreaseFontSizeCallbackWrapper cb)
+    connectSignalFunPtr obj "decrease-font-size" cb' after
+
+-- signal Terminal::deiconify-window
+type TerminalDeiconifyWindowCallback =
+    IO ()
+
+noTerminalDeiconifyWindowCallback :: Maybe TerminalDeiconifyWindowCallback
+noTerminalDeiconifyWindowCallback = Nothing
+
+type TerminalDeiconifyWindowCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalDeiconifyWindowCallback :: TerminalDeiconifyWindowCallbackC -> IO (FunPtr TerminalDeiconifyWindowCallbackC)
+
+terminalDeiconifyWindowClosure :: TerminalDeiconifyWindowCallback -> IO Closure
+terminalDeiconifyWindowClosure cb = newCClosure =<< mkTerminalDeiconifyWindowCallback wrapped
+    where wrapped = terminalDeiconifyWindowCallbackWrapper cb
+
+terminalDeiconifyWindowCallbackWrapper ::
+    TerminalDeiconifyWindowCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalDeiconifyWindowCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalDeiconifyWindow :: (GObject a, MonadIO m) => a -> TerminalDeiconifyWindowCallback -> m SignalHandlerId
+onTerminalDeiconifyWindow obj cb = liftIO $ connectTerminalDeiconifyWindow obj cb SignalConnectBefore
+afterTerminalDeiconifyWindow :: (GObject a, MonadIO m) => a -> TerminalDeiconifyWindowCallback -> m SignalHandlerId
+afterTerminalDeiconifyWindow obj cb = connectTerminalDeiconifyWindow obj cb SignalConnectAfter
+
+connectTerminalDeiconifyWindow :: (GObject a, MonadIO m) =>
+                                  a -> TerminalDeiconifyWindowCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalDeiconifyWindow obj cb after = liftIO $ do
+    cb' <- mkTerminalDeiconifyWindowCallback (terminalDeiconifyWindowCallbackWrapper cb)
+    connectSignalFunPtr obj "deiconify-window" cb' after
+
+-- signal Terminal::encoding-changed
+type TerminalEncodingChangedCallback =
+    IO ()
+
+noTerminalEncodingChangedCallback :: Maybe TerminalEncodingChangedCallback
+noTerminalEncodingChangedCallback = Nothing
+
+type TerminalEncodingChangedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalEncodingChangedCallback :: TerminalEncodingChangedCallbackC -> IO (FunPtr TerminalEncodingChangedCallbackC)
+
+terminalEncodingChangedClosure :: TerminalEncodingChangedCallback -> IO Closure
+terminalEncodingChangedClosure cb = newCClosure =<< mkTerminalEncodingChangedCallback wrapped
+    where wrapped = terminalEncodingChangedCallbackWrapper cb
+
+terminalEncodingChangedCallbackWrapper ::
+    TerminalEncodingChangedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalEncodingChangedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalEncodingChanged :: (GObject a, MonadIO m) => a -> TerminalEncodingChangedCallback -> m SignalHandlerId
+onTerminalEncodingChanged obj cb = liftIO $ connectTerminalEncodingChanged obj cb SignalConnectBefore
+afterTerminalEncodingChanged :: (GObject a, MonadIO m) => a -> TerminalEncodingChangedCallback -> m SignalHandlerId
+afterTerminalEncodingChanged obj cb = connectTerminalEncodingChanged obj cb SignalConnectAfter
+
+connectTerminalEncodingChanged :: (GObject a, MonadIO m) =>
+                                  a -> TerminalEncodingChangedCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalEncodingChanged obj cb after = liftIO $ do
+    cb' <- mkTerminalEncodingChangedCallback (terminalEncodingChangedCallbackWrapper cb)
+    connectSignalFunPtr obj "encoding-changed" cb' after
+
+-- signal Terminal::eof
+type TerminalEofCallback =
+    IO ()
+
+noTerminalEofCallback :: Maybe TerminalEofCallback
+noTerminalEofCallback = Nothing
+
+type TerminalEofCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalEofCallback :: TerminalEofCallbackC -> IO (FunPtr TerminalEofCallbackC)
+
+terminalEofClosure :: TerminalEofCallback -> IO Closure
+terminalEofClosure cb = newCClosure =<< mkTerminalEofCallback wrapped
+    where wrapped = terminalEofCallbackWrapper cb
+
+terminalEofCallbackWrapper ::
+    TerminalEofCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalEofCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalEof :: (GObject a, MonadIO m) => a -> TerminalEofCallback -> m SignalHandlerId
+onTerminalEof obj cb = liftIO $ connectTerminalEof obj cb SignalConnectBefore
+afterTerminalEof :: (GObject a, MonadIO m) => a -> TerminalEofCallback -> m SignalHandlerId
+afterTerminalEof obj cb = connectTerminalEof obj cb SignalConnectAfter
+
+connectTerminalEof :: (GObject a, MonadIO m) =>
+                      a -> TerminalEofCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalEof obj cb after = liftIO $ do
+    cb' <- mkTerminalEofCallback (terminalEofCallbackWrapper cb)
+    connectSignalFunPtr obj "eof" cb' after
+
+-- signal Terminal::icon-title-changed
+type TerminalIconTitleChangedCallback =
+    IO ()
+
+noTerminalIconTitleChangedCallback :: Maybe TerminalIconTitleChangedCallback
+noTerminalIconTitleChangedCallback = Nothing
+
+type TerminalIconTitleChangedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalIconTitleChangedCallback :: TerminalIconTitleChangedCallbackC -> IO (FunPtr TerminalIconTitleChangedCallbackC)
+
+terminalIconTitleChangedClosure :: TerminalIconTitleChangedCallback -> IO Closure
+terminalIconTitleChangedClosure cb = newCClosure =<< mkTerminalIconTitleChangedCallback wrapped
+    where wrapped = terminalIconTitleChangedCallbackWrapper cb
+
+terminalIconTitleChangedCallbackWrapper ::
+    TerminalIconTitleChangedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalIconTitleChangedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalIconTitleChanged :: (GObject a, MonadIO m) => a -> TerminalIconTitleChangedCallback -> m SignalHandlerId
+onTerminalIconTitleChanged obj cb = liftIO $ connectTerminalIconTitleChanged obj cb SignalConnectBefore
+afterTerminalIconTitleChanged :: (GObject a, MonadIO m) => a -> TerminalIconTitleChangedCallback -> m SignalHandlerId
+afterTerminalIconTitleChanged obj cb = connectTerminalIconTitleChanged obj cb SignalConnectAfter
+
+connectTerminalIconTitleChanged :: (GObject a, MonadIO m) =>
+                                   a -> TerminalIconTitleChangedCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalIconTitleChanged obj cb after = liftIO $ do
+    cb' <- mkTerminalIconTitleChangedCallback (terminalIconTitleChangedCallbackWrapper cb)
+    connectSignalFunPtr obj "icon-title-changed" cb' after
+
+-- signal Terminal::iconify-window
+type TerminalIconifyWindowCallback =
+    IO ()
+
+noTerminalIconifyWindowCallback :: Maybe TerminalIconifyWindowCallback
+noTerminalIconifyWindowCallback = Nothing
+
+type TerminalIconifyWindowCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalIconifyWindowCallback :: TerminalIconifyWindowCallbackC -> IO (FunPtr TerminalIconifyWindowCallbackC)
+
+terminalIconifyWindowClosure :: TerminalIconifyWindowCallback -> IO Closure
+terminalIconifyWindowClosure cb = newCClosure =<< mkTerminalIconifyWindowCallback wrapped
+    where wrapped = terminalIconifyWindowCallbackWrapper cb
+
+terminalIconifyWindowCallbackWrapper ::
+    TerminalIconifyWindowCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalIconifyWindowCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalIconifyWindow :: (GObject a, MonadIO m) => a -> TerminalIconifyWindowCallback -> m SignalHandlerId
+onTerminalIconifyWindow obj cb = liftIO $ connectTerminalIconifyWindow obj cb SignalConnectBefore
+afterTerminalIconifyWindow :: (GObject a, MonadIO m) => a -> TerminalIconifyWindowCallback -> m SignalHandlerId
+afterTerminalIconifyWindow obj cb = connectTerminalIconifyWindow obj cb SignalConnectAfter
+
+connectTerminalIconifyWindow :: (GObject a, MonadIO m) =>
+                                a -> TerminalIconifyWindowCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalIconifyWindow obj cb after = liftIO $ do
+    cb' <- mkTerminalIconifyWindowCallback (terminalIconifyWindowCallbackWrapper cb)
+    connectSignalFunPtr obj "iconify-window" cb' after
+
+-- signal Terminal::increase-font-size
+type TerminalIncreaseFontSizeCallback =
+    IO ()
+
+noTerminalIncreaseFontSizeCallback :: Maybe TerminalIncreaseFontSizeCallback
+noTerminalIncreaseFontSizeCallback = Nothing
+
+type TerminalIncreaseFontSizeCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalIncreaseFontSizeCallback :: TerminalIncreaseFontSizeCallbackC -> IO (FunPtr TerminalIncreaseFontSizeCallbackC)
+
+terminalIncreaseFontSizeClosure :: TerminalIncreaseFontSizeCallback -> IO Closure
+terminalIncreaseFontSizeClosure cb = newCClosure =<< mkTerminalIncreaseFontSizeCallback wrapped
+    where wrapped = terminalIncreaseFontSizeCallbackWrapper cb
+
+terminalIncreaseFontSizeCallbackWrapper ::
+    TerminalIncreaseFontSizeCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalIncreaseFontSizeCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalIncreaseFontSize :: (GObject a, MonadIO m) => a -> TerminalIncreaseFontSizeCallback -> m SignalHandlerId
+onTerminalIncreaseFontSize obj cb = liftIO $ connectTerminalIncreaseFontSize obj cb SignalConnectBefore
+afterTerminalIncreaseFontSize :: (GObject a, MonadIO m) => a -> TerminalIncreaseFontSizeCallback -> m SignalHandlerId
+afterTerminalIncreaseFontSize obj cb = connectTerminalIncreaseFontSize obj cb SignalConnectAfter
+
+connectTerminalIncreaseFontSize :: (GObject a, MonadIO m) =>
+                                   a -> TerminalIncreaseFontSizeCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalIncreaseFontSize obj cb after = liftIO $ do
+    cb' <- mkTerminalIncreaseFontSizeCallback (terminalIncreaseFontSizeCallbackWrapper cb)
+    connectSignalFunPtr obj "increase-font-size" cb' after
+
+-- signal Terminal::lower-window
+type TerminalLowerWindowCallback =
+    IO ()
+
+noTerminalLowerWindowCallback :: Maybe TerminalLowerWindowCallback
+noTerminalLowerWindowCallback = Nothing
+
+type TerminalLowerWindowCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalLowerWindowCallback :: TerminalLowerWindowCallbackC -> IO (FunPtr TerminalLowerWindowCallbackC)
+
+terminalLowerWindowClosure :: TerminalLowerWindowCallback -> IO Closure
+terminalLowerWindowClosure cb = newCClosure =<< mkTerminalLowerWindowCallback wrapped
+    where wrapped = terminalLowerWindowCallbackWrapper cb
+
+terminalLowerWindowCallbackWrapper ::
+    TerminalLowerWindowCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalLowerWindowCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalLowerWindow :: (GObject a, MonadIO m) => a -> TerminalLowerWindowCallback -> m SignalHandlerId
+onTerminalLowerWindow obj cb = liftIO $ connectTerminalLowerWindow obj cb SignalConnectBefore
+afterTerminalLowerWindow :: (GObject a, MonadIO m) => a -> TerminalLowerWindowCallback -> m SignalHandlerId
+afterTerminalLowerWindow obj cb = connectTerminalLowerWindow obj cb SignalConnectAfter
+
+connectTerminalLowerWindow :: (GObject a, MonadIO m) =>
+                              a -> TerminalLowerWindowCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalLowerWindow obj cb after = liftIO $ do
+    cb' <- mkTerminalLowerWindowCallback (terminalLowerWindowCallbackWrapper cb)
+    connectSignalFunPtr obj "lower-window" cb' after
+
+-- signal Terminal::maximize-window
+type TerminalMaximizeWindowCallback =
+    IO ()
+
+noTerminalMaximizeWindowCallback :: Maybe TerminalMaximizeWindowCallback
+noTerminalMaximizeWindowCallback = Nothing
+
+type TerminalMaximizeWindowCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalMaximizeWindowCallback :: TerminalMaximizeWindowCallbackC -> IO (FunPtr TerminalMaximizeWindowCallbackC)
+
+terminalMaximizeWindowClosure :: TerminalMaximizeWindowCallback -> IO Closure
+terminalMaximizeWindowClosure cb = newCClosure =<< mkTerminalMaximizeWindowCallback wrapped
+    where wrapped = terminalMaximizeWindowCallbackWrapper cb
+
+terminalMaximizeWindowCallbackWrapper ::
+    TerminalMaximizeWindowCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalMaximizeWindowCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalMaximizeWindow :: (GObject a, MonadIO m) => a -> TerminalMaximizeWindowCallback -> m SignalHandlerId
+onTerminalMaximizeWindow obj cb = liftIO $ connectTerminalMaximizeWindow obj cb SignalConnectBefore
+afterTerminalMaximizeWindow :: (GObject a, MonadIO m) => a -> TerminalMaximizeWindowCallback -> m SignalHandlerId
+afterTerminalMaximizeWindow obj cb = connectTerminalMaximizeWindow obj cb SignalConnectAfter
+
+connectTerminalMaximizeWindow :: (GObject a, MonadIO m) =>
+                                 a -> TerminalMaximizeWindowCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalMaximizeWindow obj cb after = liftIO $ do
+    cb' <- mkTerminalMaximizeWindowCallback (terminalMaximizeWindowCallbackWrapper cb)
+    connectSignalFunPtr obj "maximize-window" cb' after
+
+-- signal Terminal::move-window
+type TerminalMoveWindowCallback =
+    Word32 ->
+    Word32 ->
+    IO ()
+
+noTerminalMoveWindowCallback :: Maybe TerminalMoveWindowCallback
+noTerminalMoveWindowCallback = Nothing
+
+type TerminalMoveWindowCallbackC =
+    Ptr () ->                               -- object
+    Word32 ->
+    Word32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalMoveWindowCallback :: TerminalMoveWindowCallbackC -> IO (FunPtr TerminalMoveWindowCallbackC)
+
+terminalMoveWindowClosure :: TerminalMoveWindowCallback -> IO Closure
+terminalMoveWindowClosure cb = newCClosure =<< mkTerminalMoveWindowCallback wrapped
+    where wrapped = terminalMoveWindowCallbackWrapper cb
+
+terminalMoveWindowCallbackWrapper ::
+    TerminalMoveWindowCallback ->
+    Ptr () ->
+    Word32 ->
+    Word32 ->
+    Ptr () ->
+    IO ()
+terminalMoveWindowCallbackWrapper _cb _ x y _ = do
+    _cb  x y
+
+onTerminalMoveWindow :: (GObject a, MonadIO m) => a -> TerminalMoveWindowCallback -> m SignalHandlerId
+onTerminalMoveWindow obj cb = liftIO $ connectTerminalMoveWindow obj cb SignalConnectBefore
+afterTerminalMoveWindow :: (GObject a, MonadIO m) => a -> TerminalMoveWindowCallback -> m SignalHandlerId
+afterTerminalMoveWindow obj cb = connectTerminalMoveWindow obj cb SignalConnectAfter
+
+connectTerminalMoveWindow :: (GObject a, MonadIO m) =>
+                             a -> TerminalMoveWindowCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalMoveWindow obj cb after = liftIO $ do
+    cb' <- mkTerminalMoveWindowCallback (terminalMoveWindowCallbackWrapper cb)
+    connectSignalFunPtr obj "move-window" cb' after
+
+-- signal Terminal::notification-received
+type TerminalNotificationReceivedCallback =
+    T.Text ->
+    Maybe T.Text ->
+    IO ()
+
+noTerminalNotificationReceivedCallback :: Maybe TerminalNotificationReceivedCallback
+noTerminalNotificationReceivedCallback = Nothing
+
+type TerminalNotificationReceivedCallbackC =
+    Ptr () ->                               -- object
+    CString ->
+    CString ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalNotificationReceivedCallback :: TerminalNotificationReceivedCallbackC -> IO (FunPtr TerminalNotificationReceivedCallbackC)
+
+terminalNotificationReceivedClosure :: TerminalNotificationReceivedCallback -> IO Closure
+terminalNotificationReceivedClosure cb = newCClosure =<< mkTerminalNotificationReceivedCallback wrapped
+    where wrapped = terminalNotificationReceivedCallbackWrapper cb
+
+terminalNotificationReceivedCallbackWrapper ::
+    TerminalNotificationReceivedCallback ->
+    Ptr () ->
+    CString ->
+    CString ->
+    Ptr () ->
+    IO ()
+terminalNotificationReceivedCallbackWrapper _cb _ summary body _ = do
+    summary' <- cstringToText summary
+    maybeBody <-
+        if body == nullPtr
+        then return Nothing
+        else do
+            body' <- cstringToText body
+            return $ Just body'
+    _cb  summary' maybeBody
+
+onTerminalNotificationReceived :: (GObject a, MonadIO m) => a -> TerminalNotificationReceivedCallback -> m SignalHandlerId
+onTerminalNotificationReceived obj cb = liftIO $ connectTerminalNotificationReceived obj cb SignalConnectBefore
+afterTerminalNotificationReceived :: (GObject a, MonadIO m) => a -> TerminalNotificationReceivedCallback -> m SignalHandlerId
+afterTerminalNotificationReceived obj cb = connectTerminalNotificationReceived obj cb SignalConnectAfter
+
+connectTerminalNotificationReceived :: (GObject a, MonadIO m) =>
+                                       a -> TerminalNotificationReceivedCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalNotificationReceived obj cb after = liftIO $ do
+    cb' <- mkTerminalNotificationReceivedCallback (terminalNotificationReceivedCallbackWrapper cb)
+    connectSignalFunPtr obj "notification-received" cb' after
+
+-- signal Terminal::paste-clipboard
+type TerminalPasteClipboardCallback =
+    IO ()
+
+noTerminalPasteClipboardCallback :: Maybe TerminalPasteClipboardCallback
+noTerminalPasteClipboardCallback = Nothing
+
+type TerminalPasteClipboardCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalPasteClipboardCallback :: TerminalPasteClipboardCallbackC -> IO (FunPtr TerminalPasteClipboardCallbackC)
+
+terminalPasteClipboardClosure :: TerminalPasteClipboardCallback -> IO Closure
+terminalPasteClipboardClosure cb = newCClosure =<< mkTerminalPasteClipboardCallback wrapped
+    where wrapped = terminalPasteClipboardCallbackWrapper cb
+
+terminalPasteClipboardCallbackWrapper ::
+    TerminalPasteClipboardCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalPasteClipboardCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalPasteClipboard :: (GObject a, MonadIO m) => a -> TerminalPasteClipboardCallback -> m SignalHandlerId
+onTerminalPasteClipboard obj cb = liftIO $ connectTerminalPasteClipboard obj cb SignalConnectBefore
+afterTerminalPasteClipboard :: (GObject a, MonadIO m) => a -> TerminalPasteClipboardCallback -> m SignalHandlerId
+afterTerminalPasteClipboard obj cb = connectTerminalPasteClipboard obj cb SignalConnectAfter
+
+connectTerminalPasteClipboard :: (GObject a, MonadIO m) =>
+                                 a -> TerminalPasteClipboardCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalPasteClipboard obj cb after = liftIO $ do
+    cb' <- mkTerminalPasteClipboardCallback (terminalPasteClipboardCallbackWrapper cb)
+    connectSignalFunPtr obj "paste-clipboard" cb' after
+
+-- signal Terminal::raise-window
+type TerminalRaiseWindowCallback =
+    IO ()
+
+noTerminalRaiseWindowCallback :: Maybe TerminalRaiseWindowCallback
+noTerminalRaiseWindowCallback = Nothing
+
+type TerminalRaiseWindowCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalRaiseWindowCallback :: TerminalRaiseWindowCallbackC -> IO (FunPtr TerminalRaiseWindowCallbackC)
+
+terminalRaiseWindowClosure :: TerminalRaiseWindowCallback -> IO Closure
+terminalRaiseWindowClosure cb = newCClosure =<< mkTerminalRaiseWindowCallback wrapped
+    where wrapped = terminalRaiseWindowCallbackWrapper cb
+
+terminalRaiseWindowCallbackWrapper ::
+    TerminalRaiseWindowCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalRaiseWindowCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalRaiseWindow :: (GObject a, MonadIO m) => a -> TerminalRaiseWindowCallback -> m SignalHandlerId
+onTerminalRaiseWindow obj cb = liftIO $ connectTerminalRaiseWindow obj cb SignalConnectBefore
+afterTerminalRaiseWindow :: (GObject a, MonadIO m) => a -> TerminalRaiseWindowCallback -> m SignalHandlerId
+afterTerminalRaiseWindow obj cb = connectTerminalRaiseWindow obj cb SignalConnectAfter
+
+connectTerminalRaiseWindow :: (GObject a, MonadIO m) =>
+                              a -> TerminalRaiseWindowCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalRaiseWindow obj cb after = liftIO $ do
+    cb' <- mkTerminalRaiseWindowCallback (terminalRaiseWindowCallbackWrapper cb)
+    connectSignalFunPtr obj "raise-window" cb' after
+
+-- signal Terminal::refresh-window
+type TerminalRefreshWindowCallback =
+    IO ()
+
+noTerminalRefreshWindowCallback :: Maybe TerminalRefreshWindowCallback
+noTerminalRefreshWindowCallback = Nothing
+
+type TerminalRefreshWindowCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalRefreshWindowCallback :: TerminalRefreshWindowCallbackC -> IO (FunPtr TerminalRefreshWindowCallbackC)
+
+terminalRefreshWindowClosure :: TerminalRefreshWindowCallback -> IO Closure
+terminalRefreshWindowClosure cb = newCClosure =<< mkTerminalRefreshWindowCallback wrapped
+    where wrapped = terminalRefreshWindowCallbackWrapper cb
+
+terminalRefreshWindowCallbackWrapper ::
+    TerminalRefreshWindowCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalRefreshWindowCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalRefreshWindow :: (GObject a, MonadIO m) => a -> TerminalRefreshWindowCallback -> m SignalHandlerId
+onTerminalRefreshWindow obj cb = liftIO $ connectTerminalRefreshWindow obj cb SignalConnectBefore
+afterTerminalRefreshWindow :: (GObject a, MonadIO m) => a -> TerminalRefreshWindowCallback -> m SignalHandlerId
+afterTerminalRefreshWindow obj cb = connectTerminalRefreshWindow obj cb SignalConnectAfter
+
+connectTerminalRefreshWindow :: (GObject a, MonadIO m) =>
+                                a -> TerminalRefreshWindowCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalRefreshWindow obj cb after = liftIO $ do
+    cb' <- mkTerminalRefreshWindowCallback (terminalRefreshWindowCallbackWrapper cb)
+    connectSignalFunPtr obj "refresh-window" cb' after
+
+-- signal Terminal::resize-window
+type TerminalResizeWindowCallback =
+    Word32 ->
+    Word32 ->
+    IO ()
+
+noTerminalResizeWindowCallback :: Maybe TerminalResizeWindowCallback
+noTerminalResizeWindowCallback = Nothing
+
+type TerminalResizeWindowCallbackC =
+    Ptr () ->                               -- object
+    Word32 ->
+    Word32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalResizeWindowCallback :: TerminalResizeWindowCallbackC -> IO (FunPtr TerminalResizeWindowCallbackC)
+
+terminalResizeWindowClosure :: TerminalResizeWindowCallback -> IO Closure
+terminalResizeWindowClosure cb = newCClosure =<< mkTerminalResizeWindowCallback wrapped
+    where wrapped = terminalResizeWindowCallbackWrapper cb
+
+terminalResizeWindowCallbackWrapper ::
+    TerminalResizeWindowCallback ->
+    Ptr () ->
+    Word32 ->
+    Word32 ->
+    Ptr () ->
+    IO ()
+terminalResizeWindowCallbackWrapper _cb _ width height _ = do
+    _cb  width height
+
+onTerminalResizeWindow :: (GObject a, MonadIO m) => a -> TerminalResizeWindowCallback -> m SignalHandlerId
+onTerminalResizeWindow obj cb = liftIO $ connectTerminalResizeWindow obj cb SignalConnectBefore
+afterTerminalResizeWindow :: (GObject a, MonadIO m) => a -> TerminalResizeWindowCallback -> m SignalHandlerId
+afterTerminalResizeWindow obj cb = connectTerminalResizeWindow obj cb SignalConnectAfter
+
+connectTerminalResizeWindow :: (GObject a, MonadIO m) =>
+                               a -> TerminalResizeWindowCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalResizeWindow obj cb after = liftIO $ do
+    cb' <- mkTerminalResizeWindowCallback (terminalResizeWindowCallbackWrapper cb)
+    connectSignalFunPtr obj "resize-window" cb' after
+
+-- signal Terminal::restore-window
+type TerminalRestoreWindowCallback =
+    IO ()
+
+noTerminalRestoreWindowCallback :: Maybe TerminalRestoreWindowCallback
+noTerminalRestoreWindowCallback = Nothing
+
+type TerminalRestoreWindowCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalRestoreWindowCallback :: TerminalRestoreWindowCallbackC -> IO (FunPtr TerminalRestoreWindowCallbackC)
+
+terminalRestoreWindowClosure :: TerminalRestoreWindowCallback -> IO Closure
+terminalRestoreWindowClosure cb = newCClosure =<< mkTerminalRestoreWindowCallback wrapped
+    where wrapped = terminalRestoreWindowCallbackWrapper cb
+
+terminalRestoreWindowCallbackWrapper ::
+    TerminalRestoreWindowCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalRestoreWindowCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalRestoreWindow :: (GObject a, MonadIO m) => a -> TerminalRestoreWindowCallback -> m SignalHandlerId
+onTerminalRestoreWindow obj cb = liftIO $ connectTerminalRestoreWindow obj cb SignalConnectBefore
+afterTerminalRestoreWindow :: (GObject a, MonadIO m) => a -> TerminalRestoreWindowCallback -> m SignalHandlerId
+afterTerminalRestoreWindow obj cb = connectTerminalRestoreWindow obj cb SignalConnectAfter
+
+connectTerminalRestoreWindow :: (GObject a, MonadIO m) =>
+                                a -> TerminalRestoreWindowCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalRestoreWindow obj cb after = liftIO $ do
+    cb' <- mkTerminalRestoreWindowCallback (terminalRestoreWindowCallbackWrapper cb)
+    connectSignalFunPtr obj "restore-window" cb' after
+
+-- signal Terminal::selection-changed
+type TerminalSelectionChangedCallback =
+    IO ()
+
+noTerminalSelectionChangedCallback :: Maybe TerminalSelectionChangedCallback
+noTerminalSelectionChangedCallback = Nothing
+
+type TerminalSelectionChangedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalSelectionChangedCallback :: TerminalSelectionChangedCallbackC -> IO (FunPtr TerminalSelectionChangedCallbackC)
+
+terminalSelectionChangedClosure :: TerminalSelectionChangedCallback -> IO Closure
+terminalSelectionChangedClosure cb = newCClosure =<< mkTerminalSelectionChangedCallback wrapped
+    where wrapped = terminalSelectionChangedCallbackWrapper cb
+
+terminalSelectionChangedCallbackWrapper ::
+    TerminalSelectionChangedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalSelectionChangedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalSelectionChanged :: (GObject a, MonadIO m) => a -> TerminalSelectionChangedCallback -> m SignalHandlerId
+onTerminalSelectionChanged obj cb = liftIO $ connectTerminalSelectionChanged obj cb SignalConnectBefore
+afterTerminalSelectionChanged :: (GObject a, MonadIO m) => a -> TerminalSelectionChangedCallback -> m SignalHandlerId
+afterTerminalSelectionChanged obj cb = connectTerminalSelectionChanged obj cb SignalConnectAfter
+
+connectTerminalSelectionChanged :: (GObject a, MonadIO m) =>
+                                   a -> TerminalSelectionChangedCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalSelectionChanged obj cb after = liftIO $ do
+    cb' <- mkTerminalSelectionChangedCallback (terminalSelectionChangedCallbackWrapper cb)
+    connectSignalFunPtr obj "selection-changed" cb' after
+
+-- signal Terminal::text-deleted
+type TerminalTextDeletedCallback =
+    IO ()
+
+noTerminalTextDeletedCallback :: Maybe TerminalTextDeletedCallback
+noTerminalTextDeletedCallback = Nothing
+
+type TerminalTextDeletedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalTextDeletedCallback :: TerminalTextDeletedCallbackC -> IO (FunPtr TerminalTextDeletedCallbackC)
+
+terminalTextDeletedClosure :: TerminalTextDeletedCallback -> IO Closure
+terminalTextDeletedClosure cb = newCClosure =<< mkTerminalTextDeletedCallback wrapped
+    where wrapped = terminalTextDeletedCallbackWrapper cb
+
+terminalTextDeletedCallbackWrapper ::
+    TerminalTextDeletedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalTextDeletedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalTextDeleted :: (GObject a, MonadIO m) => a -> TerminalTextDeletedCallback -> m SignalHandlerId
+onTerminalTextDeleted obj cb = liftIO $ connectTerminalTextDeleted obj cb SignalConnectBefore
+afterTerminalTextDeleted :: (GObject a, MonadIO m) => a -> TerminalTextDeletedCallback -> m SignalHandlerId
+afterTerminalTextDeleted obj cb = connectTerminalTextDeleted obj cb SignalConnectAfter
+
+connectTerminalTextDeleted :: (GObject a, MonadIO m) =>
+                              a -> TerminalTextDeletedCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalTextDeleted obj cb after = liftIO $ do
+    cb' <- mkTerminalTextDeletedCallback (terminalTextDeletedCallbackWrapper cb)
+    connectSignalFunPtr obj "text-deleted" cb' after
+
+-- signal Terminal::text-inserted
+type TerminalTextInsertedCallback =
+    IO ()
+
+noTerminalTextInsertedCallback :: Maybe TerminalTextInsertedCallback
+noTerminalTextInsertedCallback = Nothing
+
+type TerminalTextInsertedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalTextInsertedCallback :: TerminalTextInsertedCallbackC -> IO (FunPtr TerminalTextInsertedCallbackC)
+
+terminalTextInsertedClosure :: TerminalTextInsertedCallback -> IO Closure
+terminalTextInsertedClosure cb = newCClosure =<< mkTerminalTextInsertedCallback wrapped
+    where wrapped = terminalTextInsertedCallbackWrapper cb
+
+terminalTextInsertedCallbackWrapper ::
+    TerminalTextInsertedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalTextInsertedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalTextInserted :: (GObject a, MonadIO m) => a -> TerminalTextInsertedCallback -> m SignalHandlerId
+onTerminalTextInserted obj cb = liftIO $ connectTerminalTextInserted obj cb SignalConnectBefore
+afterTerminalTextInserted :: (GObject a, MonadIO m) => a -> TerminalTextInsertedCallback -> m SignalHandlerId
+afterTerminalTextInserted obj cb = connectTerminalTextInserted obj cb SignalConnectAfter
+
+connectTerminalTextInserted :: (GObject a, MonadIO m) =>
+                               a -> TerminalTextInsertedCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalTextInserted obj cb after = liftIO $ do
+    cb' <- mkTerminalTextInsertedCallback (terminalTextInsertedCallbackWrapper cb)
+    connectSignalFunPtr obj "text-inserted" cb' after
+
+-- signal Terminal::text-modified
+type TerminalTextModifiedCallback =
+    IO ()
+
+noTerminalTextModifiedCallback :: Maybe TerminalTextModifiedCallback
+noTerminalTextModifiedCallback = Nothing
+
+type TerminalTextModifiedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalTextModifiedCallback :: TerminalTextModifiedCallbackC -> IO (FunPtr TerminalTextModifiedCallbackC)
+
+terminalTextModifiedClosure :: TerminalTextModifiedCallback -> IO Closure
+terminalTextModifiedClosure cb = newCClosure =<< mkTerminalTextModifiedCallback wrapped
+    where wrapped = terminalTextModifiedCallbackWrapper cb
+
+terminalTextModifiedCallbackWrapper ::
+    TerminalTextModifiedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalTextModifiedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalTextModified :: (GObject a, MonadIO m) => a -> TerminalTextModifiedCallback -> m SignalHandlerId
+onTerminalTextModified obj cb = liftIO $ connectTerminalTextModified obj cb SignalConnectBefore
+afterTerminalTextModified :: (GObject a, MonadIO m) => a -> TerminalTextModifiedCallback -> m SignalHandlerId
+afterTerminalTextModified obj cb = connectTerminalTextModified obj cb SignalConnectAfter
+
+connectTerminalTextModified :: (GObject a, MonadIO m) =>
+                               a -> TerminalTextModifiedCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalTextModified obj cb after = liftIO $ do
+    cb' <- mkTerminalTextModifiedCallback (terminalTextModifiedCallbackWrapper cb)
+    connectSignalFunPtr obj "text-modified" cb' after
+
+-- signal Terminal::text-scrolled
+type TerminalTextScrolledCallback =
+    Int32 ->
+    IO ()
+
+noTerminalTextScrolledCallback :: Maybe TerminalTextScrolledCallback
+noTerminalTextScrolledCallback = Nothing
+
+type TerminalTextScrolledCallbackC =
+    Ptr () ->                               -- object
+    Int32 ->
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalTextScrolledCallback :: TerminalTextScrolledCallbackC -> IO (FunPtr TerminalTextScrolledCallbackC)
+
+terminalTextScrolledClosure :: TerminalTextScrolledCallback -> IO Closure
+terminalTextScrolledClosure cb = newCClosure =<< mkTerminalTextScrolledCallback wrapped
+    where wrapped = terminalTextScrolledCallbackWrapper cb
+
+terminalTextScrolledCallbackWrapper ::
+    TerminalTextScrolledCallback ->
+    Ptr () ->
+    Int32 ->
+    Ptr () ->
+    IO ()
+terminalTextScrolledCallbackWrapper _cb _ delta _ = do
+    _cb  delta
+
+onTerminalTextScrolled :: (GObject a, MonadIO m) => a -> TerminalTextScrolledCallback -> m SignalHandlerId
+onTerminalTextScrolled obj cb = liftIO $ connectTerminalTextScrolled obj cb SignalConnectBefore
+afterTerminalTextScrolled :: (GObject a, MonadIO m) => a -> TerminalTextScrolledCallback -> m SignalHandlerId
+afterTerminalTextScrolled obj cb = connectTerminalTextScrolled obj cb SignalConnectAfter
+
+connectTerminalTextScrolled :: (GObject a, MonadIO m) =>
+                               a -> TerminalTextScrolledCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalTextScrolled obj cb after = liftIO $ do
+    cb' <- mkTerminalTextScrolledCallback (terminalTextScrolledCallbackWrapper cb)
+    connectSignalFunPtr obj "text-scrolled" cb' after
+
+-- signal Terminal::window-title-changed
+type TerminalWindowTitleChangedCallback =
+    IO ()
+
+noTerminalWindowTitleChangedCallback :: Maybe TerminalWindowTitleChangedCallback
+noTerminalWindowTitleChangedCallback = Nothing
+
+type TerminalWindowTitleChangedCallbackC =
+    Ptr () ->                               -- object
+    Ptr () ->                               -- user_data
+    IO ()
+
+foreign import ccall "wrapper"
+    mkTerminalWindowTitleChangedCallback :: TerminalWindowTitleChangedCallbackC -> IO (FunPtr TerminalWindowTitleChangedCallbackC)
+
+terminalWindowTitleChangedClosure :: TerminalWindowTitleChangedCallback -> IO Closure
+terminalWindowTitleChangedClosure cb = newCClosure =<< mkTerminalWindowTitleChangedCallback wrapped
+    where wrapped = terminalWindowTitleChangedCallbackWrapper cb
+
+terminalWindowTitleChangedCallbackWrapper ::
+    TerminalWindowTitleChangedCallback ->
+    Ptr () ->
+    Ptr () ->
+    IO ()
+terminalWindowTitleChangedCallbackWrapper _cb _ _ = do
+    _cb 
+
+onTerminalWindowTitleChanged :: (GObject a, MonadIO m) => a -> TerminalWindowTitleChangedCallback -> m SignalHandlerId
+onTerminalWindowTitleChanged obj cb = liftIO $ connectTerminalWindowTitleChanged obj cb SignalConnectBefore
+afterTerminalWindowTitleChanged :: (GObject a, MonadIO m) => a -> TerminalWindowTitleChangedCallback -> m SignalHandlerId
+afterTerminalWindowTitleChanged obj cb = connectTerminalWindowTitleChanged obj cb SignalConnectAfter
+
+connectTerminalWindowTitleChanged :: (GObject a, MonadIO m) =>
+                                     a -> TerminalWindowTitleChangedCallback -> SignalConnectMode -> m SignalHandlerId
+connectTerminalWindowTitleChanged obj cb after = liftIO $ do
+    cb' <- mkTerminalWindowTitleChangedCallback (terminalWindowTitleChangedCallbackWrapper cb)
+    connectSignalFunPtr obj "window-title-changed" cb' after
+
+-- VVV Prop "allow-bold"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getTerminalAllowBold :: (MonadIO m, TerminalK o) => o -> m Bool
+getTerminalAllowBold obj = liftIO $ getObjectPropertyBool obj "allow-bold"
+
+setTerminalAllowBold :: (MonadIO m, TerminalK o) => o -> Bool -> m ()
+setTerminalAllowBold obj val = liftIO $ setObjectPropertyBool obj "allow-bold" val
+
+constructTerminalAllowBold :: Bool -> IO ([Char], GValue)
+constructTerminalAllowBold val = constructObjectPropertyBool "allow-bold" val
+
+data TerminalAllowBoldPropertyInfo
+instance AttrInfo TerminalAllowBoldPropertyInfo where
+    type AttrAllowedOps TerminalAllowBoldPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TerminalAllowBoldPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TerminalAllowBoldPropertyInfo = TerminalK
+    type AttrGetType TerminalAllowBoldPropertyInfo = Bool
+    type AttrLabel TerminalAllowBoldPropertyInfo = "allow-bold"
+    attrGet _ = getTerminalAllowBold
+    attrSet _ = setTerminalAllowBold
+    attrConstruct _ = constructTerminalAllowBold
+
+-- VVV Prop "audible-bell"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getTerminalAudibleBell :: (MonadIO m, TerminalK o) => o -> m Bool
+getTerminalAudibleBell obj = liftIO $ getObjectPropertyBool obj "audible-bell"
+
+setTerminalAudibleBell :: (MonadIO m, TerminalK o) => o -> Bool -> m ()
+setTerminalAudibleBell obj val = liftIO $ setObjectPropertyBool obj "audible-bell" val
+
+constructTerminalAudibleBell :: Bool -> IO ([Char], GValue)
+constructTerminalAudibleBell val = constructObjectPropertyBool "audible-bell" val
+
+data TerminalAudibleBellPropertyInfo
+instance AttrInfo TerminalAudibleBellPropertyInfo where
+    type AttrAllowedOps TerminalAudibleBellPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TerminalAudibleBellPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TerminalAudibleBellPropertyInfo = TerminalK
+    type AttrGetType TerminalAudibleBellPropertyInfo = Bool
+    type AttrLabel TerminalAudibleBellPropertyInfo = "audible-bell"
+    attrGet _ = getTerminalAudibleBell
+    attrSet _ = setTerminalAudibleBell
+    attrConstruct _ = constructTerminalAudibleBell
+
+-- VVV Prop "backspace-binding"
+   -- Type: TInterface "Vte" "EraseBinding"
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getTerminalBackspaceBinding :: (MonadIO m, TerminalK o) => o -> m EraseBinding
+getTerminalBackspaceBinding obj = liftIO $ getObjectPropertyEnum obj "backspace-binding"
+
+setTerminalBackspaceBinding :: (MonadIO m, TerminalK o) => o -> EraseBinding -> m ()
+setTerminalBackspaceBinding obj val = liftIO $ setObjectPropertyEnum obj "backspace-binding" val
+
+constructTerminalBackspaceBinding :: EraseBinding -> IO ([Char], GValue)
+constructTerminalBackspaceBinding val = constructObjectPropertyEnum "backspace-binding" val
+
+data TerminalBackspaceBindingPropertyInfo
+instance AttrInfo TerminalBackspaceBindingPropertyInfo where
+    type AttrAllowedOps TerminalBackspaceBindingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TerminalBackspaceBindingPropertyInfo = (~) EraseBinding
+    type AttrBaseTypeConstraint TerminalBackspaceBindingPropertyInfo = TerminalK
+    type AttrGetType TerminalBackspaceBindingPropertyInfo = EraseBinding
+    type AttrLabel TerminalBackspaceBindingPropertyInfo = "backspace-binding"
+    attrGet _ = getTerminalBackspaceBinding
+    attrSet _ = setTerminalBackspaceBinding
+    attrConstruct _ = constructTerminalBackspaceBinding
+
+-- VVV Prop "cjk-ambiguous-width"
+   -- Type: TBasicType TInt32
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getTerminalCjkAmbiguousWidth :: (MonadIO m, TerminalK o) => o -> m Int32
+getTerminalCjkAmbiguousWidth obj = liftIO $ getObjectPropertyCInt obj "cjk-ambiguous-width"
+
+setTerminalCjkAmbiguousWidth :: (MonadIO m, TerminalK o) => o -> Int32 -> m ()
+setTerminalCjkAmbiguousWidth obj val = liftIO $ setObjectPropertyCInt obj "cjk-ambiguous-width" val
+
+constructTerminalCjkAmbiguousWidth :: Int32 -> IO ([Char], GValue)
+constructTerminalCjkAmbiguousWidth val = constructObjectPropertyCInt "cjk-ambiguous-width" val
+
+data TerminalCjkAmbiguousWidthPropertyInfo
+instance AttrInfo TerminalCjkAmbiguousWidthPropertyInfo where
+    type AttrAllowedOps TerminalCjkAmbiguousWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TerminalCjkAmbiguousWidthPropertyInfo = (~) Int32
+    type AttrBaseTypeConstraint TerminalCjkAmbiguousWidthPropertyInfo = TerminalK
+    type AttrGetType TerminalCjkAmbiguousWidthPropertyInfo = Int32
+    type AttrLabel TerminalCjkAmbiguousWidthPropertyInfo = "cjk-ambiguous-width"
+    attrGet _ = getTerminalCjkAmbiguousWidth
+    attrSet _ = setTerminalCjkAmbiguousWidth
+    attrConstruct _ = constructTerminalCjkAmbiguousWidth
+
+-- VVV Prop "current-directory-uri"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable]
+
+getTerminalCurrentDirectoryUri :: (MonadIO m, TerminalK o) => o -> m T.Text
+getTerminalCurrentDirectoryUri obj = liftIO $ getObjectPropertyString obj "current-directory-uri"
+
+data TerminalCurrentDirectoryUriPropertyInfo
+instance AttrInfo TerminalCurrentDirectoryUriPropertyInfo where
+    type AttrAllowedOps TerminalCurrentDirectoryUriPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint TerminalCurrentDirectoryUriPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint TerminalCurrentDirectoryUriPropertyInfo = TerminalK
+    type AttrGetType TerminalCurrentDirectoryUriPropertyInfo = T.Text
+    type AttrLabel TerminalCurrentDirectoryUriPropertyInfo = "current-directory-uri"
+    attrGet _ = getTerminalCurrentDirectoryUri
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+
+-- VVV Prop "current-file-uri"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable]
+
+getTerminalCurrentFileUri :: (MonadIO m, TerminalK o) => o -> m T.Text
+getTerminalCurrentFileUri obj = liftIO $ getObjectPropertyString obj "current-file-uri"
+
+data TerminalCurrentFileUriPropertyInfo
+instance AttrInfo TerminalCurrentFileUriPropertyInfo where
+    type AttrAllowedOps TerminalCurrentFileUriPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint TerminalCurrentFileUriPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint TerminalCurrentFileUriPropertyInfo = TerminalK
+    type AttrGetType TerminalCurrentFileUriPropertyInfo = T.Text
+    type AttrLabel TerminalCurrentFileUriPropertyInfo = "current-file-uri"
+    attrGet _ = getTerminalCurrentFileUri
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+
+-- VVV Prop "cursor-blink-mode"
+   -- Type: TInterface "Vte" "CursorBlinkMode"
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getTerminalCursorBlinkMode :: (MonadIO m, TerminalK o) => o -> m CursorBlinkMode
+getTerminalCursorBlinkMode obj = liftIO $ getObjectPropertyEnum obj "cursor-blink-mode"
+
+setTerminalCursorBlinkMode :: (MonadIO m, TerminalK o) => o -> CursorBlinkMode -> m ()
+setTerminalCursorBlinkMode obj val = liftIO $ setObjectPropertyEnum obj "cursor-blink-mode" val
+
+constructTerminalCursorBlinkMode :: CursorBlinkMode -> IO ([Char], GValue)
+constructTerminalCursorBlinkMode val = constructObjectPropertyEnum "cursor-blink-mode" val
+
+data TerminalCursorBlinkModePropertyInfo
+instance AttrInfo TerminalCursorBlinkModePropertyInfo where
+    type AttrAllowedOps TerminalCursorBlinkModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TerminalCursorBlinkModePropertyInfo = (~) CursorBlinkMode
+    type AttrBaseTypeConstraint TerminalCursorBlinkModePropertyInfo = TerminalK
+    type AttrGetType TerminalCursorBlinkModePropertyInfo = CursorBlinkMode
+    type AttrLabel TerminalCursorBlinkModePropertyInfo = "cursor-blink-mode"
+    attrGet _ = getTerminalCursorBlinkMode
+    attrSet _ = setTerminalCursorBlinkMode
+    attrConstruct _ = constructTerminalCursorBlinkMode
+
+-- VVV Prop "cursor-shape"
+   -- Type: TInterface "Vte" "CursorShape"
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getTerminalCursorShape :: (MonadIO m, TerminalK o) => o -> m CursorShape
+getTerminalCursorShape obj = liftIO $ getObjectPropertyEnum obj "cursor-shape"
+
+setTerminalCursorShape :: (MonadIO m, TerminalK o) => o -> CursorShape -> m ()
+setTerminalCursorShape obj val = liftIO $ setObjectPropertyEnum obj "cursor-shape" val
+
+constructTerminalCursorShape :: CursorShape -> IO ([Char], GValue)
+constructTerminalCursorShape val = constructObjectPropertyEnum "cursor-shape" val
+
+data TerminalCursorShapePropertyInfo
+instance AttrInfo TerminalCursorShapePropertyInfo where
+    type AttrAllowedOps TerminalCursorShapePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TerminalCursorShapePropertyInfo = (~) CursorShape
+    type AttrBaseTypeConstraint TerminalCursorShapePropertyInfo = TerminalK
+    type AttrGetType TerminalCursorShapePropertyInfo = CursorShape
+    type AttrLabel TerminalCursorShapePropertyInfo = "cursor-shape"
+    attrGet _ = getTerminalCursorShape
+    attrSet _ = setTerminalCursorShape
+    attrConstruct _ = constructTerminalCursorShape
+
+-- VVV Prop "delete-binding"
+   -- Type: TInterface "Vte" "EraseBinding"
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getTerminalDeleteBinding :: (MonadIO m, TerminalK o) => o -> m EraseBinding
+getTerminalDeleteBinding obj = liftIO $ getObjectPropertyEnum obj "delete-binding"
+
+setTerminalDeleteBinding :: (MonadIO m, TerminalK o) => o -> EraseBinding -> m ()
+setTerminalDeleteBinding obj val = liftIO $ setObjectPropertyEnum obj "delete-binding" val
+
+constructTerminalDeleteBinding :: EraseBinding -> IO ([Char], GValue)
+constructTerminalDeleteBinding val = constructObjectPropertyEnum "delete-binding" val
+
+data TerminalDeleteBindingPropertyInfo
+instance AttrInfo TerminalDeleteBindingPropertyInfo where
+    type AttrAllowedOps TerminalDeleteBindingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TerminalDeleteBindingPropertyInfo = (~) EraseBinding
+    type AttrBaseTypeConstraint TerminalDeleteBindingPropertyInfo = TerminalK
+    type AttrGetType TerminalDeleteBindingPropertyInfo = EraseBinding
+    type AttrLabel TerminalDeleteBindingPropertyInfo = "delete-binding"
+    attrGet _ = getTerminalDeleteBinding
+    attrSet _ = setTerminalDeleteBinding
+    attrConstruct _ = constructTerminalDeleteBinding
+
+-- VVV Prop "encoding"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getTerminalEncoding :: (MonadIO m, TerminalK o) => o -> m T.Text
+getTerminalEncoding obj = liftIO $ getObjectPropertyString obj "encoding"
+
+setTerminalEncoding :: (MonadIO m, TerminalK o) => o -> T.Text -> m ()
+setTerminalEncoding obj val = liftIO $ setObjectPropertyString obj "encoding" val
+
+constructTerminalEncoding :: T.Text -> IO ([Char], GValue)
+constructTerminalEncoding val = constructObjectPropertyString "encoding" val
+
+data TerminalEncodingPropertyInfo
+instance AttrInfo TerminalEncodingPropertyInfo where
+    type AttrAllowedOps TerminalEncodingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TerminalEncodingPropertyInfo = (~) T.Text
+    type AttrBaseTypeConstraint TerminalEncodingPropertyInfo = TerminalK
+    type AttrGetType TerminalEncodingPropertyInfo = T.Text
+    type AttrLabel TerminalEncodingPropertyInfo = "encoding"
+    attrGet _ = getTerminalEncoding
+    attrSet _ = setTerminalEncoding
+    attrConstruct _ = constructTerminalEncoding
+
+-- VVV Prop "font-desc"
+   -- Type: TInterface "Pango" "FontDescription"
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getTerminalFontDesc :: (MonadIO m, TerminalK o) => o -> m Pango.FontDescription
+getTerminalFontDesc obj = liftIO $ getObjectPropertyBoxed obj "font-desc" Pango.FontDescription
+
+setTerminalFontDesc :: (MonadIO m, TerminalK o) => o -> Pango.FontDescription -> m ()
+setTerminalFontDesc obj val = liftIO $ setObjectPropertyBoxed obj "font-desc" val
+
+constructTerminalFontDesc :: Pango.FontDescription -> IO ([Char], GValue)
+constructTerminalFontDesc val = constructObjectPropertyBoxed "font-desc" val
+
+data TerminalFontDescPropertyInfo
+instance AttrInfo TerminalFontDescPropertyInfo where
+    type AttrAllowedOps TerminalFontDescPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TerminalFontDescPropertyInfo = (~) Pango.FontDescription
+    type AttrBaseTypeConstraint TerminalFontDescPropertyInfo = TerminalK
+    type AttrGetType TerminalFontDescPropertyInfo = Pango.FontDescription
+    type AttrLabel TerminalFontDescPropertyInfo = "font-desc"
+    attrGet _ = getTerminalFontDesc
+    attrSet _ = setTerminalFontDesc
+    attrConstruct _ = constructTerminalFontDesc
+
+-- VVV Prop "font-scale"
+   -- Type: TBasicType TDouble
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getTerminalFontScale :: (MonadIO m, TerminalK o) => o -> m Double
+getTerminalFontScale obj = liftIO $ getObjectPropertyDouble obj "font-scale"
+
+setTerminalFontScale :: (MonadIO m, TerminalK o) => o -> Double -> m ()
+setTerminalFontScale obj val = liftIO $ setObjectPropertyDouble obj "font-scale" val
+
+constructTerminalFontScale :: Double -> IO ([Char], GValue)
+constructTerminalFontScale val = constructObjectPropertyDouble "font-scale" val
+
+data TerminalFontScalePropertyInfo
+instance AttrInfo TerminalFontScalePropertyInfo where
+    type AttrAllowedOps TerminalFontScalePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TerminalFontScalePropertyInfo = (~) Double
+    type AttrBaseTypeConstraint TerminalFontScalePropertyInfo = TerminalK
+    type AttrGetType TerminalFontScalePropertyInfo = Double
+    type AttrLabel TerminalFontScalePropertyInfo = "font-scale"
+    attrGet _ = getTerminalFontScale
+    attrSet _ = setTerminalFontScale
+    attrConstruct _ = constructTerminalFontScale
+
+-- VVV Prop "icon-title"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable]
+
+getTerminalIconTitle :: (MonadIO m, TerminalK o) => o -> m T.Text
+getTerminalIconTitle obj = liftIO $ getObjectPropertyString obj "icon-title"
+
+data TerminalIconTitlePropertyInfo
+instance AttrInfo TerminalIconTitlePropertyInfo where
+    type AttrAllowedOps TerminalIconTitlePropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint TerminalIconTitlePropertyInfo = (~) ()
+    type AttrBaseTypeConstraint TerminalIconTitlePropertyInfo = TerminalK
+    type AttrGetType TerminalIconTitlePropertyInfo = T.Text
+    type AttrLabel TerminalIconTitlePropertyInfo = "icon-title"
+    attrGet _ = getTerminalIconTitle
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+
+-- VVV Prop "input-enabled"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getTerminalInputEnabled :: (MonadIO m, TerminalK o) => o -> m Bool
+getTerminalInputEnabled obj = liftIO $ getObjectPropertyBool obj "input-enabled"
+
+setTerminalInputEnabled :: (MonadIO m, TerminalK o) => o -> Bool -> m ()
+setTerminalInputEnabled obj val = liftIO $ setObjectPropertyBool obj "input-enabled" val
+
+constructTerminalInputEnabled :: Bool -> IO ([Char], GValue)
+constructTerminalInputEnabled val = constructObjectPropertyBool "input-enabled" val
+
+data TerminalInputEnabledPropertyInfo
+instance AttrInfo TerminalInputEnabledPropertyInfo where
+    type AttrAllowedOps TerminalInputEnabledPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TerminalInputEnabledPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TerminalInputEnabledPropertyInfo = TerminalK
+    type AttrGetType TerminalInputEnabledPropertyInfo = Bool
+    type AttrLabel TerminalInputEnabledPropertyInfo = "input-enabled"
+    attrGet _ = getTerminalInputEnabled
+    attrSet _ = setTerminalInputEnabled
+    attrConstruct _ = constructTerminalInputEnabled
+
+-- VVV Prop "pointer-autohide"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getTerminalPointerAutohide :: (MonadIO m, TerminalK o) => o -> m Bool
+getTerminalPointerAutohide obj = liftIO $ getObjectPropertyBool obj "pointer-autohide"
+
+setTerminalPointerAutohide :: (MonadIO m, TerminalK o) => o -> Bool -> m ()
+setTerminalPointerAutohide obj val = liftIO $ setObjectPropertyBool obj "pointer-autohide" val
+
+constructTerminalPointerAutohide :: Bool -> IO ([Char], GValue)
+constructTerminalPointerAutohide val = constructObjectPropertyBool "pointer-autohide" val
+
+data TerminalPointerAutohidePropertyInfo
+instance AttrInfo TerminalPointerAutohidePropertyInfo where
+    type AttrAllowedOps TerminalPointerAutohidePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TerminalPointerAutohidePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TerminalPointerAutohidePropertyInfo = TerminalK
+    type AttrGetType TerminalPointerAutohidePropertyInfo = Bool
+    type AttrLabel TerminalPointerAutohidePropertyInfo = "pointer-autohide"
+    attrGet _ = getTerminalPointerAutohide
+    attrSet _ = setTerminalPointerAutohide
+    attrConstruct _ = constructTerminalPointerAutohide
+
+-- VVV Prop "pty"
+   -- Type: TInterface "Vte" "Pty"
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getTerminalPty :: (MonadIO m, TerminalK o) => o -> m Pty
+getTerminalPty obj = liftIO $ getObjectPropertyObject obj "pty" Pty
+
+setTerminalPty :: (MonadIO m, TerminalK o, PtyK a) => o -> a -> m ()
+setTerminalPty obj val = liftIO $ setObjectPropertyObject obj "pty" val
+
+constructTerminalPty :: (PtyK a) => a -> IO ([Char], GValue)
+constructTerminalPty val = constructObjectPropertyObject "pty" val
+
+data TerminalPtyPropertyInfo
+instance AttrInfo TerminalPtyPropertyInfo where
+    type AttrAllowedOps TerminalPtyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TerminalPtyPropertyInfo = PtyK
+    type AttrBaseTypeConstraint TerminalPtyPropertyInfo = TerminalK
+    type AttrGetType TerminalPtyPropertyInfo = Pty
+    type AttrLabel TerminalPtyPropertyInfo = "pty"
+    attrGet _ = getTerminalPty
+    attrSet _ = setTerminalPty
+    attrConstruct _ = constructTerminalPty
+
+-- VVV Prop "rewrap-on-resize"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getTerminalRewrapOnResize :: (MonadIO m, TerminalK o) => o -> m Bool
+getTerminalRewrapOnResize obj = liftIO $ getObjectPropertyBool obj "rewrap-on-resize"
+
+setTerminalRewrapOnResize :: (MonadIO m, TerminalK o) => o -> Bool -> m ()
+setTerminalRewrapOnResize obj val = liftIO $ setObjectPropertyBool obj "rewrap-on-resize" val
+
+constructTerminalRewrapOnResize :: Bool -> IO ([Char], GValue)
+constructTerminalRewrapOnResize val = constructObjectPropertyBool "rewrap-on-resize" val
+
+data TerminalRewrapOnResizePropertyInfo
+instance AttrInfo TerminalRewrapOnResizePropertyInfo where
+    type AttrAllowedOps TerminalRewrapOnResizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TerminalRewrapOnResizePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TerminalRewrapOnResizePropertyInfo = TerminalK
+    type AttrGetType TerminalRewrapOnResizePropertyInfo = Bool
+    type AttrLabel TerminalRewrapOnResizePropertyInfo = "rewrap-on-resize"
+    attrGet _ = getTerminalRewrapOnResize
+    attrSet _ = setTerminalRewrapOnResize
+    attrConstruct _ = constructTerminalRewrapOnResize
+
+-- VVV Prop "scroll-on-keystroke"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getTerminalScrollOnKeystroke :: (MonadIO m, TerminalK o) => o -> m Bool
+getTerminalScrollOnKeystroke obj = liftIO $ getObjectPropertyBool obj "scroll-on-keystroke"
+
+setTerminalScrollOnKeystroke :: (MonadIO m, TerminalK o) => o -> Bool -> m ()
+setTerminalScrollOnKeystroke obj val = liftIO $ setObjectPropertyBool obj "scroll-on-keystroke" val
+
+constructTerminalScrollOnKeystroke :: Bool -> IO ([Char], GValue)
+constructTerminalScrollOnKeystroke val = constructObjectPropertyBool "scroll-on-keystroke" val
+
+data TerminalScrollOnKeystrokePropertyInfo
+instance AttrInfo TerminalScrollOnKeystrokePropertyInfo where
+    type AttrAllowedOps TerminalScrollOnKeystrokePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TerminalScrollOnKeystrokePropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TerminalScrollOnKeystrokePropertyInfo = TerminalK
+    type AttrGetType TerminalScrollOnKeystrokePropertyInfo = Bool
+    type AttrLabel TerminalScrollOnKeystrokePropertyInfo = "scroll-on-keystroke"
+    attrGet _ = getTerminalScrollOnKeystroke
+    attrSet _ = setTerminalScrollOnKeystroke
+    attrConstruct _ = constructTerminalScrollOnKeystroke
+
+-- VVV Prop "scroll-on-output"
+   -- Type: TBasicType TBoolean
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getTerminalScrollOnOutput :: (MonadIO m, TerminalK o) => o -> m Bool
+getTerminalScrollOnOutput obj = liftIO $ getObjectPropertyBool obj "scroll-on-output"
+
+setTerminalScrollOnOutput :: (MonadIO m, TerminalK o) => o -> Bool -> m ()
+setTerminalScrollOnOutput obj val = liftIO $ setObjectPropertyBool obj "scroll-on-output" val
+
+constructTerminalScrollOnOutput :: Bool -> IO ([Char], GValue)
+constructTerminalScrollOnOutput val = constructObjectPropertyBool "scroll-on-output" val
+
+data TerminalScrollOnOutputPropertyInfo
+instance AttrInfo TerminalScrollOnOutputPropertyInfo where
+    type AttrAllowedOps TerminalScrollOnOutputPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TerminalScrollOnOutputPropertyInfo = (~) Bool
+    type AttrBaseTypeConstraint TerminalScrollOnOutputPropertyInfo = TerminalK
+    type AttrGetType TerminalScrollOnOutputPropertyInfo = Bool
+    type AttrLabel TerminalScrollOnOutputPropertyInfo = "scroll-on-output"
+    attrGet _ = getTerminalScrollOnOutput
+    attrSet _ = setTerminalScrollOnOutput
+    attrConstruct _ = constructTerminalScrollOnOutput
+
+-- VVV Prop "scrollback-lines"
+   -- Type: TBasicType TUInt32
+   -- Flags: [PropertyReadable,PropertyWritable]
+
+getTerminalScrollbackLines :: (MonadIO m, TerminalK o) => o -> m Word32
+getTerminalScrollbackLines obj = liftIO $ getObjectPropertyCUInt obj "scrollback-lines"
+
+setTerminalScrollbackLines :: (MonadIO m, TerminalK o) => o -> Word32 -> m ()
+setTerminalScrollbackLines obj val = liftIO $ setObjectPropertyCUInt obj "scrollback-lines" val
+
+constructTerminalScrollbackLines :: Word32 -> IO ([Char], GValue)
+constructTerminalScrollbackLines val = constructObjectPropertyCUInt "scrollback-lines" val
+
+data TerminalScrollbackLinesPropertyInfo
+instance AttrInfo TerminalScrollbackLinesPropertyInfo where
+    type AttrAllowedOps TerminalScrollbackLinesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
+    type AttrSetTypeConstraint TerminalScrollbackLinesPropertyInfo = (~) Word32
+    type AttrBaseTypeConstraint TerminalScrollbackLinesPropertyInfo = TerminalK
+    type AttrGetType TerminalScrollbackLinesPropertyInfo = Word32
+    type AttrLabel TerminalScrollbackLinesPropertyInfo = "scrollback-lines"
+    attrGet _ = getTerminalScrollbackLines
+    attrSet _ = setTerminalScrollbackLines
+    attrConstruct _ = constructTerminalScrollbackLines
+
+-- VVV Prop "window-title"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable]
+
+getTerminalWindowTitle :: (MonadIO m, TerminalK o) => o -> m T.Text
+getTerminalWindowTitle obj = liftIO $ getObjectPropertyString obj "window-title"
+
+data TerminalWindowTitlePropertyInfo
+instance AttrInfo TerminalWindowTitlePropertyInfo where
+    type AttrAllowedOps TerminalWindowTitlePropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint TerminalWindowTitlePropertyInfo = (~) ()
+    type AttrBaseTypeConstraint TerminalWindowTitlePropertyInfo = TerminalK
+    type AttrGetType TerminalWindowTitlePropertyInfo = T.Text
+    type AttrLabel TerminalWindowTitlePropertyInfo = "window-title"
+    attrGet _ = getTerminalWindowTitle
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+
+-- VVV Prop "word-char-exceptions"
+   -- Type: TBasicType TUTF8
+   -- Flags: [PropertyReadable]
+
+getTerminalWordCharExceptions :: (MonadIO m, TerminalK o) => o -> m T.Text
+getTerminalWordCharExceptions obj = liftIO $ getObjectPropertyString obj "word-char-exceptions"
+
+data TerminalWordCharExceptionsPropertyInfo
+instance AttrInfo TerminalWordCharExceptionsPropertyInfo where
+    type AttrAllowedOps TerminalWordCharExceptionsPropertyInfo = '[ 'AttrGet]
+    type AttrSetTypeConstraint TerminalWordCharExceptionsPropertyInfo = (~) ()
+    type AttrBaseTypeConstraint TerminalWordCharExceptionsPropertyInfo = TerminalK
+    type AttrGetType TerminalWordCharExceptionsPropertyInfo = T.Text
+    type AttrLabel TerminalWordCharExceptionsPropertyInfo = "word-char-exceptions"
+    attrGet _ = getTerminalWordCharExceptions
+    attrSet _ = undefined
+    attrConstruct _ = undefined
+
+type instance AttributeList Terminal = TerminalAttributeList
+type TerminalAttributeList = ('[ '("allowBold", TerminalAllowBoldPropertyInfo), '("appPaintable", Gtk.WidgetAppPaintablePropertyInfo), '("audibleBell", TerminalAudibleBellPropertyInfo), '("backspaceBinding", TerminalBackspaceBindingPropertyInfo), '("canDefault", Gtk.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.WidgetCanFocusPropertyInfo), '("cjkAmbiguousWidth", TerminalCjkAmbiguousWidthPropertyInfo), '("compositeChild", Gtk.WidgetCompositeChildPropertyInfo), '("currentDirectoryUri", TerminalCurrentDirectoryUriPropertyInfo), '("currentFileUri", TerminalCurrentFileUriPropertyInfo), '("cursorBlinkMode", TerminalCursorBlinkModePropertyInfo), '("cursorShape", TerminalCursorShapePropertyInfo), '("deleteBinding", TerminalDeleteBindingPropertyInfo), '("doubleBuffered", Gtk.WidgetDoubleBufferedPropertyInfo), '("encoding", TerminalEncodingPropertyInfo), '("events", Gtk.WidgetEventsPropertyInfo), '("expand", Gtk.WidgetExpandPropertyInfo), '("fontDesc", TerminalFontDescPropertyInfo), '("fontScale", TerminalFontScalePropertyInfo), '("hadjustment", Gtk.ScrollableHadjustmentPropertyInfo), '("halign", Gtk.WidgetHalignPropertyInfo), '("hasDefault", Gtk.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.WidgetHexpandSetPropertyInfo), '("hscrollPolicy", Gtk.ScrollableHscrollPolicyPropertyInfo), '("iconTitle", TerminalIconTitlePropertyInfo), '("inputEnabled", TerminalInputEnabledPropertyInfo), '("isFocus", Gtk.WidgetIsFocusPropertyInfo), '("margin", Gtk.WidgetMarginPropertyInfo), '("marginBottom", Gtk.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.WidgetMarginTopPropertyInfo), '("name", Gtk.WidgetNamePropertyInfo), '("noShowAll", Gtk.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.WidgetOpacityPropertyInfo), '("parent", Gtk.WidgetParentPropertyInfo), '("pointerAutohide", TerminalPointerAutohidePropertyInfo), '("pty", TerminalPtyPropertyInfo), '("receivesDefault", Gtk.WidgetReceivesDefaultPropertyInfo), '("rewrapOnResize", TerminalRewrapOnResizePropertyInfo), '("scaleFactor", Gtk.WidgetScaleFactorPropertyInfo), '("scrollOnKeystroke", TerminalScrollOnKeystrokePropertyInfo), '("scrollOnOutput", TerminalScrollOnOutputPropertyInfo), '("scrollbackLines", TerminalScrollbackLinesPropertyInfo), '("sensitive", Gtk.WidgetSensitivePropertyInfo), '("style", Gtk.WidgetStylePropertyInfo), '("tooltipMarkup", Gtk.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.WidgetTooltipTextPropertyInfo), '("vadjustment", Gtk.ScrollableVadjustmentPropertyInfo), '("valign", Gtk.WidgetValignPropertyInfo), '("vexpand", Gtk.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.WidgetVexpandSetPropertyInfo), '("visible", Gtk.WidgetVisiblePropertyInfo), '("vscrollPolicy", Gtk.ScrollableVscrollPolicyPropertyInfo), '("widthRequest", Gtk.WidgetWidthRequestPropertyInfo), '("window", Gtk.WidgetWindowPropertyInfo), '("windowTitle", TerminalWindowTitlePropertyInfo), '("wordCharExceptions", TerminalWordCharExceptionsPropertyInfo)] :: [(Symbol, *)])
+
+data TerminalBellSignalInfo
+instance SignalInfo TerminalBellSignalInfo where
+    type HaskellCallbackType TerminalBellSignalInfo = TerminalBellCallback
+    connectSignal _ = connectTerminalBell
+
+data TerminalCharSizeChangedSignalInfo
+instance SignalInfo TerminalCharSizeChangedSignalInfo where
+    type HaskellCallbackType TerminalCharSizeChangedSignalInfo = TerminalCharSizeChangedCallback
+    connectSignal _ = connectTerminalCharSizeChanged
+
+data TerminalChildExitedSignalInfo
+instance SignalInfo TerminalChildExitedSignalInfo where
+    type HaskellCallbackType TerminalChildExitedSignalInfo = TerminalChildExitedCallback
+    connectSignal _ = connectTerminalChildExited
+
+data TerminalCommitSignalInfo
+instance SignalInfo TerminalCommitSignalInfo where
+    type HaskellCallbackType TerminalCommitSignalInfo = TerminalCommitCallback
+    connectSignal _ = connectTerminalCommit
+
+data TerminalContentsChangedSignalInfo
+instance SignalInfo TerminalContentsChangedSignalInfo where
+    type HaskellCallbackType TerminalContentsChangedSignalInfo = TerminalContentsChangedCallback
+    connectSignal _ = connectTerminalContentsChanged
+
+data TerminalCopyClipboardSignalInfo
+instance SignalInfo TerminalCopyClipboardSignalInfo where
+    type HaskellCallbackType TerminalCopyClipboardSignalInfo = TerminalCopyClipboardCallback
+    connectSignal _ = connectTerminalCopyClipboard
+
+data TerminalCurrentDirectoryUriChangedSignalInfo
+instance SignalInfo TerminalCurrentDirectoryUriChangedSignalInfo where
+    type HaskellCallbackType TerminalCurrentDirectoryUriChangedSignalInfo = TerminalCurrentDirectoryUriChangedCallback
+    connectSignal _ = connectTerminalCurrentDirectoryUriChanged
+
+data TerminalCurrentFileUriChangedSignalInfo
+instance SignalInfo TerminalCurrentFileUriChangedSignalInfo where
+    type HaskellCallbackType TerminalCurrentFileUriChangedSignalInfo = TerminalCurrentFileUriChangedCallback
+    connectSignal _ = connectTerminalCurrentFileUriChanged
+
+data TerminalCursorMovedSignalInfo
+instance SignalInfo TerminalCursorMovedSignalInfo where
+    type HaskellCallbackType TerminalCursorMovedSignalInfo = TerminalCursorMovedCallback
+    connectSignal _ = connectTerminalCursorMoved
+
+data TerminalDecreaseFontSizeSignalInfo
+instance SignalInfo TerminalDecreaseFontSizeSignalInfo where
+    type HaskellCallbackType TerminalDecreaseFontSizeSignalInfo = TerminalDecreaseFontSizeCallback
+    connectSignal _ = connectTerminalDecreaseFontSize
+
+data TerminalDeiconifyWindowSignalInfo
+instance SignalInfo TerminalDeiconifyWindowSignalInfo where
+    type HaskellCallbackType TerminalDeiconifyWindowSignalInfo = TerminalDeiconifyWindowCallback
+    connectSignal _ = connectTerminalDeiconifyWindow
+
+data TerminalEncodingChangedSignalInfo
+instance SignalInfo TerminalEncodingChangedSignalInfo where
+    type HaskellCallbackType TerminalEncodingChangedSignalInfo = TerminalEncodingChangedCallback
+    connectSignal _ = connectTerminalEncodingChanged
+
+data TerminalEofSignalInfo
+instance SignalInfo TerminalEofSignalInfo where
+    type HaskellCallbackType TerminalEofSignalInfo = TerminalEofCallback
+    connectSignal _ = connectTerminalEof
+
+data TerminalIconTitleChangedSignalInfo
+instance SignalInfo TerminalIconTitleChangedSignalInfo where
+    type HaskellCallbackType TerminalIconTitleChangedSignalInfo = TerminalIconTitleChangedCallback
+    connectSignal _ = connectTerminalIconTitleChanged
+
+data TerminalIconifyWindowSignalInfo
+instance SignalInfo TerminalIconifyWindowSignalInfo where
+    type HaskellCallbackType TerminalIconifyWindowSignalInfo = TerminalIconifyWindowCallback
+    connectSignal _ = connectTerminalIconifyWindow
+
+data TerminalIncreaseFontSizeSignalInfo
+instance SignalInfo TerminalIncreaseFontSizeSignalInfo where
+    type HaskellCallbackType TerminalIncreaseFontSizeSignalInfo = TerminalIncreaseFontSizeCallback
+    connectSignal _ = connectTerminalIncreaseFontSize
+
+data TerminalLowerWindowSignalInfo
+instance SignalInfo TerminalLowerWindowSignalInfo where
+    type HaskellCallbackType TerminalLowerWindowSignalInfo = TerminalLowerWindowCallback
+    connectSignal _ = connectTerminalLowerWindow
+
+data TerminalMaximizeWindowSignalInfo
+instance SignalInfo TerminalMaximizeWindowSignalInfo where
+    type HaskellCallbackType TerminalMaximizeWindowSignalInfo = TerminalMaximizeWindowCallback
+    connectSignal _ = connectTerminalMaximizeWindow
+
+data TerminalMoveWindowSignalInfo
+instance SignalInfo TerminalMoveWindowSignalInfo where
+    type HaskellCallbackType TerminalMoveWindowSignalInfo = TerminalMoveWindowCallback
+    connectSignal _ = connectTerminalMoveWindow
+
+data TerminalNotificationReceivedSignalInfo
+instance SignalInfo TerminalNotificationReceivedSignalInfo where
+    type HaskellCallbackType TerminalNotificationReceivedSignalInfo = TerminalNotificationReceivedCallback
+    connectSignal _ = connectTerminalNotificationReceived
+
+data TerminalPasteClipboardSignalInfo
+instance SignalInfo TerminalPasteClipboardSignalInfo where
+    type HaskellCallbackType TerminalPasteClipboardSignalInfo = TerminalPasteClipboardCallback
+    connectSignal _ = connectTerminalPasteClipboard
+
+data TerminalRaiseWindowSignalInfo
+instance SignalInfo TerminalRaiseWindowSignalInfo where
+    type HaskellCallbackType TerminalRaiseWindowSignalInfo = TerminalRaiseWindowCallback
+    connectSignal _ = connectTerminalRaiseWindow
+
+data TerminalRefreshWindowSignalInfo
+instance SignalInfo TerminalRefreshWindowSignalInfo where
+    type HaskellCallbackType TerminalRefreshWindowSignalInfo = TerminalRefreshWindowCallback
+    connectSignal _ = connectTerminalRefreshWindow
+
+data TerminalResizeWindowSignalInfo
+instance SignalInfo TerminalResizeWindowSignalInfo where
+    type HaskellCallbackType TerminalResizeWindowSignalInfo = TerminalResizeWindowCallback
+    connectSignal _ = connectTerminalResizeWindow
+
+data TerminalRestoreWindowSignalInfo
+instance SignalInfo TerminalRestoreWindowSignalInfo where
+    type HaskellCallbackType TerminalRestoreWindowSignalInfo = TerminalRestoreWindowCallback
+    connectSignal _ = connectTerminalRestoreWindow
+
+data TerminalSelectionChangedSignalInfo
+instance SignalInfo TerminalSelectionChangedSignalInfo where
+    type HaskellCallbackType TerminalSelectionChangedSignalInfo = TerminalSelectionChangedCallback
+    connectSignal _ = connectTerminalSelectionChanged
+
+data TerminalTextDeletedSignalInfo
+instance SignalInfo TerminalTextDeletedSignalInfo where
+    type HaskellCallbackType TerminalTextDeletedSignalInfo = TerminalTextDeletedCallback
+    connectSignal _ = connectTerminalTextDeleted
+
+data TerminalTextInsertedSignalInfo
+instance SignalInfo TerminalTextInsertedSignalInfo where
+    type HaskellCallbackType TerminalTextInsertedSignalInfo = TerminalTextInsertedCallback
+    connectSignal _ = connectTerminalTextInserted
+
+data TerminalTextModifiedSignalInfo
+instance SignalInfo TerminalTextModifiedSignalInfo where
+    type HaskellCallbackType TerminalTextModifiedSignalInfo = TerminalTextModifiedCallback
+    connectSignal _ = connectTerminalTextModified
+
+data TerminalTextScrolledSignalInfo
+instance SignalInfo TerminalTextScrolledSignalInfo where
+    type HaskellCallbackType TerminalTextScrolledSignalInfo = TerminalTextScrolledCallback
+    connectSignal _ = connectTerminalTextScrolled
+
+data TerminalWindowTitleChangedSignalInfo
+instance SignalInfo TerminalWindowTitleChangedSignalInfo where
+    type HaskellCallbackType TerminalWindowTitleChangedSignalInfo = TerminalWindowTitleChangedCallback
+    connectSignal _ = connectTerminalWindowTitleChanged
+
+type instance SignalList Terminal = TerminalSignalList
+type TerminalSignalList = ('[ '("accelClosuresChanged", Gtk.WidgetAccelClosuresChangedSignalInfo), '("bell", TerminalBellSignalInfo), '("buttonPressEvent", Gtk.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.WidgetCanActivateAccelSignalInfo), '("charSizeChanged", TerminalCharSizeChangedSignalInfo), '("childExited", TerminalChildExitedSignalInfo), '("childNotify", Gtk.WidgetChildNotifySignalInfo), '("commit", TerminalCommitSignalInfo), '("compositedChanged", Gtk.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.WidgetConfigureEventSignalInfo), '("contentsChanged", TerminalContentsChangedSignalInfo), '("copyClipboard", TerminalCopyClipboardSignalInfo), '("currentDirectoryUriChanged", TerminalCurrentDirectoryUriChangedSignalInfo), '("currentFileUriChanged", TerminalCurrentFileUriChangedSignalInfo), '("cursorMoved", TerminalCursorMovedSignalInfo), '("damageEvent", Gtk.WidgetDamageEventSignalInfo), '("decreaseFontSize", TerminalDecreaseFontSizeSignalInfo), '("deiconifyWindow", TerminalDeiconifyWindowSignalInfo), '("deleteEvent", Gtk.WidgetDeleteEventSignalInfo), '("destroy", Gtk.WidgetDestroySignalInfo), '("destroyEvent", Gtk.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.WidgetDragDropSignalInfo), '("dragEnd", Gtk.WidgetDragEndSignalInfo), '("dragFailed", Gtk.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.WidgetDragMotionSignalInfo), '("draw", Gtk.WidgetDrawSignalInfo), '("encodingChanged", TerminalEncodingChangedSignalInfo), '("enterNotifyEvent", Gtk.WidgetEnterNotifyEventSignalInfo), '("eof", TerminalEofSignalInfo), '("event", Gtk.WidgetEventSignalInfo), '("eventAfter", Gtk.WidgetEventAfterSignalInfo), '("focus", Gtk.WidgetFocusSignalInfo), '("focusInEvent", Gtk.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.WidgetGrabNotifySignalInfo), '("hide", Gtk.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.WidgetHierarchyChangedSignalInfo), '("iconTitleChanged", TerminalIconTitleChangedSignalInfo), '("iconifyWindow", TerminalIconifyWindowSignalInfo), '("increaseFontSize", TerminalIncreaseFontSizeSignalInfo), '("keyPressEvent", Gtk.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.WidgetLeaveNotifyEventSignalInfo), '("lowerWindow", TerminalLowerWindowSignalInfo), '("map", Gtk.WidgetMapSignalInfo), '("mapEvent", Gtk.WidgetMapEventSignalInfo), '("maximizeWindow", TerminalMaximizeWindowSignalInfo), '("mnemonicActivate", Gtk.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.WidgetMoveFocusSignalInfo), '("moveWindow", TerminalMoveWindowSignalInfo), '("notificationReceived", TerminalNotificationReceivedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("parentSet", Gtk.WidgetParentSetSignalInfo), '("pasteClipboard", TerminalPasteClipboardSignalInfo), '("popupMenu", Gtk.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.WidgetQueryTooltipSignalInfo), '("raiseWindow", TerminalRaiseWindowSignalInfo), '("realize", Gtk.WidgetRealizeSignalInfo), '("refreshWindow", TerminalRefreshWindowSignalInfo), '("resizeWindow", TerminalResizeWindowSignalInfo), '("restoreWindow", TerminalRestoreWindowSignalInfo), '("screenChanged", Gtk.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.WidgetScrollEventSignalInfo), '("selectionChanged", TerminalSelectionChangedSignalInfo), '("selectionClearEvent", Gtk.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.WidgetSelectionRequestEventSignalInfo), '("show", Gtk.WidgetShowSignalInfo), '("showHelp", Gtk.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.WidgetStyleUpdatedSignalInfo), '("textDeleted", TerminalTextDeletedSignalInfo), '("textInserted", TerminalTextInsertedSignalInfo), '("textModified", TerminalTextModifiedSignalInfo), '("textScrolled", TerminalTextScrolledSignalInfo), '("touchEvent", Gtk.WidgetTouchEventSignalInfo), '("unmap", Gtk.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.WidgetWindowStateEventSignalInfo), '("windowTitleChanged", TerminalWindowTitleChangedSignalInfo)] :: [(Symbol, *)])
+
+-- method Terminal::new
+-- method type : Constructor
+-- Args : []
+-- Lengths : []
+-- returnType : TInterface "Vte" "Terminal"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_new" vte_terminal_new :: 
+    IO (Ptr Terminal)
+
+
+terminalNew ::
+    (MonadIO m) =>
+    m Terminal                              -- result
+terminalNew  = liftIO $ do
+    result <- vte_terminal_new
+    checkUnexpectedReturnNULL "vte_terminal_new" result
+    result' <- (newObject Terminal) result
+    return result'
+
+-- method Terminal::copy_clipboard
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_copy_clipboard" vte_terminal_copy_clipboard :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO ()
+
+
+terminalCopyClipboard ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+terminalCopyClipboard _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    vte_terminal_copy_clipboard _obj'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalCopyClipboardMethodInfo
+instance (signature ~ (m ()), MonadIO m, TerminalK a) => MethodInfo TerminalCopyClipboardMethodInfo a signature where
+    overloadedMethod _ = terminalCopyClipboard
+
+-- method Terminal::copy_primary
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_copy_primary" vte_terminal_copy_primary :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO ()
+
+
+terminalCopyPrimary ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+terminalCopyPrimary _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    vte_terminal_copy_primary _obj'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalCopyPrimaryMethodInfo
+instance (signature ~ (m ()), MonadIO m, TerminalK a) => MethodInfo TerminalCopyPrimaryMethodInfo a signature where
+    overloadedMethod _ = terminalCopyPrimary
+
+-- method Terminal::feed
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_feed" vte_terminal_feed :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Ptr Word8 ->                            -- data : TCArray False (-1) 2 (TBasicType TUInt8)
+    Int64 ->                                -- length : TBasicType TInt64
+    IO ()
+
+
+terminalFeed ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> ByteString                           -- data_
+    -> m ()                                 -- result
+terminalFeed _obj data_ = liftIO $ do
+    let length_ = fromIntegral $ B.length data_
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    data_' <- packByteString data_
+    vte_terminal_feed _obj' data_' length_
+    touchManagedPtr _obj
+    freeMem data_'
+    return ()
+
+data TerminalFeedMethodInfo
+instance (signature ~ (ByteString -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalFeedMethodInfo a signature where
+    overloadedMethod _ = terminalFeed
+
+-- method Terminal::feed_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_feed_child" vte_terminal_feed_child :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    CString ->                              -- text : TBasicType TUTF8
+    Int64 ->                                -- length : TBasicType TInt64
+    IO ()
+
+
+terminalFeedChild ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> T.Text                               -- text
+    -> Int64                                -- length_
+    -> m ()                                 -- result
+terminalFeedChild _obj text length_ = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    text' <- textToCString text
+    vte_terminal_feed_child _obj' text' length_
+    touchManagedPtr _obj
+    freeMem text'
+    return ()
+
+data TerminalFeedChildMethodInfo
+instance (signature ~ (T.Text -> Int64 -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalFeedChildMethodInfo a signature where
+    overloadedMethod _ = terminalFeedChild
+
+-- method Terminal::feed_child_binary
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_feed_child_binary" vte_terminal_feed_child_binary :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Word8 ->                                -- data : TBasicType TUInt8
+    Word64 ->                               -- length : TBasicType TUInt64
+    IO ()
+
+
+terminalFeedChildBinary ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Word8                                -- data_
+    -> Word64                               -- length_
+    -> m ()                                 -- result
+terminalFeedChildBinary _obj data_ length_ = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    vte_terminal_feed_child_binary _obj' data_ length_
+    touchManagedPtr _obj
+    return ()
+
+data TerminalFeedChildBinaryMethodInfo
+instance (signature ~ (Word8 -> Word64 -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalFeedChildBinaryMethodInfo a signature where
+    overloadedMethod _ = terminalFeedChildBinary
+
+-- method Terminal::get_allow_bold
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_allow_bold" vte_terminal_get_allow_bold :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO CInt
+
+
+terminalGetAllowBold ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+terminalGetAllowBold _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_allow_bold _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data TerminalGetAllowBoldMethodInfo
+instance (signature ~ (m Bool), MonadIO m, TerminalK a) => MethodInfo TerminalGetAllowBoldMethodInfo a signature where
+    overloadedMethod _ = terminalGetAllowBold
+
+-- method Terminal::get_audible_bell
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_audible_bell" vte_terminal_get_audible_bell :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO CInt
+
+
+terminalGetAudibleBell ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+terminalGetAudibleBell _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_audible_bell _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data TerminalGetAudibleBellMethodInfo
+instance (signature ~ (m Bool), MonadIO m, TerminalK a) => MethodInfo TerminalGetAudibleBellMethodInfo a signature where
+    overloadedMethod _ = terminalGetAudibleBell
+
+-- method Terminal::get_char_height
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt64
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_char_height" vte_terminal_get_char_height :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO Int64
+
+
+terminalGetCharHeight ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m Int64                              -- result
+terminalGetCharHeight _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_char_height _obj'
+    touchManagedPtr _obj
+    return result
+
+data TerminalGetCharHeightMethodInfo
+instance (signature ~ (m Int64), MonadIO m, TerminalK a) => MethodInfo TerminalGetCharHeightMethodInfo a signature where
+    overloadedMethod _ = terminalGetCharHeight
+
+-- method Terminal::get_char_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt64
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_char_width" vte_terminal_get_char_width :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO Int64
+
+
+terminalGetCharWidth ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m Int64                              -- result
+terminalGetCharWidth _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_char_width _obj'
+    touchManagedPtr _obj
+    return result
+
+data TerminalGetCharWidthMethodInfo
+instance (signature ~ (m Int64), MonadIO m, TerminalK a) => MethodInfo TerminalGetCharWidthMethodInfo a signature where
+    overloadedMethod _ = terminalGetCharWidth
+
+-- method Terminal::get_cjk_ambiguous_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_cjk_ambiguous_width" vte_terminal_get_cjk_ambiguous_width :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO Int32
+
+
+terminalGetCjkAmbiguousWidth ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m Int32                              -- result
+terminalGetCjkAmbiguousWidth _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_cjk_ambiguous_width _obj'
+    touchManagedPtr _obj
+    return result
+
+data TerminalGetCjkAmbiguousWidthMethodInfo
+instance (signature ~ (m Int32), MonadIO m, TerminalK a) => MethodInfo TerminalGetCjkAmbiguousWidthMethodInfo a signature where
+    overloadedMethod _ = terminalGetCjkAmbiguousWidth
+
+-- method Terminal::get_column_count
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt64
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_column_count" vte_terminal_get_column_count :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO Int64
+
+
+terminalGetColumnCount ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m Int64                              -- result
+terminalGetColumnCount _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_column_count _obj'
+    touchManagedPtr _obj
+    return result
+
+data TerminalGetColumnCountMethodInfo
+instance (signature ~ (m Int64), MonadIO m, TerminalK a) => MethodInfo TerminalGetColumnCountMethodInfo a signature where
+    overloadedMethod _ = terminalGetColumnCount
+
+-- method Terminal::get_current_directory_uri
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_current_directory_uri" vte_terminal_get_current_directory_uri :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO CString
+
+
+terminalGetCurrentDirectoryUri ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+terminalGetCurrentDirectoryUri _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_current_directory_uri _obj'
+    checkUnexpectedReturnNULL "vte_terminal_get_current_directory_uri" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+data TerminalGetCurrentDirectoryUriMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, TerminalK a) => MethodInfo TerminalGetCurrentDirectoryUriMethodInfo a signature where
+    overloadedMethod _ = terminalGetCurrentDirectoryUri
+
+-- method Terminal::get_current_file_uri
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_current_file_uri" vte_terminal_get_current_file_uri :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO CString
+
+
+terminalGetCurrentFileUri ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+terminalGetCurrentFileUri _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_current_file_uri _obj'
+    checkUnexpectedReturnNULL "vte_terminal_get_current_file_uri" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+data TerminalGetCurrentFileUriMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, TerminalK a) => MethodInfo TerminalGetCurrentFileUriMethodInfo a signature where
+    overloadedMethod _ = terminalGetCurrentFileUri
+
+-- method Terminal::get_cursor_blink_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "Vte" "CursorBlinkMode"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_cursor_blink_mode" vte_terminal_get_cursor_blink_mode :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO CUInt
+
+
+terminalGetCursorBlinkMode ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m CursorBlinkMode                    -- result
+terminalGetCursorBlinkMode _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_cursor_blink_mode _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+data TerminalGetCursorBlinkModeMethodInfo
+instance (signature ~ (m CursorBlinkMode), MonadIO m, TerminalK a) => MethodInfo TerminalGetCursorBlinkModeMethodInfo a signature where
+    overloadedMethod _ = terminalGetCursorBlinkMode
+
+-- method Terminal::get_cursor_position
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "row", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_cursor_position" vte_terminal_get_cursor_position :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Ptr Int64 ->                            -- column : TBasicType TInt64
+    Ptr Int64 ->                            -- row : TBasicType TInt64
+    IO ()
+
+
+terminalGetCursorPosition ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m (Int64,Int64)                      -- result
+terminalGetCursorPosition _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    column <- allocMem :: IO (Ptr Int64)
+    row <- allocMem :: IO (Ptr Int64)
+    vte_terminal_get_cursor_position _obj' column row
+    column' <- peek column
+    row' <- peek row
+    touchManagedPtr _obj
+    freeMem column
+    freeMem row
+    return (column', row')
+
+data TerminalGetCursorPositionMethodInfo
+instance (signature ~ (m (Int64,Int64)), MonadIO m, TerminalK a) => MethodInfo TerminalGetCursorPositionMethodInfo a signature where
+    overloadedMethod _ = terminalGetCursorPosition
+
+-- method Terminal::get_cursor_shape
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "Vte" "CursorShape"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_cursor_shape" vte_terminal_get_cursor_shape :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO CUInt
+
+
+terminalGetCursorShape ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m CursorShape                        -- result
+terminalGetCursorShape _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_cursor_shape _obj'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr _obj
+    return result'
+
+data TerminalGetCursorShapeMethodInfo
+instance (signature ~ (m CursorShape), MonadIO m, TerminalK a) => MethodInfo TerminalGetCursorShapeMethodInfo a signature where
+    overloadedMethod _ = terminalGetCursorShape
+
+-- method Terminal::get_encoding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_encoding" vte_terminal_get_encoding :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO CString
+
+
+terminalGetEncoding ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+terminalGetEncoding _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_encoding _obj'
+    checkUnexpectedReturnNULL "vte_terminal_get_encoding" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+data TerminalGetEncodingMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, TerminalK a) => MethodInfo TerminalGetEncodingMethodInfo a signature where
+    overloadedMethod _ = terminalGetEncoding
+
+-- method Terminal::get_font
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "Pango" "FontDescription"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_font" vte_terminal_get_font :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO (Ptr Pango.FontDescription)
+
+
+terminalGetFont ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m Pango.FontDescription              -- result
+terminalGetFont _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_font _obj'
+    checkUnexpectedReturnNULL "vte_terminal_get_font" result
+    result' <- (newBoxed Pango.FontDescription) result
+    touchManagedPtr _obj
+    return result'
+
+data TerminalGetFontMethodInfo
+instance (signature ~ (m Pango.FontDescription), MonadIO m, TerminalK a) => MethodInfo TerminalGetFontMethodInfo a signature where
+    overloadedMethod _ = terminalGetFont
+
+-- method Terminal::get_font_scale
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TDouble
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_font_scale" vte_terminal_get_font_scale :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO CDouble
+
+
+terminalGetFontScale ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m Double                             -- result
+terminalGetFontScale _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_font_scale _obj'
+    let result' = realToFrac result
+    touchManagedPtr _obj
+    return result'
+
+data TerminalGetFontScaleMethodInfo
+instance (signature ~ (m Double), MonadIO m, TerminalK a) => MethodInfo TerminalGetFontScaleMethodInfo a signature where
+    overloadedMethod _ = terminalGetFontScale
+
+-- method Terminal::get_geometry_hints
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hints", argType = TInterface "Gdk" "Geometry", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "min_rows", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min_columns", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_geometry_hints" vte_terminal_get_geometry_hints :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Ptr Gdk.Geometry ->                     -- hints : TInterface "Gdk" "Geometry"
+    Int32 ->                                -- min_rows : TBasicType TInt32
+    Int32 ->                                -- min_columns : TBasicType TInt32
+    IO ()
+
+
+terminalGetGeometryHints ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Int32                                -- minRows
+    -> Int32                                -- minColumns
+    -> m (Gdk.Geometry)                     -- result
+terminalGetGeometryHints _obj minRows minColumns = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    hints <- callocBytes 56 :: IO (Ptr Gdk.Geometry)
+    vte_terminal_get_geometry_hints _obj' hints minRows minColumns
+    hints' <- (wrapPtr Gdk.Geometry) hints
+    touchManagedPtr _obj
+    return hints'
+
+data TerminalGetGeometryHintsMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m (Gdk.Geometry)), MonadIO m, TerminalK a) => MethodInfo TerminalGetGeometryHintsMethodInfo a signature where
+    overloadedMethod _ = terminalGetGeometryHints
+
+-- method Terminal::get_has_selection
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_has_selection" vte_terminal_get_has_selection :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO CInt
+
+
+terminalGetHasSelection ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+terminalGetHasSelection _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_has_selection _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data TerminalGetHasSelectionMethodInfo
+instance (signature ~ (m Bool), MonadIO m, TerminalK a) => MethodInfo TerminalGetHasSelectionMethodInfo a signature where
+    overloadedMethod _ = terminalGetHasSelection
+
+-- method Terminal::get_icon_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_icon_title" vte_terminal_get_icon_title :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO CString
+
+
+terminalGetIconTitle ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+terminalGetIconTitle _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_icon_title _obj'
+    checkUnexpectedReturnNULL "vte_terminal_get_icon_title" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+data TerminalGetIconTitleMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, TerminalK a) => MethodInfo TerminalGetIconTitleMethodInfo a signature where
+    overloadedMethod _ = terminalGetIconTitle
+
+-- method Terminal::get_input_enabled
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_input_enabled" vte_terminal_get_input_enabled :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO CInt
+
+
+terminalGetInputEnabled ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+terminalGetInputEnabled _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_input_enabled _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data TerminalGetInputEnabledMethodInfo
+instance (signature ~ (m Bool), MonadIO m, TerminalK a) => MethodInfo TerminalGetInputEnabledMethodInfo a signature where
+    overloadedMethod _ = terminalGetInputEnabled
+
+-- method Terminal::get_mouse_autohide
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_mouse_autohide" vte_terminal_get_mouse_autohide :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO CInt
+
+
+terminalGetMouseAutohide ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+terminalGetMouseAutohide _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_mouse_autohide _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data TerminalGetMouseAutohideMethodInfo
+instance (signature ~ (m Bool), MonadIO m, TerminalK a) => MethodInfo TerminalGetMouseAutohideMethodInfo a signature where
+    overloadedMethod _ = terminalGetMouseAutohide
+
+-- method Terminal::get_pty
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "Vte" "Pty"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_pty" vte_terminal_get_pty :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO (Ptr Pty)
+
+
+terminalGetPty ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m Pty                                -- result
+terminalGetPty _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_pty _obj'
+    checkUnexpectedReturnNULL "vte_terminal_get_pty" result
+    result' <- (newObject Pty) result
+    touchManagedPtr _obj
+    return result'
+
+data TerminalGetPtyMethodInfo
+instance (signature ~ (m Pty), MonadIO m, TerminalK a) => MethodInfo TerminalGetPtyMethodInfo a signature where
+    overloadedMethod _ = terminalGetPty
+
+-- method Terminal::get_rewrap_on_resize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_rewrap_on_resize" vte_terminal_get_rewrap_on_resize :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO CInt
+
+
+terminalGetRewrapOnResize ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+terminalGetRewrapOnResize _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_rewrap_on_resize _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data TerminalGetRewrapOnResizeMethodInfo
+instance (signature ~ (m Bool), MonadIO m, TerminalK a) => MethodInfo TerminalGetRewrapOnResizeMethodInfo a signature where
+    overloadedMethod _ = terminalGetRewrapOnResize
+
+-- method Terminal::get_row_count
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt64
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_row_count" vte_terminal_get_row_count :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO Int64
+
+
+terminalGetRowCount ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m Int64                              -- result
+terminalGetRowCount _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_row_count _obj'
+    touchManagedPtr _obj
+    return result
+
+data TerminalGetRowCountMethodInfo
+instance (signature ~ (m Int64), MonadIO m, TerminalK a) => MethodInfo TerminalGetRowCountMethodInfo a signature where
+    overloadedMethod _ = terminalGetRowCount
+
+-- method Terminal::get_text
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_selected", argType = TInterface "Vte" "SelectionFunc", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attributes", argType = TGArray (TInterface "Vte" "CharAttributes"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_text" vte_terminal_get_text :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    FunPtr SelectionFuncC ->                -- is_selected : TInterface "Vte" "SelectionFunc"
+    Ptr () ->                               -- user_data : TBasicType TVoid
+    Ptr (Ptr (GArray (Ptr CharAttributes))) -> -- attributes : TGArray (TInterface "Vte" "CharAttributes")
+    IO CString
+
+
+terminalGetText ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Maybe (SelectionFunc)                -- isSelected
+    -> m (T.Text,[CharAttributes])          -- result
+terminalGetText _obj isSelected = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeIsSelected <- case isSelected of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jIsSelected -> do
+            jIsSelected' <- mkSelectionFunc (selectionFuncWrapper Nothing jIsSelected)
+            return jIsSelected'
+    attributes <- allocMem :: IO (Ptr (Ptr (GArray (Ptr CharAttributes))))
+    let userData = nullPtr
+    result <- vte_terminal_get_text _obj' maybeIsSelected userData attributes
+    checkUnexpectedReturnNULL "vte_terminal_get_text" result
+    result' <- cstringToText result
+    freeMem result
+    attributes' <- peek attributes
+    attributes'' <- unpackGArray attributes'
+    attributes''' <- mapM (wrapPtr CharAttributes) attributes''
+    unrefGArray attributes'
+    safeFreeFunPtr $ castFunPtrToPtr maybeIsSelected
+    touchManagedPtr _obj
+    freeMem attributes
+    return (result', attributes''')
+
+data TerminalGetTextMethodInfo
+instance (signature ~ (Maybe (SelectionFunc) -> m (T.Text,[CharAttributes])), MonadIO m, TerminalK a) => MethodInfo TerminalGetTextMethodInfo a signature where
+    overloadedMethod _ = terminalGetText
+
+-- method Terminal::get_text_include_trailing_spaces
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_selected", argType = TInterface "Vte" "SelectionFunc", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attributes", argType = TGArray (TInterface "Vte" "CharAttributes"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_text_include_trailing_spaces" vte_terminal_get_text_include_trailing_spaces :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    FunPtr SelectionFuncC ->                -- is_selected : TInterface "Vte" "SelectionFunc"
+    Ptr () ->                               -- user_data : TBasicType TVoid
+    Ptr (Ptr (GArray (Ptr CharAttributes))) -> -- attributes : TGArray (TInterface "Vte" "CharAttributes")
+    IO CString
+
+
+terminalGetTextIncludeTrailingSpaces ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Maybe (SelectionFunc)                -- isSelected
+    -> m (T.Text,[CharAttributes])          -- result
+terminalGetTextIncludeTrailingSpaces _obj isSelected = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeIsSelected <- case isSelected of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jIsSelected -> do
+            jIsSelected' <- mkSelectionFunc (selectionFuncWrapper Nothing jIsSelected)
+            return jIsSelected'
+    attributes <- allocMem :: IO (Ptr (Ptr (GArray (Ptr CharAttributes))))
+    let userData = nullPtr
+    result <- vte_terminal_get_text_include_trailing_spaces _obj' maybeIsSelected userData attributes
+    checkUnexpectedReturnNULL "vte_terminal_get_text_include_trailing_spaces" result
+    result' <- cstringToText result
+    freeMem result
+    attributes' <- peek attributes
+    attributes'' <- unpackGArray attributes'
+    attributes''' <- mapM (wrapPtr CharAttributes) attributes''
+    unrefGArray attributes'
+    safeFreeFunPtr $ castFunPtrToPtr maybeIsSelected
+    touchManagedPtr _obj
+    freeMem attributes
+    return (result', attributes''')
+
+data TerminalGetTextIncludeTrailingSpacesMethodInfo
+instance (signature ~ (Maybe (SelectionFunc) -> m (T.Text,[CharAttributes])), MonadIO m, TerminalK a) => MethodInfo TerminalGetTextIncludeTrailingSpacesMethodInfo a signature where
+    overloadedMethod _ = terminalGetTextIncludeTrailingSpaces
+
+-- method Terminal::get_text_range
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_row", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_col", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_row", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_col", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_selected", argType = TInterface "Vte" "SelectionFunc", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeCall, argClosure = 6, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attributes", argType = TGArray (TInterface "Vte" "CharAttributes"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_text_range" vte_terminal_get_text_range :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Int64 ->                                -- start_row : TBasicType TInt64
+    Int64 ->                                -- start_col : TBasicType TInt64
+    Int64 ->                                -- end_row : TBasicType TInt64
+    Int64 ->                                -- end_col : TBasicType TInt64
+    FunPtr SelectionFuncC ->                -- is_selected : TInterface "Vte" "SelectionFunc"
+    Ptr () ->                               -- user_data : TBasicType TVoid
+    Ptr (Ptr (GArray (Ptr CharAttributes))) -> -- attributes : TGArray (TInterface "Vte" "CharAttributes")
+    IO CString
+
+
+terminalGetTextRange ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Int64                                -- startRow
+    -> Int64                                -- startCol
+    -> Int64                                -- endRow
+    -> Int64                                -- endCol
+    -> Maybe (SelectionFunc)                -- isSelected
+    -> m (T.Text,[CharAttributes])          -- result
+terminalGetTextRange _obj startRow startCol endRow endCol isSelected = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeIsSelected <- case isSelected of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jIsSelected -> do
+            jIsSelected' <- mkSelectionFunc (selectionFuncWrapper Nothing jIsSelected)
+            return jIsSelected'
+    attributes <- allocMem :: IO (Ptr (Ptr (GArray (Ptr CharAttributes))))
+    let userData = nullPtr
+    result <- vte_terminal_get_text_range _obj' startRow startCol endRow endCol maybeIsSelected userData attributes
+    checkUnexpectedReturnNULL "vte_terminal_get_text_range" result
+    result' <- cstringToText result
+    freeMem result
+    attributes' <- peek attributes
+    attributes'' <- unpackGArray attributes'
+    attributes''' <- mapM (wrapPtr CharAttributes) attributes''
+    unrefGArray attributes'
+    safeFreeFunPtr $ castFunPtrToPtr maybeIsSelected
+    touchManagedPtr _obj
+    freeMem attributes
+    return (result', attributes''')
+
+data TerminalGetTextRangeMethodInfo
+instance (signature ~ (Int64 -> Int64 -> Int64 -> Int64 -> Maybe (SelectionFunc) -> m (T.Text,[CharAttributes])), MonadIO m, TerminalK a) => MethodInfo TerminalGetTextRangeMethodInfo a signature where
+    overloadedMethod _ = terminalGetTextRange
+
+-- method Terminal::get_window_title
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_window_title" vte_terminal_get_window_title :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO CString
+
+
+terminalGetWindowTitle ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+terminalGetWindowTitle _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_window_title _obj'
+    checkUnexpectedReturnNULL "vte_terminal_get_window_title" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+data TerminalGetWindowTitleMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, TerminalK a) => MethodInfo TerminalGetWindowTitleMethodInfo a signature where
+    overloadedMethod _ = terminalGetWindowTitle
+
+-- method Terminal::get_word_char_exceptions
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_get_word_char_exceptions" vte_terminal_get_word_char_exceptions :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO CString
+
+
+terminalGetWordCharExceptions ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m T.Text                             -- result
+terminalGetWordCharExceptions _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_get_word_char_exceptions _obj'
+    checkUnexpectedReturnNULL "vte_terminal_get_word_char_exceptions" result
+    result' <- cstringToText result
+    touchManagedPtr _obj
+    return result'
+
+data TerminalGetWordCharExceptionsMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, TerminalK a) => MethodInfo TerminalGetWordCharExceptionsMethodInfo a signature where
+    overloadedMethod _ = terminalGetWordCharExceptions
+
+-- method Terminal::match_add_gregex
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "regex", argType = TInterface "GLib" "Regex", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GLib" "RegexMatchFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_match_add_gregex" vte_terminal_match_add_gregex :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Ptr GLib.Regex ->                       -- regex : TInterface "GLib" "Regex"
+    CUInt ->                                -- flags : TInterface "GLib" "RegexMatchFlags"
+    IO Int32
+
+
+terminalMatchAddGregex ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> GLib.Regex                           -- regex
+    -> [GLib.RegexMatchFlags]               -- flags
+    -> m Int32                              -- result
+terminalMatchAddGregex _obj regex flags = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let regex' = unsafeManagedPtrGetPtr regex
+    let flags' = gflagsToWord flags
+    result <- vte_terminal_match_add_gregex _obj' regex' flags'
+    touchManagedPtr _obj
+    touchManagedPtr regex
+    return result
+
+data TerminalMatchAddGregexMethodInfo
+instance (signature ~ (GLib.Regex -> [GLib.RegexMatchFlags] -> m Int32), MonadIO m, TerminalK a) => MethodInfo TerminalMatchAddGregexMethodInfo a signature where
+    overloadedMethod _ = terminalMatchAddGregex
+
+-- method Terminal::match_check
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_match_check" vte_terminal_match_check :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Int64 ->                                -- column : TBasicType TInt64
+    Int64 ->                                -- row : TBasicType TInt64
+    Ptr Int32 ->                            -- tag : TBasicType TInt32
+    IO CString
+
+
+terminalMatchCheck ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Int64                                -- column
+    -> Int64                                -- row
+    -> m (T.Text,Int32)                     -- result
+terminalMatchCheck _obj column row = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    tag <- allocMem :: IO (Ptr Int32)
+    result <- vte_terminal_match_check _obj' column row tag
+    checkUnexpectedReturnNULL "vte_terminal_match_check" result
+    result' <- cstringToText result
+    freeMem result
+    tag' <- peek tag
+    touchManagedPtr _obj
+    freeMem tag
+    return (result', tag')
+
+data TerminalMatchCheckMethodInfo
+instance (signature ~ (Int64 -> Int64 -> m (T.Text,Int32)), MonadIO m, TerminalK a) => MethodInfo TerminalMatchCheckMethodInfo a signature where
+    overloadedMethod _ = terminalMatchCheck
+
+-- method Terminal::match_check_event
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface "Gdk" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_match_check_event" vte_terminal_match_check_event :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Ptr Gdk.Event ->                        -- event : TInterface "Gdk" "Event"
+    Ptr Int32 ->                            -- tag : TBasicType TInt32
+    IO CString
+
+
+terminalMatchCheckEvent ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Gdk.Event                            -- event
+    -> m (T.Text,Int32)                     -- result
+terminalMatchCheckEvent _obj event = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let event' = unsafeManagedPtrGetPtr event
+    tag <- allocMem :: IO (Ptr Int32)
+    result <- vte_terminal_match_check_event _obj' event' tag
+    checkUnexpectedReturnNULL "vte_terminal_match_check_event" result
+    result' <- cstringToText result
+    freeMem result
+    tag' <- peek tag
+    touchManagedPtr _obj
+    touchManagedPtr event
+    freeMem tag
+    return (result', tag')
+
+data TerminalMatchCheckEventMethodInfo
+instance (signature ~ (Gdk.Event -> m (T.Text,Int32)), MonadIO m, TerminalK a) => MethodInfo TerminalMatchCheckEventMethodInfo a signature where
+    overloadedMethod _ = terminalMatchCheckEvent
+
+-- method Terminal::match_remove
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_match_remove" vte_terminal_match_remove :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Int32 ->                                -- tag : TBasicType TInt32
+    IO ()
+
+
+terminalMatchRemove ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Int32                                -- tag
+    -> m ()                                 -- result
+terminalMatchRemove _obj tag = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    vte_terminal_match_remove _obj' tag
+    touchManagedPtr _obj
+    return ()
+
+data TerminalMatchRemoveMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalMatchRemoveMethodInfo a signature where
+    overloadedMethod _ = terminalMatchRemove
+
+-- method Terminal::match_remove_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_match_remove_all" vte_terminal_match_remove_all :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO ()
+
+
+terminalMatchRemoveAll ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+terminalMatchRemoveAll _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    vte_terminal_match_remove_all _obj'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalMatchRemoveAllMethodInfo
+instance (signature ~ (m ()), MonadIO m, TerminalK a) => MethodInfo TerminalMatchRemoveAllMethodInfo a signature where
+    overloadedMethod _ = terminalMatchRemoveAll
+
+-- method Terminal::match_set_cursor_name
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cursor_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_match_set_cursor_name" vte_terminal_match_set_cursor_name :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Int32 ->                                -- tag : TBasicType TInt32
+    CString ->                              -- cursor_name : TBasicType TUTF8
+    IO ()
+
+
+terminalMatchSetCursorName ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Int32                                -- tag
+    -> T.Text                               -- cursorName
+    -> m ()                                 -- result
+terminalMatchSetCursorName _obj tag cursorName = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    cursorName' <- textToCString cursorName
+    vte_terminal_match_set_cursor_name _obj' tag cursorName'
+    touchManagedPtr _obj
+    freeMem cursorName'
+    return ()
+
+data TerminalMatchSetCursorNameMethodInfo
+instance (signature ~ (Int32 -> T.Text -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalMatchSetCursorNameMethodInfo a signature where
+    overloadedMethod _ = terminalMatchSetCursorName
+
+-- method Terminal::match_set_cursor_type
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cursor_type", argType = TInterface "Gdk" "CursorType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_match_set_cursor_type" vte_terminal_match_set_cursor_type :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Int32 ->                                -- tag : TBasicType TInt32
+    CUInt ->                                -- cursor_type : TInterface "Gdk" "CursorType"
+    IO ()
+
+
+terminalMatchSetCursorType ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Int32                                -- tag
+    -> Gdk.CursorType                       -- cursorType
+    -> m ()                                 -- result
+terminalMatchSetCursorType _obj tag cursorType = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let cursorType' = (fromIntegral . fromEnum) cursorType
+    vte_terminal_match_set_cursor_type _obj' tag cursorType'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalMatchSetCursorTypeMethodInfo
+instance (signature ~ (Int32 -> Gdk.CursorType -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalMatchSetCursorTypeMethodInfo a signature where
+    overloadedMethod _ = terminalMatchSetCursorType
+
+-- method Terminal::paste_clipboard
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_paste_clipboard" vte_terminal_paste_clipboard :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO ()
+
+
+terminalPasteClipboard ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+terminalPasteClipboard _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    vte_terminal_paste_clipboard _obj'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalPasteClipboardMethodInfo
+instance (signature ~ (m ()), MonadIO m, TerminalK a) => MethodInfo TerminalPasteClipboardMethodInfo a signature where
+    overloadedMethod _ = terminalPasteClipboard
+
+-- method Terminal::paste_primary
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_paste_primary" vte_terminal_paste_primary :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO ()
+
+
+terminalPastePrimary ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+terminalPastePrimary _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    vte_terminal_paste_primary _obj'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalPastePrimaryMethodInfo
+instance (signature ~ (m ()), MonadIO m, TerminalK a) => MethodInfo TerminalPastePrimaryMethodInfo a signature where
+    overloadedMethod _ = terminalPastePrimary
+
+-- method Terminal::pty_new_sync
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "Vte" "PtyFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "Vte" "Pty"
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "vte_terminal_pty_new_sync" vte_terminal_pty_new_sync :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    CUInt ->                                -- flags : TInterface "Vte" "PtyFlags"
+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"
+    Ptr (Ptr GError) ->                     -- error
+    IO (Ptr Pty)
+
+
+terminalPtyNewSync ::
+    (MonadIO m, TerminalK a, Gio.CancellableK b) =>
+    a                                       -- _obj
+    -> [PtyFlags]                           -- flags
+    -> Maybe (b)                            -- cancellable
+    -> m Pty                                -- result
+terminalPtyNewSync _obj flags cancellable = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let flags' = gflagsToWord flags
+    maybeCancellable <- case cancellable of
+        Nothing -> return nullPtr
+        Just jCancellable -> do
+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable
+            return jCancellable'
+    onException (do
+        result <- propagateGError $ vte_terminal_pty_new_sync _obj' flags' maybeCancellable
+        checkUnexpectedReturnNULL "vte_terminal_pty_new_sync" result
+        result' <- (wrapObject Pty) result
+        touchManagedPtr _obj
+        whenJust cancellable touchManagedPtr
+        return result'
+     ) (do
+        return ()
+     )
+
+data TerminalPtyNewSyncMethodInfo
+instance (signature ~ ([PtyFlags] -> Maybe (b) -> m Pty), MonadIO m, TerminalK a, Gio.CancellableK b) => MethodInfo TerminalPtyNewSyncMethodInfo a signature where
+    overloadedMethod _ = terminalPtyNewSync
+
+-- method Terminal::reset
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clear_tabstops", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clear_history", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_reset" vte_terminal_reset :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    CInt ->                                 -- clear_tabstops : TBasicType TBoolean
+    CInt ->                                 -- clear_history : TBasicType TBoolean
+    IO ()
+
+
+terminalReset ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- clearTabstops
+    -> Bool                                 -- clearHistory
+    -> m ()                                 -- result
+terminalReset _obj clearTabstops clearHistory = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let clearTabstops' = (fromIntegral . fromEnum) clearTabstops
+    let clearHistory' = (fromIntegral . fromEnum) clearHistory
+    vte_terminal_reset _obj' clearTabstops' clearHistory'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalResetMethodInfo
+instance (signature ~ (Bool -> Bool -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalResetMethodInfo a signature where
+    overloadedMethod _ = terminalReset
+
+-- method Terminal::search_find_next
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_search_find_next" vte_terminal_search_find_next :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO CInt
+
+
+terminalSearchFindNext ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+terminalSearchFindNext _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_search_find_next _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data TerminalSearchFindNextMethodInfo
+instance (signature ~ (m Bool), MonadIO m, TerminalK a) => MethodInfo TerminalSearchFindNextMethodInfo a signature where
+    overloadedMethod _ = terminalSearchFindNext
+
+-- method Terminal::search_find_previous
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_search_find_previous" vte_terminal_search_find_previous :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO CInt
+
+
+terminalSearchFindPrevious ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+terminalSearchFindPrevious _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_search_find_previous _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data TerminalSearchFindPreviousMethodInfo
+instance (signature ~ (m Bool), MonadIO m, TerminalK a) => MethodInfo TerminalSearchFindPreviousMethodInfo a signature where
+    overloadedMethod _ = terminalSearchFindPrevious
+
+-- method Terminal::search_get_gregex
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GLib" "Regex"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_search_get_gregex" vte_terminal_search_get_gregex :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO (Ptr GLib.Regex)
+
+
+terminalSearchGetGregex ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m GLib.Regex                         -- result
+terminalSearchGetGregex _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_search_get_gregex _obj'
+    checkUnexpectedReturnNULL "vte_terminal_search_get_gregex" result
+    result' <- (newBoxed GLib.Regex) result
+    touchManagedPtr _obj
+    return result'
+
+data TerminalSearchGetGregexMethodInfo
+instance (signature ~ (m GLib.Regex), MonadIO m, TerminalK a) => MethodInfo TerminalSearchGetGregexMethodInfo a signature where
+    overloadedMethod _ = terminalSearchGetGregex
+
+-- method Terminal::search_get_wrap_around
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_search_get_wrap_around" vte_terminal_search_get_wrap_around :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO CInt
+
+
+terminalSearchGetWrapAround ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m Bool                               -- result
+terminalSearchGetWrapAround _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    result <- vte_terminal_search_get_wrap_around _obj'
+    let result' = (/= 0) result
+    touchManagedPtr _obj
+    return result'
+
+data TerminalSearchGetWrapAroundMethodInfo
+instance (signature ~ (m Bool), MonadIO m, TerminalK a) => MethodInfo TerminalSearchGetWrapAroundMethodInfo a signature where
+    overloadedMethod _ = terminalSearchGetWrapAround
+
+-- method Terminal::search_set_gregex
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "regex", argType = TInterface "GLib" "Regex", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GLib" "RegexMatchFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_search_set_gregex" vte_terminal_search_set_gregex :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Ptr GLib.Regex ->                       -- regex : TInterface "GLib" "Regex"
+    CUInt ->                                -- flags : TInterface "GLib" "RegexMatchFlags"
+    IO ()
+
+
+terminalSearchSetGregex ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Maybe (GLib.Regex)                   -- regex
+    -> [GLib.RegexMatchFlags]               -- flags
+    -> m ()                                 -- result
+terminalSearchSetGregex _obj regex flags = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeRegex <- case regex of
+        Nothing -> return nullPtr
+        Just jRegex -> do
+            let jRegex' = unsafeManagedPtrGetPtr jRegex
+            return jRegex'
+    let flags' = gflagsToWord flags
+    vte_terminal_search_set_gregex _obj' maybeRegex flags'
+    touchManagedPtr _obj
+    whenJust regex touchManagedPtr
+    return ()
+
+data TerminalSearchSetGregexMethodInfo
+instance (signature ~ (Maybe (GLib.Regex) -> [GLib.RegexMatchFlags] -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSearchSetGregexMethodInfo a signature where
+    overloadedMethod _ = terminalSearchSetGregex
+
+-- method Terminal::search_set_wrap_around
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wrap_around", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_search_set_wrap_around" vte_terminal_search_set_wrap_around :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    CInt ->                                 -- wrap_around : TBasicType TBoolean
+    IO ()
+
+
+terminalSearchSetWrapAround ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- wrapAround
+    -> m ()                                 -- result
+terminalSearchSetWrapAround _obj wrapAround = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let wrapAround' = (fromIntegral . fromEnum) wrapAround
+    vte_terminal_search_set_wrap_around _obj' wrapAround'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalSearchSetWrapAroundMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSearchSetWrapAroundMethodInfo a signature where
+    overloadedMethod _ = terminalSearchSetWrapAround
+
+-- method Terminal::select_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_select_all" vte_terminal_select_all :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO ()
+
+
+terminalSelectAll ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+terminalSelectAll _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    vte_terminal_select_all _obj'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalSelectAllMethodInfo
+instance (signature ~ (m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSelectAllMethodInfo a signature where
+    overloadedMethod _ = terminalSelectAll
+
+-- method Terminal::set_allow_bold
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allow_bold", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_allow_bold" vte_terminal_set_allow_bold :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    CInt ->                                 -- allow_bold : TBasicType TBoolean
+    IO ()
+
+
+terminalSetAllowBold ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- allowBold
+    -> m ()                                 -- result
+terminalSetAllowBold _obj allowBold = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let allowBold' = (fromIntegral . fromEnum) allowBold
+    vte_terminal_set_allow_bold _obj' allowBold'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalSetAllowBoldMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetAllowBoldMethodInfo a signature where
+    overloadedMethod _ = terminalSetAllowBold
+
+-- method Terminal::set_audible_bell
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_audible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_audible_bell" vte_terminal_set_audible_bell :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    CInt ->                                 -- is_audible : TBasicType TBoolean
+    IO ()
+
+
+terminalSetAudibleBell ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- isAudible
+    -> m ()                                 -- result
+terminalSetAudibleBell _obj isAudible = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let isAudible' = (fromIntegral . fromEnum) isAudible
+    vte_terminal_set_audible_bell _obj' isAudible'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalSetAudibleBellMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetAudibleBellMethodInfo a signature where
+    overloadedMethod _ = terminalSetAudibleBell
+
+-- method Terminal::set_backspace_binding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "binding", argType = TInterface "Vte" "EraseBinding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_backspace_binding" vte_terminal_set_backspace_binding :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    CUInt ->                                -- binding : TInterface "Vte" "EraseBinding"
+    IO ()
+
+
+terminalSetBackspaceBinding ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> EraseBinding                         -- binding
+    -> m ()                                 -- result
+terminalSetBackspaceBinding _obj binding = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let binding' = (fromIntegral . fromEnum) binding
+    vte_terminal_set_backspace_binding _obj' binding'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalSetBackspaceBindingMethodInfo
+instance (signature ~ (EraseBinding -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetBackspaceBindingMethodInfo a signature where
+    overloadedMethod _ = terminalSetBackspaceBinding
+
+-- method Terminal::set_cjk_ambiguous_width
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_cjk_ambiguous_width" vte_terminal_set_cjk_ambiguous_width :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Int32 ->                                -- width : TBasicType TInt32
+    IO ()
+
+
+terminalSetCjkAmbiguousWidth ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Int32                                -- width
+    -> m ()                                 -- result
+terminalSetCjkAmbiguousWidth _obj width = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    vte_terminal_set_cjk_ambiguous_width _obj' width
+    touchManagedPtr _obj
+    return ()
+
+data TerminalSetCjkAmbiguousWidthMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetCjkAmbiguousWidthMethodInfo a signature where
+    overloadedMethod _ = terminalSetCjkAmbiguousWidth
+
+-- method Terminal::set_color_background
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "background", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_color_background" vte_terminal_set_color_background :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Ptr Gdk.RGBA ->                         -- background : TInterface "Gdk" "RGBA"
+    IO ()
+
+
+terminalSetColorBackground ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Gdk.RGBA                             -- background
+    -> m ()                                 -- result
+terminalSetColorBackground _obj background = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let background' = unsafeManagedPtrGetPtr background
+    vte_terminal_set_color_background _obj' background'
+    touchManagedPtr _obj
+    touchManagedPtr background
+    return ()
+
+data TerminalSetColorBackgroundMethodInfo
+instance (signature ~ (Gdk.RGBA -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetColorBackgroundMethodInfo a signature where
+    overloadedMethod _ = terminalSetColorBackground
+
+-- method Terminal::set_color_bold
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bold", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_color_bold" vte_terminal_set_color_bold :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Ptr Gdk.RGBA ->                         -- bold : TInterface "Gdk" "RGBA"
+    IO ()
+
+
+terminalSetColorBold ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Maybe (Gdk.RGBA)                     -- bold
+    -> m ()                                 -- result
+terminalSetColorBold _obj bold = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeBold <- case bold of
+        Nothing -> return nullPtr
+        Just jBold -> do
+            let jBold' = unsafeManagedPtrGetPtr jBold
+            return jBold'
+    vte_terminal_set_color_bold _obj' maybeBold
+    touchManagedPtr _obj
+    whenJust bold touchManagedPtr
+    return ()
+
+data TerminalSetColorBoldMethodInfo
+instance (signature ~ (Maybe (Gdk.RGBA) -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetColorBoldMethodInfo a signature where
+    overloadedMethod _ = terminalSetColorBold
+
+-- method Terminal::set_color_cursor
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cursor_background", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_color_cursor" vte_terminal_set_color_cursor :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Ptr Gdk.RGBA ->                         -- cursor_background : TInterface "Gdk" "RGBA"
+    IO ()
+
+
+terminalSetColorCursor ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Maybe (Gdk.RGBA)                     -- cursorBackground
+    -> m ()                                 -- result
+terminalSetColorCursor _obj cursorBackground = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeCursorBackground <- case cursorBackground of
+        Nothing -> return nullPtr
+        Just jCursorBackground -> do
+            let jCursorBackground' = unsafeManagedPtrGetPtr jCursorBackground
+            return jCursorBackground'
+    vte_terminal_set_color_cursor _obj' maybeCursorBackground
+    touchManagedPtr _obj
+    whenJust cursorBackground touchManagedPtr
+    return ()
+
+data TerminalSetColorCursorMethodInfo
+instance (signature ~ (Maybe (Gdk.RGBA) -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetColorCursorMethodInfo a signature where
+    overloadedMethod _ = terminalSetColorCursor
+
+-- method Terminal::set_color_foreground
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "foreground", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_color_foreground" vte_terminal_set_color_foreground :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Ptr Gdk.RGBA ->                         -- foreground : TInterface "Gdk" "RGBA"
+    IO ()
+
+
+terminalSetColorForeground ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Gdk.RGBA                             -- foreground
+    -> m ()                                 -- result
+terminalSetColorForeground _obj foreground = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let foreground' = unsafeManagedPtrGetPtr foreground
+    vte_terminal_set_color_foreground _obj' foreground'
+    touchManagedPtr _obj
+    touchManagedPtr foreground
+    return ()
+
+data TerminalSetColorForegroundMethodInfo
+instance (signature ~ (Gdk.RGBA -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetColorForegroundMethodInfo a signature where
+    overloadedMethod _ = terminalSetColorForeground
+
+-- method Terminal::set_color_highlight
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "highlight_background", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_color_highlight" vte_terminal_set_color_highlight :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Ptr Gdk.RGBA ->                         -- highlight_background : TInterface "Gdk" "RGBA"
+    IO ()
+
+
+terminalSetColorHighlight ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Maybe (Gdk.RGBA)                     -- highlightBackground
+    -> m ()                                 -- result
+terminalSetColorHighlight _obj highlightBackground = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeHighlightBackground <- case highlightBackground of
+        Nothing -> return nullPtr
+        Just jHighlightBackground -> do
+            let jHighlightBackground' = unsafeManagedPtrGetPtr jHighlightBackground
+            return jHighlightBackground'
+    vte_terminal_set_color_highlight _obj' maybeHighlightBackground
+    touchManagedPtr _obj
+    whenJust highlightBackground touchManagedPtr
+    return ()
+
+data TerminalSetColorHighlightMethodInfo
+instance (signature ~ (Maybe (Gdk.RGBA) -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetColorHighlightMethodInfo a signature where
+    overloadedMethod _ = terminalSetColorHighlight
+
+-- method Terminal::set_color_highlight_foreground
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "highlight_foreground", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_color_highlight_foreground" vte_terminal_set_color_highlight_foreground :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Ptr Gdk.RGBA ->                         -- highlight_foreground : TInterface "Gdk" "RGBA"
+    IO ()
+
+
+terminalSetColorHighlightForeground ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Maybe (Gdk.RGBA)                     -- highlightForeground
+    -> m ()                                 -- result
+terminalSetColorHighlightForeground _obj highlightForeground = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeHighlightForeground <- case highlightForeground of
+        Nothing -> return nullPtr
+        Just jHighlightForeground -> do
+            let jHighlightForeground' = unsafeManagedPtrGetPtr jHighlightForeground
+            return jHighlightForeground'
+    vte_terminal_set_color_highlight_foreground _obj' maybeHighlightForeground
+    touchManagedPtr _obj
+    whenJust highlightForeground touchManagedPtr
+    return ()
+
+data TerminalSetColorHighlightForegroundMethodInfo
+instance (signature ~ (Maybe (Gdk.RGBA) -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetColorHighlightForegroundMethodInfo a signature where
+    overloadedMethod _ = terminalSetColorHighlightForeground
+
+-- method Terminal::set_colors
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "foreground", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "background", argType = TInterface "Gdk" "RGBA", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "palette", argType = TCArray False (-1) 4 (TInterface "Gdk" "RGBA"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "palette_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "palette_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_colors" vte_terminal_set_colors :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Ptr Gdk.RGBA ->                         -- foreground : TInterface "Gdk" "RGBA"
+    Ptr Gdk.RGBA ->                         -- background : TInterface "Gdk" "RGBA"
+    Ptr Gdk.RGBA ->                         -- palette : TCArray False (-1) 4 (TInterface "Gdk" "RGBA")
+    Word64 ->                               -- palette_size : TBasicType TUInt64
+    IO ()
+
+
+terminalSetColors ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Maybe (Gdk.RGBA)                     -- foreground
+    -> Maybe (Gdk.RGBA)                     -- background
+    -> Maybe ([Gdk.RGBA])                   -- palette
+    -> m ()                                 -- result
+terminalSetColors _obj foreground background palette = liftIO $ do
+    let paletteSize = case palette of
+            Nothing -> 0
+            Just jPalette -> fromIntegral $ length jPalette
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeForeground <- case foreground of
+        Nothing -> return nullPtr
+        Just jForeground -> do
+            let jForeground' = unsafeManagedPtrGetPtr jForeground
+            return jForeground'
+    maybeBackground <- case background of
+        Nothing -> return nullPtr
+        Just jBackground -> do
+            let jBackground' = unsafeManagedPtrGetPtr jBackground
+            return jBackground'
+    maybePalette <- case palette of
+        Nothing -> return nullPtr
+        Just jPalette -> do
+            let jPalette' = map unsafeManagedPtrGetPtr jPalette
+            jPalette'' <- packBlockArray 32 jPalette'
+            return jPalette''
+    vte_terminal_set_colors _obj' maybeForeground maybeBackground maybePalette paletteSize
+    touchManagedPtr _obj
+    whenJust foreground touchManagedPtr
+    whenJust background touchManagedPtr
+    whenJust palette (mapM_ touchManagedPtr)
+    freeMem maybePalette
+    return ()
+
+data TerminalSetColorsMethodInfo
+instance (signature ~ (Maybe (Gdk.RGBA) -> Maybe (Gdk.RGBA) -> Maybe ([Gdk.RGBA]) -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetColorsMethodInfo a signature where
+    overloadedMethod _ = terminalSetColors
+
+-- method Terminal::set_cursor_blink_mode
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface "Vte" "CursorBlinkMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_cursor_blink_mode" vte_terminal_set_cursor_blink_mode :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    CUInt ->                                -- mode : TInterface "Vte" "CursorBlinkMode"
+    IO ()
+
+
+terminalSetCursorBlinkMode ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> CursorBlinkMode                      -- mode
+    -> m ()                                 -- result
+terminalSetCursorBlinkMode _obj mode = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let mode' = (fromIntegral . fromEnum) mode
+    vte_terminal_set_cursor_blink_mode _obj' mode'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalSetCursorBlinkModeMethodInfo
+instance (signature ~ (CursorBlinkMode -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetCursorBlinkModeMethodInfo a signature where
+    overloadedMethod _ = terminalSetCursorBlinkMode
+
+-- method Terminal::set_cursor_shape
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shape", argType = TInterface "Vte" "CursorShape", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_cursor_shape" vte_terminal_set_cursor_shape :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    CUInt ->                                -- shape : TInterface "Vte" "CursorShape"
+    IO ()
+
+
+terminalSetCursorShape ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> CursorShape                          -- shape
+    -> m ()                                 -- result
+terminalSetCursorShape _obj shape = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let shape' = (fromIntegral . fromEnum) shape
+    vte_terminal_set_cursor_shape _obj' shape'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalSetCursorShapeMethodInfo
+instance (signature ~ (CursorShape -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetCursorShapeMethodInfo a signature where
+    overloadedMethod _ = terminalSetCursorShape
+
+-- method Terminal::set_default_colors
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_default_colors" vte_terminal_set_default_colors :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO ()
+
+
+terminalSetDefaultColors ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+terminalSetDefaultColors _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    vte_terminal_set_default_colors _obj'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalSetDefaultColorsMethodInfo
+instance (signature ~ (m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetDefaultColorsMethodInfo a signature where
+    overloadedMethod _ = terminalSetDefaultColors
+
+-- method Terminal::set_delete_binding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "binding", argType = TInterface "Vte" "EraseBinding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_delete_binding" vte_terminal_set_delete_binding :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    CUInt ->                                -- binding : TInterface "Vte" "EraseBinding"
+    IO ()
+
+
+terminalSetDeleteBinding ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> EraseBinding                         -- binding
+    -> m ()                                 -- result
+terminalSetDeleteBinding _obj binding = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let binding' = (fromIntegral . fromEnum) binding
+    vte_terminal_set_delete_binding _obj' binding'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalSetDeleteBindingMethodInfo
+instance (signature ~ (EraseBinding -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetDeleteBindingMethodInfo a signature where
+    overloadedMethod _ = terminalSetDeleteBinding
+
+-- method Terminal::set_encoding
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "codeset", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_encoding" vte_terminal_set_encoding :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    CString ->                              -- codeset : TBasicType TUTF8
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+
+terminalSetEncoding ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Maybe (T.Text)                       -- codeset
+    -> m ()                                 -- result
+terminalSetEncoding _obj codeset = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeCodeset <- case codeset of
+        Nothing -> return nullPtr
+        Just jCodeset -> do
+            jCodeset' <- textToCString jCodeset
+            return jCodeset'
+    onException (do
+        _ <- propagateGError $ vte_terminal_set_encoding _obj' maybeCodeset
+        touchManagedPtr _obj
+        freeMem maybeCodeset
+        return ()
+     ) (do
+        freeMem maybeCodeset
+     )
+
+data TerminalSetEncodingMethodInfo
+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetEncodingMethodInfo a signature where
+    overloadedMethod _ = terminalSetEncoding
+
+-- method Terminal::set_font
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "font_desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_font" vte_terminal_set_font :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Ptr Pango.FontDescription ->            -- font_desc : TInterface "Pango" "FontDescription"
+    IO ()
+
+
+terminalSetFont ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Maybe (Pango.FontDescription)        -- fontDesc
+    -> m ()                                 -- result
+terminalSetFont _obj fontDesc = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybeFontDesc <- case fontDesc of
+        Nothing -> return nullPtr
+        Just jFontDesc -> do
+            let jFontDesc' = unsafeManagedPtrGetPtr jFontDesc
+            return jFontDesc'
+    vte_terminal_set_font _obj' maybeFontDesc
+    touchManagedPtr _obj
+    whenJust fontDesc touchManagedPtr
+    return ()
+
+data TerminalSetFontMethodInfo
+instance (signature ~ (Maybe (Pango.FontDescription) -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetFontMethodInfo a signature where
+    overloadedMethod _ = terminalSetFont
+
+-- method Terminal::set_font_scale
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scale", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_font_scale" vte_terminal_set_font_scale :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    CDouble ->                              -- scale : TBasicType TDouble
+    IO ()
+
+
+terminalSetFontScale ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Double                               -- scale
+    -> m ()                                 -- result
+terminalSetFontScale _obj scale = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let scale' = realToFrac scale
+    vte_terminal_set_font_scale _obj' scale'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalSetFontScaleMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetFontScaleMethodInfo a signature where
+    overloadedMethod _ = terminalSetFontScale
+
+-- method Terminal::set_geometry_hints_for_window
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window", argType = TInterface "Gtk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_geometry_hints_for_window" vte_terminal_set_geometry_hints_for_window :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Ptr Gtk.Window ->                       -- window : TInterface "Gtk" "Window"
+    IO ()
+
+
+terminalSetGeometryHintsForWindow ::
+    (MonadIO m, TerminalK a, Gtk.WindowK b) =>
+    a                                       -- _obj
+    -> b                                    -- window
+    -> m ()                                 -- result
+terminalSetGeometryHintsForWindow _obj window = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let window' = unsafeManagedPtrCastPtr window
+    vte_terminal_set_geometry_hints_for_window _obj' window'
+    touchManagedPtr _obj
+    touchManagedPtr window
+    return ()
+
+data TerminalSetGeometryHintsForWindowMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, TerminalK a, Gtk.WindowK b) => MethodInfo TerminalSetGeometryHintsForWindowMethodInfo a signature where
+    overloadedMethod _ = terminalSetGeometryHintsForWindow
+
+-- method Terminal::set_input_enabled
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_input_enabled" vte_terminal_set_input_enabled :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    CInt ->                                 -- enabled : TBasicType TBoolean
+    IO ()
+
+
+terminalSetInputEnabled ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- enabled
+    -> m ()                                 -- result
+terminalSetInputEnabled _obj enabled = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let enabled' = (fromIntegral . fromEnum) enabled
+    vte_terminal_set_input_enabled _obj' enabled'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalSetInputEnabledMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetInputEnabledMethodInfo a signature where
+    overloadedMethod _ = terminalSetInputEnabled
+
+-- method Terminal::set_mouse_autohide
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_mouse_autohide" vte_terminal_set_mouse_autohide :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    CInt ->                                 -- setting : TBasicType TBoolean
+    IO ()
+
+
+terminalSetMouseAutohide ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- setting
+    -> m ()                                 -- result
+terminalSetMouseAutohide _obj setting = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let setting' = (fromIntegral . fromEnum) setting
+    vte_terminal_set_mouse_autohide _obj' setting'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalSetMouseAutohideMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetMouseAutohideMethodInfo a signature where
+    overloadedMethod _ = terminalSetMouseAutohide
+
+-- method Terminal::set_pty
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pty", argType = TInterface "Vte" "Pty", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_pty" vte_terminal_set_pty :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Ptr Pty ->                              -- pty : TInterface "Vte" "Pty"
+    IO ()
+
+
+terminalSetPty ::
+    (MonadIO m, TerminalK a, PtyK b) =>
+    a                                       -- _obj
+    -> Maybe (b)                            -- pty
+    -> m ()                                 -- result
+terminalSetPty _obj pty = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    maybePty <- case pty of
+        Nothing -> return nullPtr
+        Just jPty -> do
+            let jPty' = unsafeManagedPtrCastPtr jPty
+            return jPty'
+    vte_terminal_set_pty _obj' maybePty
+    touchManagedPtr _obj
+    whenJust pty touchManagedPtr
+    return ()
+
+data TerminalSetPtyMethodInfo
+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, TerminalK a, PtyK b) => MethodInfo TerminalSetPtyMethodInfo a signature where
+    overloadedMethod _ = terminalSetPty
+
+-- method Terminal::set_rewrap_on_resize
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rewrap", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_rewrap_on_resize" vte_terminal_set_rewrap_on_resize :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    CInt ->                                 -- rewrap : TBasicType TBoolean
+    IO ()
+
+
+terminalSetRewrapOnResize ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- rewrap
+    -> m ()                                 -- result
+terminalSetRewrapOnResize _obj rewrap = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let rewrap' = (fromIntegral . fromEnum) rewrap
+    vte_terminal_set_rewrap_on_resize _obj' rewrap'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalSetRewrapOnResizeMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetRewrapOnResizeMethodInfo a signature where
+    overloadedMethod _ = terminalSetRewrapOnResize
+
+-- method Terminal::set_scroll_on_keystroke
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scroll", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_scroll_on_keystroke" vte_terminal_set_scroll_on_keystroke :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    CInt ->                                 -- scroll : TBasicType TBoolean
+    IO ()
+
+
+terminalSetScrollOnKeystroke ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- scroll
+    -> m ()                                 -- result
+terminalSetScrollOnKeystroke _obj scroll = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let scroll' = (fromIntegral . fromEnum) scroll
+    vte_terminal_set_scroll_on_keystroke _obj' scroll'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalSetScrollOnKeystrokeMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetScrollOnKeystrokeMethodInfo a signature where
+    overloadedMethod _ = terminalSetScrollOnKeystroke
+
+-- method Terminal::set_scroll_on_output
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scroll", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_scroll_on_output" vte_terminal_set_scroll_on_output :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    CInt ->                                 -- scroll : TBasicType TBoolean
+    IO ()
+
+
+terminalSetScrollOnOutput ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Bool                                 -- scroll
+    -> m ()                                 -- result
+terminalSetScrollOnOutput _obj scroll = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let scroll' = (fromIntegral . fromEnum) scroll
+    vte_terminal_set_scroll_on_output _obj' scroll'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalSetScrollOnOutputMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetScrollOnOutputMethodInfo a signature where
+    overloadedMethod _ = terminalSetScrollOnOutput
+
+-- method Terminal::set_scrollback_lines
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "lines", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_scrollback_lines" vte_terminal_set_scrollback_lines :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Int64 ->                                -- lines : TBasicType TInt64
+    IO ()
+
+
+terminalSetScrollbackLines ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Int64                                -- lines
+    -> m ()                                 -- result
+terminalSetScrollbackLines _obj lines = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    vte_terminal_set_scrollback_lines _obj' lines
+    touchManagedPtr _obj
+    return ()
+
+data TerminalSetScrollbackLinesMethodInfo
+instance (signature ~ (Int64 -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetScrollbackLinesMethodInfo a signature where
+    overloadedMethod _ = terminalSetScrollbackLines
+
+-- method Terminal::set_size
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "columns", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rows", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_size" vte_terminal_set_size :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Int64 ->                                -- columns : TBasicType TInt64
+    Int64 ->                                -- rows : TBasicType TInt64
+    IO ()
+
+
+terminalSetSize ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Int64                                -- columns
+    -> Int64                                -- rows
+    -> m ()                                 -- result
+terminalSetSize _obj columns rows = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    vte_terminal_set_size _obj' columns rows
+    touchManagedPtr _obj
+    return ()
+
+data TerminalSetSizeMethodInfo
+instance (signature ~ (Int64 -> Int64 -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetSizeMethodInfo a signature where
+    overloadedMethod _ = terminalSetSize
+
+-- method Terminal::set_word_char_exceptions
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "exceptions", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_set_word_char_exceptions" vte_terminal_set_word_char_exceptions :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    CString ->                              -- exceptions : TBasicType TUTF8
+    IO ()
+
+
+terminalSetWordCharExceptions ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> T.Text                               -- exceptions
+    -> m ()                                 -- result
+terminalSetWordCharExceptions _obj exceptions = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    exceptions' <- textToCString exceptions
+    vte_terminal_set_word_char_exceptions _obj' exceptions'
+    touchManagedPtr _obj
+    freeMem exceptions'
+    return ()
+
+data TerminalSetWordCharExceptionsMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalSetWordCharExceptionsMethodInfo a signature where
+    overloadedMethod _ = terminalSetWordCharExceptions
+
+-- method Terminal::spawn_sync
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pty_flags", argType = TInterface "Vte" "PtyFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "working_directory", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "argv", argType = TCArray True (-1) (-1) (TBasicType TFileName), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "envv", argType = TCArray True (-1) (-1) (TBasicType TFileName), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spawn_flags", argType = TInterface "GLib" "SpawnFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_setup", argType = TInterface "GLib" "SpawnChildSetupFunc", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeCall, argClosure = 7, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_setup_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_pid", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "vte_terminal_spawn_sync" vte_terminal_spawn_sync :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    CUInt ->                                -- pty_flags : TInterface "Vte" "PtyFlags"
+    CString ->                              -- working_directory : TBasicType TUTF8
+    Ptr CString ->                          -- argv : TCArray True (-1) (-1) (TBasicType TFileName)
+    Ptr CString ->                          -- envv : TCArray True (-1) (-1) (TBasicType TFileName)
+    CUInt ->                                -- spawn_flags : TInterface "GLib" "SpawnFlags"
+    FunPtr GLib.SpawnChildSetupFuncC ->     -- child_setup : TInterface "GLib" "SpawnChildSetupFunc"
+    Ptr () ->                               -- child_setup_data : TBasicType TVoid
+    Ptr Int32 ->                            -- child_pid : TBasicType TInt32
+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+
+terminalSpawnSync ::
+    (MonadIO m, TerminalK a, Gio.CancellableK b) =>
+    a                                       -- _obj
+    -> [PtyFlags]                           -- ptyFlags
+    -> Maybe (T.Text)                       -- workingDirectory
+    -> [[Char]]                             -- argv
+    -> Maybe ([[Char]])                     -- envv
+    -> [GLib.SpawnFlags]                    -- spawnFlags
+    -> Maybe (GLib.SpawnChildSetupFunc)     -- childSetup
+    -> Maybe (b)                            -- cancellable
+    -> m (Int32)                            -- result
+terminalSpawnSync _obj ptyFlags workingDirectory argv envv spawnFlags childSetup cancellable = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let ptyFlags' = gflagsToWord ptyFlags
+    maybeWorkingDirectory <- case workingDirectory of
+        Nothing -> return nullPtr
+        Just jWorkingDirectory -> do
+            jWorkingDirectory' <- textToCString jWorkingDirectory
+            return jWorkingDirectory'
+    argv' <- packZeroTerminatedFileNameArray argv
+    maybeEnvv <- case envv of
+        Nothing -> return nullPtr
+        Just jEnvv -> do
+            jEnvv' <- packZeroTerminatedFileNameArray jEnvv
+            return jEnvv'
+    let spawnFlags' = gflagsToWord spawnFlags
+    maybeChildSetup <- case childSetup of
+        Nothing -> return (castPtrToFunPtr nullPtr)
+        Just jChildSetup -> do
+            jChildSetup' <- GLib.mkSpawnChildSetupFunc (GLib.spawnChildSetupFuncWrapper Nothing jChildSetup)
+            return jChildSetup'
+    childPid <- allocMem :: IO (Ptr Int32)
+    maybeCancellable <- case cancellable of
+        Nothing -> return nullPtr
+        Just jCancellable -> do
+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable
+            return jCancellable'
+    let childSetupData = nullPtr
+    onException (do
+        _ <- propagateGError $ vte_terminal_spawn_sync _obj' ptyFlags' maybeWorkingDirectory argv' maybeEnvv spawnFlags' maybeChildSetup childSetupData childPid maybeCancellable
+        childPid' <- peek childPid
+        safeFreeFunPtr $ castFunPtrToPtr maybeChildSetup
+        touchManagedPtr _obj
+        whenJust cancellable touchManagedPtr
+        freeMem maybeWorkingDirectory
+        mapZeroTerminatedCArray freeMem argv'
+        freeMem argv'
+        mapZeroTerminatedCArray freeMem maybeEnvv
+        freeMem maybeEnvv
+        freeMem childPid
+        return childPid'
+     ) (do
+        safeFreeFunPtr $ castFunPtrToPtr maybeChildSetup
+        freeMem maybeWorkingDirectory
+        mapZeroTerminatedCArray freeMem argv'
+        freeMem argv'
+        mapZeroTerminatedCArray freeMem maybeEnvv
+        freeMem maybeEnvv
+        freeMem childPid
+     )
+
+data TerminalSpawnSyncMethodInfo
+instance (signature ~ ([PtyFlags] -> Maybe (T.Text) -> [[Char]] -> Maybe ([[Char]]) -> [GLib.SpawnFlags] -> Maybe (GLib.SpawnChildSetupFunc) -> Maybe (b) -> m (Int32)), MonadIO m, TerminalK a, Gio.CancellableK b) => MethodInfo TerminalSpawnSyncMethodInfo a signature where
+    overloadedMethod _ = terminalSpawnSync
+
+-- method Terminal::unselect_all
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_unselect_all" vte_terminal_unselect_all :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    IO ()
+
+
+terminalUnselectAll ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> m ()                                 -- result
+terminalUnselectAll _obj = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    vte_terminal_unselect_all _obj'
+    touchManagedPtr _obj
+    return ()
+
+data TerminalUnselectAllMethodInfo
+instance (signature ~ (m ()), MonadIO m, TerminalK a) => MethodInfo TerminalUnselectAllMethodInfo a signature where
+    overloadedMethod _ = terminalUnselectAll
+
+-- method Terminal::watch_child
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_pid", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "vte_terminal_watch_child" vte_terminal_watch_child :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Int32 ->                                -- child_pid : TBasicType TInt32
+    IO ()
+
+
+terminalWatchChild ::
+    (MonadIO m, TerminalK a) =>
+    a                                       -- _obj
+    -> Int32                                -- childPid
+    -> m ()                                 -- result
+terminalWatchChild _obj childPid = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    vte_terminal_watch_child _obj' childPid
+    touchManagedPtr _obj
+    return ()
+
+data TerminalWatchChildMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, TerminalK a) => MethodInfo TerminalWatchChildMethodInfo a signature where
+    overloadedMethod _ = terminalWatchChild
+
+-- method Terminal::write_contents_sync
+-- method type : OrdinaryMethod
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Vte" "Terminal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stream", argType = TInterface "Gio" "OutputStream", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "Vte" "WriteFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "vte_terminal_write_contents_sync" vte_terminal_write_contents_sync :: 
+    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"
+    Ptr Gio.OutputStream ->                 -- stream : TInterface "Gio" "OutputStream"
+    CUInt ->                                -- flags : TInterface "Vte" "WriteFlags"
+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+
+terminalWriteContentsSync ::
+    (MonadIO m, TerminalK a, Gio.OutputStreamK b, Gio.CancellableK c) =>
+    a                                       -- _obj
+    -> b                                    -- stream
+    -> WriteFlags                           -- flags
+    -> Maybe (c)                            -- cancellable
+    -> m ()                                 -- result
+terminalWriteContentsSync _obj stream flags cancellable = liftIO $ do
+    let _obj' = unsafeManagedPtrCastPtr _obj
+    let stream' = unsafeManagedPtrCastPtr stream
+    let flags' = (fromIntegral . fromEnum) flags
+    maybeCancellable <- case cancellable of
+        Nothing -> return nullPtr
+        Just jCancellable -> do
+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable
+            return jCancellable'
+    onException (do
+        _ <- propagateGError $ vte_terminal_write_contents_sync _obj' stream' flags' maybeCancellable
+        touchManagedPtr _obj
+        touchManagedPtr stream
+        whenJust cancellable touchManagedPtr
+        return ()
+     ) (do
+        return ()
+     )
+
+data TerminalWriteContentsSyncMethodInfo
+instance (signature ~ (b -> WriteFlags -> Maybe (c) -> m ()), MonadIO m, TerminalK a, Gio.OutputStreamK b, Gio.CancellableK c) => MethodInfo TerminalWriteContentsSyncMethodInfo a signature where
+    overloadedMethod _ = terminalWriteContentsSync
 
 
diff --git a/GI/Vte/Objects/Terminal.hs-boot b/GI/Vte/Objects/Terminal.hs-boot
--- a/GI/Vte/Objects/Terminal.hs-boot
+++ b/GI/Vte/Objects/Terminal.hs-boot
@@ -64,3 +64,85 @@
 data TerminalTextModifiedSignalInfo
 data TerminalTextScrolledSignalInfo
 data TerminalWindowTitleChangedSignalInfo
+data TerminalCopyClipboardMethodInfo
+data TerminalCopyPrimaryMethodInfo
+data TerminalFeedMethodInfo
+data TerminalFeedChildMethodInfo
+data TerminalFeedChildBinaryMethodInfo
+data TerminalGetAllowBoldMethodInfo
+data TerminalGetAudibleBellMethodInfo
+data TerminalGetCharHeightMethodInfo
+data TerminalGetCharWidthMethodInfo
+data TerminalGetCjkAmbiguousWidthMethodInfo
+data TerminalGetColumnCountMethodInfo
+data TerminalGetCurrentDirectoryUriMethodInfo
+data TerminalGetCurrentFileUriMethodInfo
+data TerminalGetCursorBlinkModeMethodInfo
+data TerminalGetCursorPositionMethodInfo
+data TerminalGetCursorShapeMethodInfo
+data TerminalGetEncodingMethodInfo
+data TerminalGetFontMethodInfo
+data TerminalGetFontScaleMethodInfo
+data TerminalGetGeometryHintsMethodInfo
+data TerminalGetHasSelectionMethodInfo
+data TerminalGetIconTitleMethodInfo
+data TerminalGetInputEnabledMethodInfo
+data TerminalGetMouseAutohideMethodInfo
+data TerminalGetPtyMethodInfo
+data TerminalGetRewrapOnResizeMethodInfo
+data TerminalGetRowCountMethodInfo
+data TerminalGetTextMethodInfo
+data TerminalGetTextIncludeTrailingSpacesMethodInfo
+data TerminalGetTextRangeMethodInfo
+data TerminalGetWindowTitleMethodInfo
+data TerminalGetWordCharExceptionsMethodInfo
+data TerminalMatchAddGregexMethodInfo
+data TerminalMatchCheckMethodInfo
+data TerminalMatchCheckEventMethodInfo
+data TerminalMatchRemoveMethodInfo
+data TerminalMatchRemoveAllMethodInfo
+data TerminalMatchSetCursorNameMethodInfo
+data TerminalMatchSetCursorTypeMethodInfo
+data TerminalPasteClipboardMethodInfo
+data TerminalPastePrimaryMethodInfo
+data TerminalPtyNewSyncMethodInfo
+data TerminalResetMethodInfo
+data TerminalSearchFindNextMethodInfo
+data TerminalSearchFindPreviousMethodInfo
+data TerminalSearchGetGregexMethodInfo
+data TerminalSearchGetWrapAroundMethodInfo
+data TerminalSearchSetGregexMethodInfo
+data TerminalSearchSetWrapAroundMethodInfo
+data TerminalSelectAllMethodInfo
+data TerminalSetAllowBoldMethodInfo
+data TerminalSetAudibleBellMethodInfo
+data TerminalSetBackspaceBindingMethodInfo
+data TerminalSetCjkAmbiguousWidthMethodInfo
+data TerminalSetColorBackgroundMethodInfo
+data TerminalSetColorBoldMethodInfo
+data TerminalSetColorCursorMethodInfo
+data TerminalSetColorForegroundMethodInfo
+data TerminalSetColorHighlightMethodInfo
+data TerminalSetColorHighlightForegroundMethodInfo
+data TerminalSetColorsMethodInfo
+data TerminalSetCursorBlinkModeMethodInfo
+data TerminalSetCursorShapeMethodInfo
+data TerminalSetDefaultColorsMethodInfo
+data TerminalSetDeleteBindingMethodInfo
+data TerminalSetEncodingMethodInfo
+data TerminalSetFontMethodInfo
+data TerminalSetFontScaleMethodInfo
+data TerminalSetGeometryHintsForWindowMethodInfo
+data TerminalSetInputEnabledMethodInfo
+data TerminalSetMouseAutohideMethodInfo
+data TerminalSetPtyMethodInfo
+data TerminalSetRewrapOnResizeMethodInfo
+data TerminalSetScrollOnKeystrokeMethodInfo
+data TerminalSetScrollOnOutputMethodInfo
+data TerminalSetScrollbackLinesMethodInfo
+data TerminalSetSizeMethodInfo
+data TerminalSetWordCharExceptionsMethodInfo
+data TerminalSpawnSyncMethodInfo
+data TerminalUnselectAllMethodInfo
+data TerminalWatchChildMethodInfo
+data TerminalWriteContentsSyncMethodInfo
diff --git a/GI/Vte/Structs.hs b/GI/Vte/Structs.hs
--- a/GI/Vte/Structs.hs
+++ b/GI/Vte/Structs.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
diff --git a/GI/Vte/Structs/CharAttributes.hs b/GI/Vte/Structs/CharAttributes.hs
--- a/GI/Vte/Structs/CharAttributes.hs
+++ b/GI/Vte/Structs/CharAttributes.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -10,6 +11,7 @@
 
 -- * Exported types
     CharAttributes(..)                      ,
+    newZeroCharAttributes                   ,
     noCharAttributes                        ,
 
 
@@ -26,7 +28,22 @@
 import GI.Vte.Callbacks
 
 newtype CharAttributes = CharAttributes (ForeignPtr CharAttributes)
+-- | Construct a `CharAttributes` struct initialized to zero.
+newZeroCharAttributes :: MonadIO m => m CharAttributes
+newZeroCharAttributes = liftIO $ callocBytes 40 >>= wrapPtr CharAttributes
+
 noCharAttributes :: Maybe CharAttributes
 noCharAttributes = Nothing
+
+type family ResolveCharAttributesMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCharAttributesMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveCharAttributesMethod t CharAttributes, MethodInfo info CharAttributes p) => IsLabelProxy t (CharAttributes -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveCharAttributesMethod t CharAttributes, MethodInfo info CharAttributes p) => IsLabel t (CharAttributes -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/gi-vte.cabal b/gi-vte.cabal
--- a/gi-vte.cabal
+++ b/gi-vte.cabal
@@ -1,6 +1,6 @@
 -- Autogenerated, do not edit.
 name:               gi-vte
-version:            0.0.42.12
+version:            0.0.42.13
 synopsis:           Vte bindings
 description:        Bindings for Vte, autogenerated by haskell-gi.
 homepage:           https://github.com/haskell-gi/haskell-gi
@@ -14,8 +14,8 @@
 
 library
     default-language:   Haskell2010
-    default-extensions: OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts
-    other-extensions:   PatternSynonyms ScopedTypeVariables, ViewPatterns
+    default-extensions: ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts
+    other-extensions:   PatternSynonyms ViewPatterns
     ghc-options:        -fno-warn-unused-imports -fno-warn-warnings-deprecations
     exposed-modules:    GI.Vte.Types
                         GI.Vte
@@ -31,14 +31,14 @@
                         GI.Vte.Structs.CharAttributes
     pkgconfig-depends:  vte-2.91 >= 0.42
     build-depends: base >= 4.7 && <5,
-        haskell-gi-base >= 0.12 && < 1,
-        gi-atk >= 0.2.18.12 && < 0.2.19,
-        gi-glib >= 0.2.46.12 && < 0.2.47,
-        gi-gobject >= 0.2.46.12 && < 0.2.47,
-        gi-gdk >= 0.3.18.12 && < 0.3.19,
-        gi-gio >= 0.2.46.12 && < 0.2.47,
-        gi-gtk >= 0.3.18.12 && < 0.3.19,
-        gi-pango >= 0.1.38.12 && < 0.1.39,
+        haskell-gi-base >= 0.13 && < 1,
+        gi-atk >= 0.2.18.13 && < 0.2.19,
+        gi-glib >= 0.2.46.13 && < 0.2.47,
+        gi-gobject >= 0.2.46.13 && < 0.2.47,
+        gi-gdk >= 0.3.18.13 && < 0.3.19,
+        gi-gio >= 0.2.46.13 && < 0.2.47,
+        gi-gtk >= 0.3.18.13 && < 0.3.19,
+        gi-pango >= 0.1.38.13 && < 0.1.39,
         bytestring >= 0.10,
         containers >= 0.5,
         text >= 1.0,
