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

/No description available in the introspection data./
-}

#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
       && !defined(__HADDOCK_VERSION__))

module GI.Vte.Objects.Terminal
    (
#if ENABLE_OVERLOADING
    TerminalGetTextMethodInfo               ,
#endif
#if ENABLE_OVERLOADING
    TerminalGetTextIncludeTrailingSpacesMethodInfo,
#endif
#if ENABLE_OVERLOADING
    TerminalGetTextRangeMethodInfo          ,
#endif

-- * Exported types
    Terminal(..)                            ,
    IsTerminal                              ,
    toTerminal                              ,
    noTerminal                              ,


 -- * Methods
-- ** copyClipboard #method:copyClipboard#

#if ENABLE_OVERLOADING
    TerminalCopyClipboardMethodInfo         ,
#endif
    terminalCopyClipboard                   ,


-- ** copyClipboardFormat #method:copyClipboardFormat#

#if ENABLE_OVERLOADING
    TerminalCopyClipboardFormatMethodInfo   ,
#endif
    terminalCopyClipboardFormat             ,


-- ** copyPrimary #method:copyPrimary#

#if ENABLE_OVERLOADING
    TerminalCopyPrimaryMethodInfo           ,
#endif
    terminalCopyPrimary                     ,


-- ** feed #method:feed#

#if ENABLE_OVERLOADING
    TerminalFeedMethodInfo                  ,
#endif
    terminalFeed                            ,


-- ** feedChild #method:feedChild#

#if ENABLE_OVERLOADING
    TerminalFeedChildMethodInfo             ,
#endif
    terminalFeedChild                       ,


-- ** feedChildBinary #method:feedChildBinary#

#if ENABLE_OVERLOADING
    TerminalFeedChildBinaryMethodInfo       ,
#endif
    terminalFeedChildBinary                 ,


-- ** getAllowBold #method:getAllowBold#

#if ENABLE_OVERLOADING
    TerminalGetAllowBoldMethodInfo          ,
#endif
    terminalGetAllowBold                    ,


-- ** getAllowHyperlink #method:getAllowHyperlink#

#if ENABLE_OVERLOADING
    TerminalGetAllowHyperlinkMethodInfo     ,
#endif
    terminalGetAllowHyperlink               ,


-- ** getAudibleBell #method:getAudibleBell#

#if ENABLE_OVERLOADING
    TerminalGetAudibleBellMethodInfo        ,
#endif
    terminalGetAudibleBell                  ,


-- ** getBoldIsBright #method:getBoldIsBright#

#if ENABLE_OVERLOADING
    TerminalGetBoldIsBrightMethodInfo       ,
#endif
    terminalGetBoldIsBright                 ,


-- ** getCellHeightScale #method:getCellHeightScale#

#if ENABLE_OVERLOADING
    TerminalGetCellHeightScaleMethodInfo    ,
#endif
    terminalGetCellHeightScale              ,


-- ** getCellWidthScale #method:getCellWidthScale#

#if ENABLE_OVERLOADING
    TerminalGetCellWidthScaleMethodInfo     ,
#endif
    terminalGetCellWidthScale               ,


-- ** getCharHeight #method:getCharHeight#

#if ENABLE_OVERLOADING
    TerminalGetCharHeightMethodInfo         ,
#endif
    terminalGetCharHeight                   ,


-- ** getCharWidth #method:getCharWidth#

#if ENABLE_OVERLOADING
    TerminalGetCharWidthMethodInfo          ,
#endif
    terminalGetCharWidth                    ,


-- ** getCjkAmbiguousWidth #method:getCjkAmbiguousWidth#

#if ENABLE_OVERLOADING
    TerminalGetCjkAmbiguousWidthMethodInfo  ,
#endif
    terminalGetCjkAmbiguousWidth            ,


-- ** getColumnCount #method:getColumnCount#

#if ENABLE_OVERLOADING
    TerminalGetColumnCountMethodInfo        ,
#endif
    terminalGetColumnCount                  ,


-- ** getCurrentDirectoryUri #method:getCurrentDirectoryUri#

#if ENABLE_OVERLOADING
    TerminalGetCurrentDirectoryUriMethodInfo,
#endif
    terminalGetCurrentDirectoryUri          ,


-- ** getCurrentFileUri #method:getCurrentFileUri#

#if ENABLE_OVERLOADING
    TerminalGetCurrentFileUriMethodInfo     ,
#endif
    terminalGetCurrentFileUri               ,


-- ** getCursorBlinkMode #method:getCursorBlinkMode#

#if ENABLE_OVERLOADING
    TerminalGetCursorBlinkModeMethodInfo    ,
#endif
    terminalGetCursorBlinkMode              ,


-- ** getCursorPosition #method:getCursorPosition#

#if ENABLE_OVERLOADING
    TerminalGetCursorPositionMethodInfo     ,
#endif
    terminalGetCursorPosition               ,


-- ** getCursorShape #method:getCursorShape#

#if ENABLE_OVERLOADING
    TerminalGetCursorShapeMethodInfo        ,
#endif
    terminalGetCursorShape                  ,


-- ** getEncoding #method:getEncoding#

#if ENABLE_OVERLOADING
    TerminalGetEncodingMethodInfo           ,
#endif
    terminalGetEncoding                     ,


-- ** getFont #method:getFont#

#if ENABLE_OVERLOADING
    TerminalGetFontMethodInfo               ,
#endif
    terminalGetFont                         ,


-- ** getFontScale #method:getFontScale#

#if ENABLE_OVERLOADING
    TerminalGetFontScaleMethodInfo          ,
#endif
    terminalGetFontScale                    ,


-- ** getGeometryHints #method:getGeometryHints#

#if ENABLE_OVERLOADING
    TerminalGetGeometryHintsMethodInfo      ,
#endif
    terminalGetGeometryHints                ,


-- ** getHasSelection #method:getHasSelection#

#if ENABLE_OVERLOADING
    TerminalGetHasSelectionMethodInfo       ,
#endif
    terminalGetHasSelection                 ,


-- ** getIconTitle #method:getIconTitle#

#if ENABLE_OVERLOADING
    TerminalGetIconTitleMethodInfo          ,
#endif
    terminalGetIconTitle                    ,


-- ** getInputEnabled #method:getInputEnabled#

#if ENABLE_OVERLOADING
    TerminalGetInputEnabledMethodInfo       ,
#endif
    terminalGetInputEnabled                 ,


-- ** getMouseAutohide #method:getMouseAutohide#

#if ENABLE_OVERLOADING
    TerminalGetMouseAutohideMethodInfo      ,
#endif
    terminalGetMouseAutohide                ,


-- ** getPty #method:getPty#

#if ENABLE_OVERLOADING
    TerminalGetPtyMethodInfo                ,
#endif
    terminalGetPty                          ,


-- ** getRewrapOnResize #method:getRewrapOnResize#

#if ENABLE_OVERLOADING
    TerminalGetRewrapOnResizeMethodInfo     ,
#endif
    terminalGetRewrapOnResize               ,


-- ** getRowCount #method:getRowCount#

#if ENABLE_OVERLOADING
    TerminalGetRowCountMethodInfo           ,
#endif
    terminalGetRowCount                     ,


-- ** getScrollOnKeystroke #method:getScrollOnKeystroke#

#if ENABLE_OVERLOADING
    TerminalGetScrollOnKeystrokeMethodInfo  ,
#endif
    terminalGetScrollOnKeystroke            ,


-- ** getScrollOnOutput #method:getScrollOnOutput#

#if ENABLE_OVERLOADING
    TerminalGetScrollOnOutputMethodInfo     ,
#endif
    terminalGetScrollOnOutput               ,


-- ** getScrollbackLines #method:getScrollbackLines#

#if ENABLE_OVERLOADING
    TerminalGetScrollbackLinesMethodInfo    ,
#endif
    terminalGetScrollbackLines              ,


-- ** getTextBlinkMode #method:getTextBlinkMode#

#if ENABLE_OVERLOADING
    TerminalGetTextBlinkModeMethodInfo      ,
#endif
    terminalGetTextBlinkMode                ,


-- ** getWindowTitle #method:getWindowTitle#

#if ENABLE_OVERLOADING
    TerminalGetWindowTitleMethodInfo        ,
#endif
    terminalGetWindowTitle                  ,


-- ** getWordCharExceptions #method:getWordCharExceptions#

#if ENABLE_OVERLOADING
    TerminalGetWordCharExceptionsMethodInfo ,
#endif
    terminalGetWordCharExceptions           ,


-- ** hyperlinkCheckEvent #method:hyperlinkCheckEvent#

#if ENABLE_OVERLOADING
    TerminalHyperlinkCheckEventMethodInfo   ,
#endif
    terminalHyperlinkCheckEvent             ,


-- ** matchAddGregex #method:matchAddGregex#

#if ENABLE_OVERLOADING
    TerminalMatchAddGregexMethodInfo        ,
#endif
    terminalMatchAddGregex                  ,


-- ** matchAddRegex #method:matchAddRegex#

#if ENABLE_OVERLOADING
    TerminalMatchAddRegexMethodInfo         ,
#endif
    terminalMatchAddRegex                   ,


-- ** matchCheck #method:matchCheck#

#if ENABLE_OVERLOADING
    TerminalMatchCheckMethodInfo            ,
#endif
    terminalMatchCheck                      ,


-- ** matchCheckEvent #method:matchCheckEvent#

#if ENABLE_OVERLOADING
    TerminalMatchCheckEventMethodInfo       ,
#endif
    terminalMatchCheckEvent                 ,


-- ** matchRemove #method:matchRemove#

#if ENABLE_OVERLOADING
    TerminalMatchRemoveMethodInfo           ,
#endif
    terminalMatchRemove                     ,


-- ** matchRemoveAll #method:matchRemoveAll#

#if ENABLE_OVERLOADING
    TerminalMatchRemoveAllMethodInfo        ,
#endif
    terminalMatchRemoveAll                  ,


-- ** matchSetCursor #method:matchSetCursor#

#if ENABLE_OVERLOADING
    TerminalMatchSetCursorMethodInfo        ,
#endif
    terminalMatchSetCursor                  ,


-- ** matchSetCursorName #method:matchSetCursorName#

#if ENABLE_OVERLOADING
    TerminalMatchSetCursorNameMethodInfo    ,
#endif
    terminalMatchSetCursorName              ,


-- ** matchSetCursorType #method:matchSetCursorType#

#if ENABLE_OVERLOADING
    TerminalMatchSetCursorTypeMethodInfo    ,
#endif
    terminalMatchSetCursorType              ,


-- ** new #method:new#

    terminalNew                             ,


-- ** pasteClipboard #method:pasteClipboard#

#if ENABLE_OVERLOADING
    TerminalPasteClipboardMethodInfo        ,
#endif
    terminalPasteClipboard                  ,


-- ** pastePrimary #method:pastePrimary#

#if ENABLE_OVERLOADING
    TerminalPastePrimaryMethodInfo          ,
#endif
    terminalPastePrimary                    ,


-- ** ptyNewSync #method:ptyNewSync#

#if ENABLE_OVERLOADING
    TerminalPtyNewSyncMethodInfo            ,
#endif
    terminalPtyNewSync                      ,


-- ** reset #method:reset#

#if ENABLE_OVERLOADING
    TerminalResetMethodInfo                 ,
#endif
    terminalReset                           ,


-- ** searchFindNext #method:searchFindNext#

#if ENABLE_OVERLOADING
    TerminalSearchFindNextMethodInfo        ,
#endif
    terminalSearchFindNext                  ,


-- ** searchFindPrevious #method:searchFindPrevious#

#if ENABLE_OVERLOADING
    TerminalSearchFindPreviousMethodInfo    ,
#endif
    terminalSearchFindPrevious              ,


-- ** searchGetGregex #method:searchGetGregex#

#if ENABLE_OVERLOADING
    TerminalSearchGetGregexMethodInfo       ,
#endif
    terminalSearchGetGregex                 ,


-- ** searchGetRegex #method:searchGetRegex#

#if ENABLE_OVERLOADING
    TerminalSearchGetRegexMethodInfo        ,
#endif
    terminalSearchGetRegex                  ,


-- ** searchGetWrapAround #method:searchGetWrapAround#

#if ENABLE_OVERLOADING
    TerminalSearchGetWrapAroundMethodInfo   ,
#endif
    terminalSearchGetWrapAround             ,


-- ** searchSetGregex #method:searchSetGregex#

#if ENABLE_OVERLOADING
    TerminalSearchSetGregexMethodInfo       ,
#endif
    terminalSearchSetGregex                 ,


-- ** searchSetRegex #method:searchSetRegex#

#if ENABLE_OVERLOADING
    TerminalSearchSetRegexMethodInfo        ,
#endif
    terminalSearchSetRegex                  ,


-- ** searchSetWrapAround #method:searchSetWrapAround#

#if ENABLE_OVERLOADING
    TerminalSearchSetWrapAroundMethodInfo   ,
#endif
    terminalSearchSetWrapAround             ,


-- ** selectAll #method:selectAll#

#if ENABLE_OVERLOADING
    TerminalSelectAllMethodInfo             ,
#endif
    terminalSelectAll                       ,


-- ** setAllowBold #method:setAllowBold#

#if ENABLE_OVERLOADING
    TerminalSetAllowBoldMethodInfo          ,
#endif
    terminalSetAllowBold                    ,


-- ** setAllowHyperlink #method:setAllowHyperlink#

#if ENABLE_OVERLOADING
    TerminalSetAllowHyperlinkMethodInfo     ,
#endif
    terminalSetAllowHyperlink               ,


-- ** setAudibleBell #method:setAudibleBell#

#if ENABLE_OVERLOADING
    TerminalSetAudibleBellMethodInfo        ,
#endif
    terminalSetAudibleBell                  ,


-- ** setBackspaceBinding #method:setBackspaceBinding#

#if ENABLE_OVERLOADING
    TerminalSetBackspaceBindingMethodInfo   ,
#endif
    terminalSetBackspaceBinding             ,


-- ** setBoldIsBright #method:setBoldIsBright#

#if ENABLE_OVERLOADING
    TerminalSetBoldIsBrightMethodInfo       ,
#endif
    terminalSetBoldIsBright                 ,


-- ** setCellHeightScale #method:setCellHeightScale#

#if ENABLE_OVERLOADING
    TerminalSetCellHeightScaleMethodInfo    ,
#endif
    terminalSetCellHeightScale              ,


-- ** setCellWidthScale #method:setCellWidthScale#

#if ENABLE_OVERLOADING
    TerminalSetCellWidthScaleMethodInfo     ,
#endif
    terminalSetCellWidthScale               ,


-- ** setCjkAmbiguousWidth #method:setCjkAmbiguousWidth#

#if ENABLE_OVERLOADING
    TerminalSetCjkAmbiguousWidthMethodInfo  ,
#endif
    terminalSetCjkAmbiguousWidth            ,


-- ** setClearBackground #method:setClearBackground#

#if ENABLE_OVERLOADING
    TerminalSetClearBackgroundMethodInfo    ,
#endif
    terminalSetClearBackground              ,


-- ** setColorBackground #method:setColorBackground#

#if ENABLE_OVERLOADING
    TerminalSetColorBackgroundMethodInfo    ,
#endif
    terminalSetColorBackground              ,


-- ** setColorBold #method:setColorBold#

#if ENABLE_OVERLOADING
    TerminalSetColorBoldMethodInfo          ,
#endif
    terminalSetColorBold                    ,


-- ** setColorCursor #method:setColorCursor#

#if ENABLE_OVERLOADING
    TerminalSetColorCursorMethodInfo        ,
#endif
    terminalSetColorCursor                  ,


-- ** setColorCursorForeground #method:setColorCursorForeground#

#if ENABLE_OVERLOADING
    TerminalSetColorCursorForegroundMethodInfo,
#endif
    terminalSetColorCursorForeground        ,


-- ** setColorForeground #method:setColorForeground#

#if ENABLE_OVERLOADING
    TerminalSetColorForegroundMethodInfo    ,
#endif
    terminalSetColorForeground              ,


-- ** setColorHighlight #method:setColorHighlight#

#if ENABLE_OVERLOADING
    TerminalSetColorHighlightMethodInfo     ,
#endif
    terminalSetColorHighlight               ,


-- ** setColorHighlightForeground #method:setColorHighlightForeground#

#if ENABLE_OVERLOADING
    TerminalSetColorHighlightForegroundMethodInfo,
#endif
    terminalSetColorHighlightForeground     ,


-- ** setColors #method:setColors#

#if ENABLE_OVERLOADING
    TerminalSetColorsMethodInfo             ,
#endif
    terminalSetColors                       ,


-- ** setCursorBlinkMode #method:setCursorBlinkMode#

#if ENABLE_OVERLOADING
    TerminalSetCursorBlinkModeMethodInfo    ,
#endif
    terminalSetCursorBlinkMode              ,


-- ** setCursorShape #method:setCursorShape#

#if ENABLE_OVERLOADING
    TerminalSetCursorShapeMethodInfo        ,
#endif
    terminalSetCursorShape                  ,


-- ** setDefaultColors #method:setDefaultColors#

#if ENABLE_OVERLOADING
    TerminalSetDefaultColorsMethodInfo      ,
#endif
    terminalSetDefaultColors                ,


-- ** setDeleteBinding #method:setDeleteBinding#

#if ENABLE_OVERLOADING
    TerminalSetDeleteBindingMethodInfo      ,
#endif
    terminalSetDeleteBinding                ,


-- ** setEncoding #method:setEncoding#

#if ENABLE_OVERLOADING
    TerminalSetEncodingMethodInfo           ,
#endif
    terminalSetEncoding                     ,


-- ** setFont #method:setFont#

#if ENABLE_OVERLOADING
    TerminalSetFontMethodInfo               ,
#endif
    terminalSetFont                         ,


-- ** setFontScale #method:setFontScale#

#if ENABLE_OVERLOADING
    TerminalSetFontScaleMethodInfo          ,
#endif
    terminalSetFontScale                    ,


-- ** setGeometryHintsForWindow #method:setGeometryHintsForWindow#

#if ENABLE_OVERLOADING
    TerminalSetGeometryHintsForWindowMethodInfo,
#endif
    terminalSetGeometryHintsForWindow       ,


-- ** setInputEnabled #method:setInputEnabled#

#if ENABLE_OVERLOADING
    TerminalSetInputEnabledMethodInfo       ,
#endif
    terminalSetInputEnabled                 ,


-- ** setMouseAutohide #method:setMouseAutohide#

#if ENABLE_OVERLOADING
    TerminalSetMouseAutohideMethodInfo      ,
#endif
    terminalSetMouseAutohide                ,


-- ** setPty #method:setPty#

#if ENABLE_OVERLOADING
    TerminalSetPtyMethodInfo                ,
#endif
    terminalSetPty                          ,


-- ** setRewrapOnResize #method:setRewrapOnResize#

#if ENABLE_OVERLOADING
    TerminalSetRewrapOnResizeMethodInfo     ,
#endif
    terminalSetRewrapOnResize               ,


-- ** setScrollOnKeystroke #method:setScrollOnKeystroke#

#if ENABLE_OVERLOADING
    TerminalSetScrollOnKeystrokeMethodInfo  ,
#endif
    terminalSetScrollOnKeystroke            ,


-- ** setScrollOnOutput #method:setScrollOnOutput#

#if ENABLE_OVERLOADING
    TerminalSetScrollOnOutputMethodInfo     ,
#endif
    terminalSetScrollOnOutput               ,


-- ** setScrollSpeed #method:setScrollSpeed#

#if ENABLE_OVERLOADING
    TerminalSetScrollSpeedMethodInfo        ,
#endif
    terminalSetScrollSpeed                  ,


-- ** setScrollbackLines #method:setScrollbackLines#

#if ENABLE_OVERLOADING
    TerminalSetScrollbackLinesMethodInfo    ,
#endif
    terminalSetScrollbackLines              ,


-- ** setSize #method:setSize#

#if ENABLE_OVERLOADING
    TerminalSetSizeMethodInfo               ,
#endif
    terminalSetSize                         ,


-- ** setTextBlinkMode #method:setTextBlinkMode#

#if ENABLE_OVERLOADING
    TerminalSetTextBlinkModeMethodInfo      ,
#endif
    terminalSetTextBlinkMode                ,


-- ** setWordCharExceptions #method:setWordCharExceptions#

#if ENABLE_OVERLOADING
    TerminalSetWordCharExceptionsMethodInfo ,
#endif
    terminalSetWordCharExceptions           ,


-- ** spawnSync #method:spawnSync#

#if ENABLE_OVERLOADING
    TerminalSpawnSyncMethodInfo             ,
#endif
    terminalSpawnSync                       ,


-- ** unselectAll #method:unselectAll#

#if ENABLE_OVERLOADING
    TerminalUnselectAllMethodInfo           ,
#endif
    terminalUnselectAll                     ,


-- ** watchChild #method:watchChild#

#if ENABLE_OVERLOADING
    TerminalWatchChildMethodInfo            ,
#endif
    terminalWatchChild                      ,


-- ** writeContentsSync #method:writeContentsSync#

#if ENABLE_OVERLOADING
    TerminalWriteContentsSyncMethodInfo     ,
#endif
    terminalWriteContentsSync               ,




 -- * Properties
-- ** allowBold #attr:allowBold#
{- | Controls whether or not the terminal will attempt to draw bold text.
This may happen either by using a bold font variant, or by
repainting text with a different offset.
-}
#if ENABLE_OVERLOADING
    TerminalAllowBoldPropertyInfo           ,
#endif
    constructTerminalAllowBold              ,
    getTerminalAllowBold                    ,
    setTerminalAllowBold                    ,
#if ENABLE_OVERLOADING
    terminalAllowBold                       ,
#endif


-- ** allowHyperlink #attr:allowHyperlink#
{- | Controls whether or not hyperlinks (OSC 8 escape sequence) are recognized and displayed.

@since 0.50
-}
#if ENABLE_OVERLOADING
    TerminalAllowHyperlinkPropertyInfo      ,
#endif
    constructTerminalAllowHyperlink         ,
    getTerminalAllowHyperlink               ,
    setTerminalAllowHyperlink               ,
#if ENABLE_OVERLOADING
    terminalAllowHyperlink                  ,
#endif


-- ** audibleBell #attr:audibleBell#
{- | Controls whether or not the terminal will beep when the child outputs the
\"bl\" sequence.
-}
#if ENABLE_OVERLOADING
    TerminalAudibleBellPropertyInfo         ,
#endif
    constructTerminalAudibleBell            ,
    getTerminalAudibleBell                  ,
    setTerminalAudibleBell                  ,
#if ENABLE_OVERLOADING
    terminalAudibleBell                     ,
#endif


-- ** backspaceBinding #attr:backspaceBinding#
{- | Controls what string or control sequence the terminal sends to its child
when the user presses the backspace key.
-}
#if ENABLE_OVERLOADING
    TerminalBackspaceBindingPropertyInfo    ,
#endif
    constructTerminalBackspaceBinding       ,
    getTerminalBackspaceBinding             ,
    setTerminalBackspaceBinding             ,
#if ENABLE_OVERLOADING
    terminalBackspaceBinding                ,
#endif


-- ** boldIsBright #attr:boldIsBright#
{- | Whether the SGR 1 attribute also switches to the bright counterpart
of the first 8 palette colors, in addition to making them bold (legacy behavior)
or if SGR 1 only enables bold and leaves the color intact.

@since 0.52
-}
#if ENABLE_OVERLOADING
    TerminalBoldIsBrightPropertyInfo        ,
#endif
    constructTerminalBoldIsBright           ,
    getTerminalBoldIsBright                 ,
    setTerminalBoldIsBright                 ,
#if ENABLE_OVERLOADING
    terminalBoldIsBright                    ,
#endif


-- ** cellHeightScale #attr:cellHeightScale#
{- | Scale factor for the cell height, to increase line spacing. (The font\'s height is not affected.)

@since 0.52
-}
#if ENABLE_OVERLOADING
    TerminalCellHeightScalePropertyInfo     ,
#endif
    constructTerminalCellHeightScale        ,
    getTerminalCellHeightScale              ,
    setTerminalCellHeightScale              ,
#if ENABLE_OVERLOADING
    terminalCellHeightScale                 ,
#endif


-- ** cellWidthScale #attr:cellWidthScale#
{- | Scale factor for the cell width, to increase letter spacing. (The font\'s width is not affected.)

@since 0.52
-}
#if ENABLE_OVERLOADING
    TerminalCellWidthScalePropertyInfo      ,
#endif
    constructTerminalCellWidthScale         ,
    getTerminalCellWidthScale               ,
    setTerminalCellWidthScale               ,
#if ENABLE_OVERLOADING
    terminalCellWidthScale                  ,
#endif


-- ** cjkAmbiguousWidth #attr:cjkAmbiguousWidth#
{- | This setting controls whether ambiguous-width characters are narrow or wide
when using the UTF-8 encoding ('GI.Vte.Objects.Terminal.terminalSetEncoding'). In all other encodings,
the width of ambiguous-width characters is fixed.

This setting only takes effect the next time the terminal is reset, either
via escape sequence or with 'GI.Vte.Objects.Terminal.terminalReset'.
-}
#if ENABLE_OVERLOADING
    TerminalCjkAmbiguousWidthPropertyInfo   ,
#endif
    constructTerminalCjkAmbiguousWidth      ,
    getTerminalCjkAmbiguousWidth            ,
    setTerminalCjkAmbiguousWidth            ,
#if ENABLE_OVERLOADING
    terminalCjkAmbiguousWidth               ,
#endif


-- ** currentDirectoryUri #attr:currentDirectoryUri#
{- | The current directory URI, or 'Nothing' if unset.
-}
#if ENABLE_OVERLOADING
    TerminalCurrentDirectoryUriPropertyInfo ,
#endif
    getTerminalCurrentDirectoryUri          ,
#if ENABLE_OVERLOADING
    terminalCurrentDirectoryUri             ,
#endif


-- ** currentFileUri #attr:currentFileUri#
{- | The current file URI, or 'Nothing' if unset.
-}
#if ENABLE_OVERLOADING
    TerminalCurrentFileUriPropertyInfo      ,
#endif
    getTerminalCurrentFileUri               ,
#if ENABLE_OVERLOADING
    terminalCurrentFileUri                  ,
#endif


-- ** cursorBlinkMode #attr:cursorBlinkMode#
{- | Sets whether or not the cursor will blink. Using 'GI.Vte.Enums.CursorBlinkModeSystem'
will use the 'GI.Gtk.Objects.Settings.Settings'::@/gtk-cursor-blink/@ setting.
-}
#if ENABLE_OVERLOADING
    TerminalCursorBlinkModePropertyInfo     ,
#endif
    constructTerminalCursorBlinkMode        ,
    getTerminalCursorBlinkMode              ,
    setTerminalCursorBlinkMode              ,
#if ENABLE_OVERLOADING
    terminalCursorBlinkMode                 ,
#endif


-- ** cursorShape #attr:cursorShape#
{- | Controls the shape of the cursor.
-}
#if ENABLE_OVERLOADING
    TerminalCursorShapePropertyInfo         ,
#endif
    constructTerminalCursorShape            ,
    getTerminalCursorShape                  ,
    setTerminalCursorShape                  ,
#if ENABLE_OVERLOADING
    terminalCursorShape                     ,
#endif


-- ** deleteBinding #attr:deleteBinding#
{- | Controls what string or control sequence the terminal sends to its child
when the user presses the delete key.
-}
#if ENABLE_OVERLOADING
    TerminalDeleteBindingPropertyInfo       ,
#endif
    constructTerminalDeleteBinding          ,
    getTerminalDeleteBinding                ,
    setTerminalDeleteBinding                ,
#if ENABLE_OVERLOADING
    terminalDeleteBinding                   ,
#endif


-- ** encoding #attr:encoding#
{- | Controls the encoding the terminal will expect data from the child to
be encoded with.  For certain terminal types, applications executing in the
terminal can change the encoding.  The default is defined by the
application\'s locale settings.
-}
#if ENABLE_OVERLOADING
    TerminalEncodingPropertyInfo            ,
#endif
    clearTerminalEncoding                   ,
    constructTerminalEncoding               ,
    getTerminalEncoding                     ,
    setTerminalEncoding                     ,
#if ENABLE_OVERLOADING
    terminalEncoding                        ,
#endif


-- ** fontDesc #attr:fontDesc#
{- | Specifies the font used for rendering all text displayed by the terminal,
overriding any fonts set using 'GI.Gtk.Objects.Widget.widgetModifyFont'.  The terminal
will immediately attempt to load the desired font, retrieve its
metrics, and attempt to resize itself to keep the same number of rows
and columns.
-}
#if ENABLE_OVERLOADING
    TerminalFontDescPropertyInfo            ,
#endif
    clearTerminalFontDesc                   ,
    constructTerminalFontDesc               ,
    getTerminalFontDesc                     ,
    setTerminalFontDesc                     ,
#if ENABLE_OVERLOADING
    terminalFontDesc                        ,
#endif


-- ** fontScale #attr:fontScale#
{- | The terminal\'s font scale.
-}
#if ENABLE_OVERLOADING
    TerminalFontScalePropertyInfo           ,
#endif
    constructTerminalFontScale              ,
    getTerminalFontScale                    ,
    setTerminalFontScale                    ,
#if ENABLE_OVERLOADING
    terminalFontScale                       ,
#endif


-- ** hyperlinkHoverUri #attr:hyperlinkHoverUri#
{- | The currently hovered hyperlink URI, or 'Nothing' if unset.

@since 0.50
-}
#if ENABLE_OVERLOADING
    TerminalHyperlinkHoverUriPropertyInfo   ,
#endif
    getTerminalHyperlinkHoverUri            ,
#if ENABLE_OVERLOADING
    terminalHyperlinkHoverUri               ,
#endif


-- ** iconTitle #attr:iconTitle#
{- | The terminal\'s so-called icon title, or 'Nothing' if no icon title has been set.
-}
#if ENABLE_OVERLOADING
    TerminalIconTitlePropertyInfo           ,
#endif
    getTerminalIconTitle                    ,
#if ENABLE_OVERLOADING
    terminalIconTitle                       ,
#endif


-- ** inputEnabled #attr:inputEnabled#
{- | Controls whether the terminal allows user input. When user input is disabled,
key press and mouse button press and motion events are not sent to the
terminal\'s child.
-}
#if ENABLE_OVERLOADING
    TerminalInputEnabledPropertyInfo        ,
#endif
    constructTerminalInputEnabled           ,
    getTerminalInputEnabled                 ,
    setTerminalInputEnabled                 ,
#if ENABLE_OVERLOADING
    terminalInputEnabled                    ,
#endif


-- ** pointerAutohide #attr:pointerAutohide#
{- | Controls the value of the terminal\'s mouse autohide setting.  When autohiding
is enabled, the mouse cursor will be hidden when the user presses a key and
shown when the user moves the mouse.
-}
#if ENABLE_OVERLOADING
    TerminalPointerAutohidePropertyInfo     ,
#endif
    constructTerminalPointerAutohide        ,
    getTerminalPointerAutohide              ,
    setTerminalPointerAutohide              ,
#if ENABLE_OVERLOADING
    terminalPointerAutohide                 ,
#endif


-- ** pty #attr:pty#
{- | The PTY object for the terminal.
-}
#if ENABLE_OVERLOADING
    TerminalPtyPropertyInfo                 ,
#endif
    clearTerminalPty                        ,
    constructTerminalPty                    ,
    getTerminalPty                          ,
    setTerminalPty                          ,
#if ENABLE_OVERLOADING
    terminalPty                             ,
#endif


-- ** rewrapOnResize #attr:rewrapOnResize#
{- | Controls whether or not the terminal will rewrap its contents, including
the scrollback buffer, whenever the terminal\'s width changes.
-}
#if ENABLE_OVERLOADING
    TerminalRewrapOnResizePropertyInfo      ,
#endif
    constructTerminalRewrapOnResize         ,
    getTerminalRewrapOnResize               ,
    setTerminalRewrapOnResize               ,
#if ENABLE_OVERLOADING
    terminalRewrapOnResize                  ,
#endif


-- ** scrollOnKeystroke #attr:scrollOnKeystroke#
{- | Controls whether or not the terminal will forcibly scroll to the bottom of
the viewable history when the user presses a key.  Modifier keys do not
trigger this behavior.
-}
#if ENABLE_OVERLOADING
    TerminalScrollOnKeystrokePropertyInfo   ,
#endif
    constructTerminalScrollOnKeystroke      ,
    getTerminalScrollOnKeystroke            ,
    setTerminalScrollOnKeystroke            ,
#if ENABLE_OVERLOADING
    terminalScrollOnKeystroke               ,
#endif


-- ** scrollOnOutput #attr:scrollOnOutput#
{- | Controls whether or not the terminal will forcibly scroll to the bottom of
the viewable history when the new data is received from the child.
-}
#if ENABLE_OVERLOADING
    TerminalScrollOnOutputPropertyInfo      ,
#endif
    constructTerminalScrollOnOutput         ,
    getTerminalScrollOnOutput               ,
    setTerminalScrollOnOutput               ,
#if ENABLE_OVERLOADING
    terminalScrollOnOutput                  ,
#endif


-- ** scrollSpeed #attr:scrollSpeed#
{- | The number of lines by which the buffer is moved when
scrolling with a mouse wheel on top of the terminal
Setting it to zero will cause the buffer to be moved by an
amount depending on the number of visible rows the widget
can display.
-}
#if ENABLE_OVERLOADING
    TerminalScrollSpeedPropertyInfo         ,
#endif
    constructTerminalScrollSpeed            ,
    getTerminalScrollSpeed                  ,
    setTerminalScrollSpeed                  ,
#if ENABLE_OVERLOADING
    terminalScrollSpeed                     ,
#endif


-- ** scrollbackLines #attr:scrollbackLines#
{- | The length of the scrollback buffer used by the terminal.  The size of
the scrollback buffer will be set to the larger of this value and the number
of visible rows the widget can display, so 0 can safely be used to disable
scrollback.  Note that this setting only affects the normal screen buffer.
For terminal types which have an alternate screen buffer, no scrollback is
allowed on the alternate screen buffer.
-}
#if ENABLE_OVERLOADING
    TerminalScrollbackLinesPropertyInfo     ,
#endif
    constructTerminalScrollbackLines        ,
    getTerminalScrollbackLines              ,
    setTerminalScrollbackLines              ,
#if ENABLE_OVERLOADING
    terminalScrollbackLines                 ,
#endif


-- ** textBlinkMode #attr:textBlinkMode#
{- | Controls whether or not the terminal will allow blinking text.

@since 0.52
-}
#if ENABLE_OVERLOADING
    TerminalTextBlinkModePropertyInfo       ,
#endif
    constructTerminalTextBlinkMode          ,
    getTerminalTextBlinkMode                ,
    setTerminalTextBlinkMode                ,
#if ENABLE_OVERLOADING
    terminalTextBlinkMode                   ,
#endif


-- ** windowTitle #attr:windowTitle#
{- | The terminal\'s title.
-}
#if ENABLE_OVERLOADING
    TerminalWindowTitlePropertyInfo         ,
#endif
    getTerminalWindowTitle                  ,
#if ENABLE_OVERLOADING
    terminalWindowTitle                     ,
#endif


-- ** wordCharExceptions #attr:wordCharExceptions#
{- | The set of characters which will be considered parts of a word
when doing word-wise selection, in addition to the default which only
considers alphanumeric characters part of a word.

If 'Nothing', a built-in set is used.

@since 0.40
-}
#if ENABLE_OVERLOADING
    TerminalWordCharExceptionsPropertyInfo  ,
#endif
    getTerminalWordCharExceptions           ,
#if ENABLE_OVERLOADING
    terminalWordCharExceptions              ,
#endif




 -- * Signals
-- ** bell #signal:bell#

    C_TerminalBellCallback                  ,
    TerminalBellCallback                    ,
#if ENABLE_OVERLOADING
    TerminalBellSignalInfo                  ,
#endif
    afterTerminalBell                       ,
    genClosure_TerminalBell                 ,
    mk_TerminalBellCallback                 ,
    noTerminalBellCallback                  ,
    onTerminalBell                          ,
    wrap_TerminalBellCallback               ,


-- ** charSizeChanged #signal:charSizeChanged#

    C_TerminalCharSizeChangedCallback       ,
    TerminalCharSizeChangedCallback         ,
#if ENABLE_OVERLOADING
    TerminalCharSizeChangedSignalInfo       ,
#endif
    afterTerminalCharSizeChanged            ,
    genClosure_TerminalCharSizeChanged      ,
    mk_TerminalCharSizeChangedCallback      ,
    noTerminalCharSizeChangedCallback       ,
    onTerminalCharSizeChanged               ,
    wrap_TerminalCharSizeChangedCallback    ,


-- ** childExited #signal:childExited#

    C_TerminalChildExitedCallback           ,
    TerminalChildExitedCallback             ,
#if ENABLE_OVERLOADING
    TerminalChildExitedSignalInfo           ,
#endif
    afterTerminalChildExited                ,
    genClosure_TerminalChildExited          ,
    mk_TerminalChildExitedCallback          ,
    noTerminalChildExitedCallback           ,
    onTerminalChildExited                   ,
    wrap_TerminalChildExitedCallback        ,


-- ** commit #signal:commit#

    C_TerminalCommitCallback                ,
    TerminalCommitCallback                  ,
#if ENABLE_OVERLOADING
    TerminalCommitSignalInfo                ,
#endif
    afterTerminalCommit                     ,
    genClosure_TerminalCommit               ,
    mk_TerminalCommitCallback               ,
    noTerminalCommitCallback                ,
    onTerminalCommit                        ,
    wrap_TerminalCommitCallback             ,


-- ** contentsChanged #signal:contentsChanged#

    C_TerminalContentsChangedCallback       ,
    TerminalContentsChangedCallback         ,
#if ENABLE_OVERLOADING
    TerminalContentsChangedSignalInfo       ,
#endif
    afterTerminalContentsChanged            ,
    genClosure_TerminalContentsChanged      ,
    mk_TerminalContentsChangedCallback      ,
    noTerminalContentsChangedCallback       ,
    onTerminalContentsChanged               ,
    wrap_TerminalContentsChangedCallback    ,


-- ** copyClipboard #signal:copyClipboard#

    C_TerminalCopyClipboardCallback         ,
    TerminalCopyClipboardCallback           ,
#if ENABLE_OVERLOADING
    TerminalCopyClipboardSignalInfo         ,
#endif
    afterTerminalCopyClipboard              ,
    genClosure_TerminalCopyClipboard        ,
    mk_TerminalCopyClipboardCallback        ,
    noTerminalCopyClipboardCallback         ,
    onTerminalCopyClipboard                 ,
    wrap_TerminalCopyClipboardCallback      ,


-- ** currentDirectoryUriChanged #signal:currentDirectoryUriChanged#

    C_TerminalCurrentDirectoryUriChangedCallback,
    TerminalCurrentDirectoryUriChangedCallback,
#if ENABLE_OVERLOADING
    TerminalCurrentDirectoryUriChangedSignalInfo,
#endif
    afterTerminalCurrentDirectoryUriChanged ,
    genClosure_TerminalCurrentDirectoryUriChanged,
    mk_TerminalCurrentDirectoryUriChangedCallback,
    noTerminalCurrentDirectoryUriChangedCallback,
    onTerminalCurrentDirectoryUriChanged    ,
    wrap_TerminalCurrentDirectoryUriChangedCallback,


-- ** currentFileUriChanged #signal:currentFileUriChanged#

    C_TerminalCurrentFileUriChangedCallback ,
    TerminalCurrentFileUriChangedCallback   ,
#if ENABLE_OVERLOADING
    TerminalCurrentFileUriChangedSignalInfo ,
#endif
    afterTerminalCurrentFileUriChanged      ,
    genClosure_TerminalCurrentFileUriChanged,
    mk_TerminalCurrentFileUriChangedCallback,
    noTerminalCurrentFileUriChangedCallback ,
    onTerminalCurrentFileUriChanged         ,
    wrap_TerminalCurrentFileUriChangedCallback,


-- ** cursorMoved #signal:cursorMoved#

    C_TerminalCursorMovedCallback           ,
    TerminalCursorMovedCallback             ,
#if ENABLE_OVERLOADING
    TerminalCursorMovedSignalInfo           ,
#endif
    afterTerminalCursorMoved                ,
    genClosure_TerminalCursorMoved          ,
    mk_TerminalCursorMovedCallback          ,
    noTerminalCursorMovedCallback           ,
    onTerminalCursorMoved                   ,
    wrap_TerminalCursorMovedCallback        ,


-- ** decreaseFontSize #signal:decreaseFontSize#

    C_TerminalDecreaseFontSizeCallback      ,
    TerminalDecreaseFontSizeCallback        ,
#if ENABLE_OVERLOADING
    TerminalDecreaseFontSizeSignalInfo      ,
#endif
    afterTerminalDecreaseFontSize           ,
    genClosure_TerminalDecreaseFontSize     ,
    mk_TerminalDecreaseFontSizeCallback     ,
    noTerminalDecreaseFontSizeCallback      ,
    onTerminalDecreaseFontSize              ,
    wrap_TerminalDecreaseFontSizeCallback   ,


-- ** deiconifyWindow #signal:deiconifyWindow#

    C_TerminalDeiconifyWindowCallback       ,
    TerminalDeiconifyWindowCallback         ,
#if ENABLE_OVERLOADING
    TerminalDeiconifyWindowSignalInfo       ,
#endif
    afterTerminalDeiconifyWindow            ,
    genClosure_TerminalDeiconifyWindow      ,
    mk_TerminalDeiconifyWindowCallback      ,
    noTerminalDeiconifyWindowCallback       ,
    onTerminalDeiconifyWindow               ,
    wrap_TerminalDeiconifyWindowCallback    ,


-- ** encodingChanged #signal:encodingChanged#

    C_TerminalEncodingChangedCallback       ,
    TerminalEncodingChangedCallback         ,
#if ENABLE_OVERLOADING
    TerminalEncodingChangedSignalInfo       ,
#endif
    afterTerminalEncodingChanged            ,
    genClosure_TerminalEncodingChanged      ,
    mk_TerminalEncodingChangedCallback      ,
    noTerminalEncodingChangedCallback       ,
    onTerminalEncodingChanged               ,
    wrap_TerminalEncodingChangedCallback    ,


-- ** eof #signal:eof#

    C_TerminalEofCallback                   ,
    TerminalEofCallback                     ,
#if ENABLE_OVERLOADING
    TerminalEofSignalInfo                   ,
#endif
    afterTerminalEof                        ,
    genClosure_TerminalEof                  ,
    mk_TerminalEofCallback                  ,
    noTerminalEofCallback                   ,
    onTerminalEof                           ,
    wrap_TerminalEofCallback                ,


-- ** hyperlinkHoverUriChanged #signal:hyperlinkHoverUriChanged#

    C_TerminalHyperlinkHoverUriChangedCallback,
    TerminalHyperlinkHoverUriChangedCallback,
#if ENABLE_OVERLOADING
    TerminalHyperlinkHoverUriChangedSignalInfo,
#endif
    afterTerminalHyperlinkHoverUriChanged   ,
    genClosure_TerminalHyperlinkHoverUriChanged,
    mk_TerminalHyperlinkHoverUriChangedCallback,
    noTerminalHyperlinkHoverUriChangedCallback,
    onTerminalHyperlinkHoverUriChanged      ,
    wrap_TerminalHyperlinkHoverUriChangedCallback,


-- ** iconTitleChanged #signal:iconTitleChanged#

    C_TerminalIconTitleChangedCallback      ,
    TerminalIconTitleChangedCallback        ,
#if ENABLE_OVERLOADING
    TerminalIconTitleChangedSignalInfo      ,
#endif
    afterTerminalIconTitleChanged           ,
    genClosure_TerminalIconTitleChanged     ,
    mk_TerminalIconTitleChangedCallback     ,
    noTerminalIconTitleChangedCallback      ,
    onTerminalIconTitleChanged              ,
    wrap_TerminalIconTitleChangedCallback   ,


-- ** iconifyWindow #signal:iconifyWindow#

    C_TerminalIconifyWindowCallback         ,
    TerminalIconifyWindowCallback           ,
#if ENABLE_OVERLOADING
    TerminalIconifyWindowSignalInfo         ,
#endif
    afterTerminalIconifyWindow              ,
    genClosure_TerminalIconifyWindow        ,
    mk_TerminalIconifyWindowCallback        ,
    noTerminalIconifyWindowCallback         ,
    onTerminalIconifyWindow                 ,
    wrap_TerminalIconifyWindowCallback      ,


-- ** increaseFontSize #signal:increaseFontSize#

    C_TerminalIncreaseFontSizeCallback      ,
    TerminalIncreaseFontSizeCallback        ,
#if ENABLE_OVERLOADING
    TerminalIncreaseFontSizeSignalInfo      ,
#endif
    afterTerminalIncreaseFontSize           ,
    genClosure_TerminalIncreaseFontSize     ,
    mk_TerminalIncreaseFontSizeCallback     ,
    noTerminalIncreaseFontSizeCallback      ,
    onTerminalIncreaseFontSize              ,
    wrap_TerminalIncreaseFontSizeCallback   ,


-- ** lowerWindow #signal:lowerWindow#

    C_TerminalLowerWindowCallback           ,
    TerminalLowerWindowCallback             ,
#if ENABLE_OVERLOADING
    TerminalLowerWindowSignalInfo           ,
#endif
    afterTerminalLowerWindow                ,
    genClosure_TerminalLowerWindow          ,
    mk_TerminalLowerWindowCallback          ,
    noTerminalLowerWindowCallback           ,
    onTerminalLowerWindow                   ,
    wrap_TerminalLowerWindowCallback        ,


-- ** maximizeWindow #signal:maximizeWindow#

    C_TerminalMaximizeWindowCallback        ,
    TerminalMaximizeWindowCallback          ,
#if ENABLE_OVERLOADING
    TerminalMaximizeWindowSignalInfo        ,
#endif
    afterTerminalMaximizeWindow             ,
    genClosure_TerminalMaximizeWindow       ,
    mk_TerminalMaximizeWindowCallback       ,
    noTerminalMaximizeWindowCallback        ,
    onTerminalMaximizeWindow                ,
    wrap_TerminalMaximizeWindowCallback     ,


-- ** moveWindow #signal:moveWindow#

    C_TerminalMoveWindowCallback            ,
    TerminalMoveWindowCallback              ,
#if ENABLE_OVERLOADING
    TerminalMoveWindowSignalInfo            ,
#endif
    afterTerminalMoveWindow                 ,
    genClosure_TerminalMoveWindow           ,
    mk_TerminalMoveWindowCallback           ,
    noTerminalMoveWindowCallback            ,
    onTerminalMoveWindow                    ,
    wrap_TerminalMoveWindowCallback         ,


-- ** notificationReceived #signal:notificationReceived#

    C_TerminalNotificationReceivedCallback  ,
    TerminalNotificationReceivedCallback    ,
#if ENABLE_OVERLOADING
    TerminalNotificationReceivedSignalInfo  ,
#endif
    afterTerminalNotificationReceived       ,
    genClosure_TerminalNotificationReceived ,
    mk_TerminalNotificationReceivedCallback ,
    noTerminalNotificationReceivedCallback  ,
    onTerminalNotificationReceived          ,
    wrap_TerminalNotificationReceivedCallback,


-- ** pasteClipboard #signal:pasteClipboard#

    C_TerminalPasteClipboardCallback        ,
    TerminalPasteClipboardCallback          ,
#if ENABLE_OVERLOADING
    TerminalPasteClipboardSignalInfo        ,
#endif
    afterTerminalPasteClipboard             ,
    genClosure_TerminalPasteClipboard       ,
    mk_TerminalPasteClipboardCallback       ,
    noTerminalPasteClipboardCallback        ,
    onTerminalPasteClipboard                ,
    wrap_TerminalPasteClipboardCallback     ,


-- ** raiseWindow #signal:raiseWindow#

    C_TerminalRaiseWindowCallback           ,
    TerminalRaiseWindowCallback             ,
#if ENABLE_OVERLOADING
    TerminalRaiseWindowSignalInfo           ,
#endif
    afterTerminalRaiseWindow                ,
    genClosure_TerminalRaiseWindow          ,
    mk_TerminalRaiseWindowCallback          ,
    noTerminalRaiseWindowCallback           ,
    onTerminalRaiseWindow                   ,
    wrap_TerminalRaiseWindowCallback        ,


-- ** refreshWindow #signal:refreshWindow#

    C_TerminalRefreshWindowCallback         ,
    TerminalRefreshWindowCallback           ,
#if ENABLE_OVERLOADING
    TerminalRefreshWindowSignalInfo         ,
#endif
    afterTerminalRefreshWindow              ,
    genClosure_TerminalRefreshWindow        ,
    mk_TerminalRefreshWindowCallback        ,
    noTerminalRefreshWindowCallback         ,
    onTerminalRefreshWindow                 ,
    wrap_TerminalRefreshWindowCallback      ,


-- ** resizeWindow #signal:resizeWindow#

    C_TerminalResizeWindowCallback          ,
    TerminalResizeWindowCallback            ,
#if ENABLE_OVERLOADING
    TerminalResizeWindowSignalInfo          ,
#endif
    afterTerminalResizeWindow               ,
    genClosure_TerminalResizeWindow         ,
    mk_TerminalResizeWindowCallback         ,
    noTerminalResizeWindowCallback          ,
    onTerminalResizeWindow                  ,
    wrap_TerminalResizeWindowCallback       ,


-- ** restoreWindow #signal:restoreWindow#

    C_TerminalRestoreWindowCallback         ,
    TerminalRestoreWindowCallback           ,
#if ENABLE_OVERLOADING
    TerminalRestoreWindowSignalInfo         ,
#endif
    afterTerminalRestoreWindow              ,
    genClosure_TerminalRestoreWindow        ,
    mk_TerminalRestoreWindowCallback        ,
    noTerminalRestoreWindowCallback         ,
    onTerminalRestoreWindow                 ,
    wrap_TerminalRestoreWindowCallback      ,


-- ** selectionChanged #signal:selectionChanged#

    C_TerminalSelectionChangedCallback      ,
    TerminalSelectionChangedCallback        ,
#if ENABLE_OVERLOADING
    TerminalSelectionChangedSignalInfo      ,
#endif
    afterTerminalSelectionChanged           ,
    genClosure_TerminalSelectionChanged     ,
    mk_TerminalSelectionChangedCallback     ,
    noTerminalSelectionChangedCallback      ,
    onTerminalSelectionChanged              ,
    wrap_TerminalSelectionChangedCallback   ,


-- ** textDeleted #signal:textDeleted#

    C_TerminalTextDeletedCallback           ,
    TerminalTextDeletedCallback             ,
#if ENABLE_OVERLOADING
    TerminalTextDeletedSignalInfo           ,
#endif
    afterTerminalTextDeleted                ,
    genClosure_TerminalTextDeleted          ,
    mk_TerminalTextDeletedCallback          ,
    noTerminalTextDeletedCallback           ,
    onTerminalTextDeleted                   ,
    wrap_TerminalTextDeletedCallback        ,


-- ** textInserted #signal:textInserted#

    C_TerminalTextInsertedCallback          ,
    TerminalTextInsertedCallback            ,
#if ENABLE_OVERLOADING
    TerminalTextInsertedSignalInfo          ,
#endif
    afterTerminalTextInserted               ,
    genClosure_TerminalTextInserted         ,
    mk_TerminalTextInsertedCallback         ,
    noTerminalTextInsertedCallback          ,
    onTerminalTextInserted                  ,
    wrap_TerminalTextInsertedCallback       ,


-- ** textModified #signal:textModified#

    C_TerminalTextModifiedCallback          ,
    TerminalTextModifiedCallback            ,
#if ENABLE_OVERLOADING
    TerminalTextModifiedSignalInfo          ,
#endif
    afterTerminalTextModified               ,
    genClosure_TerminalTextModified         ,
    mk_TerminalTextModifiedCallback         ,
    noTerminalTextModifiedCallback          ,
    onTerminalTextModified                  ,
    wrap_TerminalTextModifiedCallback       ,


-- ** textScrolled #signal:textScrolled#

    C_TerminalTextScrolledCallback          ,
    TerminalTextScrolledCallback            ,
#if ENABLE_OVERLOADING
    TerminalTextScrolledSignalInfo          ,
#endif
    afterTerminalTextScrolled               ,
    genClosure_TerminalTextScrolled         ,
    mk_TerminalTextScrolledCallback         ,
    noTerminalTextScrolledCallback          ,
    onTerminalTextScrolled                  ,
    wrap_TerminalTextScrolledCallback       ,


-- ** windowTitleChanged #signal:windowTitleChanged#

    C_TerminalWindowTitleChangedCallback    ,
    TerminalWindowTitleChangedCallback      ,
#if ENABLE_OVERLOADING
    TerminalWindowTitleChangedSignalInfo    ,
#endif
    afterTerminalWindowTitleChanged         ,
    genClosure_TerminalWindowTitleChanged   ,
    mk_TerminalWindowTitleChangedCallback   ,
    noTerminalWindowTitleChangedCallback    ,
    onTerminalWindowTitleChanged            ,
    wrap_TerminalWindowTitleChangedCallback ,




    ) where

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

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

import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
import qualified GI.GLib.Callbacks as GLib.Callbacks
import qualified GI.GLib.Flags as GLib.Flags
import qualified GI.GLib.Structs.Regex as GLib.Regex
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gdk.Enums as Gdk.Enums
import qualified GI.Gdk.Objects.Cursor as Gdk.Cursor
import qualified GI.Gdk.Structs.Geometry as Gdk.Geometry
import qualified GI.Gdk.Structs.RGBA as Gdk.RGBA
import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
import qualified GI.Gdk.Unions.Event as Gdk.Event
import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable
import qualified GI.Gio.Objects.OutputStream as Gio.OutputStream
import qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
import qualified GI.Gtk.Interfaces.Scrollable as Gtk.Scrollable
import qualified GI.Gtk.Objects.Widget as Gtk.Widget
import qualified GI.Gtk.Objects.Window as Gtk.Window
import qualified GI.Pango.Structs.FontDescription as Pango.FontDescription
import {-# SOURCE #-} qualified GI.Vte.Enums as Vte.Enums
import {-# SOURCE #-} qualified GI.Vte.Flags as Vte.Flags
import {-# SOURCE #-} qualified GI.Vte.Objects.Pty as Vte.Pty
import {-# SOURCE #-} qualified GI.Vte.Structs.Regex as Vte.Regex

-- | Memory-managed wrapper type.
newtype Terminal = Terminal (ManagedPtr Terminal)
foreign import ccall "vte_terminal_get_type"
    c_vte_terminal_get_type :: IO GType

instance GObject Terminal where
    gobjectType _ = c_vte_terminal_get_type


-- | Type class for types which can be safely cast to `Terminal`, for instance with `toTerminal`.
class GObject o => IsTerminal o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError Terminal a) =>
    IsTerminal a
#endif
instance IsTerminal Terminal
instance Gtk.Widget.IsWidget Terminal
instance GObject.Object.IsObject Terminal
instance Atk.ImplementorIface.IsImplementorIface Terminal
instance Gtk.Buildable.IsBuildable Terminal
instance Gtk.Scrollable.IsScrollable Terminal

-- | Cast to `Terminal`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toTerminal :: (MonadIO m, IsTerminal o) => o -> m Terminal
toTerminal = liftIO . unsafeCastTo Terminal

-- | A convenience alias for `Nothing` :: `Maybe` `Terminal`.
noTerminal :: Maybe Terminal
noTerminal = Nothing

#if ENABLE_OVERLOADING
type family ResolveTerminalMethod (t :: Symbol) (o :: *) :: * where
    ResolveTerminalMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
    ResolveTerminalMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
    ResolveTerminalMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
    ResolveTerminalMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
    ResolveTerminalMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
    ResolveTerminalMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
    ResolveTerminalMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
    ResolveTerminalMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveTerminalMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveTerminalMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
    ResolveTerminalMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
    ResolveTerminalMethod "childNotify" o = Gtk.Widget.WidgetChildNotifyMethodInfo
    ResolveTerminalMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
    ResolveTerminalMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
    ResolveTerminalMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
    ResolveTerminalMethod "copyClipboard" o = TerminalCopyClipboardMethodInfo
    ResolveTerminalMethod "copyClipboardFormat" o = TerminalCopyClipboardFormatMethodInfo
    ResolveTerminalMethod "copyPrimary" o = TerminalCopyPrimaryMethodInfo
    ResolveTerminalMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
    ResolveTerminalMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
    ResolveTerminalMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
    ResolveTerminalMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
    ResolveTerminalMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
    ResolveTerminalMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
    ResolveTerminalMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
    ResolveTerminalMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
    ResolveTerminalMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
    ResolveTerminalMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
    ResolveTerminalMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
    ResolveTerminalMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
    ResolveTerminalMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
    ResolveTerminalMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
    ResolveTerminalMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
    ResolveTerminalMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
    ResolveTerminalMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
    ResolveTerminalMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
    ResolveTerminalMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
    ResolveTerminalMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
    ResolveTerminalMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
    ResolveTerminalMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
    ResolveTerminalMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
    ResolveTerminalMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
    ResolveTerminalMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
    ResolveTerminalMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
    ResolveTerminalMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
    ResolveTerminalMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
    ResolveTerminalMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
    ResolveTerminalMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
    ResolveTerminalMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
    ResolveTerminalMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
    ResolveTerminalMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
    ResolveTerminalMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
    ResolveTerminalMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
    ResolveTerminalMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
    ResolveTerminalMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
    ResolveTerminalMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
    ResolveTerminalMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
    ResolveTerminalMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
    ResolveTerminalMethod "feed" o = TerminalFeedMethodInfo
    ResolveTerminalMethod "feedChild" o = TerminalFeedChildMethodInfo
    ResolveTerminalMethod "feedChildBinary" o = TerminalFeedChildBinaryMethodInfo
    ResolveTerminalMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveTerminalMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
    ResolveTerminalMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveTerminalMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveTerminalMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
    ResolveTerminalMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
    ResolveTerminalMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
    ResolveTerminalMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
    ResolveTerminalMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
    ResolveTerminalMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
    ResolveTerminalMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
    ResolveTerminalMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
    ResolveTerminalMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
    ResolveTerminalMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
    ResolveTerminalMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
    ResolveTerminalMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
    ResolveTerminalMethod "hyperlinkCheckEvent" o = TerminalHyperlinkCheckEventMethodInfo
    ResolveTerminalMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
    ResolveTerminalMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
    ResolveTerminalMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
    ResolveTerminalMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
    ResolveTerminalMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
    ResolveTerminalMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
    ResolveTerminalMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
    ResolveTerminalMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
    ResolveTerminalMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveTerminalMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
    ResolveTerminalMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
    ResolveTerminalMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
    ResolveTerminalMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
    ResolveTerminalMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
    ResolveTerminalMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
    ResolveTerminalMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
    ResolveTerminalMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
    ResolveTerminalMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
    ResolveTerminalMethod "matchAddGregex" o = TerminalMatchAddGregexMethodInfo
    ResolveTerminalMethod "matchAddRegex" o = TerminalMatchAddRegexMethodInfo
    ResolveTerminalMethod "matchCheck" o = TerminalMatchCheckMethodInfo
    ResolveTerminalMethod "matchCheckEvent" o = TerminalMatchCheckEventMethodInfo
    ResolveTerminalMethod "matchRemove" o = TerminalMatchRemoveMethodInfo
    ResolveTerminalMethod "matchRemoveAll" o = TerminalMatchRemoveAllMethodInfo
    ResolveTerminalMethod "matchSetCursor" o = TerminalMatchSetCursorMethodInfo
    ResolveTerminalMethod "matchSetCursorName" o = TerminalMatchSetCursorNameMethodInfo
    ResolveTerminalMethod "matchSetCursorType" o = TerminalMatchSetCursorTypeMethodInfo
    ResolveTerminalMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
    ResolveTerminalMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
    ResolveTerminalMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
    ResolveTerminalMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
    ResolveTerminalMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
    ResolveTerminalMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
    ResolveTerminalMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
    ResolveTerminalMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
    ResolveTerminalMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveTerminalMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveTerminalMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
    ResolveTerminalMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
    ResolveTerminalMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
    ResolveTerminalMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
    ResolveTerminalMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
    ResolveTerminalMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
    ResolveTerminalMethod "pasteClipboard" o = TerminalPasteClipboardMethodInfo
    ResolveTerminalMethod "pastePrimary" o = TerminalPastePrimaryMethodInfo
    ResolveTerminalMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
    ResolveTerminalMethod "ptyNewSync" o = TerminalPtyNewSyncMethodInfo
    ResolveTerminalMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
    ResolveTerminalMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
    ResolveTerminalMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
    ResolveTerminalMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
    ResolveTerminalMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
    ResolveTerminalMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
    ResolveTerminalMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
    ResolveTerminalMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
    ResolveTerminalMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveTerminalMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveTerminalMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
    ResolveTerminalMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
    ResolveTerminalMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
    ResolveTerminalMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
    ResolveTerminalMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
    ResolveTerminalMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
    ResolveTerminalMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
    ResolveTerminalMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
    ResolveTerminalMethod "reset" o = TerminalResetMethodInfo
    ResolveTerminalMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
    ResolveTerminalMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
    ResolveTerminalMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveTerminalMethod "searchFindNext" o = TerminalSearchFindNextMethodInfo
    ResolveTerminalMethod "searchFindPrevious" o = TerminalSearchFindPreviousMethodInfo
    ResolveTerminalMethod "searchGetGregex" o = TerminalSearchGetGregexMethodInfo
    ResolveTerminalMethod "searchGetRegex" o = TerminalSearchGetRegexMethodInfo
    ResolveTerminalMethod "searchGetWrapAround" o = TerminalSearchGetWrapAroundMethodInfo
    ResolveTerminalMethod "searchSetGregex" o = TerminalSearchSetGregexMethodInfo
    ResolveTerminalMethod "searchSetRegex" o = TerminalSearchSetRegexMethodInfo
    ResolveTerminalMethod "searchSetWrapAround" o = TerminalSearchSetWrapAroundMethodInfo
    ResolveTerminalMethod "selectAll" o = TerminalSelectAllMethodInfo
    ResolveTerminalMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
    ResolveTerminalMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
    ResolveTerminalMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
    ResolveTerminalMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
    ResolveTerminalMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
    ResolveTerminalMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
    ResolveTerminalMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
    ResolveTerminalMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
    ResolveTerminalMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
    ResolveTerminalMethod "spawnSync" o = TerminalSpawnSyncMethodInfo
    ResolveTerminalMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveTerminalMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveTerminalMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
    ResolveTerminalMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
    ResolveTerminalMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
    ResolveTerminalMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveTerminalMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
    ResolveTerminalMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
    ResolveTerminalMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
    ResolveTerminalMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
    ResolveTerminalMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
    ResolveTerminalMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveTerminalMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
    ResolveTerminalMethod "unselectAll" o = TerminalUnselectAllMethodInfo
    ResolveTerminalMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
    ResolveTerminalMethod "watchChild" o = TerminalWatchChildMethodInfo
    ResolveTerminalMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveTerminalMethod "writeContentsSync" o = TerminalWriteContentsSyncMethodInfo
    ResolveTerminalMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
    ResolveTerminalMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
    ResolveTerminalMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
    ResolveTerminalMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
    ResolveTerminalMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
    ResolveTerminalMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
    ResolveTerminalMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
    ResolveTerminalMethod "getAllowBold" o = TerminalGetAllowBoldMethodInfo
    ResolveTerminalMethod "getAllowHyperlink" o = TerminalGetAllowHyperlinkMethodInfo
    ResolveTerminalMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
    ResolveTerminalMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
    ResolveTerminalMethod "getAudibleBell" o = TerminalGetAudibleBellMethodInfo
    ResolveTerminalMethod "getBoldIsBright" o = TerminalGetBoldIsBrightMethodInfo
    ResolveTerminalMethod "getBorder" o = Gtk.Scrollable.ScrollableGetBorderMethodInfo
    ResolveTerminalMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
    ResolveTerminalMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
    ResolveTerminalMethod "getCellHeightScale" o = TerminalGetCellHeightScaleMethodInfo
    ResolveTerminalMethod "getCellWidthScale" o = TerminalGetCellWidthScaleMethodInfo
    ResolveTerminalMethod "getCharHeight" o = TerminalGetCharHeightMethodInfo
    ResolveTerminalMethod "getCharWidth" o = TerminalGetCharWidthMethodInfo
    ResolveTerminalMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
    ResolveTerminalMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
    ResolveTerminalMethod "getCjkAmbiguousWidth" o = TerminalGetCjkAmbiguousWidthMethodInfo
    ResolveTerminalMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
    ResolveTerminalMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
    ResolveTerminalMethod "getColumnCount" o = TerminalGetColumnCountMethodInfo
    ResolveTerminalMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
    ResolveTerminalMethod "getCurrentDirectoryUri" o = TerminalGetCurrentDirectoryUriMethodInfo
    ResolveTerminalMethod "getCurrentFileUri" o = TerminalGetCurrentFileUriMethodInfo
    ResolveTerminalMethod "getCursorBlinkMode" o = TerminalGetCursorBlinkModeMethodInfo
    ResolveTerminalMethod "getCursorPosition" o = TerminalGetCursorPositionMethodInfo
    ResolveTerminalMethod "getCursorShape" o = TerminalGetCursorShapeMethodInfo
    ResolveTerminalMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveTerminalMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
    ResolveTerminalMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
    ResolveTerminalMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
    ResolveTerminalMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
    ResolveTerminalMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
    ResolveTerminalMethod "getEncoding" o = TerminalGetEncodingMethodInfo
    ResolveTerminalMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
    ResolveTerminalMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
    ResolveTerminalMethod "getFont" o = TerminalGetFontMethodInfo
    ResolveTerminalMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
    ResolveTerminalMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
    ResolveTerminalMethod "getFontScale" o = TerminalGetFontScaleMethodInfo
    ResolveTerminalMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
    ResolveTerminalMethod "getGeometryHints" o = TerminalGetGeometryHintsMethodInfo
    ResolveTerminalMethod "getHadjustment" o = Gtk.Scrollable.ScrollableGetHadjustmentMethodInfo
    ResolveTerminalMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
    ResolveTerminalMethod "getHasSelection" o = TerminalGetHasSelectionMethodInfo
    ResolveTerminalMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
    ResolveTerminalMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
    ResolveTerminalMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
    ResolveTerminalMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
    ResolveTerminalMethod "getHscrollPolicy" o = Gtk.Scrollable.ScrollableGetHscrollPolicyMethodInfo
    ResolveTerminalMethod "getIconTitle" o = TerminalGetIconTitleMethodInfo
    ResolveTerminalMethod "getInputEnabled" o = TerminalGetInputEnabledMethodInfo
    ResolveTerminalMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
    ResolveTerminalMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
    ResolveTerminalMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
    ResolveTerminalMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
    ResolveTerminalMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
    ResolveTerminalMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
    ResolveTerminalMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
    ResolveTerminalMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
    ResolveTerminalMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
    ResolveTerminalMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
    ResolveTerminalMethod "getMouseAutohide" o = TerminalGetMouseAutohideMethodInfo
    ResolveTerminalMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
    ResolveTerminalMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
    ResolveTerminalMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
    ResolveTerminalMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
    ResolveTerminalMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
    ResolveTerminalMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
    ResolveTerminalMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
    ResolveTerminalMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
    ResolveTerminalMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
    ResolveTerminalMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
    ResolveTerminalMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
    ResolveTerminalMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
    ResolveTerminalMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
    ResolveTerminalMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
    ResolveTerminalMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveTerminalMethod "getPty" o = TerminalGetPtyMethodInfo
    ResolveTerminalMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveTerminalMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
    ResolveTerminalMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
    ResolveTerminalMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
    ResolveTerminalMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
    ResolveTerminalMethod "getRewrapOnResize" o = TerminalGetRewrapOnResizeMethodInfo
    ResolveTerminalMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
    ResolveTerminalMethod "getRowCount" o = TerminalGetRowCountMethodInfo
    ResolveTerminalMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
    ResolveTerminalMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
    ResolveTerminalMethod "getScrollOnKeystroke" o = TerminalGetScrollOnKeystrokeMethodInfo
    ResolveTerminalMethod "getScrollOnOutput" o = TerminalGetScrollOnOutputMethodInfo
    ResolveTerminalMethod "getScrollbackLines" o = TerminalGetScrollbackLinesMethodInfo
    ResolveTerminalMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
    ResolveTerminalMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
    ResolveTerminalMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
    ResolveTerminalMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
    ResolveTerminalMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
    ResolveTerminalMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
    ResolveTerminalMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
    ResolveTerminalMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
    ResolveTerminalMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
    ResolveTerminalMethod "getText" o = TerminalGetTextMethodInfo
    ResolveTerminalMethod "getTextBlinkMode" o = TerminalGetTextBlinkModeMethodInfo
    ResolveTerminalMethod "getTextIncludeTrailingSpaces" o = TerminalGetTextIncludeTrailingSpacesMethodInfo
    ResolveTerminalMethod "getTextRange" o = TerminalGetTextRangeMethodInfo
    ResolveTerminalMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
    ResolveTerminalMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
    ResolveTerminalMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
    ResolveTerminalMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
    ResolveTerminalMethod "getVadjustment" o = Gtk.Scrollable.ScrollableGetVadjustmentMethodInfo
    ResolveTerminalMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
    ResolveTerminalMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
    ResolveTerminalMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
    ResolveTerminalMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
    ResolveTerminalMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
    ResolveTerminalMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
    ResolveTerminalMethod "getVscrollPolicy" o = Gtk.Scrollable.ScrollableGetVscrollPolicyMethodInfo
    ResolveTerminalMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
    ResolveTerminalMethod "getWindowTitle" o = TerminalGetWindowTitleMethodInfo
    ResolveTerminalMethod "getWordCharExceptions" o = TerminalGetWordCharExceptionsMethodInfo
    ResolveTerminalMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
    ResolveTerminalMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
    ResolveTerminalMethod "setAllowBold" o = TerminalSetAllowBoldMethodInfo
    ResolveTerminalMethod "setAllowHyperlink" o = TerminalSetAllowHyperlinkMethodInfo
    ResolveTerminalMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
    ResolveTerminalMethod "setAudibleBell" o = TerminalSetAudibleBellMethodInfo
    ResolveTerminalMethod "setBackspaceBinding" o = TerminalSetBackspaceBindingMethodInfo
    ResolveTerminalMethod "setBoldIsBright" o = TerminalSetBoldIsBrightMethodInfo
    ResolveTerminalMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
    ResolveTerminalMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
    ResolveTerminalMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
    ResolveTerminalMethod "setCellHeightScale" o = TerminalSetCellHeightScaleMethodInfo
    ResolveTerminalMethod "setCellWidthScale" o = TerminalSetCellWidthScaleMethodInfo
    ResolveTerminalMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
    ResolveTerminalMethod "setCjkAmbiguousWidth" o = TerminalSetCjkAmbiguousWidthMethodInfo
    ResolveTerminalMethod "setClearBackground" o = TerminalSetClearBackgroundMethodInfo
    ResolveTerminalMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
    ResolveTerminalMethod "setColorBackground" o = TerminalSetColorBackgroundMethodInfo
    ResolveTerminalMethod "setColorBold" o = TerminalSetColorBoldMethodInfo
    ResolveTerminalMethod "setColorCursor" o = TerminalSetColorCursorMethodInfo
    ResolveTerminalMethod "setColorCursorForeground" o = TerminalSetColorCursorForegroundMethodInfo
    ResolveTerminalMethod "setColorForeground" o = TerminalSetColorForegroundMethodInfo
    ResolveTerminalMethod "setColorHighlight" o = TerminalSetColorHighlightMethodInfo
    ResolveTerminalMethod "setColorHighlightForeground" o = TerminalSetColorHighlightForegroundMethodInfo
    ResolveTerminalMethod "setColors" o = TerminalSetColorsMethodInfo
    ResolveTerminalMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
    ResolveTerminalMethod "setCursorBlinkMode" o = TerminalSetCursorBlinkModeMethodInfo
    ResolveTerminalMethod "setCursorShape" o = TerminalSetCursorShapeMethodInfo
    ResolveTerminalMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveTerminalMethod "setDefaultColors" o = TerminalSetDefaultColorsMethodInfo
    ResolveTerminalMethod "setDeleteBinding" o = TerminalSetDeleteBindingMethodInfo
    ResolveTerminalMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
    ResolveTerminalMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
    ResolveTerminalMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
    ResolveTerminalMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
    ResolveTerminalMethod "setEncoding" o = TerminalSetEncodingMethodInfo
    ResolveTerminalMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
    ResolveTerminalMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
    ResolveTerminalMethod "setFont" o = TerminalSetFontMethodInfo
    ResolveTerminalMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
    ResolveTerminalMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
    ResolveTerminalMethod "setFontScale" o = TerminalSetFontScaleMethodInfo
    ResolveTerminalMethod "setGeometryHintsForWindow" o = TerminalSetGeometryHintsForWindowMethodInfo
    ResolveTerminalMethod "setHadjustment" o = Gtk.Scrollable.ScrollableSetHadjustmentMethodInfo
    ResolveTerminalMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
    ResolveTerminalMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
    ResolveTerminalMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
    ResolveTerminalMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
    ResolveTerminalMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
    ResolveTerminalMethod "setHscrollPolicy" o = Gtk.Scrollable.ScrollableSetHscrollPolicyMethodInfo
    ResolveTerminalMethod "setInputEnabled" o = TerminalSetInputEnabledMethodInfo
    ResolveTerminalMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
    ResolveTerminalMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
    ResolveTerminalMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
    ResolveTerminalMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
    ResolveTerminalMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
    ResolveTerminalMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
    ResolveTerminalMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
    ResolveTerminalMethod "setMouseAutohide" o = TerminalSetMouseAutohideMethodInfo
    ResolveTerminalMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
    ResolveTerminalMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
    ResolveTerminalMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
    ResolveTerminalMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
    ResolveTerminalMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
    ResolveTerminalMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveTerminalMethod "setPty" o = TerminalSetPtyMethodInfo
    ResolveTerminalMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
    ResolveTerminalMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
    ResolveTerminalMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
    ResolveTerminalMethod "setRewrapOnResize" o = TerminalSetRewrapOnResizeMethodInfo
    ResolveTerminalMethod "setScrollOnKeystroke" o = TerminalSetScrollOnKeystrokeMethodInfo
    ResolveTerminalMethod "setScrollOnOutput" o = TerminalSetScrollOnOutputMethodInfo
    ResolveTerminalMethod "setScrollSpeed" o = TerminalSetScrollSpeedMethodInfo
    ResolveTerminalMethod "setScrollbackLines" o = TerminalSetScrollbackLinesMethodInfo
    ResolveTerminalMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
    ResolveTerminalMethod "setSize" o = TerminalSetSizeMethodInfo
    ResolveTerminalMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
    ResolveTerminalMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
    ResolveTerminalMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
    ResolveTerminalMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
    ResolveTerminalMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
    ResolveTerminalMethod "setTextBlinkMode" o = TerminalSetTextBlinkModeMethodInfo
    ResolveTerminalMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
    ResolveTerminalMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
    ResolveTerminalMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
    ResolveTerminalMethod "setVadjustment" o = Gtk.Scrollable.ScrollableSetVadjustmentMethodInfo
    ResolveTerminalMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
    ResolveTerminalMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
    ResolveTerminalMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
    ResolveTerminalMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
    ResolveTerminalMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
    ResolveTerminalMethod "setVscrollPolicy" o = Gtk.Scrollable.ScrollableSetVscrollPolicyMethodInfo
    ResolveTerminalMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
    ResolveTerminalMethod "setWordCharExceptions" o = TerminalSetWordCharExceptionsMethodInfo
    ResolveTerminalMethod l o = O.MethodResolutionFailed l o

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

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

#endif

-- signal Terminal::bell
{- |
This signal is emitted when the a child sends a bell request to the
terminal.
-}
type TerminalBellCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalBellCallback`@.
noTerminalBellCallback :: Maybe TerminalBellCallback
noTerminalBellCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalBellCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalBellCallback`.
foreign import ccall "wrapper"
    mk_TerminalBellCallback :: C_TerminalBellCallback -> IO (FunPtr C_TerminalBellCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalBell :: TerminalBellCallback -> IO Closure
genClosure_TerminalBell cb = do
    let cb' = wrap_TerminalBellCallback cb
    mk_TerminalBellCallback cb' >>= newCClosure


-- | Wrap a `TerminalBellCallback` into a `C_TerminalBellCallback`.
wrap_TerminalBellCallback ::
    TerminalBellCallback ->
    C_TerminalBellCallback
wrap_TerminalBellCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@bell@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #bell callback
@
-}
onTerminalBell :: (IsTerminal a, MonadIO m) => a -> TerminalBellCallback -> m SignalHandlerId
onTerminalBell obj cb = liftIO $ do
    let cb' = wrap_TerminalBellCallback cb
    cb'' <- mk_TerminalBellCallback cb'
    connectSignalFunPtr obj "bell" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@bell@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #bell callback
@
-}
afterTerminalBell :: (IsTerminal a, MonadIO m) => a -> TerminalBellCallback -> m SignalHandlerId
afterTerminalBell obj cb = liftIO $ do
    let cb' = wrap_TerminalBellCallback cb
    cb'' <- mk_TerminalBellCallback cb'
    connectSignalFunPtr obj "bell" cb'' SignalConnectAfter


-- signal Terminal::char-size-changed
{- |
Emitted whenever the cell size changes, e.g. due to a change in
font, font-scale or cell-width\/height-scale.

Note that this signal should rather be called \"cell-size-changed\".
-}
type TerminalCharSizeChangedCallback =
    Word32
    {- ^ /@width@/: the new character cell width -}
    -> Word32
    {- ^ /@height@/: the new character cell height -}
    -> IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalCharSizeChangedCallback`@.
noTerminalCharSizeChangedCallback :: Maybe TerminalCharSizeChangedCallback
noTerminalCharSizeChangedCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalCharSizeChangedCallback =
    Ptr () ->                               -- object
    Word32 ->
    Word32 ->
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalCharSizeChangedCallback`.
foreign import ccall "wrapper"
    mk_TerminalCharSizeChangedCallback :: C_TerminalCharSizeChangedCallback -> IO (FunPtr C_TerminalCharSizeChangedCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalCharSizeChanged :: TerminalCharSizeChangedCallback -> IO Closure
genClosure_TerminalCharSizeChanged cb = do
    let cb' = wrap_TerminalCharSizeChangedCallback cb
    mk_TerminalCharSizeChangedCallback cb' >>= newCClosure


-- | Wrap a `TerminalCharSizeChangedCallback` into a `C_TerminalCharSizeChangedCallback`.
wrap_TerminalCharSizeChangedCallback ::
    TerminalCharSizeChangedCallback ->
    C_TerminalCharSizeChangedCallback
wrap_TerminalCharSizeChangedCallback _cb _ width height _ = do
    _cb  width height


{- |
Connect a signal handler for the “@char-size-changed@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #charSizeChanged callback
@
-}
onTerminalCharSizeChanged :: (IsTerminal a, MonadIO m) => a -> TerminalCharSizeChangedCallback -> m SignalHandlerId
onTerminalCharSizeChanged obj cb = liftIO $ do
    let cb' = wrap_TerminalCharSizeChangedCallback cb
    cb'' <- mk_TerminalCharSizeChangedCallback cb'
    connectSignalFunPtr obj "char-size-changed" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@char-size-changed@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #charSizeChanged callback
@
-}
afterTerminalCharSizeChanged :: (IsTerminal a, MonadIO m) => a -> TerminalCharSizeChangedCallback -> m SignalHandlerId
afterTerminalCharSizeChanged obj cb = liftIO $ do
    let cb' = wrap_TerminalCharSizeChangedCallback cb
    cb'' <- mk_TerminalCharSizeChangedCallback cb'
    connectSignalFunPtr obj "char-size-changed" cb'' SignalConnectAfter


-- signal Terminal::child-exited
{- |
This signal is emitted when the terminal detects that a child
watched using 'GI.Vte.Objects.Terminal.terminalWatchChild' has exited.
-}
type TerminalChildExitedCallback =
    Int32
    {- ^ /@status@/: the child\'s exit status -}
    -> IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalChildExitedCallback`@.
noTerminalChildExitedCallback :: Maybe TerminalChildExitedCallback
noTerminalChildExitedCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalChildExitedCallback =
    Ptr () ->                               -- object
    Int32 ->
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalChildExitedCallback`.
foreign import ccall "wrapper"
    mk_TerminalChildExitedCallback :: C_TerminalChildExitedCallback -> IO (FunPtr C_TerminalChildExitedCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalChildExited :: TerminalChildExitedCallback -> IO Closure
genClosure_TerminalChildExited cb = do
    let cb' = wrap_TerminalChildExitedCallback cb
    mk_TerminalChildExitedCallback cb' >>= newCClosure


-- | Wrap a `TerminalChildExitedCallback` into a `C_TerminalChildExitedCallback`.
wrap_TerminalChildExitedCallback ::
    TerminalChildExitedCallback ->
    C_TerminalChildExitedCallback
wrap_TerminalChildExitedCallback _cb _ status _ = do
    _cb  status


{- |
Connect a signal handler for the “@child-exited@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #childExited callback
@
-}
onTerminalChildExited :: (IsTerminal a, MonadIO m) => a -> TerminalChildExitedCallback -> m SignalHandlerId
onTerminalChildExited obj cb = liftIO $ do
    let cb' = wrap_TerminalChildExitedCallback cb
    cb'' <- mk_TerminalChildExitedCallback cb'
    connectSignalFunPtr obj "child-exited" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@child-exited@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #childExited callback
@
-}
afterTerminalChildExited :: (IsTerminal a, MonadIO m) => a -> TerminalChildExitedCallback -> m SignalHandlerId
afterTerminalChildExited obj cb = liftIO $ do
    let cb' = wrap_TerminalChildExitedCallback cb
    cb'' <- mk_TerminalChildExitedCallback cb'
    connectSignalFunPtr obj "child-exited" cb'' SignalConnectAfter


-- signal Terminal::commit
{- |
Emitted whenever the terminal receives input from the user and
prepares to send it to the child process.  The signal is emitted even
when there is no child process.
-}
type TerminalCommitCallback =
    T.Text
    {- ^ /@text@/: a string of text -}
    -> Word32
    {- ^ /@size@/: the length of that string of text -}
    -> IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalCommitCallback`@.
noTerminalCommitCallback :: Maybe TerminalCommitCallback
noTerminalCommitCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalCommitCallback =
    Ptr () ->                               -- object
    CString ->
    Word32 ->
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalCommitCallback`.
foreign import ccall "wrapper"
    mk_TerminalCommitCallback :: C_TerminalCommitCallback -> IO (FunPtr C_TerminalCommitCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalCommit :: TerminalCommitCallback -> IO Closure
genClosure_TerminalCommit cb = do
    let cb' = wrap_TerminalCommitCallback cb
    mk_TerminalCommitCallback cb' >>= newCClosure


-- | Wrap a `TerminalCommitCallback` into a `C_TerminalCommitCallback`.
wrap_TerminalCommitCallback ::
    TerminalCommitCallback ->
    C_TerminalCommitCallback
wrap_TerminalCommitCallback _cb _ text size _ = do
    text' <- cstringToText text
    _cb  text' size


{- |
Connect a signal handler for the “@commit@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #commit callback
@
-}
onTerminalCommit :: (IsTerminal a, MonadIO m) => a -> TerminalCommitCallback -> m SignalHandlerId
onTerminalCommit obj cb = liftIO $ do
    let cb' = wrap_TerminalCommitCallback cb
    cb'' <- mk_TerminalCommitCallback cb'
    connectSignalFunPtr obj "commit" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@commit@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #commit callback
@
-}
afterTerminalCommit :: (IsTerminal a, MonadIO m) => a -> TerminalCommitCallback -> m SignalHandlerId
afterTerminalCommit obj cb = liftIO $ do
    let cb' = wrap_TerminalCommitCallback cb
    cb'' <- mk_TerminalCommitCallback cb'
    connectSignalFunPtr obj "commit" cb'' SignalConnectAfter


-- signal Terminal::contents-changed
{- |
Emitted whenever the visible appearance of the terminal has changed.
Used primarily by @/VteTerminalAccessible/@.
-}
type TerminalContentsChangedCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalContentsChangedCallback`@.
noTerminalContentsChangedCallback :: Maybe TerminalContentsChangedCallback
noTerminalContentsChangedCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalContentsChangedCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalContentsChangedCallback`.
foreign import ccall "wrapper"
    mk_TerminalContentsChangedCallback :: C_TerminalContentsChangedCallback -> IO (FunPtr C_TerminalContentsChangedCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalContentsChanged :: TerminalContentsChangedCallback -> IO Closure
genClosure_TerminalContentsChanged cb = do
    let cb' = wrap_TerminalContentsChangedCallback cb
    mk_TerminalContentsChangedCallback cb' >>= newCClosure


-- | Wrap a `TerminalContentsChangedCallback` into a `C_TerminalContentsChangedCallback`.
wrap_TerminalContentsChangedCallback ::
    TerminalContentsChangedCallback ->
    C_TerminalContentsChangedCallback
wrap_TerminalContentsChangedCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@contents-changed@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #contentsChanged callback
@
-}
onTerminalContentsChanged :: (IsTerminal a, MonadIO m) => a -> TerminalContentsChangedCallback -> m SignalHandlerId
onTerminalContentsChanged obj cb = liftIO $ do
    let cb' = wrap_TerminalContentsChangedCallback cb
    cb'' <- mk_TerminalContentsChangedCallback cb'
    connectSignalFunPtr obj "contents-changed" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@contents-changed@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #contentsChanged callback
@
-}
afterTerminalContentsChanged :: (IsTerminal a, MonadIO m) => a -> TerminalContentsChangedCallback -> m SignalHandlerId
afterTerminalContentsChanged obj cb = liftIO $ do
    let cb' = wrap_TerminalContentsChangedCallback cb
    cb'' <- mk_TerminalContentsChangedCallback cb'
    connectSignalFunPtr obj "contents-changed" cb'' SignalConnectAfter


-- signal Terminal::copy-clipboard
{- |
Emitted whenever 'GI.Vte.Objects.Terminal.terminalCopyClipboard' is called.
-}
type TerminalCopyClipboardCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalCopyClipboardCallback`@.
noTerminalCopyClipboardCallback :: Maybe TerminalCopyClipboardCallback
noTerminalCopyClipboardCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalCopyClipboardCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalCopyClipboardCallback`.
foreign import ccall "wrapper"
    mk_TerminalCopyClipboardCallback :: C_TerminalCopyClipboardCallback -> IO (FunPtr C_TerminalCopyClipboardCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalCopyClipboard :: TerminalCopyClipboardCallback -> IO Closure
genClosure_TerminalCopyClipboard cb = do
    let cb' = wrap_TerminalCopyClipboardCallback cb
    mk_TerminalCopyClipboardCallback cb' >>= newCClosure


-- | Wrap a `TerminalCopyClipboardCallback` into a `C_TerminalCopyClipboardCallback`.
wrap_TerminalCopyClipboardCallback ::
    TerminalCopyClipboardCallback ->
    C_TerminalCopyClipboardCallback
wrap_TerminalCopyClipboardCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@copy-clipboard@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #copyClipboard callback
@
-}
onTerminalCopyClipboard :: (IsTerminal a, MonadIO m) => a -> TerminalCopyClipboardCallback -> m SignalHandlerId
onTerminalCopyClipboard obj cb = liftIO $ do
    let cb' = wrap_TerminalCopyClipboardCallback cb
    cb'' <- mk_TerminalCopyClipboardCallback cb'
    connectSignalFunPtr obj "copy-clipboard" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@copy-clipboard@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #copyClipboard callback
@
-}
afterTerminalCopyClipboard :: (IsTerminal a, MonadIO m) => a -> TerminalCopyClipboardCallback -> m SignalHandlerId
afterTerminalCopyClipboard obj cb = liftIO $ do
    let cb' = wrap_TerminalCopyClipboardCallback cb
    cb'' <- mk_TerminalCopyClipboardCallback cb'
    connectSignalFunPtr obj "copy-clipboard" cb'' SignalConnectAfter


-- signal Terminal::current-directory-uri-changed
{- |
Emitted when the current directory URI is modified.
-}
type TerminalCurrentDirectoryUriChangedCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalCurrentDirectoryUriChangedCallback`@.
noTerminalCurrentDirectoryUriChangedCallback :: Maybe TerminalCurrentDirectoryUriChangedCallback
noTerminalCurrentDirectoryUriChangedCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalCurrentDirectoryUriChangedCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalCurrentDirectoryUriChangedCallback`.
foreign import ccall "wrapper"
    mk_TerminalCurrentDirectoryUriChangedCallback :: C_TerminalCurrentDirectoryUriChangedCallback -> IO (FunPtr C_TerminalCurrentDirectoryUriChangedCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalCurrentDirectoryUriChanged :: TerminalCurrentDirectoryUriChangedCallback -> IO Closure
genClosure_TerminalCurrentDirectoryUriChanged cb = do
    let cb' = wrap_TerminalCurrentDirectoryUriChangedCallback cb
    mk_TerminalCurrentDirectoryUriChangedCallback cb' >>= newCClosure


-- | Wrap a `TerminalCurrentDirectoryUriChangedCallback` into a `C_TerminalCurrentDirectoryUriChangedCallback`.
wrap_TerminalCurrentDirectoryUriChangedCallback ::
    TerminalCurrentDirectoryUriChangedCallback ->
    C_TerminalCurrentDirectoryUriChangedCallback
wrap_TerminalCurrentDirectoryUriChangedCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@current-directory-uri-changed@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #currentDirectoryUriChanged callback
@
-}
onTerminalCurrentDirectoryUriChanged :: (IsTerminal a, MonadIO m) => a -> TerminalCurrentDirectoryUriChangedCallback -> m SignalHandlerId
onTerminalCurrentDirectoryUriChanged obj cb = liftIO $ do
    let cb' = wrap_TerminalCurrentDirectoryUriChangedCallback cb
    cb'' <- mk_TerminalCurrentDirectoryUriChangedCallback cb'
    connectSignalFunPtr obj "current-directory-uri-changed" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@current-directory-uri-changed@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #currentDirectoryUriChanged callback
@
-}
afterTerminalCurrentDirectoryUriChanged :: (IsTerminal a, MonadIO m) => a -> TerminalCurrentDirectoryUriChangedCallback -> m SignalHandlerId
afterTerminalCurrentDirectoryUriChanged obj cb = liftIO $ do
    let cb' = wrap_TerminalCurrentDirectoryUriChangedCallback cb
    cb'' <- mk_TerminalCurrentDirectoryUriChangedCallback cb'
    connectSignalFunPtr obj "current-directory-uri-changed" cb'' SignalConnectAfter


-- signal Terminal::current-file-uri-changed
{- |
Emitted when the current file URI is modified.
-}
type TerminalCurrentFileUriChangedCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalCurrentFileUriChangedCallback`@.
noTerminalCurrentFileUriChangedCallback :: Maybe TerminalCurrentFileUriChangedCallback
noTerminalCurrentFileUriChangedCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalCurrentFileUriChangedCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalCurrentFileUriChangedCallback`.
foreign import ccall "wrapper"
    mk_TerminalCurrentFileUriChangedCallback :: C_TerminalCurrentFileUriChangedCallback -> IO (FunPtr C_TerminalCurrentFileUriChangedCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalCurrentFileUriChanged :: TerminalCurrentFileUriChangedCallback -> IO Closure
genClosure_TerminalCurrentFileUriChanged cb = do
    let cb' = wrap_TerminalCurrentFileUriChangedCallback cb
    mk_TerminalCurrentFileUriChangedCallback cb' >>= newCClosure


-- | Wrap a `TerminalCurrentFileUriChangedCallback` into a `C_TerminalCurrentFileUriChangedCallback`.
wrap_TerminalCurrentFileUriChangedCallback ::
    TerminalCurrentFileUriChangedCallback ->
    C_TerminalCurrentFileUriChangedCallback
wrap_TerminalCurrentFileUriChangedCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@current-file-uri-changed@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #currentFileUriChanged callback
@
-}
onTerminalCurrentFileUriChanged :: (IsTerminal a, MonadIO m) => a -> TerminalCurrentFileUriChangedCallback -> m SignalHandlerId
onTerminalCurrentFileUriChanged obj cb = liftIO $ do
    let cb' = wrap_TerminalCurrentFileUriChangedCallback cb
    cb'' <- mk_TerminalCurrentFileUriChangedCallback cb'
    connectSignalFunPtr obj "current-file-uri-changed" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@current-file-uri-changed@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #currentFileUriChanged callback
@
-}
afterTerminalCurrentFileUriChanged :: (IsTerminal a, MonadIO m) => a -> TerminalCurrentFileUriChangedCallback -> m SignalHandlerId
afterTerminalCurrentFileUriChanged obj cb = liftIO $ do
    let cb' = wrap_TerminalCurrentFileUriChangedCallback cb
    cb'' <- mk_TerminalCurrentFileUriChangedCallback cb'
    connectSignalFunPtr obj "current-file-uri-changed" cb'' SignalConnectAfter


-- signal Terminal::cursor-moved
{- |
Emitted whenever the cursor moves to a new character cell.  Used
primarily by @/VteTerminalAccessible/@.
-}
type TerminalCursorMovedCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalCursorMovedCallback`@.
noTerminalCursorMovedCallback :: Maybe TerminalCursorMovedCallback
noTerminalCursorMovedCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalCursorMovedCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalCursorMovedCallback`.
foreign import ccall "wrapper"
    mk_TerminalCursorMovedCallback :: C_TerminalCursorMovedCallback -> IO (FunPtr C_TerminalCursorMovedCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalCursorMoved :: TerminalCursorMovedCallback -> IO Closure
genClosure_TerminalCursorMoved cb = do
    let cb' = wrap_TerminalCursorMovedCallback cb
    mk_TerminalCursorMovedCallback cb' >>= newCClosure


-- | Wrap a `TerminalCursorMovedCallback` into a `C_TerminalCursorMovedCallback`.
wrap_TerminalCursorMovedCallback ::
    TerminalCursorMovedCallback ->
    C_TerminalCursorMovedCallback
wrap_TerminalCursorMovedCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@cursor-moved@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #cursorMoved callback
@
-}
onTerminalCursorMoved :: (IsTerminal a, MonadIO m) => a -> TerminalCursorMovedCallback -> m SignalHandlerId
onTerminalCursorMoved obj cb = liftIO $ do
    let cb' = wrap_TerminalCursorMovedCallback cb
    cb'' <- mk_TerminalCursorMovedCallback cb'
    connectSignalFunPtr obj "cursor-moved" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@cursor-moved@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #cursorMoved callback
@
-}
afterTerminalCursorMoved :: (IsTerminal a, MonadIO m) => a -> TerminalCursorMovedCallback -> m SignalHandlerId
afterTerminalCursorMoved obj cb = liftIO $ do
    let cb' = wrap_TerminalCursorMovedCallback cb
    cb'' <- mk_TerminalCursorMovedCallback cb'
    connectSignalFunPtr obj "cursor-moved" cb'' SignalConnectAfter


