-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/

-- | Vte bindings
--   
--   Bindings for Vte, autogenerated by haskell-gi.
@package gi-vte
@version 2.91.33

-- | Build time configuration used during code generation.
module GI.Vte.Config

-- | Overrides used when generating these bindings.
overrides :: Text

module GI.Vte.Constants

-- | No description available in the introspection data.
pattern TEST_FLAGS_NONE :: Word64

-- | No description available in the introspection data.
pattern TEST_FLAGS_ALL :: Word64

-- | A PropertyTypeString termprop that stores the xterm window
--   title as set by OSC 0 and OSC 2. Use this with
--   terminalGetTermpropString instead of using
--   terminalGetWindowTitle.
--   
--   Note that this termprop is not settable via the termprop OSC.
--   
--   Since: 0.78
pattern TERMPROP_XTERM_TITLE :: Text

-- | A PropertyTypeValueless termprop that signals that the shell is
--   preparing to execute the command entered at the prompt.
--   
--   Since: 0.78
pattern TERMPROP_SHELL_PREEXEC :: Text

-- | A PropertyTypeValueless termprop that signals that the shell is
--   going to prompt.
--   
--   Since: 0.78
pattern TERMPROP_SHELL_PRECMD :: Text

-- | An ephemeral PropertyTypeUint termprop that signals that the
--   shell has executed the commands entered at the prompt and these
--   commands have returned. The termprop value is the exit code.
--   
--   Since: 0.78
pattern TERMPROP_SHELL_POSTEXEC :: Text

-- | A PropertyTypeUint termprop that stores the progress of the
--   running command as a value between 0 and 100.
--   
--   Note that this termprop cannot be set by the termprop OSC, but instead
--   only by OSC 9 ; 4 (ConEmu progress).
--   
--   Since: 0.80
pattern TERMPROP_PROGRESS_VALUE :: Text

-- | A PropertyTypeInt termprop that stores a hint how to interpret
--   the TERMPROP_PROGRESS_VALUE termprop value. If set, this
--   termprop's value will be from the ProgressHint enumeration. An
--   unset termprop should be treated as if it had value
--   ProgressHintActive if the TERMPROP_PROGRESS_VALUE
--   termprop has a value
--   
--   Note that this termprop never will have the value
--   ProgressHintInactive.
--   
--   The value of this termprop should be ignored unless the
--   TERMPROP_PROGRESS_VALUE termprop has a value.
--   
--   Note that this termprop cannot be set by the termprop OSC, but instead
--   only by OSC 9 ; 4 (ConEmu progress).
--   
--   Since: 0.80
pattern TERMPROP_PROGRESS_HINT :: Text

-- | The string prefix that any termprop's name must start with to be
--   installed by installTermprop.
--   
--   Since: 0.78
pattern TERMPROP_NAME_PREFIX :: Text

-- | A PropertyTypeImage termprop to specify an image for use as a
--   favicon.
--   
--   Applications should prefer to use this termprop, if set, over the
--   TERMPROP_ICON_COLOR color.
--   
--   Note that in this vte version, this termprop is always unset.
--   
--   Since: 0.80
pattern TERMPROP_ICON_IMAGE :: Text

-- | No description available in the introspection data.
pattern TERMPROP_ICON_COLOR :: Text

-- | A PropertyTypeUri termprop that stores the current file URI as
--   set by OSC 6. Use this with terminalRefTermpropUri instead of
--   using terminalGetCurrentFileUri.
--   
--   Note that this termprop is not settable via the termprop OSC.
--   
--   Since: 0.78
pattern TERMPROP_CURRENT_FILE_URI :: Text

-- | A PropertyTypeUri termprop that stores the current directory
--   URI as set by OSC 7. Use this with terminalRefTermpropUri
--   instead of using terminalGetCurrentDirectoryUri.
--   
--   Note that this termprop is not settable via the termprop OSC.
--   
--   Since: 0.78
pattern TERMPROP_CURRENT_DIRECTORY_URI :: Text

-- | A PropertyTypeUint termprop that stores the user ID of the
--   container.
--   
--   Since: 0.78
pattern TERMPROP_CONTAINER_UID :: Text

-- | A PropertyTypeString termprop that stores the runtime of the
--   container.
--   
--   Since: 0.78
pattern TERMPROP_CONTAINER_RUNTIME :: Text

-- | A PropertyTypeString termprop that stores the name of the
--   container.
--   
--   Since: 0.78
pattern TERMPROP_CONTAINER_NAME :: Text

-- | Use this as a spawn flag (together with flags from SpawnFlags)
--   in ptySpawnAsync.
--   
--   Requires ptySpawnAsync etc. to move the newly created child
--   process to a systemd user scope; if that fails, the whole spawn fails.
--   
--   This is supported on Linux only.
--   
--   Since: 0.60
pattern SPAWN_REQUIRE_SYSTEMD_SCOPE :: Int32

-- | Use this as a spawn flag (together with flags from SpawnFlags)
--   in ptySpawnAsync.
--   
--   Prevents ptySpawnAsync etc. from moving the newly created child
--   process to a systemd user scope.
--   
--   Since: 0.60
pattern SPAWN_NO_SYSTEMD_SCOPE :: Int32

-- | Use this as a spawn flag (together with flags from SpawnFlags)
--   in ptySpawnAsync.
--   
--   Normally, the spawned process inherits the environment from the parent
--   process; when this flag is used, only the environment variables passed
--   to ptySpawnAsync etc. are passed to the child process.
pattern SPAWN_NO_PARENT_ENVV :: Int32

-- | No description available in the introspection data.
pattern REGEX_FLAGS_DEFAULT :: Int32

-- | The minor version number of the VTE library (e.g. in version 3.1.4
--   this is 1).
pattern MINOR_VERSION :: Int32

-- | The micro version number of the VTE library (e.g. in version 3.1.4
--   this is 4).
pattern MICRO_VERSION :: Int32

-- | The major version number of the VTE library (e.g. in version 3.1.4
--   this is 3).
pattern MAJOR_VERSION :: Int32

module GI.Vte.Enums

-- | An enumeration type that can be used to specify how the terminal uses
--   extra allocated space.
--   
--   Since: 0.76
data Align

-- | align to left/top
AlignStart :: Align

-- | align to centre
AlignCenter :: Align

-- | align to right/bottom
AlignEnd :: Align

-- | Catch-all for unknown values
AnotherAlign :: Int -> Align

-- | An enumerated type which can be used to indicate the cursor blink mode
--   for the terminal.
data CursorBlinkMode

-- | Follow GTK+ settings for cursor blinking.
CursorBlinkModeSystem :: CursorBlinkMode

-- | Cursor blinks.
CursorBlinkModeOn :: CursorBlinkMode

-- | Cursor does not blink.
CursorBlinkModeOff :: CursorBlinkMode

-- | Catch-all for unknown values
AnotherCursorBlinkMode :: Int -> CursorBlinkMode

-- | An enumerated type which can be used to indicate what should the
--   terminal draw at the cursor position.
data CursorShape

-- | Draw a block cursor. This is the default.
CursorShapeBlock :: CursorShape

-- | Draw a vertical bar on the left side of character. This is similar to
--   the default cursor for other GTK+ widgets.
CursorShapeIbeam :: CursorShape

-- | Draw a horizontal bar below the character.
CursorShapeUnderline :: CursorShape

-- | Catch-all for unknown values
AnotherCursorShape :: Int -> CursorShape

-- | An enumerated type which can be used to indicate which string the
--   terminal should send to an application when the user presses the
--   Delete or Backspace keys.
data EraseBinding

-- | For backspace, attempt to determine the right value from the
--   terminal's IO settings. For delete, use the control sequence.
EraseBindingAuto :: EraseBinding

-- | Send an ASCII backspace character (0x08).
EraseBindingAsciiBackspace :: EraseBinding

-- | Send an ASCII delete character (0x7F).
EraseBindingAsciiDelete :: EraseBinding

-- | Send the "@7" control sequence.
EraseBindingDeleteSequence :: EraseBinding

-- | Send terminal's "erase" setting.
EraseBindingTty :: EraseBinding

-- | Catch-all for unknown values
AnotherEraseBinding :: Int -> EraseBinding

-- | An enumeration type that can be used to specify the format the
--   selection should be copied to the clipboard in.
--   
--   Since: 0.50
data Format

-- | Export as plain text
FormatText :: Format

-- | Export as HTML formatted text
FormatHtml :: Format

-- | Catch-all for unknown values
AnotherFormat :: Int -> Format

-- | An enum describing how to interpret progress state, for the
--   TERMPROP_PROGRESS_HINT termprop.
--   
--   Since: 0.80
data ProgressHint

-- | no progress current
ProgressHintInactive :: ProgressHint

-- | progress is normal
ProgressHintActive :: ProgressHint

-- | progress is aborted by an error
ProgressHintError :: ProgressHint

-- | progress is indeterminate
ProgressHintIndeterminate :: ProgressHint

-- | progress is paused
ProgressHintPaused :: ProgressHint

-- | Catch-all for unknown values
AnotherProgressHint :: Int -> ProgressHint

-- | An enum containing the IDs of the always-installed termprops.
--   
--   Since: 0.78
data PropertyId

-- | the ID of the TERMPROP_CURRENT_DIRECTORY_URI termprop
PropertyIdCurrentDirectoryUri :: PropertyId

-- | the ID of the TERMPROP_CURRENT_FILE_URI termprop
PropertyIdCurrentFileUri :: PropertyId

-- | the ID of the TERMPROP_XTERM_TITLE termprop
PropertyIdXtermTitle :: PropertyId

-- | the ID of the TERMPROP_CONTAINER_NAME termprop
PropertyIdContainerName :: PropertyId

-- | the ID of the TERMPROP_CONTAINER_RUNTIME termprop
PropertyIdContainerRuntime :: PropertyId

-- | the ID of the TERMPROP_CONTAINER_UID termprop
PropertyIdContainerUid :: PropertyId

-- | the ID of the TERMPROP_SHELL_PRECMD termprop
PropertyIdShellPrecmd :: PropertyId

-- | the ID of the TERMPROP_SHELL_PREEXEC termprop
PropertyIdShellPreexec :: PropertyId

-- | the ID of the TERMPROP_SHELL_POSTEXEC termprop
PropertyIdShellPostexec :: PropertyId

-- | the ID of the TERMPROP_PROGRESS_HINT termprop. Since: 0.80
PropertyIdProgressHint :: PropertyId

-- | the ID of the TERMPROP_PROGRESS_VALUE termprop. Since: 0.80
PropertyIdProgressValue :: PropertyId

-- | the ID of the TERMPROP_ICON_COLOR termprop. Since: 0.80
PropertyIdIconColor :: PropertyId

-- | the ID of the TERMPROP_ICON_IMAGE termprop. Since: 0.80
PropertyIdIconImage :: PropertyId

-- | Catch-all for unknown values
AnotherPropertyId :: Int -> PropertyId

-- | An enumeration type describing types of properties.
--   
--   Since: 0.78
data PropertyType

-- | no value, use for signalling
PropertyTypeValueless :: PropertyType

-- | a bool
PropertyTypeBool :: PropertyType

-- | a signed 64-bit integer
PropertyTypeInt :: PropertyType

-- | an unsigned 64-bit integer
PropertyTypeUint :: PropertyType

-- | a finite double-precision floating point number
PropertyTypeDouble :: PropertyType

-- | a color
PropertyTypeRgb :: PropertyType

-- | a color with alpha
PropertyTypeRgba :: PropertyType

-- | a string
PropertyTypeString :: PropertyType

-- | binary data
PropertyTypeData :: PropertyType

-- | a UUID
PropertyTypeUuid :: PropertyType

-- | a URI
PropertyTypeUri :: PropertyType

-- | an image. Since: 0.80
PropertyTypeImage :: PropertyType

-- | Catch-all for unknown values
AnotherPropertyType :: Int -> PropertyType

-- | No description available in the introspection data.
data PtyError

-- | Obsolete. Deprecated: 0.42
PtyErrorPtyHelperFailed :: PtyError

-- | failure when using PTY98 to allocate the PTY
PtyErrorPty98Failed :: PtyError

-- | Catch-all for unknown values
AnotherPtyError :: Int -> PtyError

-- | Catch exceptions of type PtyError. This is a specialized
--   version of catchGErrorJustDomain.
catchPtyError :: IO a -> (PtyError -> GErrorMessage -> IO a) -> IO a

-- | Handle exceptions of type PtyError. This is a specialized
--   version of handleGErrorJustDomain.
handlePtyError :: (PtyError -> GErrorMessage -> IO a) -> IO a -> IO a

-- | An enum type for regex errors. In addition to the values listed above,
--   any PCRE2 error values may occur.
--   
--   Since: 0.46
data RegexError

-- | The PCRE2 library was built without Unicode support which is required
--   for VTE
RegexErrorIncompatible :: RegexError

-- | Regexes are not supported because VTE was built without PCRE2 support
RegexErrorNotSupported :: RegexError

-- | Catch-all for unknown values
AnotherRegexError :: Int -> RegexError

-- | Catch exceptions of type RegexError. This is a specialized
--   version of catchGErrorJustDomain.
catchRegexError :: IO a -> (RegexError -> GErrorMessage -> IO a) -> IO a

-- | Handle exceptions of type RegexError. This is a specialized
--   version of handleGErrorJustDomain.
handleRegexError :: (RegexError -> GErrorMessage -> IO a) -> IO a -> IO a

-- | An enumerated type which can be used to indicate whether the terminal
--   allows the text contents to be blinked.
--   
--   Since: 0.52
data TextBlinkMode

-- | Do not blink the text.
TextBlinkModeNever :: TextBlinkMode

-- | Allow blinking text only if the terminal is focused.
TextBlinkModeFocused :: TextBlinkMode

-- | Allow blinking text only if the terminal is unfocused.
TextBlinkModeUnfocused :: TextBlinkMode

-- | Allow blinking text. This is the default.
TextBlinkModeAlways :: TextBlinkMode

-- | Catch-all for unknown values
AnotherTextBlinkMode :: Int -> TextBlinkMode

-- | A flag type to determine how terminal contents should be written to an
--   output stream.
data WriteFlags

-- | Write contents as UTF-8 text. This is the default.
WriteFlagsDefault :: WriteFlags

