packages feed

gi-vte (empty) → 0.0.40.8

raw patch · 6 files changed

+5687/−0 lines, 6 filesdep +basedep +bytestringdep +containerssetup-changed

Dependencies added: base, bytestring, containers, gi-atk, gi-gdk, gi-gio, gi-glib, gi-gobject, gi-gtk, gi-pango, haskell-gi-base, text, transformers

Files

+ GI/Vte.hs view
@@ -0,0 +1,4378 @@+-- Generated code.++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++{-# LANGUAGE ForeignFunctionInterface, ConstraintKinds,+    TypeFamilies, MultiParamTypeClasses, KindSignatures,+    FlexibleInstances, UndecidableInstances, DataKinds,+    OverloadedStrings, NegativeLiterals, FlexibleContexts #-}++module GI.Vte where++import Prelude ()+import Data.GI.Base.ShortPrelude+import Data.Char+import Data.Int+import Data.Word+import qualified Data.ByteString.Char8 as B+import Data.ByteString.Char8 (ByteString)+import qualified Data.Map as Map+import Foreign.C+import Foreign.Ptr+import Foreign.ForeignPtr+import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)+import Foreign.Storable (peek, poke, sizeOf)+import Control.Applicative ((<$>))+import Control.Exception (onException)+import Control.Monad.IO.Class+import qualified Data.Text as T++import Data.GI.Base.Attributes hiding (get, set)+import Data.GI.Base.BasicTypes+import Data.GI.Base.BasicConversions+import Data.GI.Base.Closure+import Data.GI.Base.GError+import Data.GI.Base.GHashTable+import Data.GI.Base.GParamSpec+import Data.GI.Base.GVariant+import Data.GI.Base.GValue+import Data.GI.Base.ManagedPtr+import Data.GI.Base.Overloading+import Data.GI.Base.Properties hiding (new)+import Data.GI.Base.Signals (SignalConnectMode(..), connectSignalFunPtr, SignalHandlerId)+import Data.GI.Base.Utils++import qualified GI.Atk as Atk+import qualified GI.AtkAttributes as AtkA+import qualified GI.GLib as GLib+import qualified GI.GLibAttributes as GLibA+import qualified GI.GObject as GObject+import qualified GI.GObjectAttributes as GObjectA+import qualified GI.Gdk as Gdk+import qualified GI.GdkAttributes as GdkA+import qualified GI.Gio as Gio+import qualified GI.GioAttributes as GioA+import qualified GI.Gtk as Gtk+import qualified GI.GtkAttributes as GtkA+import qualified GI.Pango as Pango+import qualified GI.PangoAttributes as PangoA++-- struct CharAttributes+newtype CharAttributes = CharAttributes (ForeignPtr CharAttributes)+noCharAttributes :: Maybe CharAttributes+noCharAttributes = Nothing++-- Enum CursorBlinkMode++data CursorBlinkMode = +      CursorBlinkModeSystem+    | CursorBlinkModeOn+    | CursorBlinkModeOff+    | AnotherCursorBlinkMode Int+    deriving (Show, Eq)++instance Enum CursorBlinkMode where+    fromEnum CursorBlinkModeSystem = 0+    fromEnum CursorBlinkModeOn = 1+    fromEnum CursorBlinkModeOff = 2+    fromEnum (AnotherCursorBlinkMode k) = k++    toEnum 0 = CursorBlinkModeSystem+    toEnum 1 = CursorBlinkModeOn+    toEnum 2 = CursorBlinkModeOff+    toEnum k = AnotherCursorBlinkMode k++foreign import ccall "vte_cursor_blink_mode_get_type" c_vte_cursor_blink_mode_get_type :: +    IO GType++instance BoxedEnum CursorBlinkMode where+    boxedEnumType _ = c_vte_cursor_blink_mode_get_type++-- Enum CursorShape++data CursorShape = +      CursorShapeBlock+    | CursorShapeIbeam+    | CursorShapeUnderline+    | AnotherCursorShape Int+    deriving (Show, Eq)++instance Enum CursorShape where+    fromEnum CursorShapeBlock = 0+    fromEnum CursorShapeIbeam = 1+    fromEnum CursorShapeUnderline = 2+    fromEnum (AnotherCursorShape k) = k++    toEnum 0 = CursorShapeBlock+    toEnum 1 = CursorShapeIbeam+    toEnum 2 = CursorShapeUnderline+    toEnum k = AnotherCursorShape k++foreign import ccall "vte_cursor_shape_get_type" c_vte_cursor_shape_get_type :: +    IO GType++instance BoxedEnum CursorShape where+    boxedEnumType _ = c_vte_cursor_shape_get_type++-- Enum EraseBinding++data EraseBinding = +      EraseBindingAuto+    | EraseBindingAsciiBackspace+    | EraseBindingAsciiDelete+    | EraseBindingDeleteSequence+    | EraseBindingTty+    | AnotherEraseBinding Int+    deriving (Show, Eq)++instance Enum EraseBinding where+    fromEnum EraseBindingAuto = 0+    fromEnum EraseBindingAsciiBackspace = 1+    fromEnum EraseBindingAsciiDelete = 2+    fromEnum EraseBindingDeleteSequence = 3+    fromEnum EraseBindingTty = 4+    fromEnum (AnotherEraseBinding k) = k++    toEnum 0 = EraseBindingAuto+    toEnum 1 = EraseBindingAsciiBackspace+    toEnum 2 = EraseBindingAsciiDelete+    toEnum 3 = EraseBindingDeleteSequence+    toEnum 4 = EraseBindingTty+    toEnum k = AnotherEraseBinding k++foreign import ccall "vte_erase_binding_get_type" c_vte_erase_binding_get_type :: +    IO GType++instance BoxedEnum EraseBinding where+    boxedEnumType _ = c_vte_erase_binding_get_type++-- object Pty +newtype Pty = Pty (ForeignPtr Pty)+noPty :: Maybe Pty+noPty = Nothing++foreign import ccall "vte_pty_get_type"+    c_vte_pty_get_type :: IO GType++type instance ParentTypes Pty = '[GObject.Object, Gio.Initable]++instance GObject Pty where+    gobjectIsInitiallyUnowned _ = False+    gobjectType _ = c_vte_pty_get_type+    ++class GObject o => PtyK o+instance (GObject o, IsDescendantOf Pty o) => PtyK o++toPty :: PtyK o => o -> IO Pty+toPty = unsafeCastTo Pty++-- 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}]+-- 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++foreign import ccall "vte_pty_new_foreign_sync" vte_pty_new_foreign_sync :: +    Int32 ->                                -- fd : TBasicType TInt32+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr Pty)+++ptyNewForeignSync ::+    (MonadIO m, Gio.CancellableK a) =>+    Int32 ->                                -- fd+    Maybe (a) ->                            -- cancellable+    m Pty+ptyNewForeignSync fd cancellable = liftIO $ do+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            let jCancellable' = unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        result <- propagateGError $ vte_pty_new_foreign_sync fd maybeCancellable+        result' <- (wrapObject Pty) result+        whenJust cancellable touchManagedPtr+        return result'+     ) (do+        return ()+     )++-- 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}]+-- 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++foreign import ccall "vte_pty_new_sync" vte_pty_new_sync :: +    CUInt ->                                -- flags : TInterface "Vte" "PtyFlags"+    Ptr Gio.Cancellable ->                  -- cancellable : TInterface "Gio" "Cancellable"+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr Pty)+++ptyNewSync ::+    (MonadIO m, Gio.CancellableK a) =>+    [PtyFlags] ->                           -- flags+    Maybe (a) ->                            -- cancellable+    m Pty+ptyNewSync flags cancellable = liftIO $ do+    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_pty_new_sync flags' maybeCancellable+        result' <- (wrapObject Pty) result+        whenJust cancellable touchManagedPtr+        return result'+     ) (do+        return ()+     )++-- 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}]+-- 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++foreign import ccall "vte_pty_child_setup" vte_pty_child_setup :: +    Ptr Pty ->                              -- _obj : TInterface "Vte" "Pty"+    IO ()+++ptyChildSetup ::+    (MonadIO m, PtyK a) =>+    a ->                                    -- _obj+    m ()+ptyChildSetup _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    vte_pty_child_setup _obj'+    touchManagedPtr _obj+    return ()++-- method Pty::close+-- method type : OrdinaryMethod+-- Args : [Arg {argName = "_obj", argType = TInterface "Vte" "Pty", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, 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++foreign import ccall "vte_pty_close" vte_pty_close :: +    Ptr Pty ->                              -- _obj : TInterface "Vte" "Pty"+    IO ()+++ptyClose ::+    (MonadIO m, PtyK a) =>+    a ->                                    -- _obj+    m ()+ptyClose _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    vte_pty_close _obj'+    touchManagedPtr _obj+    return ()++-- 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}]+-- 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++foreign import ccall "vte_pty_get_fd" vte_pty_get_fd :: +    Ptr Pty ->                              -- _obj : TInterface "Vte" "Pty"+    IO Int32+++ptyGetFd ::+    (MonadIO m, PtyK a) =>+    a ->                                    -- _obj+    m Int32+ptyGetFd _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    result <- vte_pty_get_fd _obj'+    touchManagedPtr _obj+    return result++-- 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}]+-- 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++foreign import ccall "vte_pty_get_size" vte_pty_get_size :: +    Ptr Pty ->                              -- _obj : TInterface "Vte" "Pty"+    Ptr Int32 ->                            -- rows : TBasicType TInt32+    Ptr Int32 ->                            -- columns : TBasicType TInt32+    Ptr (Ptr GError) ->                     -- error+    IO CInt+++ptyGetSize ::+    (MonadIO m, PtyK a) =>+    a ->                                    -- _obj+    m (Int32,Int32)+ptyGetSize _obj = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    rows <- allocMem :: IO (Ptr Int32)+    columns <- allocMem :: IO (Ptr Int32)+    onException (do+        _ <- propagateGError $ vte_pty_get_size _obj' rows columns+        rows' <- peek rows+        columns' <- peek columns+        touchManagedPtr _obj+        freeMem rows+        freeMem columns+        return (rows', columns')+     ) (do+        freeMem rows+        freeMem columns+     )++-- 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}]+-- 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++foreign import ccall "vte_pty_set_size" vte_pty_set_size :: +    Ptr Pty ->                              -- _obj : TInterface "Vte" "Pty"+    Int32 ->                                -- rows : TBasicType TInt32+    Int32 ->                                -- columns : TBasicType TInt32+    Ptr (Ptr GError) ->                     -- error+    IO CInt+++ptySetSize ::+    (MonadIO m, PtyK a) =>+    a ->                                    -- _obj+    Int32 ->                                -- rows+    Int32 ->                                -- columns+    m ()+ptySetSize _obj rows columns = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    onException (do+        _ <- propagateGError $ vte_pty_set_size _obj' rows columns+        touchManagedPtr _obj+        return ()+     ) (do+        return ()+     )++-- 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}]+-- 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++foreign import ccall "vte_pty_set_utf8" vte_pty_set_utf8 :: +    Ptr Pty ->                              -- _obj : TInterface "Vte" "Pty"+    CInt ->                                 -- utf8 : TBasicType TBoolean+    Ptr (Ptr GError) ->                     -- error+    IO CInt+++ptySetUtf8 ::+    (MonadIO m, PtyK a) =>+    a ->                                    -- _obj+    Bool ->                                 -- utf8+    m ()+ptySetUtf8 _obj utf8 = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    let utf8' = (fromIntegral . fromEnum) utf8+    onException (do+        _ <- propagateGError $ vte_pty_set_utf8 _obj' utf8'+        touchManagedPtr _obj+        return ()+     ) (do+        return ()+     )++-- Enum PtyError++data PtyError = +      PtyErrorPtyHelperFailed+    | PtyErrorPty98Failed+    | AnotherPtyError Int+    deriving (Show, Eq)++instance Enum PtyError where+    fromEnum PtyErrorPtyHelperFailed = 0+    fromEnum PtyErrorPty98Failed = 1+    fromEnum (AnotherPtyError k) = k++    toEnum 0 = PtyErrorPtyHelperFailed+    toEnum 1 = PtyErrorPty98Failed+    toEnum k = AnotherPtyError k++instance GErrorClass PtyError where+    gerrorClassDomain _ = "vte-pty-error"++catchPtyError ::+    IO a ->+    (PtyError -> GErrorMessage -> IO a) ->+    IO a+catchPtyError = catchGErrorJustDomain++handlePtyError ::+    (PtyError -> GErrorMessage -> IO a) ->+    IO a ->+    IO a+handlePtyError = handleGErrorJustDomain++foreign import ccall "vte_pty_error_get_type" c_vte_pty_error_get_type :: +    IO GType++instance BoxedEnum PtyError where+    boxedEnumType _ = c_vte_pty_error_get_type++-- Flags PtyFlags++data PtyFlags = +      PtyFlagsNoLastlog+    | PtyFlagsNoUtmp+    | PtyFlagsNoWtmp+    | PtyFlagsNoHelper+    | PtyFlagsNoFallback+    | PtyFlagsDefault+    | AnotherPtyFlags Int+    deriving (Show, Eq)++instance Enum PtyFlags where+    fromEnum PtyFlagsNoLastlog = 1+    fromEnum PtyFlagsNoUtmp = 2+    fromEnum PtyFlagsNoWtmp = 4+    fromEnum PtyFlagsNoHelper = 8+    fromEnum PtyFlagsNoFallback = 16+    fromEnum PtyFlagsDefault = 0+    fromEnum (AnotherPtyFlags k) = k++    toEnum 0 = PtyFlagsDefault+    toEnum 1 = PtyFlagsNoLastlog+    toEnum 2 = PtyFlagsNoUtmp+    toEnum 4 = PtyFlagsNoWtmp+    toEnum 8 = PtyFlagsNoHelper+    toEnum 16 = PtyFlagsNoFallback+    toEnum k = AnotherPtyFlags k++foreign import ccall "vte_pty_flags_get_type" c_vte_pty_flags_get_type :: +    IO GType++instance BoxedEnum PtyFlags where+    boxedEnumType _ = c_vte_pty_flags_get_type++instance IsGFlag PtyFlags++-- callback SelectionFunc+selectionFuncClosure :: SelectionFunc -> IO Closure+selectionFuncClosure cb = newCClosure =<< mkSelectionFunc wrapped+    where wrapped = selectionFuncWrapper Nothing cb++type SelectionFuncC =+    Ptr Terminal ->+    Int64 ->+    Int64 ->+    Ptr () ->+    IO CInt++foreign import ccall "wrapper"+    mkSelectionFunc :: SelectionFuncC -> IO (FunPtr SelectionFuncC)++type SelectionFunc =+    Terminal ->+    Int64 ->+    Int64 ->+    IO Bool++noSelectionFunc :: Maybe SelectionFunc+noSelectionFunc = Nothing++selectionFuncWrapper ::+    Maybe (Ptr (FunPtr (SelectionFuncC))) ->+    SelectionFunc ->+    Ptr Terminal ->+    Int64 ->+    Int64 ->+    Ptr () ->+    IO CInt+selectionFuncWrapper funptrptr _cb terminal column row _ = do+    terminal' <- (newObject Terminal) terminal+    result <- _cb  terminal' column row+    maybeReleaseFunPtr funptrptr+    let result' = (fromIntegral . fromEnum) result+    return result'++-- object Terminal +newtype Terminal = Terminal (ForeignPtr Terminal)+noTerminal :: Maybe Terminal+noTerminal = Nothing++foreign import ccall "vte_terminal_get_type"+    c_vte_terminal_get_type :: IO GType++type instance ParentTypes Terminal = '[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++-- 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+    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'+    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'+    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'+    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'+    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'+    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'+    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+    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+    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+    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'+    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'+    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+    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+    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+-- 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", argType = TInterface "Gdk" "Cursor", 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 = "tag", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]+-- returnType : TBasicType TVoid+-- throws : False+-- Skip return : False++foreign import ccall "vte_terminal_match_set_cursor" vte_terminal_match_set_cursor :: +    Ptr Terminal ->                         -- _obj : TInterface "Vte" "Terminal"+    Int32 ->                                -- tag : TBasicType TInt32+    Ptr Gdk.Cursor ->                       -- cursor : TInterface "Gdk" "Cursor"+    IO ()++{-# DEPRECATED terminalMatchSetCursor ["(Since version 0.40)","Use vte_terminal_match_set_cursor_type() or vte_terminal_match_set_cursor_named() instead."]#-}+terminalMatchSetCursor ::+    (MonadIO m, TerminalK a, Gdk.CursorK b) =>+    a ->                                    -- _obj+    Int32 ->                                -- tag+    Maybe (b) ->                            -- cursor+    m ()+terminalMatchSetCursor _obj tag cursor = liftIO $ do+    let _obj' = unsafeManagedPtrCastPtr _obj+    maybeCursor <- case cursor of+        Nothing -> return nullPtr+        Just jCursor -> do+            let jCursor' = unsafeManagedPtrCastPtr jCursor+            return jCursor'+    vte_terminal_match_set_cursor _obj' tag maybeCursor+    touchManagedPtr _obj+    whenJust cursor touchManagedPtr+    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+        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'+    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 ()+     )++-- 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++-- Enum WriteFlags++data WriteFlags = +      WriteFlagsDefault+    | AnotherWriteFlags Int+    deriving (Show, Eq)++instance Enum WriteFlags where+    fromEnum WriteFlagsDefault = 0+    fromEnum (AnotherWriteFlags k) = k++    toEnum 0 = WriteFlagsDefault+    toEnum k = AnotherWriteFlags k++foreign import ccall "vte_write_flags_get_type" c_vte_write_flags_get_type :: +    IO GType++instance BoxedEnum WriteFlags where+    boxedEnumType _ = c_vte_write_flags_get_type++-- constant _MAJOR_VERSION++_MAJOR_VERSION :: Int32+_MAJOR_VERSION = 0+-- constant _MICRO_VERSION++_MICRO_VERSION :: Int32+_MICRO_VERSION = 2+-- constant _MINOR_VERSION++_MINOR_VERSION :: Int32+_MINOR_VERSION = 40+-- constant _SPAWN_NO_PARENT_ENVV++_SPAWN_NO_PARENT_ENVV :: Int32+_SPAWN_NO_PARENT_ENVV = 33554432+-- function vte_get_features+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TUTF8+-- throws : False+-- Skip return : False++foreign import ccall "vte_get_features" vte_get_features :: +    IO CString+++getFeatures ::+    (MonadIO m) =>+    m T.Text+getFeatures  = liftIO $ do+    result <- vte_get_features+    result' <- cstringToText result+    return result'++-- function vte_get_major_version+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "vte_get_major_version" vte_get_major_version :: +    IO Word32+++getMajorVersion ::+    (MonadIO m) =>+    m Word32+getMajorVersion  = liftIO $ do+    result <- vte_get_major_version+    return result++-- function vte_get_micro_version+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "vte_get_micro_version" vte_get_micro_version :: +    IO Word32+++getMicroVersion ::+    (MonadIO m) =>+    m Word32+getMicroVersion  = liftIO $ do+    result <- vte_get_micro_version+    return result++-- function vte_get_minor_version+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TUInt32+-- throws : False+-- Skip return : False++foreign import ccall "vte_get_minor_version" vte_get_minor_version :: +    IO Word32+++getMinorVersion ::+    (MonadIO m) =>+    m Word32+getMinorVersion  = liftIO $ do+    result <- vte_get_minor_version+    return result++-- function vte_get_user_shell+-- Args : []+-- Lengths : []+-- hInArgs : []+-- returnType : TBasicType TFileName+-- throws : False+-- Skip return : False++foreign import ccall "vte_get_user_shell" vte_get_user_shell :: +    IO CString+++getUserShell ::+    (MonadIO m) =>+    m [Char]+getUserShell  = liftIO $ do+    result <- vte_get_user_shell+    result' <- cstringToString result+    freeMem result+    return result'++-- 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+
+ GI/VteAttributes.hs view
@@ -0,0 +1,596 @@+{-# OPTIONS_GHC -fno-warn-orphans -fno-warn-unused-imports #-}++-- Generated code.++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++{-# LANGUAGE ForeignFunctionInterface, ConstraintKinds,+    TypeFamilies, MultiParamTypeClasses, KindSignatures,+    FlexibleInstances, UndecidableInstances, DataKinds,+    OverloadedStrings, NegativeLiterals, FlexibleContexts #-}++module GI.VteAttributes where++import Prelude ()+import Data.GI.Base.ShortPrelude+import Data.Char+import Data.Int+import Data.Word+import qualified Data.ByteString.Char8 as B+import Data.ByteString.Char8 (ByteString)+import qualified Data.Map as Map+import Foreign.C+import Foreign.Ptr+import Foreign.ForeignPtr+import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)+import Foreign.Storable (peek, poke, sizeOf)+import Control.Applicative ((<$>))+import Control.Exception (onException)+import Control.Monad.IO.Class+import qualified Data.Text as T++import Data.GI.Base.Attributes hiding (get, set)+import Data.GI.Base.BasicTypes+import Data.GI.Base.BasicConversions+import Data.GI.Base.Closure+import Data.GI.Base.GError+import Data.GI.Base.GHashTable+import Data.GI.Base.GParamSpec+import Data.GI.Base.GVariant+import Data.GI.Base.GValue+import Data.GI.Base.ManagedPtr+import Data.GI.Base.Overloading+import Data.GI.Base.Properties hiding (new)+import Data.GI.Base.Signals (SignalConnectMode(..), connectSignalFunPtr, SignalHandlerId)+import Data.GI.Base.Utils++import qualified GI.Gtk as Gtk+import qualified GI.GtkAttributes as GtkA+import qualified GI.Pango as Pango+import qualified GI.PangoAttributes as PangoA+import GI.Vte++-- VVV Prop "fd"+   -- Type: TBasicType TInt32+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getPtyFd :: (MonadIO m, PtyK o) => o -> m Int32+getPtyFd obj = liftIO $ getObjectPropertyCInt obj "fd"++constructPtyFd :: Int32 -> IO ([Char], GValue)+constructPtyFd val = constructObjectPropertyCInt "fd" val++data PtyFdPropertyInfo+instance AttrInfo PtyFdPropertyInfo where+    type AttrAllowedOps PtyFdPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint PtyFdPropertyInfo = (~) Int32+    type AttrBaseTypeConstraint PtyFdPropertyInfo = PtyK+    type AttrGetType PtyFdPropertyInfo = Int32+    type AttrLabel PtyFdPropertyInfo = "Pty::fd"+    attrGet _ = getPtyFd+    attrSet _ = undefined+    attrConstruct _ = constructPtyFd++-- VVV Prop "flags"+   -- Type: TInterface "Vte" "PtyFlags"+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]++getPtyFlags :: (MonadIO m, PtyK o) => o -> m [PtyFlags]+getPtyFlags obj = liftIO $ getObjectPropertyFlags obj "flags"++constructPtyFlags :: [PtyFlags] -> IO ([Char], GValue)+constructPtyFlags val = constructObjectPropertyFlags "flags" val++data PtyFlagsPropertyInfo+instance AttrInfo PtyFlagsPropertyInfo where+    type AttrAllowedOps PtyFlagsPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint PtyFlagsPropertyInfo = (~) [PtyFlags]+    type AttrBaseTypeConstraint PtyFlagsPropertyInfo = PtyK+    type AttrGetType PtyFlagsPropertyInfo = [PtyFlags]+    type AttrLabel PtyFlagsPropertyInfo = "Pty::flags"+    attrGet _ = getPtyFlags+    attrSet _ = undefined+    attrConstruct _ = constructPtyFlags++type instance AttributeList Pty = '[ '("fd", PtyFdPropertyInfo), '("flags", PtyFlagsPropertyInfo)]++-- 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 = '[ '("allow-bold", TerminalAllowBoldPropertyInfo), '("app-paintable", GtkA.WidgetAppPaintablePropertyInfo), '("audible-bell", TerminalAudibleBellPropertyInfo), '("backspace-binding", TerminalBackspaceBindingPropertyInfo), '("can-default", GtkA.WidgetCanDefaultPropertyInfo), '("can-focus", GtkA.WidgetCanFocusPropertyInfo), '("cjk-ambiguous-width", TerminalCjkAmbiguousWidthPropertyInfo), '("composite-child", GtkA.WidgetCompositeChildPropertyInfo), '("current-directory-uri", TerminalCurrentDirectoryUriPropertyInfo), '("current-file-uri", TerminalCurrentFileUriPropertyInfo), '("cursor-blink-mode", TerminalCursorBlinkModePropertyInfo), '("cursor-shape", TerminalCursorShapePropertyInfo), '("delete-binding", TerminalDeleteBindingPropertyInfo), '("double-buffered", GtkA.WidgetDoubleBufferedPropertyInfo), '("encoding", TerminalEncodingPropertyInfo), '("events", GtkA.WidgetEventsPropertyInfo), '("expand", GtkA.WidgetExpandPropertyInfo), '("font-desc", TerminalFontDescPropertyInfo), '("font-scale", TerminalFontScalePropertyInfo), '("hadjustment", GtkA.ScrollableHadjustmentPropertyInfo), '("halign", GtkA.WidgetHalignPropertyInfo), '("has-default", GtkA.WidgetHasDefaultPropertyInfo), '("has-focus", GtkA.WidgetHasFocusPropertyInfo), '("has-tooltip", GtkA.WidgetHasTooltipPropertyInfo), '("height-request", GtkA.WidgetHeightRequestPropertyInfo), '("hexpand", GtkA.WidgetHexpandPropertyInfo), '("hexpand-set", GtkA.WidgetHexpandSetPropertyInfo), '("hscroll-policy", GtkA.ScrollableHscrollPolicyPropertyInfo), '("icon-title", TerminalIconTitlePropertyInfo), '("input-enabled", TerminalInputEnabledPropertyInfo), '("is-focus", GtkA.WidgetIsFocusPropertyInfo), '("margin", GtkA.WidgetMarginPropertyInfo), '("margin-bottom", GtkA.WidgetMarginBottomPropertyInfo), '("margin-end", GtkA.WidgetMarginEndPropertyInfo), '("margin-left", GtkA.WidgetMarginLeftPropertyInfo), '("margin-right", GtkA.WidgetMarginRightPropertyInfo), '("margin-start", GtkA.WidgetMarginStartPropertyInfo), '("margin-top", GtkA.WidgetMarginTopPropertyInfo), '("name", GtkA.WidgetNamePropertyInfo), '("no-show-all", GtkA.WidgetNoShowAllPropertyInfo), '("opacity", GtkA.WidgetOpacityPropertyInfo), '("parent", GtkA.WidgetParentPropertyInfo), '("pointer-autohide", TerminalPointerAutohidePropertyInfo), '("pty", TerminalPtyPropertyInfo), '("receives-default", GtkA.WidgetReceivesDefaultPropertyInfo), '("rewrap-on-resize", TerminalRewrapOnResizePropertyInfo), '("scale-factor", GtkA.WidgetScaleFactorPropertyInfo), '("scroll-on-keystroke", TerminalScrollOnKeystrokePropertyInfo), '("scroll-on-output", TerminalScrollOnOutputPropertyInfo), '("scrollback-lines", TerminalScrollbackLinesPropertyInfo), '("sensitive", GtkA.WidgetSensitivePropertyInfo), '("style", GtkA.WidgetStylePropertyInfo), '("tooltip-markup", GtkA.WidgetTooltipMarkupPropertyInfo), '("tooltip-text", GtkA.WidgetTooltipTextPropertyInfo), '("vadjustment", GtkA.ScrollableVadjustmentPropertyInfo), '("valign", GtkA.WidgetValignPropertyInfo), '("vexpand", GtkA.WidgetVexpandPropertyInfo), '("vexpand-set", GtkA.WidgetVexpandSetPropertyInfo), '("visible", GtkA.WidgetVisiblePropertyInfo), '("vscroll-policy", GtkA.ScrollableVscrollPolicyPropertyInfo), '("width-request", GtkA.WidgetWidthRequestPropertyInfo), '("window", GtkA.WidgetWindowPropertyInfo), '("window-title", TerminalWindowTitlePropertyInfo), '("word-char-exceptions", TerminalWordCharExceptionsPropertyInfo)]+
+ GI/VteSignals.hs view
@@ -0,0 +1,177 @@+-- Generated code.++{-# OPTIONS_GHC -fno-warn-orphans #-}++{-# LANGUAGE DataKinds,    FlexibleInstances,+             TypeFamilies, MultiParamTypeClasses,+               TypeOperators #-}++module GI.VteSignals where++import Data.GI.Base.Properties (GObjectNotifySignalInfo)+import Data.GI.Base.Signals+import Data.GI.Base.Overloading++import qualified GI.GObjectSignals as GObject+import qualified GI.GtkSignals as Gtk+import GI.Vte++type instance SignalList Pty = '[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)]++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 = '[ '("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)]+
+ LICENSE view
@@ -0,0 +1,502 @@+                  GNU LESSER GENERAL PUBLIC LICENSE+                       Version 2.1, February 1999++ Copyright (C) 1991, 1999 Free Software Foundation, Inc.+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA+ Everyone is permitted to copy and distribute verbatim copies+ of this license document, but changing it is not allowed.++[This is the first released version of the Lesser GPL.  It also counts+ as the successor of the GNU Library Public License, version 2, hence+ the version number 2.1.]++                            Preamble++  The licenses for most software are designed to take away your+freedom to share and change it.  By contrast, the GNU General Public+Licenses are intended to guarantee your freedom to share and change+free software--to make sure the software is free for all its users.++  This license, the Lesser General Public License, applies to some+specially designated software packages--typically libraries--of the+Free Software Foundation and other authors who decide to use it.  You+can use it too, but we suggest you first think carefully about whether+this license or the ordinary General Public License is the better+strategy to use in any particular case, based on the explanations below.++  When we speak of free software, we are referring to freedom of use,+not price.  Our General Public Licenses are designed to make sure that+you have the freedom to distribute copies of free software (and charge+for this service if you wish); that you receive source code or can get+it if you want it; that you can change the software and use pieces of+it in new free programs; and that you are informed that you can do+these things.++  To protect your rights, we need to make restrictions that forbid+distributors to deny you these rights or to ask you to surrender these+rights.  These restrictions translate to certain responsibilities for+you if you distribute copies of the library or if you modify it.++  For example, if you distribute copies of the library, whether gratis+or for a fee, you must give the recipients all the rights that we gave+you.  You must make sure that they, too, receive or can get the source+code.  If you link other code with the library, you must provide+complete object files to the recipients, so that they can relink them+with the library after making changes to the library and recompiling+it.  And you must show them these terms so they know their rights.++  We protect your rights with a two-step method: (1) we copyright the+library, and (2) we offer you this license, which gives you legal+permission to copy, distribute and/or modify the library.++  To protect each distributor, we want to make it very clear that+there is no warranty for the free library.  Also, if the library is+modified by someone else and passed on, the recipients should know+that what they have is not the original version, so that the original+author's reputation will not be affected by problems that might be+introduced by others.++  Finally, software patents pose a constant threat to the existence of+any free program.  We wish to make sure that a company cannot+effectively restrict the users of a free program by obtaining a+restrictive license from a patent holder.  Therefore, we insist that+any patent license obtained for a version of the library must be+consistent with the full freedom of use specified in this license.++  Most GNU software, including some libraries, is covered by the+ordinary GNU General Public License.  This license, the GNU Lesser+General Public License, applies to certain designated libraries, and+is quite different from the ordinary General Public License.  We use+this license for certain libraries in order to permit linking those+libraries into non-free programs.++  When a program is linked with a library, whether statically or using+a shared library, the combination of the two is legally speaking a+combined work, a derivative of the original library.  The ordinary+General Public License therefore permits such linking only if the+entire combination fits its criteria of freedom.  The Lesser General+Public License permits more lax criteria for linking other code with+the library.++  We call this license the "Lesser" General Public License because it+does Less to protect the user's freedom than the ordinary General+Public License.  It also provides other free software developers Less+of an advantage over competing non-free programs.  These disadvantages+are the reason we use the ordinary General Public License for many+libraries.  However, the Lesser license provides advantages in certain+special circumstances.++  For example, on rare occasions, there may be a special need to+encourage the widest possible use of a certain library, so that it becomes+a de-facto standard.  To achieve this, non-free programs must be+allowed to use the library.  A more frequent case is that a free+library does the same job as widely used non-free libraries.  In this+case, there is little to gain by limiting the free library to free+software only, so we use the Lesser General Public License.++  In other cases, permission to use a particular library in non-free+programs enables a greater number of people to use a large body of+free software.  For example, permission to use the GNU C Library in+non-free programs enables many more people to use the whole GNU+operating system, as well as its variant, the GNU/Linux operating+system.++  Although the Lesser General Public License is Less protective of the+users' freedom, it does ensure that the user of a program that is+linked with the Library has the freedom and the wherewithal to run+that program using a modified version of the Library.++  The precise terms and conditions for copying, distribution and+modification follow.  Pay close attention to the difference between a+"work based on the library" and a "work that uses the library".  The+former contains code derived from the library, whereas the latter must+be combined with the library in order to run.++                  GNU LESSER GENERAL PUBLIC LICENSE+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION++  0. This License Agreement applies to any software library or other+program which contains a notice placed by the copyright holder or+other authorized party saying it may be distributed under the terms of+this Lesser General Public License (also called "this License").+Each licensee is addressed as "you".++  A "library" means a collection of software functions and/or data+prepared so as to be conveniently linked with application programs+(which use some of those functions and data) to form executables.++  The "Library", below, refers to any such software library or work+which has been distributed under these terms.  A "work based on the+Library" means either the Library or any derivative work under+copyright law: that is to say, a work containing the Library or a+portion of it, either verbatim or with modifications and/or translated+straightforwardly into another language.  (Hereinafter, translation is+included without limitation in the term "modification".)++  "Source code" for a work means the preferred form of the work for+making modifications to it.  For a library, complete source code means+all the source code for all modules it contains, plus any associated+interface definition files, plus the scripts used to control compilation+and installation of the library.++  Activities other than copying, distribution and modification are not+covered by this License; they are outside its scope.  The act of+running a program using the Library is not restricted, and output from+such a program is covered only if its contents constitute a work based+on the Library (independent of the use of the Library in a tool for+writing it).  Whether that is true depends on what the Library does+and what the program that uses the Library does.++  1. You may copy and distribute verbatim copies of the Library's+complete source code as you receive it, in any medium, provided that+you conspicuously and appropriately publish on each copy an+appropriate copyright notice and disclaimer of warranty; keep intact+all the notices that refer to this License and to the absence of any+warranty; and distribute a copy of this License along with the+Library.++  You may charge a fee for the physical act of transferring a copy,+and you may at your option offer warranty protection in exchange for a+fee.++  2. You may modify your copy or copies of the Library or any portion+of it, thus forming a work based on the Library, and copy and+distribute such modifications or work under the terms of Section 1+above, provided that you also meet all of these conditions:++    a) The modified work must itself be a software library.++    b) You must cause the files modified to carry prominent notices+    stating that you changed the files and the date of any change.++    c) You must cause the whole of the work to be licensed at no+    charge to all third parties under the terms of this License.++    d) If a facility in the modified Library refers to a function or a+    table of data to be supplied by an application program that uses+    the facility, other than as an argument passed when the facility+    is invoked, then you must make a good faith effort to ensure that,+    in the event an application does not supply such function or+    table, the facility still operates, and performs whatever part of+    its purpose remains meaningful.++    (For example, a function in a library to compute square roots has+    a purpose that is entirely well-defined independent of the+    application.  Therefore, Subsection 2d requires that any+    application-supplied function or table used by this function must+    be optional: if the application does not supply it, the square+    root function must still compute square roots.)++These requirements apply to the modified work as a whole.  If+identifiable sections of that work are not derived from the Library,+and can be reasonably considered independent and separate works in+themselves, then this License, and its terms, do not apply to those+sections when you distribute them as separate works.  But when you+distribute the same sections as part of a whole which is a work based+on the Library, the distribution of the whole must be on the terms of+this License, whose permissions for other licensees extend to the+entire whole, and thus to each and every part regardless of who wrote+it.++Thus, it is not the intent of this section to claim rights or contest+your rights to work written entirely by you; rather, the intent is to+exercise the right to control the distribution of derivative or+collective works based on the Library.++In addition, mere aggregation of another work not based on the Library+with the Library (or with a work based on the Library) on a volume of+a storage or distribution medium does not bring the other work under+the scope of this License.++  3. You may opt to apply the terms of the ordinary GNU General Public+License instead of this License to a given copy of the Library.  To do+this, you must alter all the notices that refer to this License, so+that they refer to the ordinary GNU General Public License, version 2,+instead of to this License.  (If a newer version than version 2 of the+ordinary GNU General Public License has appeared, then you can specify+that version instead if you wish.)  Do not make any other change in+these notices.++  Once this change is made in a given copy, it is irreversible for+that copy, so the ordinary GNU General Public License applies to all+subsequent copies and derivative works made from that copy.++  This option is useful when you wish to copy part of the code of+the Library into a program that is not a library.++  4. You may copy and distribute the Library (or a portion or+derivative of it, under Section 2) in object code or executable form+under the terms of Sections 1 and 2 above provided that you accompany+it with the complete corresponding machine-readable source code, which+must be distributed under the terms of Sections 1 and 2 above on a+medium customarily used for software interchange.++  If distribution of object code is made by offering access to copy+from a designated place, then offering equivalent access to copy the+source code from the same place satisfies the requirement to+distribute the source code, even though third parties are not+compelled to copy the source along with the object code.++  5. A program that contains no derivative of any portion of the+Library, but is designed to work with the Library by being compiled or+linked with it, is called a "work that uses the Library".  Such a+work, in isolation, is not a derivative work of the Library, and+therefore falls outside the scope of this License.++  However, linking a "work that uses the Library" with the Library+creates an executable that is a derivative of the Library (because it+contains portions of the Library), rather than a "work that uses the+library".  The executable is therefore covered by this License.+Section 6 states terms for distribution of such executables.++  When a "work that uses the Library" uses material from a header file+that is part of the Library, the object code for the work may be a+derivative work of the Library even though the source code is not.+Whether this is true is especially significant if the work can be+linked without the Library, or if the work is itself a library.  The+threshold for this to be true is not precisely defined by law.++  If such an object file uses only numerical parameters, data+structure layouts and accessors, and small macros and small inline+functions (ten lines or less in length), then the use of the object+file is unrestricted, regardless of whether it is legally a derivative+work.  (Executables containing this object code plus portions of the+Library will still fall under Section 6.)++  Otherwise, if the work is a derivative of the Library, you may+distribute the object code for the work under the terms of Section 6.+Any executables containing that work also fall under Section 6,+whether or not they are linked directly with the Library itself.++  6. As an exception to the Sections above, you may also combine or+link a "work that uses the Library" with the Library to produce a+work containing portions of the Library, and distribute that work+under terms of your choice, provided that the terms permit+modification of the work for the customer's own use and reverse+engineering for debugging such modifications.++  You must give prominent notice with each copy of the work that the+Library is used in it and that the Library and its use are covered by+this License.  You must supply a copy of this License.  If the work+during execution displays copyright notices, you must include the+copyright notice for the Library among them, as well as a reference+directing the user to the copy of this License.  Also, you must do one+of these things:++    a) Accompany the work with the complete corresponding+    machine-readable source code for the Library including whatever+    changes were used in the work (which must be distributed under+    Sections 1 and 2 above); and, if the work is an executable linked+    with the Library, with the complete machine-readable "work that+    uses the Library", as object code and/or source code, so that the+    user can modify the Library and then relink to produce a modified+    executable containing the modified Library.  (It is understood+    that the user who changes the contents of definitions files in the+    Library will not necessarily be able to recompile the application+    to use the modified definitions.)++    b) Use a suitable shared library mechanism for linking with the+    Library.  A suitable mechanism is one that (1) uses at run time a+    copy of the library already present on the user's computer system,+    rather than copying library functions into the executable, and (2)+    will operate properly with a modified version of the library, if+    the user installs one, as long as the modified version is+    interface-compatible with the version that the work was made with.++    c) Accompany the work with a written offer, valid for at+    least three years, to give the same user the materials+    specified in Subsection 6a, above, for a charge no more+    than the cost of performing this distribution.++    d) If distribution of the work is made by offering access to copy+    from a designated place, offer equivalent access to copy the above+    specified materials from the same place.++    e) Verify that the user has already received a copy of these+    materials or that you have already sent this user a copy.++  For an executable, the required form of the "work that uses the+Library" must include any data and utility programs needed for+reproducing the executable from it.  However, as a special exception,+the materials to be distributed need not include anything that is+normally distributed (in either source or binary form) with the major+components (compiler, kernel, and so on) of the operating system on+which the executable runs, unless that component itself accompanies+the executable.++  It may happen that this requirement contradicts the license+restrictions of other proprietary libraries that do not normally+accompany the operating system.  Such a contradiction means you cannot+use both them and the Library together in an executable that you+distribute.++  7. You may place library facilities that are a work based on the+Library side-by-side in a single library together with other library+facilities not covered by this License, and distribute such a combined+library, provided that the separate distribution of the work based on+the Library and of the other library facilities is otherwise+permitted, and provided that you do these two things:++    a) Accompany the combined library with a copy of the same work+    based on the Library, uncombined with any other library+    facilities.  This must be distributed under the terms of the+    Sections above.++    b) Give prominent notice with the combined library of the fact+    that part of it is a work based on the Library, and explaining+    where to find the accompanying uncombined form of the same work.++  8. You may not copy, modify, sublicense, link with, or distribute+the Library except as expressly provided under this License.  Any+attempt otherwise to copy, modify, sublicense, link with, or+distribute the Library is void, and will automatically terminate your+rights under this License.  However, parties who have received copies,+or rights, from you under this License will not have their licenses+terminated so long as such parties remain in full compliance.++  9. You are not required to accept this License, since you have not+signed it.  However, nothing else grants you permission to modify or+distribute the Library or its derivative works.  These actions are+prohibited by law if you do not accept this License.  Therefore, by+modifying or distributing the Library (or any work based on the+Library), you indicate your acceptance of this License to do so, and+all its terms and conditions for copying, distributing or modifying+the Library or works based on it.++  10. Each time you redistribute the Library (or any work based on the+Library), the recipient automatically receives a license from the+original licensor to copy, distribute, link with or modify the Library+subject to these terms and conditions.  You may not impose any further+restrictions on the recipients' exercise of the rights granted herein.+You are not responsible for enforcing compliance by third parties with+this License.++  11. If, as a consequence of a court judgment or allegation of patent+infringement or for any other reason (not limited to patent issues),+conditions are imposed on you (whether by court order, agreement or+otherwise) that contradict the conditions of this License, they do not+excuse you from the conditions of this License.  If you cannot+distribute so as to satisfy simultaneously your obligations under this+License and any other pertinent obligations, then as a consequence you+may not distribute the Library at all.  For example, if a patent+license would not permit royalty-free redistribution of the Library by+all those who receive copies directly or indirectly through you, then+the only way you could satisfy both it and this License would be to+refrain entirely from distribution of the Library.++If any portion of this section is held invalid or unenforceable under any+particular circumstance, the balance of the section is intended to apply,+and the section as a whole is intended to apply in other circumstances.++It is not the purpose of this section to induce you to infringe any+patents or other property right claims or to contest validity of any+such claims; this section has the sole purpose of protecting the+integrity of the free software distribution system which is+implemented by public license practices.  Many people have made+generous contributions to the wide range of software distributed+through that system in reliance on consistent application of that+system; it is up to the author/donor to decide if he or she is willing+to distribute software through any other system and a licensee cannot+impose that choice.++This section is intended to make thoroughly clear what is believed to+be a consequence of the rest of this License.++  12. If the distribution and/or use of the Library is restricted in+certain countries either by patents or by copyrighted interfaces, the+original copyright holder who places the Library under this License may add+an explicit geographical distribution limitation excluding those countries,+so that distribution is permitted only in or among countries not thus+excluded.  In such case, this License incorporates the limitation as if+written in the body of this License.++  13. The Free Software Foundation may publish revised and/or new+versions of the Lesser General Public License from time to time.+Such new versions will be similar in spirit to the present version,+but may differ in detail to address new problems or concerns.++Each version is given a distinguishing version number.  If the Library+specifies a version number of this License which applies to it and+"any later version", you have the option of following the terms and+conditions either of that version or of any later version published by+the Free Software Foundation.  If the Library does not specify a+license version number, you may choose any version ever published by+the Free Software Foundation.++  14. If you wish to incorporate parts of the Library into other free+programs whose distribution conditions are incompatible with these,+write to the author to ask for permission.  For software which is+copyrighted by the Free Software Foundation, write to the Free+Software Foundation; we sometimes make exceptions for this.  Our+decision will be guided by the two goals of preserving the free status+of all derivatives of our free software and of promoting the sharing+and reuse of software generally.++                            NO WARRANTY++  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.++  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH+DAMAGES.++                     END OF TERMS AND CONDITIONS++           How to Apply These Terms to Your New Libraries++  If you develop a new library, and you want it to be of the greatest+possible use to the public, we recommend making it free software that+everyone can redistribute and change.  You can do so by permitting+redistribution under these terms (or, alternatively, under the terms of the+ordinary General Public License).++  To apply these terms, attach the following notices to the library.  It is+safest to attach them to the start of each source file to most effectively+convey the exclusion of warranty; and each file should have at least the+"copyright" line and a pointer to where the full notice is found.++    <one line to give the library's name and a brief idea of what it does.>+    Copyright (C) <year>  <name of author>++    This library is free software; you can redistribute it and/or+    modify it under the terms of the GNU Lesser General Public+    License as published by the Free Software Foundation; either+    version 2.1 of the License, or (at your option) any later version.++    This library is distributed in the hope that it will be useful,+    but WITHOUT ANY WARRANTY; without even the implied warranty of+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU+    Lesser General Public License for more details.++    You should have received a copy of the GNU Lesser General Public+    License along with this library; if not, write to the Free Software+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA++Also add information on how to contact you by electronic and paper mail.++You should also get your employer (if you work as a programmer) or your+school, if any, to sign a "copyright disclaimer" for the library, if+necessary.  Here is a sample; alter the names:++  Yoyodyne, Inc., hereby disclaims all copyright interest in the+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.++  <signature of Ty Coon>, 1 April 1990+  Ty Coon, President of Vice++That's all there is to it!
+ Setup.hs view
@@ -0,0 +1,3 @@+#!/usr/bin/env runhaskell+import Distribution.Simple+main = defaultMain
+ gi-vte.cabal view
@@ -0,0 +1,31 @@+-- Autogenerated, do not edit.+name:               gi-vte+version:            0.0.40.8+synopsis:           Vte bindings+description:        Bindings for Vte, autogenerated by haskell-gi.+homepage:           https://github.com/haskell-gi/haskell-gi+license:            LGPL-2.1+license-file:       LICENSE+author:             Will Thompson, Iñaki García Etxebarria and Jonas Platte+maintainer:         Iñaki García Etxebarria (garetxe@gmail.com)+category:           Bindings+build-type:         Simple+cabal-version:      >=1.10++library+    default-language:   Haskell2010+    exposed-modules:    GI.Vte, GI.VteAttributes, GI.VteSignals+    pkgconfig-depends:  vte-2.91 >= 0.40+    build-depends: base >= 4.6 && <4.9,+        haskell-gi-base >= 0.8 && < 1,+        gi-atk >= 0.2.16.8 && < 0.3,+        gi-glib >= 0.2.44.8 && < 0.3,+        gi-gobject >= 0.2.44.8 && < 0.3,+        gi-gdk >= 0.3.16.8 && < 0.4,+        gi-gio >= 0.2.44.8 && < 0.3,+        gi-gtk >= 0.3.16.8 && < 0.4,+        gi-pango >= 0.1.36.8 && < 0.2,+        bytestring >= 0.10,+        containers >= 0.5,+        text >= 1.0,+        transformers >= 0.3