-- signal Terminal::decrease-font-size
{- |
Emitted when the user hits the \'-\' key while holding the Control key.
-}
type TerminalDecreaseFontSizeCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalDecreaseFontSizeCallback`@.
noTerminalDecreaseFontSizeCallback :: Maybe TerminalDecreaseFontSizeCallback
noTerminalDecreaseFontSizeCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalDecreaseFontSizeCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalDecreaseFontSizeCallback`.
foreign import ccall "wrapper"
    mk_TerminalDecreaseFontSizeCallback :: C_TerminalDecreaseFontSizeCallback -> IO (FunPtr C_TerminalDecreaseFontSizeCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalDecreaseFontSize :: TerminalDecreaseFontSizeCallback -> IO Closure
genClosure_TerminalDecreaseFontSize cb = do
    let cb' = wrap_TerminalDecreaseFontSizeCallback cb
    mk_TerminalDecreaseFontSizeCallback cb' >>= newCClosure


-- | Wrap a `TerminalDecreaseFontSizeCallback` into a `C_TerminalDecreaseFontSizeCallback`.
wrap_TerminalDecreaseFontSizeCallback ::
    TerminalDecreaseFontSizeCallback ->
    C_TerminalDecreaseFontSizeCallback
wrap_TerminalDecreaseFontSizeCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@decrease-font-size@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #decreaseFontSize callback
@
-}
onTerminalDecreaseFontSize :: (IsTerminal a, MonadIO m) => a -> TerminalDecreaseFontSizeCallback -> m SignalHandlerId
onTerminalDecreaseFontSize obj cb = liftIO $ do
    let cb' = wrap_TerminalDecreaseFontSizeCallback cb
    cb'' <- mk_TerminalDecreaseFontSizeCallback cb'
    connectSignalFunPtr obj "decrease-font-size" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@decrease-font-size@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #decreaseFontSize callback