-- | Catch-all for unknown values
AnotherWriteFlags :: Int -> WriteFlags
instance GHC.Classes.Eq GI.Vte.Enums.WriteFlags
instance GHC.Show.Show GI.Vte.Enums.WriteFlags
instance GHC.Classes.Eq GI.Vte.Enums.TextBlinkMode
instance GHC.Show.Show GI.Vte.Enums.TextBlinkMode
instance GHC.Classes.Eq GI.Vte.Enums.RegexError
instance GHC.Show.Show GI.Vte.Enums.RegexError
instance GHC.Classes.Eq GI.Vte.Enums.PtyError
instance GHC.Show.Show GI.Vte.Enums.PtyError
instance GHC.Classes.Eq GI.Vte.Enums.PropertyType
instance GHC.Show.Show GI.Vte.Enums.PropertyType
instance GHC.Classes.Eq GI.Vte.Enums.PropertyId
instance GHC.Show.Show GI.Vte.Enums.PropertyId
instance GHC.Classes.Eq GI.Vte.Enums.ProgressHint
instance GHC.Show.Show GI.Vte.Enums.ProgressHint
instance GHC.Classes.Eq GI.Vte.Enums.Format
instance GHC.Show.Show GI.Vte.Enums.Format
instance GHC.Classes.Eq GI.Vte.Enums.EraseBinding
instance GHC.Show.Show GI.Vte.Enums.EraseBinding
instance GHC.Classes.Eq GI.Vte.Enums.CursorShape
instance GHC.Show.Show GI.Vte.Enums.CursorShape
instance GHC.Classes.Eq GI.Vte.Enums.CursorBlinkMode
instance GHC.Show.Show GI.Vte.Enums.CursorBlinkMode
instance GHC.Classes.Eq GI.Vte.Enums.Align
instance GHC.Show.Show GI.Vte.Enums.Align
instance GHC.Enum.Enum GI.Vte.Enums.Align
instance GHC.Classes.Ord GI.Vte.Enums.Align
instance Data.GI.Base.Overloading.HasParentTypes GI.Vte.Enums.Align
instance Data.GI.Base.BasicTypes.TypedObject GI.Vte.Enums.Align
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Vte.Enums.Align
instance GHC.Enum.Enum GI.Vte.Enums.CursorBlinkMode
instance GHC.Classes.Ord GI.Vte.Enums.CursorBlinkMode
instance Data.GI.Base.Overloading.HasParentTypes GI.Vte.Enums.CursorBlinkMode
instance Data.GI.Base.BasicTypes.TypedObject GI.Vte.Enums.CursorBlinkMode
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Vte.Enums.CursorBlinkMode
instance GHC.Enum.Enum GI.Vte.Enums.CursorShape
instance GHC.Classes.Ord GI.Vte.Enums.CursorShape
instance Data.GI.Base.Overloading.HasParentTypes GI.Vte.Enums.CursorShape
instance Data.GI.Base.BasicTypes.TypedObject GI.Vte.Enums.CursorShape
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Vte.Enums.CursorShape
instance GHC.Enum.Enum GI.Vte.Enums.EraseBinding
instance GHC.Classes.Ord GI.Vte.Enums.EraseBinding
instance Data.GI.Base.Overloading.HasParentTypes GI.Vte.Enums.EraseBinding
instance Data.GI.Base.BasicTypes.TypedObject GI.Vte.Enums.EraseBinding
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Vte.Enums.EraseBinding
instance GHC.Enum.Enum GI.Vte.Enums.Format
instance GHC.Classes.Ord GI.Vte.Enums.Format
instance Data.GI.Base.Overloading.HasParentTypes GI.Vte.Enums.Format
instance Data.GI.Base.BasicTypes.TypedObject GI.Vte.Enums.Format
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Vte.Enums.Format
instance GHC.Enum.Enum GI.Vte.Enums.ProgressHint
instance GHC.Classes.Ord GI.Vte.Enums.ProgressHint
instance Data.GI.Base.Overloading.HasParentTypes GI.Vte.Enums.ProgressHint
instance Data.GI.Base.BasicTypes.TypedObject GI.Vte.Enums.ProgressHint
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Vte.Enums.ProgressHint
instance GHC.Enum.Enum GI.Vte.Enums.PropertyId
instance GHC.Classes.Ord GI.Vte.Enums.PropertyId
instance Data.GI.Base.Overloading.HasParentTypes GI.Vte.Enums.PropertyId
instance Data.GI.Base.BasicTypes.TypedObject GI.Vte.Enums.PropertyId
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Vte.Enums.PropertyId
instance GHC.Enum.Enum GI.Vte.Enums.PropertyType
instance GHC.Classes.Ord GI.Vte.Enums.PropertyType
instance Data.GI.Base.Overloading.HasParentTypes GI.Vte.Enums.PropertyType
instance Data.GI.Base.BasicTypes.TypedObject GI.Vte.Enums.PropertyType
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Vte.Enums.PropertyType
instance GHC.Enum.Enum GI.Vte.Enums.PtyError
instance GHC.Classes.Ord GI.Vte.Enums.PtyError
instance Data.GI.Base.GError.GErrorClass GI.Vte.Enums.PtyError
instance Data.GI.Base.Overloading.HasParentTypes GI.Vte.Enums.PtyError
instance Data.GI.Base.BasicTypes.TypedObject GI.Vte.Enums.PtyError
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Vte.Enums.PtyError
instance GHC.Enum.Enum GI.Vte.Enums.RegexError
instance GHC.Classes.Ord GI.Vte.Enums.RegexError
instance Data.GI.Base.GError.GErrorClass GI.Vte.Enums.RegexError
instance Data.GI.Base.Overloading.HasParentTypes GI.Vte.Enums.RegexError
instance Data.GI.Base.BasicTypes.TypedObject GI.Vte.Enums.RegexError
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Vte.Enums.RegexError
instance GHC.Enum.Enum GI.Vte.Enums.TextBlinkMode
instance GHC.Classes.Ord GI.Vte.Enums.TextBlinkMode
instance Data.GI.Base.Overloading.HasParentTypes GI.Vte.Enums.TextBlinkMode
instance Data.GI.Base.BasicTypes.TypedObject GI.Vte.Enums.TextBlinkMode
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Vte.Enums.TextBlinkMode
instance GHC.Enum.Enum GI.Vte.Enums.WriteFlags
instance GHC.Classes.Ord GI.Vte.Enums.WriteFlags
instance Data.GI.Base.Overloading.HasParentTypes GI.Vte.Enums.WriteFlags
instance Data.GI.Base.BasicTypes.TypedObject GI.Vte.Enums.WriteFlags
instance Data.GI.Base.BasicTypes.BoxedEnum GI.Vte.Enums.WriteFlags

module GI.Vte.Flags

-- | An enumeration type for features.
--   
--   Since: 0.62
data FeatureFlags

-- | whether VTE was built with bidirectional text support
FeatureFlagsFlagBidi :: FeatureFlags

-- | whether VTE was built with ICU support
FeatureFlagsFlagIcu :: FeatureFlags

-- | whether VTE was built with systemd support
FeatureFlagsFlagSystemd :: FeatureFlags

-- | whether VTE was built with SIXEL support
FeatureFlagsFlagSixel :: FeatureFlags

-- | mask of all feature flags
FeatureFlagsFlagsMask :: FeatureFlags

-- | Catch-all for unknown values
AnotherFeatureFlags :: Int -> FeatureFlags

-- | A flags type.
--   
--   Since: 0.78
data PropertyFlags

-- | no flags, default
PropertyFlagsNone :: PropertyFlags

-- | denotes an ephemeral termprop
PropertyFlagsEphemeral :: PropertyFlags

-- | Catch-all for unknown values
AnotherPropertyFlags :: Int -> PropertyFlags

-- | No description available in the introspection data.
data PtyFlags

-- | Unused. Deprecated: 0.38
PtyFlagsNoLastlog :: PtyFlags

-- | Unused. Deprecated: 0.38
PtyFlagsNoUtmp :: PtyFlags

-- | Unused. Deprecated: 0.38
PtyFlagsNoWtmp :: PtyFlags

-- | Unused. Deprecated: 0.38
PtyFlagsNoHelper :: PtyFlags

-- | Unused. Deprecated: 0.38
PtyFlagsNoFallback :: PtyFlags

-- | Do not start a new session for the child in ptyChildSetup. See
--   man:setsid(2) for more information. Since: 0.58
PtyFlagsNoSession :: PtyFlags

-- | Do not set the PTY as the controlling TTY for the child in
--   ptyChildSetup. See man:tty_ioctl(4) for more information.
--   Since: 0.58
PtyFlagsNoCtty :: PtyFlags

-- | the default flags
PtyFlagsDefault :: PtyFlags

-- | Catch-all for unknown values
AnotherPtyFlags :: Int -> PtyFlags

-- | No description available in the introspection data.
data UuidFormat

-- | No description available in the introspection data.
UuidFormatSimple :: UuidFormat

-- | No description available in the introspection data.
UuidFormatBraced :: UuidFormat

-- | No description available in the introspection data.
UuidFormatUrn :: UuidFormat

-- | No description available in the introspection data.
UuidFormatAny :: UuidFormat

-- | Catch-all for unknown values
AnotherUuidFormat :: Int -> UuidFormat
instance GHC.Classes.Eq GI.Vte.Flags.UuidFormat
instance GHC.Show.Show GI.Vte.Flags.UuidFormat
instance GHC.Classes.Eq GI.Vte.Flags.PtyFlags
instance GHC.Show.Show GI.Vte.Flags.PtyFlags
instance GHC.Classes.Eq GI.Vte.Flags.PropertyFlags
instance GHC.Show.Show GI.Vte.Flags.PropertyFlags
instance GHC.Classes.Eq GI.Vte.Flags.FeatureFlags
instance GHC.Show.Show GI.Vte.Flags.FeatureFlags
instance GHC.Enum.Enum GI.Vte.Flags.FeatureFlags
instance GHC.Classes.Ord GI.Vte.Flags.FeatureFlags
instance Data.GI.Base.BasicTypes.IsGFlag GI.Vte.Flags.FeatureFlags
instance GHC.Enum.Enum GI.Vte.Flags.PropertyFlags
instance GHC.Classes.Ord GI.Vte.Flags.PropertyFlags
instance Data.GI.Base.Overloading.HasParentTypes GI.Vte.Flags.PropertyFlags
instance Data.GI.Base.BasicTypes.TypedObject GI.Vte.Flags.PropertyFlags
instance Data.GI.Base.BasicTypes.BoxedFlags GI.Vte.Flags.PropertyFlags
instance Data.GI.Base.BasicTypes.IsGFlag GI.Vte.Flags.PropertyFlags
instance GHC.Enum.Enum GI.Vte.Flags.PtyFlags
instance GHC.Classes.Ord GI.Vte.Flags.PtyFlags
instance Data.GI.Base.Overloading.HasParentTypes GI.Vte.Flags.PtyFlags
instance Data.GI.Base.BasicTypes.TypedObject GI.Vte.Flags.PtyFlags
instance Data.GI.Base.BasicTypes.BoxedFlags GI.Vte.Flags.PtyFlags
instance Data.GI.Base.BasicTypes.IsGFlag GI.Vte.Flags.PtyFlags
instance GHC.Enum.Enum GI.Vte.Flags.UuidFormat
instance GHC.Classes.Ord GI.Vte.Flags.UuidFormat
instance Data.GI.Base.Overloading.HasParentTypes GI.Vte.Flags.UuidFormat
instance Data.GI.Base.BasicTypes.TypedObject GI.Vte.Flags.UuidFormat
instance Data.GI.Base.BasicTypes.BoxedFlags GI.Vte.Flags.UuidFormat
instance Data.GI.Base.BasicTypes.IsGFlag GI.Vte.Flags.UuidFormat

module GI.Vte.Functions

-- | Queries whether the legacy encoding encoding is
--   supported.
--   
--   If ICU support is not available, this function always returns
--   False.
--   
--   Note that UTF-8 is always supported; you can select it by passing
--   Nothing to terminalSetEncoding.
--   
--   Since: 0.60

-- | Deprecated: (Since version 0.60)
getEncodingSupported :: (HasCallStack, MonadIO m) => Text -> m Bool

-- | Gets the list of supported legacy encodings.
--   
--   If ICU support is not available, this returns an empty vector. Note
--   that UTF-8 is always supported; you can select it by passing
--   Nothing to terminalSetEncoding.
--   
--   Since: 0.60

-- | Deprecated: (Since version 0.60)
getEncodings :: (HasCallStack, MonadIO m) => Bool -> m [Text]

-- | Gets features VTE was compiled with.
--   
--   Since: 0.62
getFeatureFlags :: (HasCallStack, MonadIO m) => m [FeatureFlags]

-- | Gets a list of features vte was compiled with.
--   
--   Since: 0.40
getFeatures :: (HasCallStack, MonadIO m) => m Text

-- | Returns the major version of the VTE library at runtime. Contrast this
--   with MAJOR_VERSION which represents the version of the VTE
--   library that the code was compiled with.
--   
--   Since: 0.40
getMajorVersion :: (HasCallStack, MonadIO m) => m Word32

-- | Returns the micro version of the VTE library at runtime. Contrast this
--   with MICRO_VERSION which represents the version of the VTE
--   library that the code was compiled with.
--   
--   Since: 0.40
getMicroVersion :: (HasCallStack, MonadIO m) => m Word32

-- | Returns the minor version of the VTE library at runtime. Contrast this
--   with MINOR_VERSION which represents the version of the VTE
--   library that the code was compiled with.
--   
--   Since: 0.40
getMinorVersion :: (HasCallStack, MonadIO m) => m Word32

-- | Gets the names of the installed termprops in an unspecified order.
--   
--   Since: 0.78
getTermprops :: (HasCallStack, MonadIO m) => m (Maybe [Text])

-- | Gets the user's shell, or Nothing. In the latter case, the
--   system default (usually "/bin/sh") should be used.
getUserShell :: (HasCallStack, MonadIO m) => m [Char]

-- | Installs a new terminal property that can be set by the application.
--   
--   name must follow the rules for termprop names as laid
--   out above; it must have at least 4 components, the first two of which
--   must be "vte", and "ext". Use the TERMPROP_NAME_PREFIX macro
--   which defines this name prefix.
--   
--   You should use an identifier for your terminal as the first component
--   after the prefix, as a namespace marker.
--   
--   It is a programming error to call this function with a
--   name that does not meet these requirements.
--   
--   It is a programming error to call this function after any
--   Terminal instances have been created.
--   
--   It is a programming error to call this function if the named termprop
--   is already installed with a different type or flags.
--   
--   Since: 0.78
installTermprop :: (HasCallStack, MonadIO m) => Text -> PropertyType -> [PropertyFlags] -> m Int32

-- | Installs a new terminal property name as an alias for
--   the terminal property targetName.
--   
--   Since: 0.78
installTermpropAlias :: (HasCallStack, MonadIO m) => Text -> Text -> m Int32

-- | Gets the property type of the termprop. For properties installed by
--   installTermprop, the name starts with "vte.ext.".
--   
--   For an alias termprop (see installTermpropAlias),
--   resolvedName will be name of the alias' target
--   termprop; otherwise it will be name.
--   
--   Since: 0.78
queryTermprop :: (HasCallStack, MonadIO m) => Text -> m (Bool, Text, Int32, PropertyType, [PropertyFlags])

-- | Like queryTermprop except that it takes the termprop by ID. See
--   that function for more information.
--   
--   For an alias termprop (see installTermpropAlias),
--   resolvedName will be name of the alias' target
--   termprop; otherwise it will be name.
--   
--   Since: 0.78
queryTermpropById :: (HasCallStack, MonadIO m) => Int32 -> m (Bool, Text, PropertyType, [PropertyFlags])

-- | No description available in the introspection data.
module GI.Vte.Objects.Pty

-- | Memory-managed wrapper type.
newtype Pty
Pty :: ManagedPtr Pty -> Pty

-- | Type class for types which can be safely cast to Pty, for
--   instance with toPty.
class (GObject o, IsDescendantOf Pty o) => IsPty o

-- | Cast to Pty, for types for which this is known to be safe. For
--   general casts, use castTo.
toPty :: (MonadIO m, IsPty o) => o -> m Pty

-- | No description available in the introspection data.
ptyChildSetup :: (HasCallStack, MonadIO m, IsPty a) => a -> m ()

-- | Since 0.42 this is a no-op.

-- | Deprecated: (Since version 0.42)
ptyClose :: (HasCallStack, MonadIO m, IsPty a) => a -> m ()

-- | No description available in the introspection data.
ptyGetFd :: (HasCallStack, MonadIO m, IsPty a) => a -> m Int32

-- | Reads the pseudo terminal's window size.
--   
--   If getting the window size failed, error will be set
--   to a IOError.
ptyGetSize :: (HasCallStack, MonadIO m, IsPty a) => a -> m (Int32, Int32)

-- | Creates a new Pty for the PTY master fd.
--   
--   No entry will be made in the lastlog, utmp or wtmp system files.
--   
--   Note that the newly created Pty will take ownership of
--   fd and close it on finalize.
ptyNewForeignSync :: (HasCallStack, MonadIO m, IsCancellable a) => Int32 -> Maybe a -> m Pty

-- | Allocates a new pseudo-terminal.
--   
--   You can later use fork() or the spawnAsync
--   family of functions to start a process on the PTY.
--   
--   If using fork(), you MUST call ptyChildSetup in
--   the child.
--   
--   If using spawnAsync and friends, you MUST either use
--   ptyChildSetup directly as the child setup function, or call
--   ptyChildSetup from your own child setup function supplied.
--   
--   When using terminalSpawnSync with a custom child setup
--   function, ptyChildSetup will be called before the supplied
--   function; you must not call it again.
--   
--   Also, you MUST pass the SpawnFlagsDoNotReapChild flag.
--   
--   Note also that SpawnFlagsStdoutToDevNull,
--   SpawnFlagsStderrToDevNull, and
--   SpawnFlagsChildInheritsStdin are not supported, since stdin,
--   stdout and stderr of the child process will always be connected to the
--   PTY.
--   
--   Note that you should set the PTY's size using ptySetSize before
--   spawning the child process, so that the child process has the correct
--   size from the start instead of starting with a default size and then
--   shortly afterwards receiving a <literal>SIGWINCH</literal>
--   signal. You should prefer using terminalPtyNewSync which does
--   this automatically.
ptyNewSync :: (HasCallStack, MonadIO m, IsCancellable a) => [PtyFlags] -> Maybe a -> m Pty

-- | Attempts to resize the pseudo terminal's window size. If successful,
--   the OS kernel will send <literal>SIGWINCH</literal> to the
--   child process group.
--   
--   If setting the window size failed, error will be set
--   to a IOError.
ptySetSize :: (HasCallStack, MonadIO m, IsPty a) => a -> Int32 -> Int32 -> m ()

-- | Tells the kernel whether the terminal is UTF-8 or not, in case it can
--   make use of the info. Linux 2.6.5 or so defines IUTF8 to make the line
--   discipline do multibyte backspace correctly.
ptySetUtf8 :: (HasCallStack, MonadIO m, IsPty a) => a -> Bool -> m ()

-- | Like ptySpawnWithFdsAsync, except that this function does not
--   allow passing file descriptors to the child process. See
--   ptySpawnWithFdsAsync for more information.
--   
--   Since: 0.48
ptySpawnAsync :: (HasCallStack, MonadIO m, IsPty a, IsCancellable b) => a -> Maybe Text -> [[Char]] -> Maybe [[Char]] -> [SpawnFlags] -> Maybe SpawnChildSetupFunc -> Int32 -> Maybe b -> Maybe AsyncReadyCallback -> m ()

-- | No description available in the introspection data.
--   
--   Since: 0.48
ptySpawnFinish :: (HasCallStack, MonadIO m, IsPty a, IsAsyncResult b) => a -> b -> m Int32