@
-}
afterTerminalDecreaseFontSize :: (IsTerminal a, MonadIO m) => a -> TerminalDecreaseFontSizeCallback -> m SignalHandlerId
afterTerminalDecreaseFontSize obj cb = liftIO $ do
    let cb' = wrap_TerminalDecreaseFontSizeCallback cb
    cb'' <- mk_TerminalDecreaseFontSizeCallback cb'
    connectSignalFunPtr obj "decrease-font-size" cb'' SignalConnectAfter


-- signal Terminal::deiconify-window
{- |
Emitted at the child application\'s request.
-}
type TerminalDeiconifyWindowCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalDeiconifyWindowCallback`@.
noTerminalDeiconifyWindowCallback :: Maybe TerminalDeiconifyWindowCallback
noTerminalDeiconifyWindowCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalDeiconifyWindowCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalDeiconifyWindowCallback`.
foreign import ccall "wrapper"
    mk_TerminalDeiconifyWindowCallback :: C_TerminalDeiconifyWindowCallback -> IO (FunPtr C_TerminalDeiconifyWindowCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalDeiconifyWindow :: TerminalDeiconifyWindowCallback -> IO Closure
genClosure_TerminalDeiconifyWindow cb = do
    let cb' = wrap_TerminalDeiconifyWindowCallback cb
    mk_TerminalDeiconifyWindowCallback cb' >>= newCClosure


-- | Wrap a `TerminalDeiconifyWindowCallback` into a `C_TerminalDeiconifyWindowCallback`.
wrap_TerminalDeiconifyWindowCallback ::
    TerminalDeiconifyWindowCallback ->
    C_TerminalDeiconifyWindowCallback
wrap_TerminalDeiconifyWindowCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@deiconify-window@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #deiconifyWindow callback
@
-}
onTerminalDeiconifyWindow :: (IsTerminal a, MonadIO m) => a -> TerminalDeiconifyWindowCallback -> m SignalHandlerId
onTerminalDeiconifyWindow obj cb = liftIO $ do
    let cb' = wrap_TerminalDeiconifyWindowCallback cb
    cb'' <- mk_TerminalDeiconifyWindowCallback cb'
    connectSignalFunPtr obj "deiconify-window" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@deiconify-window@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #deiconifyWindow callback
@
-}
afterTerminalDeiconifyWindow :: (IsTerminal a, MonadIO m) => a -> TerminalDeiconifyWindowCallback -> m SignalHandlerId
afterTerminalDeiconifyWindow obj cb = liftIO $ do
    let cb' = wrap_TerminalDeiconifyWindowCallback cb
    cb'' <- mk_TerminalDeiconifyWindowCallback cb'
    connectSignalFunPtr obj "deiconify-window" cb'' SignalConnectAfter


-- signal Terminal::encoding-changed
{- |
Emitted whenever the terminal\'s current encoding has changed, either
as a result of receiving a control sequence which toggled between the
local and UTF-8 encodings, or at the parent application\'s request.
-}
type TerminalEncodingChangedCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalEncodingChangedCallback`@.
noTerminalEncodingChangedCallback :: Maybe TerminalEncodingChangedCallback
noTerminalEncodingChangedCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalEncodingChangedCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalEncodingChangedCallback`.
foreign import ccall "wrapper"
    mk_TerminalEncodingChangedCallback :: C_TerminalEncodingChangedCallback -> IO (FunPtr C_TerminalEncodingChangedCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalEncodingChanged :: TerminalEncodingChangedCallback -> IO Closure
genClosure_TerminalEncodingChanged cb = do
    let cb' = wrap_TerminalEncodingChangedCallback cb
    mk_TerminalEncodingChangedCallback cb' >>= newCClosure


-- | Wrap a `TerminalEncodingChangedCallback` into a `C_TerminalEncodingChangedCallback`.
wrap_TerminalEncodingChangedCallback ::
    TerminalEncodingChangedCallback ->
    C_TerminalEncodingChangedCallback
wrap_TerminalEncodingChangedCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@encoding-changed@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #encodingChanged callback
@
-}
onTerminalEncodingChanged :: (IsTerminal a, MonadIO m) => a -> TerminalEncodingChangedCallback -> m SignalHandlerId
onTerminalEncodingChanged obj cb = liftIO $ do
    let cb' = wrap_TerminalEncodingChangedCallback cb
    cb'' <- mk_TerminalEncodingChangedCallback cb'
    connectSignalFunPtr obj "encoding-changed" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@encoding-changed@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #encodingChanged callback