-- | Starts the specified command under the pseudo-terminal
--   pty. The argv and envv
--   lists should be Nothing-terminated. The "TERM" environment
--   variable is automatically set to a default value, but can be
--   overridden from envv. ptyFlags
--   controls logging the session to the specified system log files.
--   
--   Note also that SpawnFlagsStdoutToDevNull,
--   SpawnFlagsStderrToDevNull, and
--   SpawnFlagsChildInheritsStdin are not supported in
--   spawnFlags, since stdin, stdout and stderr of the
--   child process will always be connected to the PTY. Also
--   SpawnFlagsLeaveDescriptorsOpen is not supported; and
--   SpawnFlagsDoNotReapChild will always be added to
--   spawnFlags.
--   
--   If fds is not Nothing, the child process will
--   map the file descriptors from fds according to
--   mapFds; nMapFds must be less or equal
--   to nFds. This function will take ownership of the file
--   descriptors in fds; you must not use or close them
--   after this call. All file descriptors in fds must have
--   the FD_CLOEXEC flag set on them; it will be unset in the child process
--   before calling man:execve(2). Note also that no file descriptor may be
--   mapped to stdin, stdout, or stderr (file descriptors 0, 1, or 2),
--   since these will be assigned to the PTY. All open file descriptors
--   apart from those mapped as above will be closed when
--   execve() is called.
--   
--   Beginning with 0.60, and on linux only, and unless
--   SPAWN_NO_SYSTEMD_SCOPE is passed in spawnFlags,
--   the newly created child process will be moved to its own systemd user
--   scope; and if SPAWN_REQUIRE_SYSTEMD_SCOPE is passed, and
--   creation of the systemd user scope fails, the whole spawn will fail.
--   You can override the options used for the systemd user scope by
--   providing a systemd override file for 'vte-spawn-.scope' unit. See
--   man:systemd.unit(5) for further information.
--   
--   See vte_pty_new(), and terminalWatchChild for
--   more information.
--   
--   Since: 0.62
ptySpawnWithFdsAsync :: (HasCallStack, MonadIO m, IsPty a, IsCancellable b) => a -> Maybe Text -> [[Char]] -> Maybe [[Char]] -> Maybe [Int32] -> Maybe [Int32] -> [SpawnFlags] -> Maybe SpawnChildSetupFunc -> Int32 -> Maybe b -> Maybe AsyncReadyCallback -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “fd” property. This is rarely needed directly, but it is used
--   by new.
constructPtyFd :: (IsPty o, MonadIO m) => Int32 -> m (GValueConstruct o)

-- | Get the value of the “fd” property. When overloading
--   is enabled, this is equivalent to
--   
--   
--   get pty #fd
--   
getPtyFd :: (MonadIO m, IsPty o) => o -> m Int32

-- | Construct a GValueConstruct with valid value for the
--   “flags” property. This is rarely needed directly, but it is
--   used by new.
constructPtyFlags :: (IsPty o, MonadIO m) => [PtyFlags] -> m (GValueConstruct o)

-- | Get the value of the “flags” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get pty #flags
--   
getPtyFlags :: (MonadIO m, IsPty o) => o -> m [PtyFlags]
instance GHC.Classes.Eq GI.Vte.Objects.Pty.Pty
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Vte.Objects.Pty.Pty o) => GI.Vte.Objects.Pty.IsPty o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Vte.Objects.Pty.Pty
instance Data.GI.Base.BasicTypes.TypedObject GI.Vte.Objects.Pty.Pty
instance Data.GI.Base.BasicTypes.GObject GI.Vte.Objects.Pty.Pty
instance Data.GI.Base.Overloading.HasParentTypes GI.Vte.Objects.Pty.Pty
instance Data.GI.Base.GValue.IsGValue (GHC.Maybe.Maybe GI.Vte.Objects.Pty.Pty)

-- | No description available in the introspection data.
module GI.Vte.Structs.CharAttributes

-- | Memory-managed wrapper type.
newtype CharAttributes
CharAttributes :: ManagedPtr CharAttributes -> CharAttributes

-- | Construct a CharAttributes struct initialized to zero.
newZeroCharAttributes :: MonadIO m => m CharAttributes
instance GHC.Classes.Eq GI.Vte.Structs.CharAttributes.CharAttributes
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Vte.Structs.CharAttributes.CharAttributes
instance Data.GI.Base.BasicTypes.BoxedPtr GI.Vte.Structs.CharAttributes.CharAttributes
instance Data.GI.Base.BasicTypes.CallocPtr GI.Vte.Structs.CharAttributes.CharAttributes
instance (tag GHC.Types.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.Vte.Structs.CharAttributes.CharAttributes tag

-- | Provides context information for a context menu event.
--   
--   Since: 0.76
module GI.Vte.Structs.EventContext

-- | Memory-managed wrapper type.
newtype EventContext
EventContext :: ManagedPtr EventContext -> EventContext

-- | No description available in the introspection data.
--   
--   Since: 0.76
eventContextGetEvent :: (HasCallStack, MonadIO m) => EventContext -> m Event
instance GHC.Classes.Eq GI.Vte.Structs.EventContext.EventContext
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Vte.Structs.EventContext.EventContext
instance Data.GI.Base.BasicTypes.BoxedPtr GI.Vte.Structs.EventContext.EventContext

-- | No description available in the introspection data.
module GI.Vte.Structs.Regex

-- | Memory-managed wrapper type.
newtype Regex
Regex :: ManagedPtr Regex -> Regex

-- | If the platform supports JITing, JIT compiles regex.
regexJit :: (HasCallStack, MonadIO m) => Regex -> Word32 -> m ()

-- | Compiles pattern into a regex for use as a match regex
--   with terminalMatchAddRegex or
--   vte_terminal_event_check_regex_simple().
--   
--   See man:pcre2pattern(3) for information about the supported regex
--   language, and man:pcre2api(3) for information about the supported
--   flags.
--   
--   The regex will be compiled using
--   <literal>PCRE2_UTF</literal> and possibly other flags, in
--   addition to the flags supplied in flags.
regexNewForMatch :: (HasCallStack, MonadIO m) => Text -> Int64 -> Word32 -> m Regex

-- | Compiles pattern into a regex for use as a match regex
--   with terminalMatchAddRegex or
--   vte_terminal_event_check_regex_simple().
--   
--   See man:pcre2pattern(3) for information about the supported regex
--   language, and man:pcre2api(3) for information about the supported
--   flags and extraFlags.
--   
--   The regex will be compiled using
--   <literal>PCRE2_UTF</literal> and possibly other flags, in
--   addition to the flags supplied in flags.
--   
--   If regex compilation fails, error will be set and
--   errorOffset point to error as an offset into
--   pattern.
--   
--   Since: 0.76
regexNewForMatchFull :: (HasCallStack, MonadIO m) => Text -> Int64 -> Word32 -> Word32 -> m (Regex, CSize)

-- | Compiles pattern into a regex for use as a search
--   regex with terminalSearchSetRegex.
--   
--   See man:pcre2pattern(3) for information about the supported regex
--   language, and man:pcre2api(3) for information about the supported
--   flags.
--   
--   The regex will be compiled using
--   <literal>PCRE2_UTF</literal> and possibly other flags, in
--   addition to the flags supplied in flags.
regexNewForSearch :: (HasCallStack, MonadIO m) => Text -> Int64 -> Word32 -> m Regex

-- | Compiles pattern into a regex for use as a search
--   regex with terminalSearchSetRegex.
--   
--   See man:pcre2pattern(3) for information about the supported regex
--   language, and man:pcre2api(3) for information about the supported
--   flags and extraFlags.
--   
--   The regex will be compiled using
--   <literal>PCRE2_UTF</literal> and possibly other flags, in
--   addition to the flags supplied in flags.
--   
--   If regex compilation fails, error will be set and
--   errorOffset point to error as an offset into
--   pattern.
--   
--   Since: 0.76
regexNewForSearchFull :: (HasCallStack, MonadIO m) => Text -> Int64 -> Word32 -> Word32 -> m (Regex, CSize)

-- | Increases the reference count of regex by one.
regexRef :: (HasCallStack, MonadIO m) => Regex -> m Regex

-- | See man:pcre2api(3) and man:pcre2_substitute(3) for more information.
--   
--   Since: 0.56
regexSubstitute :: (HasCallStack, MonadIO m) => Regex -> Text -> Text -> Word32 -> m Text

-- | Decreases the reference count of regex by one, and
--   frees regex if the refcount reaches zero.
regexUnref :: (HasCallStack, MonadIO m) => Regex -> m Regex
instance GHC.Classes.Eq GI.Vte.Structs.Regex.Regex
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Vte.Structs.Regex.Regex
instance Data.GI.Base.Overloading.HasParentTypes GI.Vte.Structs.Regex.Regex
instance Data.GI.Base.BasicTypes.TypedObject GI.Vte.Structs.Regex.Regex
instance Data.GI.Base.BasicTypes.GBoxed GI.Vte.Structs.Regex.Regex
instance Data.GI.Base.GValue.IsGValue (GHC.Maybe.Maybe GI.Vte.Structs.Regex.Regex)

-- | No description available in the introspection data.
module GI.Vte.Structs.Uuid

-- | Memory-managed wrapper type.
newtype Uuid
Uuid :: ManagedPtr Uuid -> Uuid

-- | No description available in the introspection data.
uuidDup :: (HasCallStack, MonadIO m) => Uuid -> m Uuid

-- | No description available in the introspection data.
uuidEqual :: (HasCallStack, MonadIO m) => Uuid -> Uuid -> m Bool

-- | No description available in the introspection data.
uuidFree :: (HasCallStack, MonadIO m) => Uuid -> m ()

-- | No description available in the introspection data.
uuidFreeToString :: (HasCallStack, MonadIO m) => Uuid -> [UuidFormat] -> CSize -> m Text

-- | No description available in the introspection data.
uuidNewFromString :: (HasCallStack, MonadIO m) => Text -> Int64 -> [UuidFormat] -> m Uuid

-- | No description available in the introspection data.
uuidNewV4 :: (HasCallStack, MonadIO m) => m Uuid

-- | No description available in the introspection data.
uuidNewV5 :: (HasCallStack, MonadIO m) => Uuid -> Text -> Int64 -> m Uuid

-- | No description available in the introspection data.
uuidToString :: (HasCallStack, MonadIO m) => Uuid -> [UuidFormat] -> CSize -> m Text

-- | No description available in the introspection data.
uuidValidateString :: (HasCallStack, MonadIO m) => Text -> Int64 -> [UuidFormat] -> m Bool
instance GHC.Classes.Eq GI.Vte.Structs.Uuid.Uuid
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Vte.Structs.Uuid.Uuid
instance Data.GI.Base.Overloading.HasParentTypes GI.Vte.Structs.Uuid.Uuid
instance Data.GI.Base.BasicTypes.TypedObject GI.Vte.Structs.Uuid.Uuid
instance Data.GI.Base.BasicTypes.GBoxed GI.Vte.Structs.Uuid.Uuid
instance Data.GI.Base.GValue.IsGValue (GHC.Maybe.Maybe GI.Vte.Structs.Uuid.Uuid)

module GI.Vte.Structs

module GI.Vte.Callbacks

-- | Type for the callback on the (unwrapped) C side.
type C_SelectionFunc = Ptr Terminal -> CLong -> CLong -> Ptr () -> IO CInt

-- | Specifies the type of a selection function used to check whether a
--   cell has to be selected or not.

-- | Deprecated: (Since version 0.76)
type SelectionFunc = -- | /@terminal@/: terminal in which the cell is. Terminal -> -- | /@column@/: column in which the cell is. CLong -> -- | /@row@/: row in which the cell is. CLong -> -- | __Returns:__ 'P.True' if cell has to be selected; 'P.False' if otherwise. IO Bool

-- | Specifies the type of a selection function used to check whether a
--   cell has to be selected or not.
type SelectionFunc_WithClosures = -- | /@terminal@/: terminal in which the cell is. Terminal -> -- | /@column@/: column in which the cell is. CLong -> -- | /@row@/: row in which the cell is. CLong -> -- | /@data@/: user data. Ptr () -> -- | __Returns:__ 'P.True' if cell has to be selected; 'P.False' if otherwise. IO Bool

-- | A simple wrapper that ignores the closure arguments.
drop_closures_SelectionFunc :: SelectionFunc -> SelectionFunc_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_SelectionFunc :: (HasCallStack, MonadIO m, IsTerminal a) => FunPtr C_SelectionFunc -> a -> CLong -> CLong -> Ptr () -> m Bool

-- | Wrap the callback into a GClosure.
genClosure_SelectionFunc :: MonadIO m => SelectionFunc -> m (GClosure C_SelectionFunc)

-- | Generate a function pointer callable from C code, from a
--   C_SelectionFunc.
mk_SelectionFunc :: C_SelectionFunc -> IO (FunPtr C_SelectionFunc)

-- | A convenience synonym for Nothing :: Maybe
--   SelectionFunc.
noSelectionFunc :: Maybe SelectionFunc

-- | A convenience synonym for Nothing :: Maybe
--   SelectionFunc_WithClosures.
noSelectionFunc_WithClosures :: Maybe SelectionFunc_WithClosures

-- | Wrap a SelectionFunc into a C_SelectionFunc.
wrap_SelectionFunc :: Maybe (Ptr (FunPtr C_SelectionFunc)) -> SelectionFunc_WithClosures -> C_SelectionFunc

-- | Type for the callback on the (unwrapped) C side.
type C_TerminalSpawnAsyncCallback = Ptr Terminal -> Int32 -> Ptr GError -> Ptr () -> IO ()

-- | Callback for terminalSpawnAsync.
--   
--   On success, pid contains the PID of the spawned
--   process, and error is Nothing. On failure,
--   pid is -1 and error contains the error
--   information.
--   
--   Since: 0.48
type TerminalSpawnAsyncCallback = -- | /@terminal@/: the t'GI.Vte.Objects.Terminal.Terminal' Terminal -> -- | /@pid@/: a @/GPid/@ Int32 -> -- | /@error@/: a t'GError', or 'P.Nothing' Maybe GError -> IO ()

-- | Callback for terminalSpawnAsync.
--   
--   On success, pid contains the PID of the spawned
--   process, and error is Nothing. On failure,
--   pid is -1 and error contains the error
--   information.
--   
--   Since: 0.48
type TerminalSpawnAsyncCallback_WithClosures = -- | /@terminal@/: the t'GI.Vte.Objects.Terminal.Terminal' Terminal -> -- | /@pid@/: a @/GPid/@ Int32 -> -- | /@error@/: a t'GError', or 'P.Nothing' Maybe GError -> -- | /@userData@/: user data that was passed to vte_terminal_spawn_async Ptr () -> IO ()

-- | A simple wrapper that ignores the closure arguments.
drop_closures_TerminalSpawnAsyncCallback :: TerminalSpawnAsyncCallback -> TerminalSpawnAsyncCallback_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_TerminalSpawnAsyncCallback :: (HasCallStack, MonadIO m, IsTerminal a) => FunPtr C_TerminalSpawnAsyncCallback -> a -> Int32 -> Maybe GError -> Ptr () -> m ()

-- | Wrap the callback into a GClosure.
genClosure_TerminalSpawnAsyncCallback :: MonadIO m => TerminalSpawnAsyncCallback -> m (GClosure C_TerminalSpawnAsyncCallback)

-- | Generate a function pointer callable from C code, from a
--   C_TerminalSpawnAsyncCallback.
mk_TerminalSpawnAsyncCallback :: C_TerminalSpawnAsyncCallback -> IO (FunPtr C_TerminalSpawnAsyncCallback)

-- | A convenience synonym for Nothing :: Maybe
--   TerminalSpawnAsyncCallback.
noTerminalSpawnAsyncCallback :: Maybe TerminalSpawnAsyncCallback

-- | A convenience synonym for Nothing :: Maybe
--   TerminalSpawnAsyncCallback_WithClosures.
noTerminalSpawnAsyncCallback_WithClosures :: Maybe TerminalSpawnAsyncCallback_WithClosures

-- | Wrap a TerminalSpawnAsyncCallback into a
--   C_TerminalSpawnAsyncCallback.
wrap_TerminalSpawnAsyncCallback :: Maybe (Ptr (FunPtr C_TerminalSpawnAsyncCallback)) -> TerminalSpawnAsyncCallback_WithClosures -> C_TerminalSpawnAsyncCallback

-- | No description available in the introspection data.
module GI.Vte.Objects.Terminal

-- | Memory-managed wrapper type.
newtype Terminal
Terminal :: ManagedPtr Terminal -> Terminal

-- | Type class for types which can be safely cast to Terminal, for
--   instance with toTerminal.
class (GObject o, IsDescendantOf Terminal o) => IsTerminal o

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

-- | Places the selected text in the terminal in the
--   GDK_SELECTION_CLIPBOARD selection.

-- | Deprecated: (Since version 0.50)Use
--   terminalCopyClipboardFormat with FormatText instead.
terminalCopyClipboard :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m ()

-- | Places the selected text in the terminal in the
--   GDK_SELECTION_CLIPBOARD selection in the form
--   specified by format.
--   
--   For all formats, the selection data (see SelectionData) will
--   include the text targets (see targetListAddTextTargets and
--   gtk_selection_data_targets_includes_text()). For
--   FormatHtml, the selection will also include the "text/html"
--   target, which when requested, returns the HTML data in UTF-16 with a
--   U+FEFF BYTE ORDER MARK character at the start.
--   
--   Since: 0.50
terminalCopyClipboardFormat :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Format -> m ()

-- | Places the selected text in the terminal in the
--   GDK_SELECTION_PRIMARY selection.
terminalCopyPrimary :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m ()

-- | Returns the value of a PropertyTypeString termprop, or
--   Nothing if prop is unset, or
--   prop is not a registered property.
--   
--   Since: 0.78
terminalDupTermpropString :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Text -> m (Maybe Text, CSize)

-- | Like terminalDupTermpropString except that it takes the
--   termprop by ID. See that function for more information.
--   
--   Since: 0.78
terminalDupTermpropStringById :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Int32 -> m (Maybe Text, CSize)

-- | Returns the value of a PropertyTypeUuid termprop as a
--   Uuid, or Nothing if prop is unset, or
--   prop is not a registered property.
--   
--   Since: 0.78
terminalDupTermpropUuid :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Text -> m (Maybe Uuid)

-- | Like terminalDupTermpropUuid except that it takes the termprop
--   by ID. See that function for more information.
--   
--   Since: 0.78
terminalDupTermpropUuidById :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Int32 -> m (Maybe Uuid)

-- | Interprets data as if it were data received from a
--   child process.
terminalFeed :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Maybe ByteString -> m ()

-- | Sends a block of UTF-8 text to the child as if it were entered by the
--   user at the keyboard.
terminalFeedChild :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Maybe ByteString -> m ()

-- | Sends a block of binary data to the child.

-- | Deprecated: (Since version 0.60)Don't send binary data. Use
--   terminalFeedChild instead to send UTF-8 text
terminalFeedChildBinary :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Maybe ByteString -> m ()

-- | Checks whether or not the terminal will attempt to draw bold text, by
--   using a bold font variant.

-- | Deprecated: (Since version 0.60)There's probably no reason for this
--   feature to exist.
terminalGetAllowBold :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | Checks whether or not hyperlinks (OSC 8 escape sequence) are allowed.
--   
--   Since: 0.50
terminalGetAllowHyperlink :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | Checks whether or not the terminal will beep when the child outputs
--   the "bl" sequence.
terminalGetAudibleBell :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | Checks 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
terminalGetBoldIsBright :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | No description available in the introspection data.
--   
--   Since: 0.52
terminalGetCellHeightScale :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Double

-- | No description available in the introspection data.
--   
--   Since: 0.52
terminalGetCellWidthScale :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Double

-- | No description available in the introspection data.
terminalGetCharHeight :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m CLong

-- | No description available in the introspection data.
terminalGetCharWidth :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m CLong

-- | Returns whether ambiguous-width characters are narrow or wide. (Note
--   that when using a non-UTF-8 encoding set via
--   terminalSetEncoding, the width of ambiguous-width characters is
--   fixed and determined by the encoding itself.)
terminalGetCjkAmbiguousWidth :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Int32

-- | Returns the background colour, as used by terminal
--   when drawing the background, which may be different from the color set
--   by terminalSetColorBackground.
--   
--   Note: you must only call this function while handling the
--   GtkWidgetdraw signal.
--   
--   This function is rarely useful. One use for it is if you disable
--   drawing the background (see terminalSetClearBackground) and
--   then need to draw the background yourself.
--   
--   Since: 0.54
terminalGetColorBackgroundForDraw :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m RGBA

-- | No description available in the introspection data.
terminalGetColumnCount :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m CLong

-- | No description available in the introspection data.
--   
--   Since: 0.76
terminalGetContextMenu :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m (Maybe Widget)

-- | No description available in the introspection data.
--   
--   Since: 0.76
terminalGetContextMenuModel :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m (Maybe MenuModel)

-- | No description available in the introspection data.

-- | Deprecated: (Since version 0.78)Use the
--   VTE_TERMPROP_CURRENT_FILE_URI_STRING termprop.
terminalGetCurrentDirectoryUri :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m (Maybe Text)

-- | No description available in the introspection data.

-- | Deprecated: (Since version 0.78)Use the
--   VTE_TERMPROP_CURRENT_FILE_URI_STRING termprop.
terminalGetCurrentFileUri :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m (Maybe Text)

-- | Returns the currently set cursor blink mode.
terminalGetCursorBlinkMode :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m CursorBlinkMode

-- | Reads the location of the insertion cursor and returns it. The row
--   coordinate is absolute.
--   
--   This method is unaware of BiDi. The returned column is logical column.
terminalGetCursorPosition :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m (CLong, CLong)

-- | Returns the currently set cursor shape.
terminalGetCursorShape :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m CursorShape

-- | Checks whether the terminal communicates with a11y backends
--   
--   Since: 0.78
terminalGetEnableA11y :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | Checks whether the terminal performs bidirectional text rendering.
--   
--   Since: 0.58
terminalGetEnableBidi :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | No description available in the introspection data.
--   
--   Since: 0.64
terminalGetEnableFallbackScrolling :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | No description available in the introspection data.
--   
--   Since: 0.78
terminalGetEnableLegacyOsc777 :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | Checks whether the terminal shapes Arabic text.
--   
--   Since: 0.58
terminalGetEnableShaping :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | No description available in the introspection data.
--   
--   Since: 0.62
terminalGetEnableSixel :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | Determines the name of the encoding in which the terminal expects data
--   to be encoded, or Nothing if UTF-8 is in use.

-- | Deprecated: (Since version 0.54)Support for non-UTF-8 is
--   deprecated.
terminalGetEncoding :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m (Maybe Text)

-- | Queries the terminal for information about the fonts which will be
--   used to draw text in the terminal. The actual font takes the font
--   scale into account, this is not reflected in the return value, the
--   unscaled font is returned.
terminalGetFont :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m FontDescription

-- | No description available in the introspection data.
--   
--   Since: 0.74
terminalGetFontOptions :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m (Maybe FontOptions)

-- | No description available in the introspection data.
terminalGetFontScale :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Double

-- | Fills in some hints from terminal's
--   geometry. The hints filled are those covered by the
--   WindowHintsResizeInc, WindowHintsMinSize and
--   WindowHintsBaseSize flags.
--   
--   See windowSetGeometryHints for more information.
--   
--   terminal must be realized (see
--   widgetGetRealized).

-- | Deprecated: (Since version 0.52)
terminalGetGeometryHints :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Int32 -> Int32 -> m Geometry

-- | Checks if the terminal currently contains selected text. Note that
--   this is different from determining if the terminal is the owner of any
--   Clipboard items.
terminalGetHasSelection :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | No description available in the introspection data.

-- | Deprecated: (Since version 0.54)
terminalGetIconTitle :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m (Maybe Text)

-- | Returns whether the terminal allow user input.
terminalGetInputEnabled :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | Determines 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. This setting
--   can be changed using terminalSetMouseAutohide.
terminalGetMouseAutohide :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | Returns the Pty of terminal.
terminalGetPty :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m (Maybe Pty)

-- | Checks whether or not the terminal will rewrap its contents upon
--   resize.

-- | Deprecated: (Since version 0.58)
terminalGetRewrapOnResize :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | No description available in the introspection data.
terminalGetRowCount :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m CLong

-- | No description available in the introspection data.
--   
--   Since: 0.76
terminalGetScrollOnInsert :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | No description available in the introspection data.
--   
--   Since: 0.52
terminalGetScrollOnKeystroke :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | No description available in the introspection data.
--   
--   Since: 0.52
terminalGetScrollOnOutput :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | No description available in the introspection data.
--   
--   Since: 0.66
terminalGetScrollUnitIsPixels :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | No description available in the introspection data.
--   
--   Since: 0.52
terminalGetScrollbackLines :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m CLong

-- | For a PropertyTypeBool termprop, sets value to
--   prop's value, or to False if
--   prop is unset, or prop is not a
--   registered property.
--   
--   Since: 0.78
terminalGetTermpropBool :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Text -> m (Bool, Bool)

-- | Like terminalGetTermpropBool except that it takes the termprop
--   by ID. See that function for more information.
--   
--   Since: 0.78
terminalGetTermpropBoolById :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Int32 -> m (Bool, Bool)

-- | Returns the value of a PropertyTypeData termprop, or
--   Nothing if prop is unset, or
--   prop is not a registered property.
--   
--   Since: 0.78
terminalGetTermpropData :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Text -> m (Maybe ByteString)

-- | Like terminalGetTermpropData except that it takes the termprop
--   by ID. See that function for more information.
--   
--   Since: 0.78
terminalGetTermpropDataById :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Int32 -> m (Maybe ByteString)

-- | For a PropertyTypeDouble termprop, sets value
--   to prop's value, which is finite; or to 0.0 if
--   prop is unset, or prop is not a
--   registered property.
--   
--   Since: 0.78
terminalGetTermpropDouble :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Text -> m (Bool, Double)

-- | Like terminalGetTermpropDouble except that it takes the
--   termprop by ID. See that function for more information.
--   
--   Since: 0.78
terminalGetTermpropDoubleById :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Int32 -> m (Bool, Double)

-- | For a PropertyTypeInt termprop, sets value to
--   prop's value, or to 0 if prop is
--   unset, or if prop is not a registered property.
--   
--   If only a subset or range of values are acceptable for the given
--   property, the caller must validate the returned value and treat any
--   out-of-bounds value as if the termprop had no value; in particular it
--   *must not* clamp the values to the expected range.
--   
--   Since: 0.78
terminalGetTermpropInt :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Text -> m (Bool, Int64)

-- | Like terminalGetTermpropInt except that it takes the termprop
--   by ID. See that function for more information.
--   
--   Since: 0.78
terminalGetTermpropIntById :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Int32 -> m (Bool, Int64)

-- | Stores the value of a PropertyTypeRgb or
--   PropertyTypeRgba termprop in color and returns
--   True if the termprop is set, or stores rgb(0,0,0) or
--   rgba(0,0,0,1) in color and returns False if the
--   termprop is unset.
--   
--   Since: 0.78
terminalGetTermpropRgba :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Text -> m (Bool, RGBA)

-- | Like terminalGetTermpropRgba except that it takes the termprop
--   by ID. See that function for more information.
--   
--   Since: 0.78
terminalGetTermpropRgbaById :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Int32 -> m (Bool, RGBA)

-- | Returns the value of a PropertyTypeString termprop, or
--   Nothing if prop is unset, or
--   prop is not a registered property.
--   
--   Since: 0.78
terminalGetTermpropString :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Text -> m (Maybe Text, CSize)

-- | Like terminalGetTermpropString except that it takes the
--   termprop by ID. See that function for more information.
--   
--   Since: 0.78
terminalGetTermpropStringById :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Int32 -> m (Maybe Text, CSize)

-- | For a PropertyTypeUint termprop, sets value to
--   prop's value, or to 0 if prop is
--   unset, or prop is not a registered property.
--   
--   If only a subset or range of values are acceptable for the given
--   property, the caller must validate the returned value and treat any
--   out-of-bounds value as if the termprop had no value; in particular it
--   *must not* clamp the values to the expected range.
--   
--   Since: 0.78
terminalGetTermpropUint :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Text -> m (Bool, Word64)

-- | Like terminalGetTermpropUint except that it takes the termprop
--   by ID. See that function for more information.
--   
--   Since: 0.78
terminalGetTermpropUintById :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Int32 -> m (Bool, Word64)

-- | Returns True with the value of prop stored in
--   value (if not Nothing) if, the termprop has a
--   value, or False if prop is unset, or
--   prop is not a registered property; in that case
--   value will not be set.
--   
--   The value type returned depends on the termprop type: * A
--   PropertyTypeValueless termprop stores no value, and returns
--   False from this function. * A PropertyTypeBool termprop
--   stores a G_TYPE_BOOLEAN value. * A
--   PropertyTypeInt termprop stores a G_TYPE_INT64
--   value. * A PropertyTypeUint termprop stores a
--   G_TYPE_UINT64 value. * A PropertyTypeDouble
--   termprop stores a G_TYPE_DOUBLE value. * A
--   PropertyTypeRgb termprop stores a boxed RGBA value with
--   alpha 1.0 on gtk3, and nothing on gtk4. * A PropertyTypeRgba
--   termprop stores a boxed RGBA value on gtk3, and nothing on
--   gtk4. * A PropertyTypeString termprop stores a
--   G_TYPE_STRING value. * A PropertyTypeData
--   termprop stores a boxed Bytes value. * A
--   PropertyTypeUuid termprop stores a boxed Uuid value. * A
--   PropertyTypeUri termprop stores a boxed Uri value. * A
--   PropertyTypeImage termprop stores a boxed Surface value
--   on gtk3, and a boxed GdkTexture on gtk4
--   
--   Since: 0.78
terminalGetTermpropValue :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Text -> m (Bool, GValue)

-- | Like terminalGetTermpropValue except that it takes the termprop
--   by ID. See that function for more information.
--   
--   Since: 0.78
terminalGetTermpropValueById :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Int32 -> m (Bool, GValue)

-- | Extracts a view of the visible part of the terminal.
--   
--   This method is unaware of BiDi. The columns returned in
--   attributes are logical columns.
--   
--   Note: since 0.68, passing a non-Nothing
--   attributes parameter is deprecated. Starting with
--   0.72, passing a non-Nothing attributes
--   parameter will make this function itself return Nothing. Since
--   0.72, passing a non-Nothing isSelected
--   parameter will make this function itself return Nothing.

-- | Deprecated: (Since version 0.76)Use terminalGetTextFormat
--   instead
terminalGetText :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Maybe SelectionFunc -> m (Maybe Text, Maybe [CharAttributes])

-- | Checks whether or not the terminal will allow blinking text.
--   
--   Since: 0.52
terminalGetTextBlinkMode :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m TextBlinkMode

-- | Returns text from the visible part of the terminal in the specified
--   format.
--   
--   This method is unaware of BiDi. The columns returned in
--   attributes are logical columns.
--   
--   Since: 0.76
terminalGetTextFormat :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Format -> m (Maybe Text)

-- | Extracts a view of the visible part of the terminal.
--   
--   This method is unaware of BiDi. The columns returned in
--   attributes are logical columns.
--   
--   Note: since 0.68, passing a non-Nothing array
--   parameter is deprecated. Starting with 0.72, passing a
--   non-Nothing array parameter will make this
--   function itself return Nothing. Since 0.72, passing a
--   non-Nothing isSelected parameter will make this
--   function itself return Nothing.

-- | Deprecated: (Since version 0.56)Use terminalGetTextFormat
--   instead.
terminalGetTextIncludeTrailingSpaces :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Maybe SelectionFunc -> m (Text, Maybe [CharAttributes])

-- | Extracts a view of the visible part of the terminal. The entire
--   scrollback buffer is scanned, so it is possible to read the entire
--   contents of the buffer using this function.
--   
--   This method is unaware of BiDi. The columns passed in
--   startCol and endRow, and returned in
--   attributes are logical columns.
--   
--   Since 0.68, passing a non-Nothing array
--   parameter is deprecated. Since 0.72, passing a non-Nothing
--   array parameter will make this function itself return
--   Nothing. Since 0.72, passing a non-Nothing
--   isSelected function will make this function itself
--   return Nothing.

-- | Deprecated: (Since version 0.76)Use
--   terminalGetTextRangeFormat instead
terminalGetTextRange :: (HasCallStack, MonadIO m, IsTerminal a) => a -> CLong -> CLong -> CLong -> CLong -> Maybe SelectionFunc -> m (Maybe Text, Maybe [CharAttributes])

-- | Returns the specified range of text in the specified format.
--   
--   Since: 0.72
terminalGetTextRangeFormat :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Format -> CLong -> CLong -> CLong -> CLong -> m (Maybe Text, CSize)

-- | Gets the currently selected text in the format specified by
--   format. Since 0.72, this function also supports
--   FormatHtml format.
--   
--   Since: 0.70
terminalGetTextSelected :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Format -> m (Maybe Text)

-- | Gets the currently selected text in the format specified by
--   format.
--   
--   Since: 0.72
terminalGetTextSelectedFull :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Format -> m (Maybe Text, CSize)

-- | No description available in the introspection data.

-- | Deprecated: (Since version 0.78)Use the TERMPROP_XTERM_TITLE
--   termprop.
terminalGetWindowTitle :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m (Maybe Text)

-- | Returns 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
terminalGetWordCharExceptions :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m (Maybe Text)

-- | No description available in the introspection data.
--   
--   Since: 0.76
terminalGetXalign :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Align

-- | No description available in the introspection data.
--   
--   Since: 0.76
terminalGetXfill :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | No description available in the introspection data.
--   
--   Since: 0.76
terminalGetYalign :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Align

-- | No description available in the introspection data.
--   
--   Since: 0.76
terminalGetYfill :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | Returns a nonempty string: the target of the explicit hyperlink
--   (printed using the OSC 8 escape sequence) at the position of the
--   event, or Nothing.
--   
--   Proper use of the escape sequence should result in URI-encoded URIs
--   with a proper scheme like "http://", "https://", "file://", "mailto:"
--   etc. This is, however, not enforced by VTE. The caller must tolerate
--   the returned string potentially not being a valid URI.
--   
--   Since: 0.50
terminalHyperlinkCheckEvent :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Event -> m (Maybe Text)

-- | This function does nothing since version 0.60.

-- | Deprecated: (Since version 0.46)Use terminalMatchAddRegex
--   instead.
terminalMatchAddGregex :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Regex -> [RegexMatchFlags] -> m Int32

-- | Adds the regular expression regex to the list of
--   matching expressions. When the user moves the mouse cursor over a
--   section of displayed text which matches this expression, the text will
--   be highlighted.
--   
--   Note that regex should have been created using the
--   <literal>PCRE2_MULTILINE</literal> flag.
--   
--   Since: 0.46
terminalMatchAddRegex :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Regex -> Word32 -> m Int32

-- | Checks if the text in and around the specified position matches any of
--   the regular expressions previously set using
--   vte_terminal_match_add(). If a match exists, the text
--   string is returned and if tag is not Nothing,
--   the number associated with the matched regular expression will be
--   stored in tag.
--   
--   If more than one regular expression has been set with
--   vte_terminal_match_add(), then expressions are checked
--   in the order in which they were added.

-- | Deprecated: (Since version 0.46)Use terminalMatchCheckEvent
--   instead.
terminalMatchCheck :: (HasCallStack, MonadIO m, IsTerminal a) => a -> CLong -> CLong -> m (Maybe Text, Int32)

-- | Checks if the text in and around the position of the event matches any
--   of the regular expressions previously set using
--   vte_terminal_match_add(). If a match exists, the text
--   string is returned and if tag is not Nothing,
--   the number associated with the matched regular expression will be
--   stored in tag.
--   
--   If more than one regular expression has been set with
--   vte_terminal_match_add(), then expressions are checked
--   in the order in which they were added.
terminalMatchCheckEvent :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Event -> m (Maybe Text, Int32)

-- | Removes the regular expression which is associated with the given
--   tag from the list of expressions which the terminal
--   will highlight when the user moves the mouse cursor over matching
--   text.
terminalMatchRemove :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Int32 -> m ()

-- | Clears the list of regular expressions the terminal uses to highlight
--   text when the user moves the mouse cursor.
terminalMatchRemoveAll :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m ()

-- | Sets which cursor the terminal will use if the pointer is over the
--   pattern specified by tag. The terminal keeps a
--   reference to cursor.

-- | Deprecated: (Since version 0.40)Use
--   terminalMatchSetCursorName instead.
terminalMatchSetCursor :: (HasCallStack, MonadIO m, IsTerminal a, IsCursor b) => a -> Int32 -> Maybe b -> m ()

-- | Sets which cursor the terminal will use if the pointer is over the
--   pattern specified by tag.
terminalMatchSetCursorName :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Int32 -> Text -> m ()

-- | Sets which cursor the terminal will use if the pointer is over the
--   pattern specified by tag.

-- | Deprecated: (Since version 0.54)Use
--   terminalMatchSetCursorName instead.
terminalMatchSetCursorType :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Int32 -> CursorType -> m ()

-- | Creates a new terminal widget.
terminalNew :: (HasCallStack, MonadIO m) => m Terminal

-- | Sends the contents of the GDK_SELECTION_CLIPBOARD
--   selection to the terminal's child. It's called on paste menu item, or
--   when user presses Shift+Insert.
terminalPasteClipboard :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m ()

-- | Sends the contents of the GDK_SELECTION_PRIMARY
--   selection to the terminal's child. The terminal will call also paste
--   the GDK_SELECTION_PRIMARY selection when the user
--   clicks with the the second mouse button.
terminalPastePrimary :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m ()

-- | Sends text to the terminal's child as if retrived from
--   the clipboard, this differs from terminalFeedChild in that it
--   may process text before passing it to the child (e.g.
--   apply bracketed mode)
--   
--   Since: 0.68
terminalPasteText :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Text -> m ()

-- | Creates a new Pty, sets the emulation property from
--   Terminal:emulation, and sets the size using
--   terminal's size.
--   
--   See vte_pty_new() for more information.
terminalPtyNewSync :: (HasCallStack, MonadIO m, IsTerminal a, IsCancellable b) => a -> [PtyFlags] -> Maybe b -> m Pty

-- | Returns the value of a PropertyTypeData termprop as a
--   Bytes, or Nothing if prop is unset, or
--   prop is not a registered property.
--   
--   Since: 0.78
terminalRefTermpropDataBytes :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Text -> m (Maybe Bytes)

-- | Like terminalRefTermpropDataBytes except that it takes the
--   termprop by ID. See that function for more information.
--   
--   Since: 0.78
terminalRefTermpropDataBytesById :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Int32 -> m (Maybe Bytes)

-- | Returns the value of a PropertyTypeImage termprop as a
--   Pixbuf, or Nothing if prop is unset, or
--   prop is not a registered property.
--   
--   Since: 0.80
terminalRefTermpropImagePixbuf :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Text -> m (Maybe Pixbuf)

-- | Like terminalRefTermpropImagePixbuf except that it takes the
--   termprop by ID. See that function for more information.
--   
--   Since: 0.80
terminalRefTermpropImagePixbufById :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Int32 -> m (Maybe Pixbuf)

-- | Returns the value of a PropertyTypeImage termprop as a
--   Surface, or Nothing if prop is unset, or
--   prop is not a registered property.
--   
--   The surface will be a SurfaceTypeImage with format
--   FormatArgb32 or FormatRgb24.
--   
--   Note that the returned surface is owned by terminal
--   and its contents must not be modified.
--   
--   Since: 0.80
terminalRefTermpropImageSurface :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Text -> m (Maybe Surface)

-- | Like terminalRefTermpropImageSurface except that it takes the
--   termprop by ID. See that function for more information.
--   
--   Since: 0.80
terminalRefTermpropImageSurfaceById :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Int32 -> m (Maybe Surface)

-- | Returns the value of a PropertyTypeUri termprop as a
--   Uri, or Nothing if prop is unset, or
--   prop is not a registered property.
--   
--   Since: 0.78
terminalRefTermpropUri :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Text -> m (Maybe Uri)

-- | Like terminalRefTermpropUri except that it takes the termprop
--   by ID. See that function for more information.
--   
--   Since: 0.78
terminalRefTermpropUriById :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Int32 -> m (Maybe Uri)

-- | Returns the value of prop as a GVariant, or
--   Nothing if prop unset, or prop
--   is not a registered property.
--   
--   The VariantType of the returned GVariant depends on the
--   termprop type: * A PropertyTypeValueless termprop returns a
--   G_VARIANT_TYPE_UNIT variant. * A
--   PropertyTypeBool termprop returns a
--   G_VARIANT_TYPE_BOOLEAN variant. * A
--   PropertyTypeInt termprop returns a
--   G_VARIANT_TYPE_INT64 variant. * A
--   PropertyTypeUint termprop returns a
--   G_VARIANT_TYPE_UINT64 variant. * A
--   PropertyTypeDouble termprop returns a
--   G_VARIANT_TYPE_DOUBLE variant. * A
--   PropertyTypeRgb or PropertyTypeRgba termprop returns a
--   "(ddddv)" tuple containing the red, green, blue, and alpha (1.0 for
--   PropertyTypeRgb) components of the color and a variant of
--   unspecified contents * A PropertyTypeString termprop returns a
--   G_VARIANT_TYPE_STRING variant. * A
--   PropertyTypeData termprop returns a "ay" variant (which is
--   *not* a bytestring!). * A PropertyTypeUuid termprop returns a
--   G_VARIANT_TYPE_STRING variant containing a string
--   representation of the UUID in simple form. * A PropertyTypeUri
--   termprop returns a G_VARIANT_TYPE_STRING variant
--   containing a string representation of the URI * A
--   PropertyTypeImage termprop returns Nothing since an
--   image has no variant representation.
--   
--   Since: 0.78
terminalRefTermpropVariant :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Text -> m (Maybe GVariant)

-- | Like terminalRefTermpropVariant except that it takes the
--   termprop by ID. See that function for more information.
--   
--   Since: 0.78
terminalRefTermpropVariantById :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Int32 -> m (Maybe GVariant)

-- | Resets as much of the terminal's internal state as possible,
--   discarding any unprocessed input data, resetting character attributes,
--   cursor state, national character set state, status line, terminal
--   modes (insert/delete), selection state, and encoding.
terminalReset :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> Bool -> m ()

-- | Searches the next string matching the search regex set with
--   terminalSearchSetRegex.
terminalSearchFindNext :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | Searches the previous string matching the search regex set with
--   terminalSearchSetRegex.
terminalSearchFindPrevious :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | No description available in the introspection data.

-- | Deprecated: (Since version 0.46)use terminalSearchGetRegex
--   instead.
terminalSearchGetGregex :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Regex

-- | No description available in the introspection data.
--   
--   Since: 0.46
terminalSearchGetRegex :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Regex

-- | No description available in the introspection data.
terminalSearchGetWrapAround :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | This function does nothing since version 0.60.

-- | Deprecated: (Since version 0.46)use terminalSearchSetRegex
--   instead.
terminalSearchSetGregex :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Maybe Regex -> [RegexMatchFlags] -> m ()

-- | Sets the regex to search for. Unsets the search regex when passed
--   Nothing.
--   
--   Note that regex should have been created using the
--   <literal>PCRE2_MULTILINE</literal> flag.
--   
--   Since: 0.46
terminalSearchSetRegex :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Maybe Regex -> Word32 -> m ()

-- | Sets whether search should wrap around to the beginning of the
--   terminal content when reaching its end.
terminalSearchSetWrapAround :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | Selects all text within the terminal (not including the scrollback
--   buffer).
terminalSelectAll :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m ()

-- | Controls whether or not the terminal will attempt to draw bold text,
--   by using a bold font variant.

-- | Deprecated: (Since version 0.60)There's probably no reason for this
--   feature to exist.
terminalSetAllowBold :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | Controls whether or not hyperlinks (OSC 8 escape sequence) are
--   allowed.
--   
--   Since: 0.50
terminalSetAllowHyperlink :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | Controls whether or not the terminal will beep when the child outputs
--   the "bl" sequence.
terminalSetAudibleBell :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | Modifies the terminal's backspace key binding, which controls what
--   string or control sequence the terminal sends to its child when the
--   user presses the backspace key.
terminalSetBackspaceBinding :: (HasCallStack, MonadIO m, IsTerminal a) => a -> EraseBinding -> m ()

-- | Sets 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
terminalSetBoldIsBright :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | Sets the terminal's cell height scale to scale.
--   
--   This can be used to increase the line spacing. (The font's height is
--   not affected.) Valid values go from 1.0 (default) to 2.0 ("double
--   spacing").
--   
--   Since: 0.52
terminalSetCellHeightScale :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Double -> m ()

-- | Sets the terminal's cell width scale to scale.
--   
--   This can be used to increase the letter spacing. (The font's width is
--   not affected.) Valid values go from 1.0 (default) to 2.0.
--   
--   Since: 0.52
terminalSetCellWidthScale :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Double -> m ()

-- | This setting controls whether ambiguous-width characters are narrow or
--   wide. (Note that when using a non-UTF-8 encoding set via
--   terminalSetEncoding, the width of ambiguous-width characters is
--   fixed and determined by the encoding itself.)
terminalSetCjkAmbiguousWidth :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Int32 -> m ()

-- | Sets whether to paint the background with the background colour. The
--   default is True.
--   
--   This function is rarely useful. One use for it is to add a background
--   image to the terminal.
--   
--   Since: 0.52
terminalSetClearBackground :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | Sets the background color for text which does not have a specific
--   background color assigned. Only has effect when no background image is
--   set and when the terminal is not transparent.
terminalSetColorBackground :: (HasCallStack, MonadIO m, IsTerminal a) => a -> RGBA -> m ()

-- | Sets the color used to draw bold text in the default foreground color.
--   If bold is Nothing then the default color is
--   used.
terminalSetColorBold :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Maybe RGBA -> m ()

-- | Sets the background color for text which is under the cursor. If
--   Nothing, text under the cursor will be drawn with foreground
--   and background colors reversed.
terminalSetColorCursor :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Maybe RGBA -> m ()

-- | Sets the foreground color for text which is under the cursor. If
--   Nothing, text under the cursor will be drawn with foreground
--   and background colors reversed.
--   
--   Since: 0.44
terminalSetColorCursorForeground :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Maybe RGBA -> m ()

-- | Sets the foreground color used to draw normal text.
terminalSetColorForeground :: (HasCallStack, MonadIO m, IsTerminal a) => a -> RGBA -> m ()

-- | Sets the background color for text which is highlighted. If
--   Nothing, it is unset. If neither highlight background nor
--   highlight foreground are set, highlighted text (which is usually
--   highlighted because it is selected) will be drawn with foreground and
--   background colors reversed.
terminalSetColorHighlight :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Maybe RGBA -> m ()

-- | Sets the foreground color for text which is highlighted. If
--   Nothing, it is unset. If neither highlight background nor
--   highlight foreground are set, highlighted text (which is usually
--   highlighted because it is selected) will be drawn with foreground and
--   background colors reversed.
terminalSetColorHighlightForeground :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Maybe RGBA -> m ()

-- | palette specifies the new values for the 256 palette
--   colors: 8 standard colors, their 8 bright counterparts, 6x6x6 color
--   cube, and 24 grayscale colors. Omitted entries will default to a
--   hardcoded value.
--   
--   paletteSize must be 0, 8, 16, 232 or 256.
--   
--   If foreground is Nothing and
--   paletteSize is greater than 0, the new foreground
--   color is taken from palette[7]. If
--   background is Nothing and
--   paletteSize is greater than 0, the new background
--   color is taken from palette[0].
terminalSetColors :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Maybe RGBA -> Maybe RGBA -> Maybe [RGBA] -> m ()

-- | Sets menu as the context menu in
--   terminal. Use Nothing to unset the current
--   menu.
--   
--   Note that a menu model set with terminalSetContextMenuModel
--   takes precedence over a menu set using this function.
--   
--   Since: 0.76
terminalSetContextMenu :: (HasCallStack, MonadIO m, IsTerminal a, IsWidget b) => a -> Maybe b -> m ()

-- | Sets model as the context menu model in
--   terminal. Use Nothing to unset the current menu
--   model.
--   
--   Since: 0.76
terminalSetContextMenuModel :: (HasCallStack, MonadIO m, IsTerminal a, IsMenuModel b) => a -> Maybe b -> m ()

-- | Sets whether or not the cursor will blink. Using
--   CursorBlinkModeSystem will use the
--   Settings::gtk-cursor-blink setting.
terminalSetCursorBlinkMode :: (HasCallStack, MonadIO m, IsTerminal a) => a -> CursorBlinkMode -> m ()

-- | Sets the shape of the cursor drawn.
terminalSetCursorShape :: (HasCallStack, MonadIO m, IsTerminal a) => a -> CursorShape -> m ()

-- | Reset the terminal palette to reasonable compiled-in default color.
terminalSetDefaultColors :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m ()

-- | Modifies the terminal's delete key binding, which controls what string
--   or control sequence the terminal sends to its child when the user
--   presses the delete key.
terminalSetDeleteBinding :: (HasCallStack, MonadIO m, IsTerminal a) => a -> EraseBinding -> m ()

-- | Controls whether or not the terminal will communicate with a11y
--   backends.
--   
--   Since: 0.78
terminalSetEnableA11y :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | Controls whether or not the terminal will perform bidirectional text
--   rendering.
--   
--   Since: 0.58
terminalSetEnableBidi :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | Controls whether the terminal uses scroll events to scroll the history
--   if the event was not otherwise consumed by it.
--   
--   This function is rarely useful, except when the terminal is added to a
--   ScrolledWindow, to perform kinetic scrolling (while vte itself
--   does not, yet, implement kinetic scrolling by itself).
--   
--   Since: 0.64
terminalSetEnableFallbackScrolling :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | Sets whether legacy OSC 777 sequences are translated to their
--   corresponding termprops.
--   
--   Since: 0.78
terminalSetEnableLegacyOsc777 :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | Controls whether or not the terminal will shape Arabic text.
--   
--   Since: 0.58
terminalSetEnableShaping :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | Set whether to enable SIXEL images.
--   
--   Since: 0.62
terminalSetEnableSixel :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | Changes 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. If codeset is
--   Nothing, it uses "UTF-8".
--   
--   Note: Support for non-UTF-8 is deprecated and may get removed
--   altogether. Instead of this function, you should use a wrapper like
--   luit(1) when spawning the child process.

-- | Deprecated: (Since version 0.54)Support for non-UTF-8 is
--   deprecated.
terminalSetEncoding :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Maybe Text -> m ()

-- | Sets the font used for rendering all text displayed by the terminal,
--   overriding any fonts set using 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. The font scale is applied to the specified font.
terminalSetFont :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Maybe FontDescription -> m ()

-- | Sets the terminal's font options to options.
--   
--   Note that on GTK4, the terminal by default uses font options with
--   HintMetricsOn set; to override that, use this function to set a
--   FontOptions that has HintMetricsOff set.
--   
--   Since: 0.74
terminalSetFontOptions :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Maybe FontOptions -> m ()

-- | Sets the terminal's font scale to scale.
terminalSetFontScale :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Double -> m ()

-- | Sets terminal as window's geometry
--   widget. See windowSetGeometryHints for more information.
--   
--   terminal must be realized (see
--   widgetGetRealized).

-- | Deprecated: (Since version 0.52)
terminalSetGeometryHintsForWindow :: (HasCallStack, MonadIO m, IsTerminal a, IsWindow b) => a -> b -> m ()

-- | Enables or disables user input. When user input is disabled, the
--   terminal's child will not receive any key press, or mouse button press
--   or motion events sent to it.
terminalSetInputEnabled :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | Changes 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. This setting
--   can be read using terminalGetMouseAutohide.
terminalSetMouseAutohide :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | Sets pty as the PTY to use in
--   terminal. Use Nothing to unset the PTY.
terminalSetPty :: (HasCallStack, MonadIO m, IsTerminal a, IsPty b) => a -> Maybe b -> m ()

-- | Controls whether or not the terminal will rewrap its contents,
--   including the scrollback history, whenever the terminal's width
--   changes.

-- | Deprecated: (Since version 0.58)
terminalSetRewrapOnResize :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | Controls whether or not the terminal will forcibly scroll to the
--   bottom of the viewable history when text is inserted, e.g. by a paste.
--   
--   Since: 0.76
terminalSetScrollOnInsert :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | 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.
--   
--   Since: 0.52
terminalSetScrollOnKeystroke :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | 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.
--   
--   Since: 0.52
terminalSetScrollOnOutput :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | Controls whether the terminal's scroll unit is lines or pixels.
--   
--   This function is rarely useful, except when the terminal is added to a
--   ScrolledWindow.
--   
--   Since: 0.66
terminalSetScrollUnitIsPixels :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | Sets 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.
--   
--   A negative value means "infinite scrollback".
--   
--   Using a large scrollback buffer (roughly 1M+ lines) may lead to
--   performance degradation or exhaustion of system resources, and is
--   therefore not recommended.
--   
--   Note that this setting only affects the normal screen buffer. No
--   scrollback is allowed on the alternate screen buffer.
terminalSetScrollbackLines :: (HasCallStack, MonadIO m, IsTerminal a) => a -> CLong -> m ()

-- | Attempts to change the terminal's size in terms of rows and columns.
--   If the attempt succeeds, the widget will resize itself to the proper
--   size.
terminalSetSize :: (HasCallStack, MonadIO m, IsTerminal a) => a -> CLong -> CLong -> m ()

-- | Suppress emissions of signals and property notifications that are
--   deprecated.
--   
--   Since: 0.78
terminalSetSuppressLegacySignals :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m ()

-- | Controls whether or not the terminal will allow blinking text.
--   
--   Since: 0.52
terminalSetTextBlinkMode :: (HasCallStack, MonadIO m, IsTerminal a) => a -> TextBlinkMode -> m ()

-- | With this function you can provide a 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.
--   
--   The characters in exceptions must be non-alphanumeric,
--   each character must occur only once, and if exceptions
--   contains the character U+002D HYPHEN-MINUS, it must be at the start of
--   the string.
--   
--   Use Nothing to reset the set of exception characters to the
--   default.
--   
--   Since: 0.40
terminalSetWordCharExceptions :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Text -> m ()

-- | Sets the horizontal alignment of terminal within its
--   allocation.
--   
--   Note: VTE_ALIGN_START_FILL is not supported, and will
--   be treated like AlignStart.
--   
--   Since: 0.76
terminalSetXalign :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Align -> m ()

-- | Sets the horizontal fillment of terminal within its
--   allocation.
--   
--   Note: VTE_FILL_START_FILL is not supported, and will
--   be treated like VTE_FILL_START.
--   
--   Since: 0.76
terminalSetXfill :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | Sets the vertical alignment of terminal within its
--   allocation.
--   
--   Since: 0.76
terminalSetYalign :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Align -> m ()

-- | Sets the vertical fillment of terminal within its
--   allocation. Note that yfill is only supported with yalign set to
--   AlignStart, and is ignored for all other yalign values.
--   
--   Since: 0.76
terminalSetYfill :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | A convenience function that wraps creating the Pty and spawning
--   the child process on it. Like terminalSpawnWithFdsAsync, except
--   that this function does not allow passing file descriptors to the
--   child process. See terminalSpawnWithFdsAsync for more
--   information.
--   
--   Since: 0.48
terminalSpawnAsync :: (HasCallStack, MonadIO m, IsTerminal a, IsCancellable b) => a -> [PtyFlags] -> Maybe Text -> [[Char]] -> Maybe [[Char]] -> [SpawnFlags] -> Maybe SpawnChildSetupFunc -> Int32 -> Maybe b -> Maybe TerminalSpawnAsyncCallback -> m ()

-- | Starts the specified command under a newly-allocated controlling
--   pseudo-terminal. The argv and envv
--   lists should be Nothing-terminated. The "TERM" environment
--   variable is automatically set to a default value, but can be
--   overridden from envv. ptyFlags
--   controls logging the session to the specified system log files.
--   
--   Note that SpawnFlagsDoNotReapChild will always be added to
--   spawnFlags.
--   
--   Note also that SpawnFlagsStdoutToDevNull,
--   SpawnFlagsStderrToDevNull, and
--   SpawnFlagsChildInheritsStdin are not supported in
--   spawnFlags, since stdin, stdout and stderr of the
--   child process will always be connected to the PTY.
--   
--   Note that all open file descriptors will be closed in the child. If
--   you want to keep some file descriptor open for use in the child
--   process, you need to use a child setup function that unsets the
--   FD_CLOEXEC flag on that file descriptor.
--   
--   See vte_pty_new(), spawnAsync and
--   terminalWatchChild for more information.
--   
--   Beginning with 0.52, sets PWD to workingDirectory in
--   order to preserve symlink components. The caller should also make sure
--   that symlinks were preserved while constructing the value of
--   workingDirectory, e.g. by using
--   terminalGetCurrentDirectoryUri, getCurrentDir or
--   get_current_dir_name().

-- | Deprecated: (Since version 0.48)Use terminalSpawnAsync
--   instead.
terminalSpawnSync :: (HasCallStack, MonadIO m, IsTerminal a, IsCancellable b) => a -> [PtyFlags] -> Maybe Text -> [[Char]] -> Maybe [[Char]] -> [SpawnFlags] -> Maybe SpawnChildSetupFunc -> Maybe b -> m Int32

-- | A convenience function that wraps creating the Pty and spawning
--   the child process on it. See ptyNewSync,
--   ptySpawnWithFdsAsync, and ptySpawnFinish for more
--   information.
--   
--   When the operation is finished successfully, callback
--   will be called with the child GPid, and a
--   Nothing GError. The child PID will already be watched
--   via terminalWatchChild.
--   
--   When the operation fails, callback will be called with
--   a -1 GPid, and a non-Nothing GError
--   containing the error information.
--   
--   Note that SpawnFlagsStdoutToDevNull,
--   SpawnFlagsStderrToDevNull, and
--   SpawnFlagsChildInheritsStdin are not supported in
--   spawnFlags, since stdin, stdout and stderr of the
--   child process will always be connected to the PTY.
--   
--   If fds is not Nothing, the child process will
--   map the file descriptors from fds according to
--   mapFds; nMapFds must be less or equal
--   to nFds. This function will take ownership of the file
--   descriptors in fds; you must not use or close them
--   after this call.
--   
--   Note that all open file descriptors apart from those mapped as above
--   will be closed in the child. (If you want to keep some other file
--   descriptor open for use in the child process, you need to use a child
--   setup function that unsets the FD_CLOEXEC flag on that file descriptor
--   manually.)
--   
--   Beginning with 0.60, and on linux only, and unless
--   SPAWN_NO_SYSTEMD_SCOPE is passed in spawnFlags,
--   the newly created child process will be moved to its own systemd user
--   scope; and if SPAWN_REQUIRE_SYSTEMD_SCOPE is passed, and
--   creation of the systemd user scope fails, the whole spawn will fail.
--   You can override the options used for the systemd user scope by
--   providing a systemd override file for 'vte-spawn-.scope' unit. See
--   man:systemd.unit(5) for further information.
--   
--   Note that if terminal has been destroyed before the
--   operation is called, callback will be called with a
--   Nothing terminal; you must not do anything in
--   the callback besides freeing any resources associated with
--   userData, but taking care not to access the
--   now-destroyed Terminal. Note that in this case, if spawning was
--   successful, the child process will be aborted automatically.
--   
--   Beginning with 0.52, sets PWD to workingDirectory in
--   order to preserve symlink components. The caller should also make sure
--   that symlinks were preserved while constructing the value of
--   workingDirectory, e.g. by using
--   terminalGetCurrentDirectoryUri, getCurrentDir or
--   get_current_dir_name().
--   
--   Since: 0.62
terminalSpawnWithFdsAsync :: (HasCallStack, MonadIO m, IsTerminal a, IsCancellable b) => a -> [PtyFlags] -> Maybe Text -> [[Char]] -> Maybe [[Char]] -> Maybe [Int32] -> Maybe [Int32] -> [SpawnFlags] -> Maybe SpawnChildSetupFunc -> Int32 -> Maybe b -> Maybe TerminalSpawnAsyncCallback -> m ()

-- | Clears the current selection.
terminalUnselectAll :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m ()

-- | Watches childPid. When the process exists, the
--   Terminal::childExited signal will be called with the child's
--   exit status.
--   
--   Prior to calling this function, a Pty must have been set in
--   terminal using terminalSetPty. When the child
--   exits, the terminal's Pty will be set to Nothing.
--   
--   Note: g_child_watch_add() or childWatchAdd must
--   not have been called for childPid, nor a Source
--   for it been created with childWatchSourceNew.
--   
--   Note: when using the spawnAsync family of functions, the
--   SpawnFlagsDoNotReapChild flag MUST have been passed.
terminalWatchChild :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Int32 -> m ()

-- | Write contents of the current contents of terminal
--   (including any scrollback history) to stream according
--   to flags.
--   
--   If cancellable is not Nothing, then the
--   operation can be cancelled by triggering the cancellable object from
--   another thread. If the operation was cancelled, the error
--   IOErrorEnumCancelled will be returned in error.
--   
--   This is a synchronous operation and will make the widget (and input
--   processing) during the write operation, which may take a long time
--   depending on scrollback history and stream
--   availability for writing.
terminalWriteContentsSync :: (HasCallStack, MonadIO m, IsTerminal a, IsOutputStream b, IsCancellable c) => a -> b -> WriteFlags -> Maybe c -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “allow-bold” property. This is rarely needed directly, but it
--   is used by new.
constructTerminalAllowBold :: (IsTerminal o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “allow-bold” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #allowBold
--   
getTerminalAllowBold :: (MonadIO m, IsTerminal o) => o -> m Bool

-- | Set the value of the “allow-bold” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #allowBold := value ]
--   
setTerminalAllowBold :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “allow-hyperlink” property. This is rarely needed directly,
--   but it is used by new.
constructTerminalAllowHyperlink :: (IsTerminal o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “allow-hyperlink” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #allowHyperlink
--   
getTerminalAllowHyperlink :: (MonadIO m, IsTerminal o) => o -> m Bool

-- | Set the value of the “allow-hyperlink” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #allowHyperlink := value ]
--   
setTerminalAllowHyperlink :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “audible-bell” property. This is rarely needed directly, but
--   it is used by new.
constructTerminalAudibleBell :: (IsTerminal o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “audible-bell” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #audibleBell
--   
getTerminalAudibleBell :: (MonadIO m, IsTerminal o) => o -> m Bool

-- | Set the value of the “audible-bell” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #audibleBell := value ]
--   
setTerminalAudibleBell :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “backspace-binding” property. This is rarely needed directly,
--   but it is used by new.
constructTerminalBackspaceBinding :: (IsTerminal o, MonadIO m) => EraseBinding -> m (GValueConstruct o)

-- | Get the value of the “backspace-binding” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #backspaceBinding
--   
getTerminalBackspaceBinding :: (MonadIO m, IsTerminal o) => o -> m EraseBinding

-- | Set the value of the “backspace-binding” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #backspaceBinding := value ]
--   
setTerminalBackspaceBinding :: (MonadIO m, IsTerminal o) => o -> EraseBinding -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “bold-is-bright” property. This is rarely needed directly,
--   but it is used by new.
constructTerminalBoldIsBright :: (IsTerminal o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “bold-is-bright” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #boldIsBright
--   
getTerminalBoldIsBright :: (MonadIO m, IsTerminal o) => o -> m Bool

-- | Set the value of the “bold-is-bright” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #boldIsBright := value ]
--   
setTerminalBoldIsBright :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “cell-height-scale” property. This is rarely needed directly,
--   but it is used by new.
constructTerminalCellHeightScale :: (IsTerminal o, MonadIO m) => Double -> m (GValueConstruct o)

-- | Get the value of the “cell-height-scale” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #cellHeightScale
--   
getTerminalCellHeightScale :: (MonadIO m, IsTerminal o) => o -> m Double

-- | Set the value of the “cell-height-scale” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #cellHeightScale := value ]
--   
setTerminalCellHeightScale :: (MonadIO m, IsTerminal o) => o -> Double -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “cell-width-scale” property. This is rarely needed directly,
--   but it is used by new.
constructTerminalCellWidthScale :: (IsTerminal o, MonadIO m) => Double -> m (GValueConstruct o)

-- | Get the value of the “cell-width-scale” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #cellWidthScale
--   
getTerminalCellWidthScale :: (MonadIO m, IsTerminal o) => o -> m Double

-- | Set the value of the “cell-width-scale” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #cellWidthScale := value ]
--   
setTerminalCellWidthScale :: (MonadIO m, IsTerminal o) => o -> Double -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “cjk-ambiguous-width” property. This is rarely needed
--   directly, but it is used by new.
constructTerminalCjkAmbiguousWidth :: (IsTerminal o, MonadIO m) => Int32 -> m (GValueConstruct o)

-- | Get the value of the “cjk-ambiguous-width” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #cjkAmbiguousWidth
--   
getTerminalCjkAmbiguousWidth :: (MonadIO m, IsTerminal o) => o -> m Int32

-- | Set the value of the “cjk-ambiguous-width” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #cjkAmbiguousWidth := value ]
--   
setTerminalCjkAmbiguousWidth :: (MonadIO m, IsTerminal o) => o -> Int32 -> m ()

-- | Set the value of the “context-menu” property to
--   Nothing. When overloading is enabled, this is equivalent
--   to
--   
--   
--   clear #contextMenu
--   
clearTerminalContextMenu :: (MonadIO m, IsTerminal o) => o -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “context-menu” property. This is rarely needed directly, but
--   it is used by new.
constructTerminalContextMenu :: (IsTerminal o, MonadIO m, IsMenu a) => a -> m (GValueConstruct o)

-- | Get the value of the “context-menu” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #contextMenu
--   
getTerminalContextMenu :: (MonadIO m, IsTerminal o) => o -> m (Maybe Menu)

-- | Set the value of the “context-menu” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #contextMenu := value ]
--   
setTerminalContextMenu :: (MonadIO m, IsTerminal o, IsMenu a) => o -> a -> m ()

-- | Set the value of the “context-menu-model” property to
--   Nothing. When overloading is enabled, this is equivalent
--   to
--   
--   
--   clear #contextMenuModel
--   
clearTerminalContextMenuModel :: (MonadIO m, IsTerminal o) => o -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “context-menu-model” property. This is rarely needed
--   directly, but it is used by new.
constructTerminalContextMenuModel :: (IsTerminal o, MonadIO m, IsMenuModel a) => a -> m (GValueConstruct o)

-- | Get the value of the “context-menu-model” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #contextMenuModel
--   
getTerminalContextMenuModel :: (MonadIO m, IsTerminal o) => o -> m (Maybe MenuModel)

-- | Set the value of the “context-menu-model” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #contextMenuModel := value ]
--   
setTerminalContextMenuModel :: (MonadIO m, IsTerminal o, IsMenuModel a) => o -> a -> m ()

-- | Get the value of the “current-directory-uri” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #currentDirectoryUri
--   
getTerminalCurrentDirectoryUri :: (MonadIO m, IsTerminal o) => o -> m (Maybe Text)

-- | Get the value of the “current-file-uri” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #currentFileUri
--   
getTerminalCurrentFileUri :: (MonadIO m, IsTerminal o) => o -> m (Maybe Text)

-- | Construct a GValueConstruct with valid value for the
--   “cursor-blink-mode” property. This is rarely needed directly,
--   but it is used by new.
constructTerminalCursorBlinkMode :: (IsTerminal o, MonadIO m) => CursorBlinkMode -> m (GValueConstruct o)

-- | Get the value of the “cursor-blink-mode” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #cursorBlinkMode
--   
getTerminalCursorBlinkMode :: (MonadIO m, IsTerminal o) => o -> m CursorBlinkMode

-- | Set the value of the “cursor-blink-mode” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #cursorBlinkMode := value ]
--   
setTerminalCursorBlinkMode :: (MonadIO m, IsTerminal o) => o -> CursorBlinkMode -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “cursor-shape” property. This is rarely needed directly, but
--   it is used by new.
constructTerminalCursorShape :: (IsTerminal o, MonadIO m) => CursorShape -> m (GValueConstruct o)

-- | Get the value of the “cursor-shape” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #cursorShape
--   
getTerminalCursorShape :: (MonadIO m, IsTerminal o) => o -> m CursorShape

-- | Set the value of the “cursor-shape” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #cursorShape := value ]
--   
setTerminalCursorShape :: (MonadIO m, IsTerminal o) => o -> CursorShape -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “delete-binding” property. This is rarely needed directly,
--   but it is used by new.
constructTerminalDeleteBinding :: (IsTerminal o, MonadIO m) => EraseBinding -> m (GValueConstruct o)

-- | Get the value of the “delete-binding” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #deleteBinding
--   
getTerminalDeleteBinding :: (MonadIO m, IsTerminal o) => o -> m EraseBinding

-- | Set the value of the “delete-binding” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #deleteBinding := value ]
--   
setTerminalDeleteBinding :: (MonadIO m, IsTerminal o) => o -> EraseBinding -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “enable-a11y” property. This is rarely needed directly, but
--   it is used by new.
constructTerminalEnableA11y :: (IsTerminal o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “enable-a11y” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #enableA11y
--   
getTerminalEnableA11y :: (MonadIO m, IsTerminal o) => o -> m Bool

-- | Set the value of the “enable-a11y” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #enableA11y := value ]
--   
setTerminalEnableA11y :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “enable-bidi” property. This is rarely needed directly, but
--   it is used by new.
constructTerminalEnableBidi :: (IsTerminal o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “enable-bidi” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #enableBidi
--   
getTerminalEnableBidi :: (MonadIO m, IsTerminal o) => o -> m Bool

-- | Set the value of the “enable-bidi” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #enableBidi := value ]
--   
setTerminalEnableBidi :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “enable-fallback-scrolling” property. This is rarely needed
--   directly, but it is used by new.
constructTerminalEnableFallbackScrolling :: (IsTerminal o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “enable-fallback-scrolling” property.
--   When overloading is enabled, this is equivalent to
--   
--   
--   get terminal #enableFallbackScrolling
--   
getTerminalEnableFallbackScrolling :: (MonadIO m, IsTerminal o) => o -> m Bool

-- | Set the value of the “enable-fallback-scrolling” property.
--   When overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #enableFallbackScrolling := value ]
--   
setTerminalEnableFallbackScrolling :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “enable-legacy-osc777” property. This is rarely needed
--   directly, but it is used by new.
constructTerminalEnableLegacyOsc777 :: (IsTerminal o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “enable-legacy-osc777” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #enableLegacyOsc777
--   
getTerminalEnableLegacyOsc777 :: (MonadIO m, IsTerminal o) => o -> m Bool

-- | Set the value of the “enable-legacy-osc777” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #enableLegacyOsc777 := value ]
--   
setTerminalEnableLegacyOsc777 :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “enable-shaping” property. This is rarely needed directly,
--   but it is used by new.
constructTerminalEnableShaping :: (IsTerminal o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “enable-shaping” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #enableShaping
--   
getTerminalEnableShaping :: (MonadIO m, IsTerminal o) => o -> m Bool

-- | Set the value of the “enable-shaping” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #enableShaping := value ]
--   
setTerminalEnableShaping :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “enable-sixel” property. This is rarely needed directly, but
--   it is used by new.
constructTerminalEnableSixel :: (IsTerminal o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “enable-sixel” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #enableSixel
--   
getTerminalEnableSixel :: (MonadIO m, IsTerminal o) => o -> m Bool

-- | Set the value of the “enable-sixel” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #enableSixel := value ]
--   
setTerminalEnableSixel :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()

-- | Set the value of the “encoding” property to Nothing.
--   When overloading is enabled, this is equivalent to
--   
--   
--   clear #encoding
--   
clearTerminalEncoding :: (MonadIO m, IsTerminal o) => o -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “encoding” property. This is rarely needed directly, but it
--   is used by new.
constructTerminalEncoding :: (IsTerminal o, MonadIO m) => Text -> m (GValueConstruct o)

-- | Get the value of the “encoding” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #encoding
--   
getTerminalEncoding :: (MonadIO m, IsTerminal o) => o -> m (Maybe Text)

-- | Set the value of the “encoding” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #encoding := value ]
--   
setTerminalEncoding :: (MonadIO m, IsTerminal o) => o -> Text -> m ()

-- | Set the value of the “font-desc” property to Nothing.
--   When overloading is enabled, this is equivalent to
--   
--   
--   clear #fontDesc
--   
clearTerminalFontDesc :: (MonadIO m, IsTerminal o) => o -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “font-desc” property. This is rarely needed directly, but it
--   is used by new.
constructTerminalFontDesc :: (IsTerminal o, MonadIO m) => FontDescription -> m (GValueConstruct o)

-- | Get the value of the “font-desc” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #fontDesc
--   
getTerminalFontDesc :: (MonadIO m, IsTerminal o) => o -> m (Maybe FontDescription)

-- | Set the value of the “font-desc” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #fontDesc := value ]
--   
setTerminalFontDesc :: (MonadIO m, IsTerminal o) => o -> FontDescription -> m ()

-- | Set the value of the “font-options” property to
--   Nothing. When overloading is enabled, this is equivalent
--   to
--   
--   
--   clear #fontOptions
--   
clearTerminalFontOptions :: (MonadIO m, IsTerminal o) => o -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “font-options” property. This is rarely needed directly, but
--   it is used by new.
constructTerminalFontOptions :: (IsTerminal o, MonadIO m) => FontOptions -> m (GValueConstruct o)

-- | Get the value of the “font-options” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #fontOptions
--   
getTerminalFontOptions :: (MonadIO m, IsTerminal o) => o -> m (Maybe FontOptions)

-- | Set the value of the “font-options” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #fontOptions := value ]
--   
setTerminalFontOptions :: (MonadIO m, IsTerminal o) => o -> FontOptions -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “font-scale” property. This is rarely needed directly, but it
--   is used by new.
constructTerminalFontScale :: (IsTerminal o, MonadIO m) => Double -> m (GValueConstruct o)

-- | Get the value of the “font-scale” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #fontScale
--   
getTerminalFontScale :: (MonadIO m, IsTerminal o) => o -> m Double

-- | Set the value of the “font-scale” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #fontScale := value ]
--   
setTerminalFontScale :: (MonadIO m, IsTerminal o) => o -> Double -> m ()

-- | Get the value of the “hyperlink-hover-uri” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #hyperlinkHoverUri
--   
getTerminalHyperlinkHoverUri :: (MonadIO m, IsTerminal o) => o -> m (Maybe Text)

-- | Get the value of the “icon-title” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #iconTitle
--   
getTerminalIconTitle :: (MonadIO m, IsTerminal o) => o -> m (Maybe Text)

-- | Construct a GValueConstruct with valid value for the
--   “input-enabled” property. This is rarely needed directly, but
--   it is used by new.
constructTerminalInputEnabled :: (IsTerminal o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “input-enabled” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #inputEnabled
--   
getTerminalInputEnabled :: (MonadIO m, IsTerminal o) => o -> m Bool

-- | Set the value of the “input-enabled” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #inputEnabled := value ]
--   
setTerminalInputEnabled :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “pointer-autohide” property. This is rarely needed directly,
--   but it is used by new.
constructTerminalPointerAutohide :: (IsTerminal o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “pointer-autohide” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #pointerAutohide
--   
getTerminalPointerAutohide :: (MonadIO m, IsTerminal o) => o -> m Bool

-- | Set the value of the “pointer-autohide” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #pointerAutohide := value ]
--   
setTerminalPointerAutohide :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()

-- | Set the value of the “pty” property to Nothing. When
--   overloading is enabled, this is equivalent to
--   
--   
--   clear #pty
--   
clearTerminalPty :: (MonadIO m, IsTerminal o) => o -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “pty” property. This is rarely needed directly, but it is
--   used by new.
constructTerminalPty :: (IsTerminal o, MonadIO m, IsPty a) => a -> m (GValueConstruct o)

-- | Get the value of the “pty” property. When overloading
--   is enabled, this is equivalent to
--   
--   
--   get terminal #pty
--   
getTerminalPty :: (MonadIO m, IsTerminal o) => o -> m (Maybe Pty)

-- | Set the value of the “pty” property. When overloading
--   is enabled, this is equivalent to
--   
--   
--   set terminal [ #pty := value ]
--   
setTerminalPty :: (MonadIO m, IsTerminal o, IsPty a) => o -> a -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “rewrap-on-resize” property. This is rarely needed directly,
--   but it is used by new.
constructTerminalRewrapOnResize :: (IsTerminal o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “rewrap-on-resize” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #rewrapOnResize
--   
getTerminalRewrapOnResize :: (MonadIO m, IsTerminal o) => o -> m Bool

-- | Set the value of the “rewrap-on-resize” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #rewrapOnResize := value ]
--   
setTerminalRewrapOnResize :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “scroll-on-insert” property. This is rarely needed directly,
--   but it is used by new.
constructTerminalScrollOnInsert :: (IsTerminal o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “scroll-on-insert” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #scrollOnInsert
--   
getTerminalScrollOnInsert :: (MonadIO m, IsTerminal o) => o -> m Bool

-- | Set the value of the “scroll-on-insert” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #scrollOnInsert := value ]
--   
setTerminalScrollOnInsert :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “scroll-on-keystroke” property. This is rarely needed
--   directly, but it is used by new.
constructTerminalScrollOnKeystroke :: (IsTerminal o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “scroll-on-keystroke” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #scrollOnKeystroke
--   
getTerminalScrollOnKeystroke :: (MonadIO m, IsTerminal o) => o -> m Bool

-- | Set the value of the “scroll-on-keystroke” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #scrollOnKeystroke := value ]
--   
setTerminalScrollOnKeystroke :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “scroll-on-output” property. This is rarely needed directly,
--   but it is used by new.
constructTerminalScrollOnOutput :: (IsTerminal o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “scroll-on-output” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #scrollOnOutput
--   
getTerminalScrollOnOutput :: (MonadIO m, IsTerminal o) => o -> m Bool

-- | Set the value of the “scroll-on-output” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #scrollOnOutput := value ]
--   
setTerminalScrollOnOutput :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “scroll-unit-is-pixels” property. This is rarely needed
--   directly, but it is used by new.
constructTerminalScrollUnitIsPixels :: (IsTerminal o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “scroll-unit-is-pixels” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #scrollUnitIsPixels
--   
getTerminalScrollUnitIsPixels :: (MonadIO m, IsTerminal o) => o -> m Bool

-- | Set the value of the “scroll-unit-is-pixels” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #scrollUnitIsPixels := value ]
--   
setTerminalScrollUnitIsPixels :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “scrollback-lines” property. This is rarely needed directly,
--   but it is used by new.
constructTerminalScrollbackLines :: (IsTerminal o, MonadIO m) => Word32 -> m (GValueConstruct o)

-- | Get the value of the “scrollback-lines” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #scrollbackLines
--   
getTerminalScrollbackLines :: (MonadIO m, IsTerminal o) => o -> m Word32

-- | Set the value of the “scrollback-lines” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #scrollbackLines := value ]
--   
setTerminalScrollbackLines :: (MonadIO m, IsTerminal o) => o -> Word32 -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “text-blink-mode” property. This is rarely needed directly,
--   but it is used by new.
constructTerminalTextBlinkMode :: (IsTerminal o, MonadIO m) => TextBlinkMode -> m (GValueConstruct o)

-- | Get the value of the “text-blink-mode” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #textBlinkMode
--   
getTerminalTextBlinkMode :: (MonadIO m, IsTerminal o) => o -> m TextBlinkMode

-- | Set the value of the “text-blink-mode” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #textBlinkMode := value ]
--   
setTerminalTextBlinkMode :: (MonadIO m, IsTerminal o) => o -> TextBlinkMode -> m ()

-- | Get the value of the “window-title” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #windowTitle
--   
getTerminalWindowTitle :: (MonadIO m, IsTerminal o) => o -> m (Maybe Text)

-- | Get the value of the “word-char-exceptions” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #wordCharExceptions
--   
getTerminalWordCharExceptions :: (MonadIO m, IsTerminal o) => o -> m (Maybe Text)

-- | Construct a GValueConstruct with valid value for the
--   “xalign” property. This is rarely needed directly, but it is
--   used by new.
constructTerminalXalign :: (IsTerminal o, MonadIO m) => Align -> m (GValueConstruct o)

-- | Get the value of the “xalign” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #xalign
--   
getTerminalXalign :: (MonadIO m, IsTerminal o) => o -> m Align

-- | Set the value of the “xalign” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #xalign := value ]
--   
setTerminalXalign :: (MonadIO m, IsTerminal o) => o -> Align -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “xfill” property. This is rarely needed directly, but it is
--   used by new.
constructTerminalXfill :: (IsTerminal o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “xfill” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #xfill
--   
getTerminalXfill :: (MonadIO m, IsTerminal o) => o -> m Bool

-- | Set the value of the “xfill” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #xfill := value ]
--   
setTerminalXfill :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “yalign” property. This is rarely needed directly, but it is
--   used by new.
constructTerminalYalign :: (IsTerminal o, MonadIO m) => Align -> m (GValueConstruct o)

-- | Get the value of the “yalign” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #yalign
--   
getTerminalYalign :: (MonadIO m, IsTerminal o) => o -> m Align

-- | Set the value of the “yalign” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #yalign := value ]
--   
setTerminalYalign :: (MonadIO m, IsTerminal o) => o -> Align -> m ()

-- | Construct a GValueConstruct with valid value for the
--   “yfill” property. This is rarely needed directly, but it is
--   used by new.
constructTerminalYfill :: (IsTerminal o, MonadIO m) => Bool -> m (GValueConstruct o)

-- | Get the value of the “yfill” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get terminal #yfill
--   
getTerminalYfill :: (MonadIO m, IsTerminal o) => o -> m Bool

-- | Set the value of the “yfill” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   set terminal [ #yfill := value ]
--   
setTerminalYfill :: (MonadIO m, IsTerminal o) => o -> Bool -> m ()

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

-- | Connect a signal handler for the bell signal, to be run after
--   the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after terminal #bell callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalBell :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalBellCallback) -> m SignalHandlerId

-- | Connect a signal handler for the bell signal, to be run before
--   the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   on terminal #bell callback
--   
onTerminalBell :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalBellCallback) -> m SignalHandlerId

-- | 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 = -- | /@width@/: the new character cell width Word32 -> -- | /@height@/: the new character cell height Word32 -> IO ()

-- | Connect a signal handler for the charSizeChanged signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after terminal #charSizeChanged callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalCharSizeChanged :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalCharSizeChangedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the charSizeChanged signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on terminal #charSizeChanged callback
--   
onTerminalCharSizeChanged :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalCharSizeChangedCallback) -> m SignalHandlerId

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

-- | Connect a signal handler for the childExited signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after terminal #childExited callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalChildExited :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalChildExitedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the childExited signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on terminal #childExited callback
--   
onTerminalChildExited :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalChildExitedCallback) -> m SignalHandlerId

-- | Emitted whenever the terminal receives input from the user and
--   prepares to send it to the child process.
type TerminalCommitCallback = -- | /@text@/: a string of text Text -> -- | /@size@/: the length of that string of text Word32 -> IO ()

-- | Connect a signal handler for the commit signal, to be run after
--   the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after terminal #commit callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalCommit :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalCommitCallback) -> m SignalHandlerId

-- | Connect a signal handler for the commit signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on terminal #commit callback
--   
onTerminalCommit :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalCommitCallback) -> m SignalHandlerId

-- | Emitted whenever the visible appearance of the terminal has changed.
--   Used primarily by VteTerminalAccessible.
type TerminalContentsChangedCallback = IO ()

-- | Connect a signal handler for the contentsChanged signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after terminal #contentsChanged callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalContentsChanged :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalContentsChangedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the contentsChanged signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on terminal #contentsChanged callback
--   
onTerminalContentsChanged :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalContentsChangedCallback) -> m SignalHandlerId

-- | Emitted whenever terminalCopyClipboard is called.
type TerminalCopyClipboardCallback = IO ()

-- | Connect a signal handler for the copyClipboard signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after terminal #copyClipboard callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalCopyClipboard :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalCopyClipboardCallback) -> m SignalHandlerId

-- | Connect a signal handler for the copyClipboard signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on terminal #copyClipboard callback
--   
onTerminalCopyClipboard :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalCopyClipboardCallback) -> m SignalHandlerId

-- | Emitted when the current directory URI is modified.

-- | Deprecated: (Since version 0.78)Use the
--   Terminal:termprop-changed signal for the
--   TERMPROP_CURRENT_DIRECTORY_URI termprop.
type TerminalCurrentDirectoryUriChangedCallback = IO ()

-- | Connect a signal handler for the currentDirectoryUriChanged
--   signal, to be run after the default handler. When overloading
--   is enabled, this is equivalent to
--   
--   
--   after terminal #currentDirectoryUriChanged callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalCurrentDirectoryUriChanged :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalCurrentDirectoryUriChangedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the currentDirectoryUriChanged
--   signal, to be run before the default handler. When overloading
--   is enabled, this is equivalent to
--   
--   
--   on terminal #currentDirectoryUriChanged callback
--   
onTerminalCurrentDirectoryUriChanged :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalCurrentDirectoryUriChangedCallback) -> m SignalHandlerId

-- | Emitted when the current file URI is modified.

-- | Deprecated: (Since version 0.78)Use the
--   Terminal:termprop-changed signal for the
--   TERMPROP_CURRENT_FILE_URI termprop.
type TerminalCurrentFileUriChangedCallback = IO ()

-- | Connect a signal handler for the currentFileUriChanged signal,
--   to be run after the default handler. When overloading is
--   enabled, this is equivalent to
--   
--   
--   after terminal #currentFileUriChanged callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalCurrentFileUriChanged :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalCurrentFileUriChangedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the currentFileUriChanged signal,
--   to be run before the default handler. When overloading is
--   enabled, this is equivalent to
--   
--   
--   on terminal #currentFileUriChanged callback
--   
onTerminalCurrentFileUriChanged :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalCurrentFileUriChangedCallback) -> m SignalHandlerId

-- | Emitted whenever the cursor moves to a new character cell. Used
--   primarily by VteTerminalAccessible.
type TerminalCursorMovedCallback = IO ()

-- | Connect a signal handler for the cursorMoved signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after terminal #cursorMoved callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalCursorMoved :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalCursorMovedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the cursorMoved signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on terminal #cursorMoved callback
--   
onTerminalCursorMoved :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalCursorMovedCallback) -> m SignalHandlerId

-- | Emitted when the user hits the '-' key while holding the Control key.
type TerminalDecreaseFontSizeCallback = IO ()

-- | Connect a signal handler for the decreaseFontSize signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after terminal #decreaseFontSize callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalDecreaseFontSize :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalDecreaseFontSizeCallback) -> m SignalHandlerId

-- | Connect a signal handler for the decreaseFontSize signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on terminal #decreaseFontSize callback
--   
onTerminalDecreaseFontSize :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalDecreaseFontSizeCallback) -> m SignalHandlerId

-- | Never emitted.

-- | Deprecated: (Since version 0.60)
type TerminalDeiconifyWindowCallback = IO ()

-- | Connect a signal handler for the deiconifyWindow signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after terminal #deiconifyWindow callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalDeiconifyWindow :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalDeiconifyWindowCallback) -> m SignalHandlerId

-- | Connect a signal handler for the deiconifyWindow signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on terminal #deiconifyWindow callback
--   
onTerminalDeiconifyWindow :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalDeiconifyWindowCallback) -> m SignalHandlerId

-- | Emitted whenever the terminal's current encoding has changed.
--   
--   Note: support for non-UTF-8 is deprecated.
type TerminalEncodingChangedCallback = IO ()

-- | Connect a signal handler for the encodingChanged signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after terminal #encodingChanged callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalEncodingChanged :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalEncodingChangedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the encodingChanged signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on terminal #encodingChanged callback
--   
onTerminalEncodingChanged :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalEncodingChangedCallback) -> m SignalHandlerId

-- | 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 Terminal::childExited signal.
type TerminalEofCallback = IO ()

-- | Connect a signal handler for the eof signal, to be run after
--   the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after terminal #eof callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalEof :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalEofCallback) -> m SignalHandlerId

-- | Connect a signal handler for the eof signal, to be run before
--   the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   on terminal #eof callback
--   
onTerminalEof :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalEofCallback) -> m SignalHandlerId

-- | 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 = -- | /@uri@/: the nonempty target URI under the mouse, or NULL Text -> -- | /@bbox@/: the bounding box of the hyperlink anchor text, or NULL Rectangle -> IO ()

-- | Connect a signal handler for the hyperlinkHoverUriChanged
--   signal, to be run after the default handler. When overloading
--   is enabled, this is equivalent to
--   
--   
--   after terminal #hyperlinkHoverUriChanged callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalHyperlinkHoverUriChanged :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalHyperlinkHoverUriChangedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the hyperlinkHoverUriChanged
--   signal, to be run before the default handler. When overloading
--   is enabled, this is equivalent to
--   
--   
--   on terminal #hyperlinkHoverUriChanged callback
--   
onTerminalHyperlinkHoverUriChanged :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalHyperlinkHoverUriChangedCallback) -> m SignalHandlerId

-- | No description available in the introspection data.

-- | Deprecated: (Since version 0.54)This signal is never emitted.
type TerminalIconTitleChangedCallback = IO ()

-- | Connect a signal handler for the iconTitleChanged signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after terminal #iconTitleChanged callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalIconTitleChanged :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalIconTitleChangedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the iconTitleChanged signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on terminal #iconTitleChanged callback
--   
onTerminalIconTitleChanged :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalIconTitleChangedCallback) -> m SignalHandlerId

-- | Never emitted.

-- | Deprecated: (Since version 0.60)
type TerminalIconifyWindowCallback = IO ()

-- | Connect a signal handler for the iconifyWindow signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after terminal #iconifyWindow callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalIconifyWindow :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalIconifyWindowCallback) -> m SignalHandlerId

-- | Connect a signal handler for the iconifyWindow signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on terminal #iconifyWindow callback
--   
onTerminalIconifyWindow :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalIconifyWindowCallback) -> m SignalHandlerId

-- | Emitted when the user hits the '+' key while holding the Control key.
type TerminalIncreaseFontSizeCallback = IO ()

-- | Connect a signal handler for the increaseFontSize signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after terminal #increaseFontSize callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalIncreaseFontSize :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalIncreaseFontSizeCallback) -> m SignalHandlerId

-- | Connect a signal handler for the increaseFontSize signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on terminal #increaseFontSize callback
--   
onTerminalIncreaseFontSize :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalIncreaseFontSizeCallback) -> m SignalHandlerId

-- | Never emitted.

-- | Deprecated: (Since version 0.60)
type TerminalLowerWindowCallback = IO ()

-- | Connect a signal handler for the lowerWindow signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after terminal #lowerWindow callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalLowerWindow :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalLowerWindowCallback) -> m SignalHandlerId

-- | Connect a signal handler for the lowerWindow signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on terminal #lowerWindow callback
--   
onTerminalLowerWindow :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalLowerWindowCallback) -> m SignalHandlerId

-- | Never emitted.

-- | Deprecated: (Since version 0.60)
type TerminalMaximizeWindowCallback = IO ()

-- | Connect a signal handler for the maximizeWindow signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after terminal #maximizeWindow callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalMaximizeWindow :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalMaximizeWindowCallback) -> m SignalHandlerId

-- | Connect a signal handler for the maximizeWindow signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on terminal #maximizeWindow callback
--   
onTerminalMaximizeWindow :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalMaximizeWindowCallback) -> m SignalHandlerId

-- | Never emitted.

-- | Deprecated: (Since version 0.60)
type TerminalMoveWindowCallback = -- | /@x@/: the terminal\'s desired location, X coordinate Word32 -> -- | /@y@/: the terminal\'s desired location, Y coordinate Word32 -> IO ()

-- | Connect a signal handler for the moveWindow signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after terminal #moveWindow callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalMoveWindow :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalMoveWindowCallback) -> m SignalHandlerId

-- | Connect a signal handler for the moveWindow signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on terminal #moveWindow callback
--   
onTerminalMoveWindow :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalMoveWindowCallback) -> m SignalHandlerId

-- | Emitted whenever terminalPasteClipboard is called.
type TerminalPasteClipboardCallback = IO ()

-- | Connect a signal handler for the pasteClipboard signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after terminal #pasteClipboard callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalPasteClipboard :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalPasteClipboardCallback) -> m SignalHandlerId

-- | Connect a signal handler for the pasteClipboard signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on terminal #pasteClipboard callback
--   
onTerminalPasteClipboard :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalPasteClipboardCallback) -> m SignalHandlerId

-- | Never emitted.

-- | Deprecated: (Since version 0.60)
type TerminalRaiseWindowCallback = IO ()

-- | Connect a signal handler for the raiseWindow signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after terminal #raiseWindow callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalRaiseWindow :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalRaiseWindowCallback) -> m SignalHandlerId

-- | Connect a signal handler for the raiseWindow signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on terminal #raiseWindow callback
--   
onTerminalRaiseWindow :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalRaiseWindowCallback) -> m SignalHandlerId