@
-}
afterTerminalEncodingChanged :: (IsTerminal a, MonadIO m) => a -> TerminalEncodingChangedCallback -> m SignalHandlerId
afterTerminalEncodingChanged obj cb = liftIO $ do
    let cb' = wrap_TerminalEncodingChangedCallback cb
    cb'' <- mk_TerminalEncodingChangedCallback cb'
    connectSignalFunPtr obj "encoding-changed" cb'' SignalConnectAfter


-- signal Terminal::eof
{- |
Emitted when the terminal receives an end-of-file from a child which
is running in the terminal.  This signal is frequently (but not
always) emitted with a 'GI.Vte.Objects.Terminal.Terminal'::@/child-exited/@ signal.
-}
type TerminalEofCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalEofCallback`@.
noTerminalEofCallback :: Maybe TerminalEofCallback
noTerminalEofCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalEofCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalEofCallback`.
foreign import ccall "wrapper"
    mk_TerminalEofCallback :: C_TerminalEofCallback -> IO (FunPtr C_TerminalEofCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalEof :: TerminalEofCallback -> IO Closure
genClosure_TerminalEof cb = do
    let cb' = wrap_TerminalEofCallback cb
    mk_TerminalEofCallback cb' >>= newCClosure


-- | Wrap a `TerminalEofCallback` into a `C_TerminalEofCallback`.
wrap_TerminalEofCallback ::
    TerminalEofCallback ->
    C_TerminalEofCallback
wrap_TerminalEofCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@eof@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #eof callback
@
-}
onTerminalEof :: (IsTerminal a, MonadIO m) => a -> TerminalEofCallback -> m SignalHandlerId
onTerminalEof obj cb = liftIO $ do
    let cb' = wrap_TerminalEofCallback cb
    cb'' <- mk_TerminalEofCallback cb'
    connectSignalFunPtr obj "eof" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@eof@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #eof callback
@
-}
afterTerminalEof :: (IsTerminal a, MonadIO m) => a -> TerminalEofCallback -> m SignalHandlerId
afterTerminalEof obj cb = liftIO $ do
    let cb' = wrap_TerminalEofCallback cb
    cb'' <- mk_TerminalEofCallback cb'
    connectSignalFunPtr obj "eof" cb'' SignalConnectAfter


-- signal Terminal::hyperlink-hover-uri-changed
{- |
Emitted when the hovered hyperlink changes.

/@uri@/ and /@bbox@/ are owned by VTE, must not be modified, and might
change after the signal handlers returns.

The signal is not re-emitted when the bounding box changes for the
same hyperlink. This might change in a future VTE version without notice.

@since 0.50
-}
type TerminalHyperlinkHoverUriChangedCallback =
    T.Text
    {- ^ /@uri@/: the nonempty target URI under the mouse, or NULL -}
    -> Gdk.Rectangle.Rectangle
    {- ^ /@bbox@/: the bounding box of the hyperlink anchor text, or NULL -}
    -> IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalHyperlinkHoverUriChangedCallback`@.
noTerminalHyperlinkHoverUriChangedCallback :: Maybe TerminalHyperlinkHoverUriChangedCallback
noTerminalHyperlinkHoverUriChangedCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalHyperlinkHoverUriChangedCallback =
    Ptr () ->                               -- object
    CString ->
    Ptr Gdk.Rectangle.Rectangle ->
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalHyperlinkHoverUriChangedCallback`.
foreign import ccall "wrapper"
    mk_TerminalHyperlinkHoverUriChangedCallback :: C_TerminalHyperlinkHoverUriChangedCallback -> IO (FunPtr C_TerminalHyperlinkHoverUriChangedCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalHyperlinkHoverUriChanged :: TerminalHyperlinkHoverUriChangedCallback -> IO Closure
genClosure_TerminalHyperlinkHoverUriChanged cb = do
    let cb' = wrap_TerminalHyperlinkHoverUriChangedCallback cb
    mk_TerminalHyperlinkHoverUriChangedCallback cb' >>= newCClosure


-- | Wrap a `TerminalHyperlinkHoverUriChangedCallback` into a `C_TerminalHyperlinkHoverUriChangedCallback`.
wrap_TerminalHyperlinkHoverUriChangedCallback ::
    TerminalHyperlinkHoverUriChangedCallback ->
    C_TerminalHyperlinkHoverUriChangedCallback
wrap_TerminalHyperlinkHoverUriChangedCallback _cb _ uri bbox _ = do
    uri' <- cstringToText uri
    B.ManagedPtr.withTransient Gdk.Rectangle.Rectangle bbox $ \bbox' -> do
        _cb  uri' bbox'


{- |
Connect a signal handler for the “@hyperlink-hover-uri-changed@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #hyperlinkHoverUriChanged callback
@
-}
onTerminalHyperlinkHoverUriChanged :: (IsTerminal a, MonadIO m) => a -> TerminalHyperlinkHoverUriChangedCallback -> m SignalHandlerId
onTerminalHyperlinkHoverUriChanged obj cb = liftIO $ do
    let cb' = wrap_TerminalHyperlinkHoverUriChangedCallback cb
    cb'' <- mk_TerminalHyperlinkHoverUriChangedCallback cb'
    connectSignalFunPtr obj "hyperlink-hover-uri-changed" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@hyperlink-hover-uri-changed@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #hyperlinkHoverUriChanged callback
@
-}
afterTerminalHyperlinkHoverUriChanged :: (IsTerminal a, MonadIO m) => a -> TerminalHyperlinkHoverUriChangedCallback -> m SignalHandlerId
afterTerminalHyperlinkHoverUriChanged obj cb = liftIO $ do
    let cb' = wrap_TerminalHyperlinkHoverUriChangedCallback cb
    cb'' <- mk_TerminalHyperlinkHoverUriChangedCallback cb'
    connectSignalFunPtr obj "hyperlink-hover-uri-changed" cb'' SignalConnectAfter


-- signal Terminal::icon-title-changed
{- |
Emitted when the terminal\'s @/icon_title/@ field is modified.
-}
type TerminalIconTitleChangedCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalIconTitleChangedCallback`@.
noTerminalIconTitleChangedCallback :: Maybe TerminalIconTitleChangedCallback
noTerminalIconTitleChangedCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalIconTitleChangedCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalIconTitleChangedCallback`.
foreign import ccall "wrapper"
    mk_TerminalIconTitleChangedCallback :: C_TerminalIconTitleChangedCallback -> IO (FunPtr C_TerminalIconTitleChangedCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalIconTitleChanged :: TerminalIconTitleChangedCallback -> IO Closure
genClosure_TerminalIconTitleChanged cb = do
    let cb' = wrap_TerminalIconTitleChangedCallback cb
    mk_TerminalIconTitleChangedCallback cb' >>= newCClosure


-- | Wrap a `TerminalIconTitleChangedCallback` into a `C_TerminalIconTitleChangedCallback`.
wrap_TerminalIconTitleChangedCallback ::
    TerminalIconTitleChangedCallback ->
    C_TerminalIconTitleChangedCallback
wrap_TerminalIconTitleChangedCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@icon-title-changed@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #iconTitleChanged callback
@
-}
onTerminalIconTitleChanged :: (IsTerminal a, MonadIO m) => a -> TerminalIconTitleChangedCallback -> m SignalHandlerId
onTerminalIconTitleChanged obj cb = liftIO $ do
    let cb' = wrap_TerminalIconTitleChangedCallback cb
    cb'' <- mk_TerminalIconTitleChangedCallback cb'
    connectSignalFunPtr obj "icon-title-changed" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@icon-title-changed@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #iconTitleChanged callback
@
-}
afterTerminalIconTitleChanged :: (IsTerminal a, MonadIO m) => a -> TerminalIconTitleChangedCallback -> m SignalHandlerId
afterTerminalIconTitleChanged obj cb = liftIO $ do
    let cb' = wrap_TerminalIconTitleChangedCallback cb
    cb'' <- mk_TerminalIconTitleChangedCallback cb'
    connectSignalFunPtr obj "icon-title-changed" cb'' SignalConnectAfter


-- signal Terminal::iconify-window
{- |
Emitted at the child application\'s request.
-}
type TerminalIconifyWindowCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalIconifyWindowCallback`@.
noTerminalIconifyWindowCallback :: Maybe TerminalIconifyWindowCallback
noTerminalIconifyWindowCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalIconifyWindowCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalIconifyWindowCallback`.
foreign import ccall "wrapper"
    mk_TerminalIconifyWindowCallback :: C_TerminalIconifyWindowCallback -> IO (FunPtr C_TerminalIconifyWindowCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalIconifyWindow :: TerminalIconifyWindowCallback -> IO Closure
genClosure_TerminalIconifyWindow cb = do
    let cb' = wrap_TerminalIconifyWindowCallback cb
    mk_TerminalIconifyWindowCallback cb' >>= newCClosure


-- | Wrap a `TerminalIconifyWindowCallback` into a `C_TerminalIconifyWindowCallback`.
wrap_TerminalIconifyWindowCallback ::
    TerminalIconifyWindowCallback ->
    C_TerminalIconifyWindowCallback
wrap_TerminalIconifyWindowCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@iconify-window@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #iconifyWindow callback
@
-}
onTerminalIconifyWindow :: (IsTerminal a, MonadIO m) => a -> TerminalIconifyWindowCallback -> m SignalHandlerId
onTerminalIconifyWindow obj cb = liftIO $ do
    let cb' = wrap_TerminalIconifyWindowCallback cb
    cb'' <- mk_TerminalIconifyWindowCallback cb'
    connectSignalFunPtr obj "iconify-window" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@iconify-window@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #iconifyWindow callback
@
-}
afterTerminalIconifyWindow :: (IsTerminal a, MonadIO m) => a -> TerminalIconifyWindowCallback -> m SignalHandlerId
afterTerminalIconifyWindow obj cb = liftIO $ do
    let cb' = wrap_TerminalIconifyWindowCallback cb
    cb'' <- mk_TerminalIconifyWindowCallback cb'
    connectSignalFunPtr obj "iconify-window" cb'' SignalConnectAfter


-- signal Terminal::increase-font-size
{- |
Emitted when the user hits the \'+\' key while holding the Control key.
-}
type TerminalIncreaseFontSizeCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalIncreaseFontSizeCallback`@.
noTerminalIncreaseFontSizeCallback :: Maybe TerminalIncreaseFontSizeCallback
noTerminalIncreaseFontSizeCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalIncreaseFontSizeCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalIncreaseFontSizeCallback`.
foreign import ccall "wrapper"
    mk_TerminalIncreaseFontSizeCallback :: C_TerminalIncreaseFontSizeCallback -> IO (FunPtr C_TerminalIncreaseFontSizeCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalIncreaseFontSize :: TerminalIncreaseFontSizeCallback -> IO Closure
genClosure_TerminalIncreaseFontSize cb = do
    let cb' = wrap_TerminalIncreaseFontSizeCallback cb
    mk_TerminalIncreaseFontSizeCallback cb' >>= newCClosure


-- | Wrap a `TerminalIncreaseFontSizeCallback` into a `C_TerminalIncreaseFontSizeCallback`.
wrap_TerminalIncreaseFontSizeCallback ::
    TerminalIncreaseFontSizeCallback ->
    C_TerminalIncreaseFontSizeCallback
wrap_TerminalIncreaseFontSizeCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@increase-font-size@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #increaseFontSize callback
@
-}
onTerminalIncreaseFontSize :: (IsTerminal a, MonadIO m) => a -> TerminalIncreaseFontSizeCallback -> m SignalHandlerId
onTerminalIncreaseFontSize obj cb = liftIO $ do
    let cb' = wrap_TerminalIncreaseFontSizeCallback cb
    cb'' <- mk_TerminalIncreaseFontSizeCallback cb'
    connectSignalFunPtr obj "increase-font-size" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@increase-font-size@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #increaseFontSize callback
@
-}
afterTerminalIncreaseFontSize :: (IsTerminal a, MonadIO m) => a -> TerminalIncreaseFontSizeCallback -> m SignalHandlerId
afterTerminalIncreaseFontSize obj cb = liftIO $ do
    let cb' = wrap_TerminalIncreaseFontSizeCallback cb
    cb'' <- mk_TerminalIncreaseFontSizeCallback cb'
    connectSignalFunPtr obj "increase-font-size" cb'' SignalConnectAfter


-- signal Terminal::lower-window
{- |
Emitted at the child application\'s request.
-}
type TerminalLowerWindowCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalLowerWindowCallback`@.
noTerminalLowerWindowCallback :: Maybe TerminalLowerWindowCallback
noTerminalLowerWindowCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalLowerWindowCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalLowerWindowCallback`.
foreign import ccall "wrapper"
    mk_TerminalLowerWindowCallback :: C_TerminalLowerWindowCallback -> IO (FunPtr C_TerminalLowerWindowCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalLowerWindow :: TerminalLowerWindowCallback -> IO Closure
genClosure_TerminalLowerWindow cb = do
    let cb' = wrap_TerminalLowerWindowCallback cb
    mk_TerminalLowerWindowCallback cb' >>= newCClosure


-- | Wrap a `TerminalLowerWindowCallback` into a `C_TerminalLowerWindowCallback`.
wrap_TerminalLowerWindowCallback ::
    TerminalLowerWindowCallback ->
    C_TerminalLowerWindowCallback
wrap_TerminalLowerWindowCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@lower-window@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #lowerWindow callback
@
-}
onTerminalLowerWindow :: (IsTerminal a, MonadIO m) => a -> TerminalLowerWindowCallback -> m SignalHandlerId
onTerminalLowerWindow obj cb = liftIO $ do
    let cb' = wrap_TerminalLowerWindowCallback cb
    cb'' <- mk_TerminalLowerWindowCallback cb'
    connectSignalFunPtr obj "lower-window" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@lower-window@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #lowerWindow callback
@
-}
afterTerminalLowerWindow :: (IsTerminal a, MonadIO m) => a -> TerminalLowerWindowCallback -> m SignalHandlerId
afterTerminalLowerWindow obj cb = liftIO $ do
    let cb' = wrap_TerminalLowerWindowCallback cb
    cb'' <- mk_TerminalLowerWindowCallback cb'
    connectSignalFunPtr obj "lower-window" cb'' SignalConnectAfter


-- signal Terminal::maximize-window
{- |
Emitted at the child application\'s request.
-}
type TerminalMaximizeWindowCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalMaximizeWindowCallback`@.
noTerminalMaximizeWindowCallback :: Maybe TerminalMaximizeWindowCallback
noTerminalMaximizeWindowCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalMaximizeWindowCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalMaximizeWindowCallback`.
foreign import ccall "wrapper"
    mk_TerminalMaximizeWindowCallback :: C_TerminalMaximizeWindowCallback -> IO (FunPtr C_TerminalMaximizeWindowCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalMaximizeWindow :: TerminalMaximizeWindowCallback -> IO Closure
genClosure_TerminalMaximizeWindow cb = do
    let cb' = wrap_TerminalMaximizeWindowCallback cb
    mk_TerminalMaximizeWindowCallback cb' >>= newCClosure


-- | Wrap a `TerminalMaximizeWindowCallback` into a `C_TerminalMaximizeWindowCallback`.
wrap_TerminalMaximizeWindowCallback ::
    TerminalMaximizeWindowCallback ->
    C_TerminalMaximizeWindowCallback
wrap_TerminalMaximizeWindowCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@maximize-window@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #maximizeWindow callback
@
-}
onTerminalMaximizeWindow :: (IsTerminal a, MonadIO m) => a -> TerminalMaximizeWindowCallback -> m SignalHandlerId
onTerminalMaximizeWindow obj cb = liftIO $ do
    let cb' = wrap_TerminalMaximizeWindowCallback cb
    cb'' <- mk_TerminalMaximizeWindowCallback cb'
    connectSignalFunPtr obj "maximize-window" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@maximize-window@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #maximizeWindow callback
@
-}
afterTerminalMaximizeWindow :: (IsTerminal a, MonadIO m) => a -> TerminalMaximizeWindowCallback -> m SignalHandlerId
afterTerminalMaximizeWindow obj cb = liftIO $ do
    let cb' = wrap_TerminalMaximizeWindowCallback cb
    cb'' <- mk_TerminalMaximizeWindowCallback cb'
    connectSignalFunPtr obj "maximize-window" cb'' SignalConnectAfter


-- signal Terminal::move-window
{- |
Emitted at the child application\'s request.
-}
type TerminalMoveWindowCallback =
    Word32
    {- ^ /@x@/: the terminal\'s desired location, X coordinate -}
    -> Word32
    {- ^ /@y@/: the terminal\'s desired location, Y coordinate -}
    -> IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalMoveWindowCallback`@.
noTerminalMoveWindowCallback :: Maybe TerminalMoveWindowCallback
noTerminalMoveWindowCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalMoveWindowCallback =
    Ptr () ->                               -- object
    Word32 ->
    Word32 ->
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalMoveWindowCallback`.
foreign import ccall "wrapper"
    mk_TerminalMoveWindowCallback :: C_TerminalMoveWindowCallback -> IO (FunPtr C_TerminalMoveWindowCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalMoveWindow :: TerminalMoveWindowCallback -> IO Closure
genClosure_TerminalMoveWindow cb = do
    let cb' = wrap_TerminalMoveWindowCallback cb
    mk_TerminalMoveWindowCallback cb' >>= newCClosure


-- | Wrap a `TerminalMoveWindowCallback` into a `C_TerminalMoveWindowCallback`.
wrap_TerminalMoveWindowCallback ::
    TerminalMoveWindowCallback ->
    C_TerminalMoveWindowCallback
wrap_TerminalMoveWindowCallback _cb _ x y _ = do
    _cb  x y


{- |
Connect a signal handler for the “@move-window@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #moveWindow callback
@
-}
onTerminalMoveWindow :: (IsTerminal a, MonadIO m) => a -> TerminalMoveWindowCallback -> m SignalHandlerId
onTerminalMoveWindow obj cb = liftIO $ do
    let cb' = wrap_TerminalMoveWindowCallback cb
    cb'' <- mk_TerminalMoveWindowCallback cb'
    connectSignalFunPtr obj "move-window" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@move-window@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #moveWindow callback
@
-}
afterTerminalMoveWindow :: (IsTerminal a, MonadIO m) => a -> TerminalMoveWindowCallback -> m SignalHandlerId
afterTerminalMoveWindow obj cb = liftIO $ do
    let cb' = wrap_TerminalMoveWindowCallback cb
    cb'' <- mk_TerminalMoveWindowCallback cb'
    connectSignalFunPtr obj "move-window" cb'' SignalConnectAfter


-- signal Terminal::notification-received
{- |
Emitted when a process running in the terminal wants to
send a notification to the desktop environment.
-}
type TerminalNotificationReceivedCallback =
    T.Text
    {- ^ /@summary@/: The summary -}
    -> Maybe T.Text
    {- ^ /@body@/: Extra optional text -}
    -> IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalNotificationReceivedCallback`@.
noTerminalNotificationReceivedCallback :: Maybe TerminalNotificationReceivedCallback
noTerminalNotificationReceivedCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalNotificationReceivedCallback =
    Ptr () ->                               -- object
    CString ->
    CString ->
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalNotificationReceivedCallback`.
foreign import ccall "wrapper"
    mk_TerminalNotificationReceivedCallback :: C_TerminalNotificationReceivedCallback -> IO (FunPtr C_TerminalNotificationReceivedCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalNotificationReceived :: TerminalNotificationReceivedCallback -> IO Closure
genClosure_TerminalNotificationReceived cb = do
    let cb' = wrap_TerminalNotificationReceivedCallback cb
    mk_TerminalNotificationReceivedCallback cb' >>= newCClosure


-- | Wrap a `TerminalNotificationReceivedCallback` into a `C_TerminalNotificationReceivedCallback`.
wrap_TerminalNotificationReceivedCallback ::
    TerminalNotificationReceivedCallback ->
    C_TerminalNotificationReceivedCallback
wrap_TerminalNotificationReceivedCallback _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


{- |
Connect a signal handler for the “@notification-received@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #notificationReceived callback
@
-}
onTerminalNotificationReceived :: (IsTerminal a, MonadIO m) => a -> TerminalNotificationReceivedCallback -> m SignalHandlerId
onTerminalNotificationReceived obj cb = liftIO $ do
    let cb' = wrap_TerminalNotificationReceivedCallback cb
    cb'' <- mk_TerminalNotificationReceivedCallback cb'
    connectSignalFunPtr obj "notification-received" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@notification-received@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #notificationReceived callback
@
-}
afterTerminalNotificationReceived :: (IsTerminal a, MonadIO m) => a -> TerminalNotificationReceivedCallback -> m SignalHandlerId
afterTerminalNotificationReceived obj cb = liftIO $ do
    let cb' = wrap_TerminalNotificationReceivedCallback cb
    cb'' <- mk_TerminalNotificationReceivedCallback cb'
    connectSignalFunPtr obj "notification-received" cb'' SignalConnectAfter


-- signal Terminal::paste-clipboard
{- |
Emitted whenever 'GI.Vte.Objects.Terminal.terminalPasteClipboard' is called.
-}
type TerminalPasteClipboardCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalPasteClipboardCallback`@.
noTerminalPasteClipboardCallback :: Maybe TerminalPasteClipboardCallback
noTerminalPasteClipboardCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalPasteClipboardCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalPasteClipboardCallback`.
foreign import ccall "wrapper"
    mk_TerminalPasteClipboardCallback :: C_TerminalPasteClipboardCallback -> IO (FunPtr C_TerminalPasteClipboardCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalPasteClipboard :: TerminalPasteClipboardCallback -> IO Closure
genClosure_TerminalPasteClipboard cb = do
    let cb' = wrap_TerminalPasteClipboardCallback cb
    mk_TerminalPasteClipboardCallback cb' >>= newCClosure


-- | Wrap a `TerminalPasteClipboardCallback` into a `C_TerminalPasteClipboardCallback`.
wrap_TerminalPasteClipboardCallback ::
    TerminalPasteClipboardCallback ->
    C_TerminalPasteClipboardCallback
wrap_TerminalPasteClipboardCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@paste-clipboard@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #pasteClipboard callback
@
-}
onTerminalPasteClipboard :: (IsTerminal a, MonadIO m) => a -> TerminalPasteClipboardCallback -> m SignalHandlerId
onTerminalPasteClipboard obj cb = liftIO $ do
    let cb' = wrap_TerminalPasteClipboardCallback cb
    cb'' <- mk_TerminalPasteClipboardCallback cb'
    connectSignalFunPtr obj "paste-clipboard" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@paste-clipboard@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #pasteClipboard callback
@
-}
afterTerminalPasteClipboard :: (IsTerminal a, MonadIO m) => a -> TerminalPasteClipboardCallback -> m SignalHandlerId
afterTerminalPasteClipboard obj cb = liftIO $ do
    let cb' = wrap_TerminalPasteClipboardCallback cb
    cb'' <- mk_TerminalPasteClipboardCallback cb'
    connectSignalFunPtr obj "paste-clipboard" cb'' SignalConnectAfter


-- signal Terminal::raise-window
{- |
Emitted at the child application\'s request.
-}
type TerminalRaiseWindowCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalRaiseWindowCallback`@.
noTerminalRaiseWindowCallback :: Maybe TerminalRaiseWindowCallback
noTerminalRaiseWindowCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalRaiseWindowCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalRaiseWindowCallback`.
foreign import ccall "wrapper"
    mk_TerminalRaiseWindowCallback :: C_TerminalRaiseWindowCallback -> IO (FunPtr C_TerminalRaiseWindowCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalRaiseWindow :: TerminalRaiseWindowCallback -> IO Closure
genClosure_TerminalRaiseWindow cb = do
    let cb' = wrap_TerminalRaiseWindowCallback cb
    mk_TerminalRaiseWindowCallback cb' >>= newCClosure


-- | Wrap a `TerminalRaiseWindowCallback` into a `C_TerminalRaiseWindowCallback`.
wrap_TerminalRaiseWindowCallback ::
    TerminalRaiseWindowCallback ->
    C_TerminalRaiseWindowCallback
wrap_TerminalRaiseWindowCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@raise-window@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #raiseWindow callback
@
-}
onTerminalRaiseWindow :: (IsTerminal a, MonadIO m) => a -> TerminalRaiseWindowCallback -> m SignalHandlerId
onTerminalRaiseWindow obj cb = liftIO $ do
    let cb' = wrap_TerminalRaiseWindowCallback cb
    cb'' <- mk_TerminalRaiseWindowCallback cb'
    connectSignalFunPtr obj "raise-window" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@raise-window@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #raiseWindow callback
@
-}
afterTerminalRaiseWindow :: (IsTerminal a, MonadIO m) => a -> TerminalRaiseWindowCallback -> m SignalHandlerId
afterTerminalRaiseWindow obj cb = liftIO $ do
    let cb' = wrap_TerminalRaiseWindowCallback cb
    cb'' <- mk_TerminalRaiseWindowCallback cb'
    connectSignalFunPtr obj "raise-window" cb'' SignalConnectAfter


-- signal Terminal::refresh-window
{- |
Emitted at the child application\'s request.
-}
type TerminalRefreshWindowCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalRefreshWindowCallback`@.
noTerminalRefreshWindowCallback :: Maybe TerminalRefreshWindowCallback
noTerminalRefreshWindowCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalRefreshWindowCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalRefreshWindowCallback`.
foreign import ccall "wrapper"
    mk_TerminalRefreshWindowCallback :: C_TerminalRefreshWindowCallback -> IO (FunPtr C_TerminalRefreshWindowCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalRefreshWindow :: TerminalRefreshWindowCallback -> IO Closure
genClosure_TerminalRefreshWindow cb = do
    let cb' = wrap_TerminalRefreshWindowCallback cb
    mk_TerminalRefreshWindowCallback cb' >>= newCClosure


-- | Wrap a `TerminalRefreshWindowCallback` into a `C_TerminalRefreshWindowCallback`.
wrap_TerminalRefreshWindowCallback ::
    TerminalRefreshWindowCallback ->
    C_TerminalRefreshWindowCallback
wrap_TerminalRefreshWindowCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@refresh-window@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #refreshWindow callback
@
-}
onTerminalRefreshWindow :: (IsTerminal a, MonadIO m) => a -> TerminalRefreshWindowCallback -> m SignalHandlerId
onTerminalRefreshWindow obj cb = liftIO $ do
    let cb' = wrap_TerminalRefreshWindowCallback cb
    cb'' <- mk_TerminalRefreshWindowCallback cb'
    connectSignalFunPtr obj "refresh-window" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@refresh-window@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #refreshWindow callback
@
-}
afterTerminalRefreshWindow :: (IsTerminal a, MonadIO m) => a -> TerminalRefreshWindowCallback -> m SignalHandlerId
afterTerminalRefreshWindow obj cb = liftIO $ do
    let cb' = wrap_TerminalRefreshWindowCallback cb
    cb'' <- mk_TerminalRefreshWindowCallback cb'
    connectSignalFunPtr obj "refresh-window" cb'' SignalConnectAfter