-- | Never emitted.

-- | Deprecated: (Since version 0.60)
type TerminalRefreshWindowCallback = IO ()

-- | Connect a signal handler for the refreshWindow signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after terminal #refreshWindow callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalRefreshWindow :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalRefreshWindowCallback) -> m SignalHandlerId

-- | Connect a signal handler for the refreshWindow signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on terminal #refreshWindow callback
--   
onTerminalRefreshWindow :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalRefreshWindowCallback) -> m SignalHandlerId

-- | Emitted at the child application's request.
type TerminalResizeWindowCallback = -- | /@width@/: the desired number of columns Word32 -> -- | /@height@/: the desired number of rows Word32 -> IO ()

-- | Connect a signal handler for the resizeWindow signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after terminal #resizeWindow callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalResizeWindow :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalResizeWindowCallback) -> m SignalHandlerId

-- | Connect a signal handler for the resizeWindow signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on terminal #resizeWindow callback
--   
onTerminalResizeWindow :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalResizeWindowCallback) -> m SignalHandlerId

-- | Never emitted.

-- | Deprecated: (Since version 0.60)
type TerminalRestoreWindowCallback = IO ()

-- | Connect a signal handler for the restoreWindow signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after terminal #restoreWindow callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalRestoreWindow :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalRestoreWindowCallback) -> m SignalHandlerId