-- signal Terminal::resize-window
{- |
Emitted at the child application\'s request.
-}
type TerminalResizeWindowCallback =
    Word32
    {- ^ /@width@/: the desired number of columns -}
    -> Word32
    {- ^ /@height@/: the desired number of rows -}
    -> IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalResizeWindowCallback`@.
noTerminalResizeWindowCallback :: Maybe TerminalResizeWindowCallback
noTerminalResizeWindowCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalResizeWindowCallback =
    Ptr () ->                               -- object
    Word32 ->
    Word32 ->
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalResizeWindowCallback`.
foreign import ccall "wrapper"
    mk_TerminalResizeWindowCallback :: C_TerminalResizeWindowCallback -> IO (FunPtr C_TerminalResizeWindowCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalResizeWindow :: TerminalResizeWindowCallback -> IO Closure
genClosure_TerminalResizeWindow cb = do
    let cb' = wrap_TerminalResizeWindowCallback cb
    mk_TerminalResizeWindowCallback cb' >>= newCClosure


-- | Wrap a `TerminalResizeWindowCallback` into a `C_TerminalResizeWindowCallback`.
wrap_TerminalResizeWindowCallback ::
    TerminalResizeWindowCallback ->
    C_TerminalResizeWindowCallback
wrap_TerminalResizeWindowCallback _cb _ width height _ = do
    _cb  width height


{- |
Connect a signal handler for the “@resize-window@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #resizeWindow callback
@
-}
onTerminalResizeWindow :: (IsTerminal a, MonadIO m) => a -> TerminalResizeWindowCallback -> m SignalHandlerId
onTerminalResizeWindow obj cb = liftIO $ do
    let cb' = wrap_TerminalResizeWindowCallback cb
    cb'' <- mk_TerminalResizeWindowCallback cb'
    connectSignalFunPtr obj "resize-window" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@resize-window@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #resizeWindow callback
@
-}
afterTerminalResizeWindow :: (IsTerminal a, MonadIO m) => a -> TerminalResizeWindowCallback -> m SignalHandlerId
afterTerminalResizeWindow obj cb = liftIO $ do
    let cb' = wrap_TerminalResizeWindowCallback cb
    cb'' <- mk_TerminalResizeWindowCallback cb'
    connectSignalFunPtr obj "resize-window" cb'' SignalConnectAfter


-- signal Terminal::restore-window
{- |
Emitted at the child application\'s request.
-}
type TerminalRestoreWindowCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalRestoreWindowCallback`@.
noTerminalRestoreWindowCallback :: Maybe TerminalRestoreWindowCallback
noTerminalRestoreWindowCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalRestoreWindowCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalRestoreWindowCallback`.
foreign import ccall "wrapper"
    mk_TerminalRestoreWindowCallback :: C_TerminalRestoreWindowCallback -> IO (FunPtr C_TerminalRestoreWindowCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalRestoreWindow :: TerminalRestoreWindowCallback -> IO Closure
genClosure_TerminalRestoreWindow cb = do
    let cb' = wrap_TerminalRestoreWindowCallback cb
    mk_TerminalRestoreWindowCallback cb' >>= newCClosure


-- | Wrap a `TerminalRestoreWindowCallback` into a `C_TerminalRestoreWindowCallback`.
wrap_TerminalRestoreWindowCallback ::
    TerminalRestoreWindowCallback ->
    C_TerminalRestoreWindowCallback
wrap_TerminalRestoreWindowCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@restore-window@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #restoreWindow callback
@
-}
onTerminalRestoreWindow :: (IsTerminal a, MonadIO m) => a -> TerminalRestoreWindowCallback -> m SignalHandlerId
onTerminalRestoreWindow obj cb = liftIO $ do
    let cb' = wrap_TerminalRestoreWindowCallback cb
    cb'' <- mk_TerminalRestoreWindowCallback cb'
    connectSignalFunPtr obj "restore-window" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@restore-window@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #restoreWindow callback
@
-}
afterTerminalRestoreWindow :: (IsTerminal a, MonadIO m) => a -> TerminalRestoreWindowCallback -> m SignalHandlerId
afterTerminalRestoreWindow obj cb = liftIO $ do
    let cb' = wrap_TerminalRestoreWindowCallback cb
    cb'' <- mk_TerminalRestoreWindowCallback cb'
    connectSignalFunPtr obj "restore-window" cb'' SignalConnectAfter


-- signal Terminal::selection-changed
{- |
Emitted whenever the contents of terminal\'s selection changes.
-}
type TerminalSelectionChangedCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalSelectionChangedCallback`@.
noTerminalSelectionChangedCallback :: Maybe TerminalSelectionChangedCallback
noTerminalSelectionChangedCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalSelectionChangedCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalSelectionChangedCallback`.
foreign import ccall "wrapper"
    mk_TerminalSelectionChangedCallback :: C_TerminalSelectionChangedCallback -> IO (FunPtr C_TerminalSelectionChangedCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalSelectionChanged :: TerminalSelectionChangedCallback -> IO Closure
genClosure_TerminalSelectionChanged cb = do
    let cb' = wrap_TerminalSelectionChangedCallback cb
    mk_TerminalSelectionChangedCallback cb' >>= newCClosure


-- | Wrap a `TerminalSelectionChangedCallback` into a `C_TerminalSelectionChangedCallback`.
wrap_TerminalSelectionChangedCallback ::
    TerminalSelectionChangedCallback ->
    C_TerminalSelectionChangedCallback
wrap_TerminalSelectionChangedCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@selection-changed@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #selectionChanged callback
@
-}
onTerminalSelectionChanged :: (IsTerminal a, MonadIO m) => a -> TerminalSelectionChangedCallback -> m SignalHandlerId
onTerminalSelectionChanged obj cb = liftIO $ do
    let cb' = wrap_TerminalSelectionChangedCallback cb
    cb'' <- mk_TerminalSelectionChangedCallback cb'
    connectSignalFunPtr obj "selection-changed" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@selection-changed@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #selectionChanged callback
@
-}
afterTerminalSelectionChanged :: (IsTerminal a, MonadIO m) => a -> TerminalSelectionChangedCallback -> m SignalHandlerId
afterTerminalSelectionChanged obj cb = liftIO $ do
    let cb' = wrap_TerminalSelectionChangedCallback cb
    cb'' <- mk_TerminalSelectionChangedCallback cb'
    connectSignalFunPtr obj "selection-changed" cb'' SignalConnectAfter


-- signal Terminal::text-deleted
{- |
An internal signal used for communication between the terminal and
its accessibility peer. May not be emitted under certain
circumstances.
-}
type TerminalTextDeletedCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalTextDeletedCallback`@.
noTerminalTextDeletedCallback :: Maybe TerminalTextDeletedCallback
noTerminalTextDeletedCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalTextDeletedCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalTextDeletedCallback`.
foreign import ccall "wrapper"
    mk_TerminalTextDeletedCallback :: C_TerminalTextDeletedCallback -> IO (FunPtr C_TerminalTextDeletedCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalTextDeleted :: TerminalTextDeletedCallback -> IO Closure
genClosure_TerminalTextDeleted cb = do
    let cb' = wrap_TerminalTextDeletedCallback cb
    mk_TerminalTextDeletedCallback cb' >>= newCClosure


-- | Wrap a `TerminalTextDeletedCallback` into a `C_TerminalTextDeletedCallback`.
wrap_TerminalTextDeletedCallback ::
    TerminalTextDeletedCallback ->
    C_TerminalTextDeletedCallback
wrap_TerminalTextDeletedCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@text-deleted@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #textDeleted callback
@
-}
onTerminalTextDeleted :: (IsTerminal a, MonadIO m) => a -> TerminalTextDeletedCallback -> m SignalHandlerId
onTerminalTextDeleted obj cb = liftIO $ do
    let cb' = wrap_TerminalTextDeletedCallback cb
    cb'' <- mk_TerminalTextDeletedCallback cb'
    connectSignalFunPtr obj "text-deleted" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@text-deleted@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #textDeleted callback
@
-}
afterTerminalTextDeleted :: (IsTerminal a, MonadIO m) => a -> TerminalTextDeletedCallback -> m SignalHandlerId
afterTerminalTextDeleted obj cb = liftIO $ do
    let cb' = wrap_TerminalTextDeletedCallback cb
    cb'' <- mk_TerminalTextDeletedCallback cb'
    connectSignalFunPtr obj "text-deleted" cb'' SignalConnectAfter


-- signal Terminal::text-inserted
{- |
An internal signal used for communication between the terminal and
its accessibility peer. May not be emitted under certain
circumstances.
-}
type TerminalTextInsertedCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalTextInsertedCallback`@.
noTerminalTextInsertedCallback :: Maybe TerminalTextInsertedCallback
noTerminalTextInsertedCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalTextInsertedCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalTextInsertedCallback`.
foreign import ccall "wrapper"
    mk_TerminalTextInsertedCallback :: C_TerminalTextInsertedCallback -> IO (FunPtr C_TerminalTextInsertedCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalTextInserted :: TerminalTextInsertedCallback -> IO Closure
genClosure_TerminalTextInserted cb = do
    let cb' = wrap_TerminalTextInsertedCallback cb
    mk_TerminalTextInsertedCallback cb' >>= newCClosure


-- | Wrap a `TerminalTextInsertedCallback` into a `C_TerminalTextInsertedCallback`.
wrap_TerminalTextInsertedCallback ::
    TerminalTextInsertedCallback ->
    C_TerminalTextInsertedCallback
wrap_TerminalTextInsertedCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@text-inserted@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #textInserted callback
@
-}
onTerminalTextInserted :: (IsTerminal a, MonadIO m) => a -> TerminalTextInsertedCallback -> m SignalHandlerId
onTerminalTextInserted obj cb = liftIO $ do
    let cb' = wrap_TerminalTextInsertedCallback cb
    cb'' <- mk_TerminalTextInsertedCallback cb'
    connectSignalFunPtr obj "text-inserted" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@text-inserted@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #textInserted callback
@
-}
afterTerminalTextInserted :: (IsTerminal a, MonadIO m) => a -> TerminalTextInsertedCallback -> m SignalHandlerId
afterTerminalTextInserted obj cb = liftIO $ do
    let cb' = wrap_TerminalTextInsertedCallback cb
    cb'' <- mk_TerminalTextInsertedCallback cb'
    connectSignalFunPtr obj "text-inserted" cb'' SignalConnectAfter


-- signal Terminal::text-modified
{- |
An internal signal used for communication between the terminal and
its accessibility peer. May not be emitted under certain
circumstances.
-}
type TerminalTextModifiedCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalTextModifiedCallback`@.
noTerminalTextModifiedCallback :: Maybe TerminalTextModifiedCallback
noTerminalTextModifiedCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalTextModifiedCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalTextModifiedCallback`.
foreign import ccall "wrapper"
    mk_TerminalTextModifiedCallback :: C_TerminalTextModifiedCallback -> IO (FunPtr C_TerminalTextModifiedCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalTextModified :: TerminalTextModifiedCallback -> IO Closure
genClosure_TerminalTextModified cb = do
    let cb' = wrap_TerminalTextModifiedCallback cb
    mk_TerminalTextModifiedCallback cb' >>= newCClosure


-- | Wrap a `TerminalTextModifiedCallback` into a `C_TerminalTextModifiedCallback`.
wrap_TerminalTextModifiedCallback ::
    TerminalTextModifiedCallback ->
    C_TerminalTextModifiedCallback
wrap_TerminalTextModifiedCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@text-modified@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #textModified callback
@
-}
onTerminalTextModified :: (IsTerminal a, MonadIO m) => a -> TerminalTextModifiedCallback -> m SignalHandlerId
onTerminalTextModified obj cb = liftIO $ do
    let cb' = wrap_TerminalTextModifiedCallback cb
    cb'' <- mk_TerminalTextModifiedCallback cb'
    connectSignalFunPtr obj "text-modified" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@text-modified@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #textModified callback
@
-}
afterTerminalTextModified :: (IsTerminal a, MonadIO m) => a -> TerminalTextModifiedCallback -> m SignalHandlerId
afterTerminalTextModified obj cb = liftIO $ do
    let cb' = wrap_TerminalTextModifiedCallback cb
    cb'' <- mk_TerminalTextModifiedCallback cb'
    connectSignalFunPtr obj "text-modified" cb'' SignalConnectAfter


-- signal Terminal::text-scrolled
{- |
An internal signal used for communication between the terminal and
its accessibility peer. May not be emitted under certain
circumstances.
-}
type TerminalTextScrolledCallback =
    Int32
    {- ^ /@delta@/: the number of lines scrolled -}
    -> IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalTextScrolledCallback`@.
noTerminalTextScrolledCallback :: Maybe TerminalTextScrolledCallback
noTerminalTextScrolledCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalTextScrolledCallback =
    Ptr () ->                               -- object
    Int32 ->
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalTextScrolledCallback`.
foreign import ccall "wrapper"
    mk_TerminalTextScrolledCallback :: C_TerminalTextScrolledCallback -> IO (FunPtr C_TerminalTextScrolledCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalTextScrolled :: TerminalTextScrolledCallback -> IO Closure
genClosure_TerminalTextScrolled cb = do
    let cb' = wrap_TerminalTextScrolledCallback cb
    mk_TerminalTextScrolledCallback cb' >>= newCClosure


-- | Wrap a `TerminalTextScrolledCallback` into a `C_TerminalTextScrolledCallback`.
wrap_TerminalTextScrolledCallback ::
    TerminalTextScrolledCallback ->
    C_TerminalTextScrolledCallback
wrap_TerminalTextScrolledCallback _cb _ delta _ = do
    _cb  delta


{- |
Connect a signal handler for the “@text-scrolled@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #textScrolled callback
@
-}
onTerminalTextScrolled :: (IsTerminal a, MonadIO m) => a -> TerminalTextScrolledCallback -> m SignalHandlerId
onTerminalTextScrolled obj cb = liftIO $ do
    let cb' = wrap_TerminalTextScrolledCallback cb
    cb'' <- mk_TerminalTextScrolledCallback cb'
    connectSignalFunPtr obj "text-scrolled" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@text-scrolled@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #textScrolled callback
@
-}
afterTerminalTextScrolled :: (IsTerminal a, MonadIO m) => a -> TerminalTextScrolledCallback -> m SignalHandlerId
afterTerminalTextScrolled obj cb = liftIO $ do
    let cb' = wrap_TerminalTextScrolledCallback cb
    cb'' <- mk_TerminalTextScrolledCallback cb'
    connectSignalFunPtr obj "text-scrolled" cb'' SignalConnectAfter


-- signal Terminal::window-title-changed
{- |
Emitted when the terminal\'s @/window_title/@ field is modified.
-}
type TerminalWindowTitleChangedCallback =
    IO ()

-- | A convenience synonym for @`Nothing` :: `Maybe` `TerminalWindowTitleChangedCallback`@.
noTerminalWindowTitleChangedCallback :: Maybe TerminalWindowTitleChangedCallback
noTerminalWindowTitleChangedCallback = Nothing

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalWindowTitleChangedCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

-- | Generate a function pointer callable from C code, from a `C_TerminalWindowTitleChangedCallback`.
foreign import ccall "wrapper"
    mk_TerminalWindowTitleChangedCallback :: C_TerminalWindowTitleChangedCallback -> IO (FunPtr C_TerminalWindowTitleChangedCallback)

-- | Wrap the callback into a `Closure`.
genClosure_TerminalWindowTitleChanged :: TerminalWindowTitleChangedCallback -> IO Closure
genClosure_TerminalWindowTitleChanged cb = do
    let cb' = wrap_TerminalWindowTitleChangedCallback cb
    mk_TerminalWindowTitleChangedCallback cb' >>= newCClosure


-- | Wrap a `TerminalWindowTitleChangedCallback` into a `C_TerminalWindowTitleChangedCallback`.
wrap_TerminalWindowTitleChangedCallback ::
    TerminalWindowTitleChangedCallback ->
    C_TerminalWindowTitleChangedCallback
wrap_TerminalWindowTitleChangedCallback _cb _ _ = do
    _cb


{- |
Connect a signal handler for the “@window-title-changed@” signal, to be run before the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.on' terminal #windowTitleChanged callback
@
-}
onTerminalWindowTitleChanged :: (IsTerminal a, MonadIO m) => a -> TerminalWindowTitleChangedCallback -> m SignalHandlerId
onTerminalWindowTitleChanged obj cb = liftIO $ do
    let cb' = wrap_TerminalWindowTitleChangedCallback cb
    cb'' <- mk_TerminalWindowTitleChangedCallback cb'
    connectSignalFunPtr obj "window-title-changed" cb'' SignalConnectBefore

{- |
Connect a signal handler for the “@window-title-changed@” signal, to be run after the default handler.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Signals.after' terminal #windowTitleChanged callback
@
-}
afterTerminalWindowTitleChanged :: (IsTerminal a, MonadIO m) => a -> TerminalWindowTitleChangedCallback -> m SignalHandlerId
afterTerminalWindowTitleChanged obj cb = liftIO $ do
    let cb' = wrap_TerminalWindowTitleChangedCallback cb
    cb'' <- mk_TerminalWindowTitleChangedCallback cb'
    connectSignalFunPtr obj "window-title-changed" cb'' SignalConnectAfter


-- VVV Prop "allow-bold"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

{- |
Get the value of the “@allow-bold@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' terminal #allowBold
@
-}
getTerminalAllowBold :: (MonadIO m, IsTerminal o) => o -> m Bool
getTerminalAllowBold obj = liftIO $ getObjectPropertyBool obj "allow-bold"

{- |
Set the value of the “@allow-bold@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' terminal [ #allowBold 'Data.GI.Base.Attributes.:=' value ]
@
-}
setTerminalAllowBold :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()
setTerminalAllowBold obj val = liftIO $ setObjectPropertyBool obj "allow-bold" val