-- | Connect a signal handler for the restoreWindow signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on terminal #restoreWindow callback
--   
onTerminalRestoreWindow :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalRestoreWindowCallback) -> m SignalHandlerId

-- | Emitted whenever the contents of terminal's selection changes.
type TerminalSelectionChangedCallback = IO ()

-- | Connect a signal handler for the selectionChanged signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after terminal #selectionChanged callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalSelectionChanged :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalSelectionChangedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the selectionChanged signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on terminal #selectionChanged callback
--   
onTerminalSelectionChanged :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalSelectionChangedCallback) -> m SignalHandlerId

-- | Emitted with non-Nothing context before
--   terminal shows a context menu. The handler may set
--   either a menu model using terminalSetContextMenuModel, or a
--   menu using terminalSetContextMenu, which will then be used as
--   context menu. If neither a menu model nor a menu are set, a context
--   menu will not be shown.
--   
--   Note that context is only valid during the signal
--   emission; you may not retain it to call methods on it afterwards.
--   
--   Also emitted with Nothing context after the context menu has
--   been dismissed.
type TerminalSetupContextMenuCallback = -- | /@context@/: the context Maybe EventContext -> IO ()

-- | Connect a signal handler for the setupContextMenu signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after terminal #setupContextMenu callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalSetupContextMenu :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalSetupContextMenuCallback) -> m SignalHandlerId

-- | Connect a signal handler for the setupContextMenu signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on terminal #setupContextMenu callback
--   
onTerminalSetupContextMenu :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalSetupContextMenuCallback) -> m SignalHandlerId

-- | The "termprop-changed" signal is emitted when a termprop has changed
--   or been reset.
--   
--   The handler may use the vte_terminal_get_termprop_*() functions (and
--   their by-ID variants), to retrieve the value of any termprop (not just
--   name), as well as call
--   vte_terminal_reset_termprop() (and its by-ID variant)
--   to reset any termprop (not just name); but it must
--   *not* call *any* other API on terminal, including API
--   of its parent classes.
--   
--   This signal supports detailed connections, so e.g. subscribing to
--   "termprop-changedname" only runs the callback when the termprop
--   "name" has changed.
--   
--   Since: 0.78
type TerminalTermpropChangedCallback = -- | /@name@/: the name of the changed property Text -> IO ()

-- | Connect a signal handler for the termpropChanged signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after terminal #termpropChanged callback
--   
--   
--   This signal admits a optional parameter detail. If it's not
--   Nothing, we will connect to
--   “termprop-changed::detail” instead.
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalTermpropChanged :: (IsTerminal a, MonadIO m) => a -> Maybe Text -> ((?self :: a) => TerminalTermpropChangedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the termpropChanged signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on terminal #termpropChanged callback
--   
--   
--   This signal admits a optional parameter detail. If it's not
--   Nothing, we will connect to
--   “termprop-changed::detail” instead.
onTerminalTermpropChanged :: (IsTerminal a, MonadIO m) => a -> Maybe Text -> ((?self :: a) => TerminalTermpropChangedCallback) -> m SignalHandlerId

-- | Emitted when termprops have changed. props is an array
--   containing the IDs of the terminal properties that may have changed
--   since the last emission of this signal, in an undefined order. Note
--   that emission of this signal is delayed from the receipt of the OSC
--   sequences, and a termprop may have been changed more than once
--   inbetween signal emissions, but only the value set last is
--   retrievable.
--   
--   The default handler for this signal emits the "termprop-changed"
--   signal for each changed property. Returning True from a handler
--   running before the default will prevent this.
--   
--   The handler may use the vte_terminal_get_termprop_*() functions (and
--   their by-ID variants), to retrieve the value of any termprop, as well
--   as call vte_terminal_reset_termprop() (and its by-ID
--   variant) to reset any termprop, or emit the
--   VteTerminaltermpropChanged signal; but it must *not* call *any*
--   other API on terminal, including API of its parent
--   classes.
--   
--   Since: 0.78
type TerminalTermpropsChangedCallback = -- | /@props@/: an array of termprop IDs [Int32] -> -- | __Returns:__ 'P.True' to stop further handlers being invoked for this signal, --   or 'P.False' to continue signal emission IO Bool

-- | Connect a signal handler for the termpropsChanged signal, to be
--   run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after terminal #termpropsChanged callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalTermpropsChanged :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalTermpropsChangedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the termpropsChanged signal, to be
--   run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on terminal #termpropsChanged callback
--   
onTerminalTermpropsChanged :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalTermpropsChangedCallback) -> m SignalHandlerId