{- |
Construct a `GValueConstruct` with valid value for the “@allow-bold@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructTerminalAllowBold :: (IsTerminal o) => Bool -> IO (GValueConstruct o)
constructTerminalAllowBold val = constructObjectPropertyBool "allow-bold" val

#if ENABLE_OVERLOADING
data TerminalAllowBoldPropertyInfo
instance AttrInfo TerminalAllowBoldPropertyInfo where
    type AttrAllowedOps TerminalAllowBoldPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint TerminalAllowBoldPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint TerminalAllowBoldPropertyInfo = IsTerminal
    type AttrGetType TerminalAllowBoldPropertyInfo = Bool
    type AttrLabel TerminalAllowBoldPropertyInfo = "allow-bold"
    type AttrOrigin TerminalAllowBoldPropertyInfo = Terminal
    attrGet _ = getTerminalAllowBold
    attrSet _ = setTerminalAllowBold
    attrConstruct _ = constructTerminalAllowBold
    attrClear _ = undefined
#endif

-- VVV Prop "allow-hyperlink"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

{- |
Get the value of the “@allow-hyperlink@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' terminal #allowHyperlink
@
-}
getTerminalAllowHyperlink :: (MonadIO m, IsTerminal o) => o -> m Bool
getTerminalAllowHyperlink obj = liftIO $ getObjectPropertyBool obj "allow-hyperlink"

{- |
Set the value of the “@allow-hyperlink@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' terminal [ #allowHyperlink 'Data.GI.Base.Attributes.:=' value ]
@
-}
setTerminalAllowHyperlink :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()
setTerminalAllowHyperlink obj val = liftIO $ setObjectPropertyBool obj "allow-hyperlink" val

{- |
Construct a `GValueConstruct` with valid value for the “@allow-hyperlink@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructTerminalAllowHyperlink :: (IsTerminal o) => Bool -> IO (GValueConstruct o)
constructTerminalAllowHyperlink val = constructObjectPropertyBool "allow-hyperlink" val

#if ENABLE_OVERLOADING
data TerminalAllowHyperlinkPropertyInfo
instance AttrInfo TerminalAllowHyperlinkPropertyInfo where
    type AttrAllowedOps TerminalAllowHyperlinkPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint TerminalAllowHyperlinkPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint TerminalAllowHyperlinkPropertyInfo = IsTerminal
    type AttrGetType TerminalAllowHyperlinkPropertyInfo = Bool
    type AttrLabel TerminalAllowHyperlinkPropertyInfo = "allow-hyperlink"
    type AttrOrigin TerminalAllowHyperlinkPropertyInfo = Terminal
    attrGet _ = getTerminalAllowHyperlink
    attrSet _ = setTerminalAllowHyperlink
    attrConstruct _ = constructTerminalAllowHyperlink
    attrClear _ = undefined
#endif

-- VVV Prop "audible-bell"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

{- |
Get the value of the “@audible-bell@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' terminal #audibleBell
@
-}
getTerminalAudibleBell :: (MonadIO m, IsTerminal o) => o -> m Bool
getTerminalAudibleBell obj = liftIO $ getObjectPropertyBool obj "audible-bell"

{- |
Set the value of the “@audible-bell@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' terminal [ #audibleBell 'Data.GI.Base.Attributes.:=' value ]
@
-}
setTerminalAudibleBell :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()
setTerminalAudibleBell obj val = liftIO $ setObjectPropertyBool obj "audible-bell" val

{- |
Construct a `GValueConstruct` with valid value for the “@audible-bell@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructTerminalAudibleBell :: (IsTerminal o) => Bool -> IO (GValueConstruct o)
constructTerminalAudibleBell val = constructObjectPropertyBool "audible-bell" val

#if ENABLE_OVERLOADING
data TerminalAudibleBellPropertyInfo
instance AttrInfo TerminalAudibleBellPropertyInfo where
    type AttrAllowedOps TerminalAudibleBellPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint TerminalAudibleBellPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint TerminalAudibleBellPropertyInfo = IsTerminal
    type AttrGetType TerminalAudibleBellPropertyInfo = Bool
    type AttrLabel TerminalAudibleBellPropertyInfo = "audible-bell"
    type AttrOrigin TerminalAudibleBellPropertyInfo = Terminal
    attrGet _ = getTerminalAudibleBell
    attrSet _ = setTerminalAudibleBell
    attrConstruct _ = constructTerminalAudibleBell
    attrClear _ = undefined
#endif

-- VVV Prop "backspace-binding"
   -- Type: TInterface (Name {namespace = "Vte", name = "EraseBinding"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Just False)

{- |
Get the value of the “@backspace-binding@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' terminal #backspaceBinding
@
-}
getTerminalBackspaceBinding :: (MonadIO m, IsTerminal o) => o -> m Vte.Enums.EraseBinding
getTerminalBackspaceBinding obj = liftIO $ getObjectPropertyEnum obj "backspace-binding"

{- |
Set the value of the “@backspace-binding@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' terminal [ #backspaceBinding 'Data.GI.Base.Attributes.:=' value ]
@
-}
setTerminalBackspaceBinding :: (MonadIO m, IsTerminal o) => o -> Vte.Enums.EraseBinding -> m ()
setTerminalBackspaceBinding obj val = liftIO $ setObjectPropertyEnum obj "backspace-binding" val

{- |
Construct a `GValueConstruct` with valid value for the “@backspace-binding@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructTerminalBackspaceBinding :: (IsTerminal o) => Vte.Enums.EraseBinding -> IO (GValueConstruct o)
constructTerminalBackspaceBinding val = constructObjectPropertyEnum "backspace-binding" val

#if ENABLE_OVERLOADING
data TerminalBackspaceBindingPropertyInfo
instance AttrInfo TerminalBackspaceBindingPropertyInfo where
    type AttrAllowedOps TerminalBackspaceBindingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint TerminalBackspaceBindingPropertyInfo = (~) Vte.Enums.EraseBinding
    type AttrBaseTypeConstraint TerminalBackspaceBindingPropertyInfo = IsTerminal
    type AttrGetType TerminalBackspaceBindingPropertyInfo = Vte.Enums.EraseBinding
    type AttrLabel TerminalBackspaceBindingPropertyInfo = "backspace-binding"
    type AttrOrigin TerminalBackspaceBindingPropertyInfo = Terminal
    attrGet _ = getTerminalBackspaceBinding
    attrSet _ = setTerminalBackspaceBinding
    attrConstruct _ = constructTerminalBackspaceBinding
    attrClear _ = undefined
#endif

-- VVV Prop "bold-is-bright"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

{- |
Get the value of the “@bold-is-bright@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' terminal #boldIsBright
@
-}
getTerminalBoldIsBright :: (MonadIO m, IsTerminal o) => o -> m Bool
getTerminalBoldIsBright obj = liftIO $ getObjectPropertyBool obj "bold-is-bright"

{- |
Set the value of the “@bold-is-bright@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' terminal [ #boldIsBright 'Data.GI.Base.Attributes.:=' value ]
@
-}
setTerminalBoldIsBright :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()
setTerminalBoldIsBright obj val = liftIO $ setObjectPropertyBool obj "bold-is-bright" val

{- |
Construct a `GValueConstruct` with valid value for the “@bold-is-bright@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructTerminalBoldIsBright :: (IsTerminal o) => Bool -> IO (GValueConstruct o)
constructTerminalBoldIsBright val = constructObjectPropertyBool "bold-is-bright" val

#if ENABLE_OVERLOADING
data TerminalBoldIsBrightPropertyInfo
instance AttrInfo TerminalBoldIsBrightPropertyInfo where
    type AttrAllowedOps TerminalBoldIsBrightPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint TerminalBoldIsBrightPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint TerminalBoldIsBrightPropertyInfo = IsTerminal
    type AttrGetType TerminalBoldIsBrightPropertyInfo = Bool
    type AttrLabel TerminalBoldIsBrightPropertyInfo = "bold-is-bright"
    type AttrOrigin TerminalBoldIsBrightPropertyInfo = Terminal
    attrGet _ = getTerminalBoldIsBright
    attrSet _ = setTerminalBoldIsBright
    attrConstruct _ = constructTerminalBoldIsBright
    attrClear _ = undefined
#endif

-- VVV Prop "cell-height-scale"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

{- |
Get the value of the “@cell-height-scale@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' terminal #cellHeightScale
@
-}
getTerminalCellHeightScale :: (MonadIO m, IsTerminal o) => o -> m Double
getTerminalCellHeightScale obj = liftIO $ getObjectPropertyDouble obj "cell-height-scale"

{- |
Set the value of the “@cell-height-scale@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' terminal [ #cellHeightScale 'Data.GI.Base.Attributes.:=' value ]
@
-}
setTerminalCellHeightScale :: (MonadIO m, IsTerminal o) => o -> Double -> m ()
setTerminalCellHeightScale obj val = liftIO $ setObjectPropertyDouble obj "cell-height-scale" val

{- |
Construct a `GValueConstruct` with valid value for the “@cell-height-scale@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructTerminalCellHeightScale :: (IsTerminal o) => Double -> IO (GValueConstruct o)
constructTerminalCellHeightScale val = constructObjectPropertyDouble "cell-height-scale" val

#if ENABLE_OVERLOADING
data TerminalCellHeightScalePropertyInfo
instance AttrInfo TerminalCellHeightScalePropertyInfo where
    type AttrAllowedOps TerminalCellHeightScalePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint TerminalCellHeightScalePropertyInfo = (~) Double
    type AttrBaseTypeConstraint TerminalCellHeightScalePropertyInfo = IsTerminal
    type AttrGetType TerminalCellHeightScalePropertyInfo = Double
    type AttrLabel TerminalCellHeightScalePropertyInfo = "cell-height-scale"
    type AttrOrigin TerminalCellHeightScalePropertyInfo = Terminal
    attrGet _ = getTerminalCellHeightScale
    attrSet _ = setTerminalCellHeightScale
    attrConstruct _ = constructTerminalCellHeightScale
    attrClear _ = undefined
#endif

-- VVV Prop "cell-width-scale"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

{- |
Get the value of the “@cell-width-scale@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' terminal #cellWidthScale
@
-}
getTerminalCellWidthScale :: (MonadIO m, IsTerminal o) => o -> m Double
getTerminalCellWidthScale obj = liftIO $ getObjectPropertyDouble obj "cell-width-scale"

{- |
Set the value of the “@cell-width-scale@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' terminal [ #cellWidthScale 'Data.GI.Base.Attributes.:=' value ]
@
-}
setTerminalCellWidthScale :: (MonadIO m, IsTerminal o) => o -> Double -> m ()
setTerminalCellWidthScale obj val = liftIO $ setObjectPropertyDouble obj "cell-width-scale" val

{- |
Construct a `GValueConstruct` with valid value for the “@cell-width-scale@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructTerminalCellWidthScale :: (IsTerminal o) => Double -> IO (GValueConstruct o)
constructTerminalCellWidthScale val = constructObjectPropertyDouble "cell-width-scale" val

#if ENABLE_OVERLOADING
data TerminalCellWidthScalePropertyInfo
instance AttrInfo TerminalCellWidthScalePropertyInfo where
    type AttrAllowedOps TerminalCellWidthScalePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint TerminalCellWidthScalePropertyInfo = (~) Double
    type AttrBaseTypeConstraint TerminalCellWidthScalePropertyInfo = IsTerminal
    type AttrGetType TerminalCellWidthScalePropertyInfo = Double
    type AttrLabel TerminalCellWidthScalePropertyInfo = "cell-width-scale"
    type AttrOrigin TerminalCellWidthScalePropertyInfo = Terminal
    attrGet _ = getTerminalCellWidthScale
    attrSet _ = setTerminalCellWidthScale
    attrConstruct _ = constructTerminalCellWidthScale
    attrClear _ = undefined
#endif

-- VVV Prop "cjk-ambiguous-width"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

{- |
Get the value of the “@cjk-ambiguous-width@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' terminal #cjkAmbiguousWidth
@
-}
getTerminalCjkAmbiguousWidth :: (MonadIO m, IsTerminal o) => o -> m Int32
getTerminalCjkAmbiguousWidth obj = liftIO $ getObjectPropertyInt32 obj "cjk-ambiguous-width"

{- |
Set the value of the “@cjk-ambiguous-width@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' terminal [ #cjkAmbiguousWidth 'Data.GI.Base.Attributes.:=' value ]
@
-}
setTerminalCjkAmbiguousWidth :: (MonadIO m, IsTerminal o) => o -> Int32 -> m ()
setTerminalCjkAmbiguousWidth obj val = liftIO $ setObjectPropertyInt32 obj "cjk-ambiguous-width" val

{- |
Construct a `GValueConstruct` with valid value for the “@cjk-ambiguous-width@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructTerminalCjkAmbiguousWidth :: (IsTerminal o) => Int32 -> IO (GValueConstruct o)
constructTerminalCjkAmbiguousWidth val = constructObjectPropertyInt32 "cjk-ambiguous-width" val

#if ENABLE_OVERLOADING
data TerminalCjkAmbiguousWidthPropertyInfo
instance AttrInfo TerminalCjkAmbiguousWidthPropertyInfo where
    type AttrAllowedOps TerminalCjkAmbiguousWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint TerminalCjkAmbiguousWidthPropertyInfo = (~) Int32
    type AttrBaseTypeConstraint TerminalCjkAmbiguousWidthPropertyInfo = IsTerminal
    type AttrGetType TerminalCjkAmbiguousWidthPropertyInfo = Int32
    type AttrLabel TerminalCjkAmbiguousWidthPropertyInfo = "cjk-ambiguous-width"
    type AttrOrigin TerminalCjkAmbiguousWidthPropertyInfo = Terminal
    attrGet _ = getTerminalCjkAmbiguousWidth
    attrSet _ = setTerminalCjkAmbiguousWidth
    attrConstruct _ = constructTerminalCjkAmbiguousWidth
    attrClear _ = undefined
#endif

-- VVV Prop "current-directory-uri"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]
   -- Nullable: (Just True,Nothing)

{- |
Get the value of the “@current-directory-uri@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' terminal #currentDirectoryUri
@
-}
getTerminalCurrentDirectoryUri :: (MonadIO m, IsTerminal o) => o -> m (Maybe T.Text)
getTerminalCurrentDirectoryUri obj = liftIO $ getObjectPropertyString obj "current-directory-uri"

#if ENABLE_OVERLOADING
data TerminalCurrentDirectoryUriPropertyInfo
instance AttrInfo TerminalCurrentDirectoryUriPropertyInfo where
    type AttrAllowedOps TerminalCurrentDirectoryUriPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint TerminalCurrentDirectoryUriPropertyInfo = (~) ()
    type AttrBaseTypeConstraint TerminalCurrentDirectoryUriPropertyInfo = IsTerminal
    type AttrGetType TerminalCurrentDirectoryUriPropertyInfo = (Maybe T.Text)
    type AttrLabel TerminalCurrentDirectoryUriPropertyInfo = "current-directory-uri"
    type AttrOrigin TerminalCurrentDirectoryUriPropertyInfo = Terminal
    attrGet _ = getTerminalCurrentDirectoryUri
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

-- VVV Prop "current-file-uri"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

{- |
Get the value of the “@current-file-uri@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' terminal #currentFileUri
@
-}
getTerminalCurrentFileUri :: (MonadIO m, IsTerminal o) => o -> m T.Text
getTerminalCurrentFileUri obj = liftIO $ checkUnexpectedNothing "getTerminalCurrentFileUri" $ getObjectPropertyString obj "current-file-uri"

#if ENABLE_OVERLOADING
data TerminalCurrentFileUriPropertyInfo
instance AttrInfo TerminalCurrentFileUriPropertyInfo where
    type AttrAllowedOps TerminalCurrentFileUriPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint TerminalCurrentFileUriPropertyInfo = (~) ()
    type AttrBaseTypeConstraint TerminalCurrentFileUriPropertyInfo = IsTerminal
    type AttrGetType TerminalCurrentFileUriPropertyInfo = T.Text
    type AttrLabel TerminalCurrentFileUriPropertyInfo = "current-file-uri"
    type AttrOrigin TerminalCurrentFileUriPropertyInfo = Terminal
    attrGet _ = getTerminalCurrentFileUri
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

-- VVV Prop "cursor-blink-mode"
   -- Type: TInterface (Name {namespace = "Vte", name = "CursorBlinkMode"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

{- |
Get the value of the “@cursor-blink-mode@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' terminal #cursorBlinkMode
@
-}
getTerminalCursorBlinkMode :: (MonadIO m, IsTerminal o) => o -> m Vte.Enums.CursorBlinkMode
getTerminalCursorBlinkMode obj = liftIO $ getObjectPropertyEnum obj "cursor-blink-mode"

{- |
Set the value of the “@cursor-blink-mode@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' terminal [ #cursorBlinkMode 'Data.GI.Base.Attributes.:=' value ]
@
-}
setTerminalCursorBlinkMode :: (MonadIO m, IsTerminal o) => o -> Vte.Enums.CursorBlinkMode -> m ()
setTerminalCursorBlinkMode obj val = liftIO $ setObjectPropertyEnum obj "cursor-blink-mode" val

{- |
Construct a `GValueConstruct` with valid value for the “@cursor-blink-mode@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructTerminalCursorBlinkMode :: (IsTerminal o) => Vte.Enums.CursorBlinkMode -> IO (GValueConstruct o)
constructTerminalCursorBlinkMode val = constructObjectPropertyEnum "cursor-blink-mode" val

#if ENABLE_OVERLOADING
data TerminalCursorBlinkModePropertyInfo
instance AttrInfo TerminalCursorBlinkModePropertyInfo where
    type AttrAllowedOps TerminalCursorBlinkModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint TerminalCursorBlinkModePropertyInfo = (~) Vte.Enums.CursorBlinkMode
    type AttrBaseTypeConstraint TerminalCursorBlinkModePropertyInfo = IsTerminal
    type AttrGetType TerminalCursorBlinkModePropertyInfo = Vte.Enums.CursorBlinkMode
    type AttrLabel TerminalCursorBlinkModePropertyInfo = "cursor-blink-mode"
    type AttrOrigin TerminalCursorBlinkModePropertyInfo = Terminal
    attrGet _ = getTerminalCursorBlinkMode
    attrSet _ = setTerminalCursorBlinkMode
    attrConstruct _ = constructTerminalCursorBlinkMode
    attrClear _ = undefined
#endif

-- VVV Prop "cursor-shape"
   -- Type: TInterface (Name {namespace = "Vte", name = "CursorShape"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

{- |
Get the value of the “@cursor-shape@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' terminal #cursorShape
@
-}
getTerminalCursorShape :: (MonadIO m, IsTerminal o) => o -> m Vte.Enums.CursorShape
getTerminalCursorShape obj = liftIO $ getObjectPropertyEnum obj "cursor-shape"

{- |
Set the value of the “@cursor-shape@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' terminal [ #cursorShape 'Data.GI.Base.Attributes.:=' value ]
@
-}
setTerminalCursorShape :: (MonadIO m, IsTerminal o) => o -> Vte.Enums.CursorShape -> m ()
setTerminalCursorShape obj val = liftIO $ setObjectPropertyEnum obj "cursor-shape" val

{- |
Construct a `GValueConstruct` with valid value for the “@cursor-shape@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructTerminalCursorShape :: (IsTerminal o) => Vte.Enums.CursorShape -> IO (GValueConstruct o)
constructTerminalCursorShape val = constructObjectPropertyEnum "cursor-shape" val

#if ENABLE_OVERLOADING
data TerminalCursorShapePropertyInfo
instance AttrInfo TerminalCursorShapePropertyInfo where
    type AttrAllowedOps TerminalCursorShapePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint TerminalCursorShapePropertyInfo = (~) Vte.Enums.CursorShape
    type AttrBaseTypeConstraint TerminalCursorShapePropertyInfo = IsTerminal
    type AttrGetType TerminalCursorShapePropertyInfo = Vte.Enums.CursorShape
    type AttrLabel TerminalCursorShapePropertyInfo = "cursor-shape"
    type AttrOrigin TerminalCursorShapePropertyInfo = Terminal
    attrGet _ = getTerminalCursorShape
    attrSet _ = setTerminalCursorShape
    attrConstruct _ = constructTerminalCursorShape
    attrClear _ = undefined
#endif

-- VVV Prop "delete-binding"
   -- Type: TInterface (Name {namespace = "Vte", name = "EraseBinding"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Just False)

{- |
Get the value of the “@delete-binding@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' terminal #deleteBinding
@
-}
getTerminalDeleteBinding :: (MonadIO m, IsTerminal o) => o -> m Vte.Enums.EraseBinding
getTerminalDeleteBinding obj = liftIO $ getObjectPropertyEnum obj "delete-binding"

{- |
Set the value of the “@delete-binding@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' terminal [ #deleteBinding 'Data.GI.Base.Attributes.:=' value ]
@
-}
setTerminalDeleteBinding :: (MonadIO m, IsTerminal o) => o -> Vte.Enums.EraseBinding -> m ()
setTerminalDeleteBinding obj val = liftIO $ setObjectPropertyEnum obj "delete-binding" val

{- |
Construct a `GValueConstruct` with valid value for the “@delete-binding@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructTerminalDeleteBinding :: (IsTerminal o) => Vte.Enums.EraseBinding -> IO (GValueConstruct o)
constructTerminalDeleteBinding val = constructObjectPropertyEnum "delete-binding" val

#if ENABLE_OVERLOADING
data TerminalDeleteBindingPropertyInfo
instance AttrInfo TerminalDeleteBindingPropertyInfo where
    type AttrAllowedOps TerminalDeleteBindingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint TerminalDeleteBindingPropertyInfo = (~) Vte.Enums.EraseBinding
    type AttrBaseTypeConstraint TerminalDeleteBindingPropertyInfo = IsTerminal
    type AttrGetType TerminalDeleteBindingPropertyInfo = Vte.Enums.EraseBinding
    type AttrLabel TerminalDeleteBindingPropertyInfo = "delete-binding"
    type AttrOrigin TerminalDeleteBindingPropertyInfo = Terminal
    attrGet _ = getTerminalDeleteBinding
    attrSet _ = setTerminalDeleteBinding
    attrConstruct _ = constructTerminalDeleteBinding
    attrClear _ = undefined
#endif

-- VVV Prop "encoding"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Nothing)

{- |
Get the value of the “@encoding@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' terminal #encoding
@
-}
getTerminalEncoding :: (MonadIO m, IsTerminal o) => o -> m T.Text
getTerminalEncoding obj = liftIO $ checkUnexpectedNothing "getTerminalEncoding" $ getObjectPropertyString obj "encoding"

{- |
Set the value of the “@encoding@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' terminal [ #encoding 'Data.GI.Base.Attributes.:=' value ]
@
-}
setTerminalEncoding :: (MonadIO m, IsTerminal o) => o -> T.Text -> m ()
setTerminalEncoding obj val = liftIO $ setObjectPropertyString obj "encoding" (Just val)

{- |
Construct a `GValueConstruct` with valid value for the “@encoding@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructTerminalEncoding :: (IsTerminal o) => T.Text -> IO (GValueConstruct o)
constructTerminalEncoding val = constructObjectPropertyString "encoding" (Just val)

{- |
Set the value of the “@encoding@” property to `Nothing`.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.clear' #encoding
@
-}
clearTerminalEncoding :: (MonadIO m, IsTerminal o) => o -> m ()
clearTerminalEncoding obj = liftIO $ setObjectPropertyString obj "encoding" (Nothing :: Maybe T.Text)

#if ENABLE_OVERLOADING
data TerminalEncodingPropertyInfo
instance AttrInfo TerminalEncodingPropertyInfo where
    type AttrAllowedOps TerminalEncodingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint TerminalEncodingPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint TerminalEncodingPropertyInfo = IsTerminal
    type AttrGetType TerminalEncodingPropertyInfo = T.Text
    type AttrLabel TerminalEncodingPropertyInfo = "encoding"
    type AttrOrigin TerminalEncodingPropertyInfo = Terminal
    attrGet _ = getTerminalEncoding
    attrSet _ = setTerminalEncoding
    attrConstruct _ = constructTerminalEncoding
    attrClear _ = clearTerminalEncoding
#endif

-- VVV Prop "font-desc"
   -- Type: TInterface (Name {namespace = "Pango", name = "FontDescription"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

{- |
Get the value of the “@font-desc@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' terminal #fontDesc
@
-}
getTerminalFontDesc :: (MonadIO m, IsTerminal o) => o -> m (Maybe Pango.FontDescription.FontDescription)
getTerminalFontDesc obj = liftIO $ getObjectPropertyBoxed obj "font-desc" Pango.FontDescription.FontDescription

{- |
Set the value of the “@font-desc@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' terminal [ #fontDesc 'Data.GI.Base.Attributes.:=' value ]
@
-}
setTerminalFontDesc :: (MonadIO m, IsTerminal o) => o -> Pango.FontDescription.FontDescription -> m ()
setTerminalFontDesc obj val = liftIO $ setObjectPropertyBoxed obj "font-desc" (Just val)

{- |
Construct a `GValueConstruct` with valid value for the “@font-desc@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructTerminalFontDesc :: (IsTerminal o) => Pango.FontDescription.FontDescription -> IO (GValueConstruct o)
constructTerminalFontDesc val = constructObjectPropertyBoxed "font-desc" (Just val)

{- |
Set the value of the “@font-desc@” property to `Nothing`.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.clear' #fontDesc
@
-}
clearTerminalFontDesc :: (MonadIO m, IsTerminal o) => o -> m ()
clearTerminalFontDesc obj = liftIO $ setObjectPropertyBoxed obj "font-desc" (Nothing :: Maybe Pango.FontDescription.FontDescription)

#if ENABLE_OVERLOADING
data TerminalFontDescPropertyInfo
instance AttrInfo TerminalFontDescPropertyInfo where
    type AttrAllowedOps TerminalFontDescPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint TerminalFontDescPropertyInfo