-- | No description available in the introspection data.

-- | Deprecated: (Since version 0.66)This signal is never emitted.
type TerminalTextDeletedCallback = IO ()

-- | Connect a signal handler for the textDeleted signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after terminal #textDeleted callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalTextDeleted :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalTextDeletedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the textDeleted signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on terminal #textDeleted callback
--   
onTerminalTextDeleted :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalTextDeletedCallback) -> m SignalHandlerId

-- | No description available in the introspection data.

-- | Deprecated: (Since version 0.66)This signal is never emitted.
type TerminalTextInsertedCallback = IO ()

-- | Connect a signal handler for the textInserted signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after terminal #textInserted callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalTextInserted :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalTextInsertedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the textInserted signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on terminal #textInserted callback
--   
onTerminalTextInserted :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalTextInsertedCallback) -> m SignalHandlerId

-- | No description available in the introspection data.

-- | Deprecated: (Since version 0.66)This signal is never emitted.
type TerminalTextModifiedCallback = IO ()

-- | Connect a signal handler for the textModified signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after terminal #textModified callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalTextModified :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalTextModifiedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the textModified signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on terminal #textModified callback
--   
onTerminalTextModified :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalTextModifiedCallback) -> m SignalHandlerId

-- | No description available in the introspection data.

-- | Deprecated: (Since version 0.66)This signal is never emitted.
type TerminalTextScrolledCallback = Int32 -> IO ()

-- | Connect a signal handler for the textScrolled signal, to be run
--   after the default handler. When overloading is enabled, this is
--   equivalent to
--   
--   
--   after terminal #textScrolled callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalTextScrolled :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalTextScrolledCallback) -> m SignalHandlerId

-- | Connect a signal handler for the textScrolled signal, to be run
--   before the default handler. When overloading is enabled, this
--   is equivalent to
--   
--   
--   on terminal #textScrolled callback
--   
onTerminalTextScrolled :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalTextScrolledCallback) -> m SignalHandlerId

-- | Emitted when the Terminal:windowTitle property is modified.

-- | Deprecated: (Since version 0.78)Use the
--   Terminal:termprop-changed signal for the
--   TERMPROP_XTERM_TITLE termprop.
type TerminalWindowTitleChangedCallback = IO ()

-- | Connect a signal handler for the windowTitleChanged signal, to
--   be run after the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   after terminal #windowTitleChanged callback
--   
--   
--   By default the object invoking the signal is not passed to the
--   callback. If you need to access it, you can use the implit
--   ?self parameter. Note that this requires activating the
--   ImplicitParams GHC extension.
afterTerminalWindowTitleChanged :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalWindowTitleChangedCallback) -> m SignalHandlerId

-- | Connect a signal handler for the windowTitleChanged signal, to
--   be run before the default handler. When overloading is enabled,
--   this is equivalent to
--   
--   
--   on terminal #windowTitleChanged callback
--   
onTerminalWindowTitleChanged :: (IsTerminal a, MonadIO m) => a -> ((?self :: a) => TerminalWindowTitleChangedCallback) -> m SignalHandlerId
instance GHC.Classes.Eq GI.Vte.Objects.Terminal.Terminal
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Vte.Objects.Terminal.Terminal o) => GI.Vte.Objects.Terminal.IsTerminal o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.Vte.Objects.Terminal.Terminal
instance Data.GI.Base.BasicTypes.TypedObject GI.Vte.Objects.Terminal.Terminal
instance Data.GI.Base.BasicTypes.GObject GI.Vte.Objects.Terminal.Terminal
instance Data.GI.Base.Overloading.HasParentTypes GI.Vte.Objects.Terminal.Terminal
instance Data.GI.Base.GValue.IsGValue (GHC.Maybe.Maybe GI.Vte.Objects.Terminal.Terminal)

module GI.Vte.Objects

module GI.Vte
