-- 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.30


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

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


module GI.Vte.Constants

-- | <i>No description available in the introspection data.</i>
pattern TEST_FLAGS_NONE :: Word64

-- | <i>No description available in the introspection data.</i>
pattern TEST_FLAGS_ALL :: Word64

-- | Use this as a spawn flag (together with flags from <a>SpawnFlags</a>)
--   in <a>ptySpawnAsync</a>.
--   
--   Requires <a>ptySpawnAsync</a> 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.
--   
--   <i>Since: 0.60</i>
pattern SPAWN_REQUIRE_SYSTEMD_SCOPE :: Int32

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

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

-- | <i>No description available in the introspection data.</i>
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.
--   
--   <i>Since: 0.68</i>
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 "@<i><tt>7</tt></i>" 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.
--   
--   <i>Since: 0.50</i>
data Format

-- | Export as plain text
FormatText :: Format

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

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

-- | <i>No description available in the introspection data.</i>
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 <a>PtyError</a>. This is a specialized
--   version of <a>catchGErrorJustDomain</a>.
catchPtyError :: IO a -> (PtyError -> GErrorMessage -> IO a) -> IO a

-- | Handle exceptions of type <a>PtyError</a>. This is a specialized
--   version of <a>handleGErrorJustDomain</a>.
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.
--   
--   <i>Since: 0.46</i>
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 <a>RegexError</a>. This is a specialized
--   version of <a>catchGErrorJustDomain</a>.
catchRegexError :: IO a -> (RegexError -> GErrorMessage -> IO a) -> IO a

-- | Handle exceptions of type <a>RegexError</a>. This is a specialized
--   version of <a>handleGErrorJustDomain</a>.
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.
--   
--   <i>Since: 0.52</i>
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.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.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.
--   
--   <i>Since: 0.62</i>
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

-- | <i>No description available in the introspection data.</i>
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 <a>ptyChildSetup</a>. 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
--   <a>ptyChildSetup</a>. 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
instance GHC.Classes.Eq GI.Vte.Flags.PtyFlags
instance GHC.Show.Show GI.Vte.Flags.PtyFlags
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.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


module GI.Vte.Functions

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

-- | <i>Deprecated: (Since version 0.60)</i>
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
--   <a>Nothing</a> to <a>terminalSetEncoding</a>.
--   
--   <i>Since: 0.60</i>

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

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

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

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

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

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

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


-- | <i>No description available in the introspection data.</i>
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 <a>Pty</a>, for
--   instance with <a>toPty</a>.
class (GObject o, IsDescendantOf Pty o) => IsPty o

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

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

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

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

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

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

-- | Creates a new <a>Pty</a> for the PTY master <i><tt>fd</tt></i>.
--   
--   No entry will be made in the lastlog, utmp or wtmp system files.
--   
--   Note that the newly created <a>Pty</a> will take ownership of
--   <i><tt>fd</tt></i> 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 <tt><i>fork()</i></tt> or the <a>spawnAsync</a>
--   family of functions to start a process on the PTY.
--   
--   If using <tt><i>fork()</i></tt>, you MUST call <a>ptyChildSetup</a> in
--   the child.
--   
--   If using <a>spawnAsync</a> and friends, you MUST either use
--   <a>ptyChildSetup</a> directly as the child setup function, or call
--   <a>ptyChildSetup</a> from your own child setup function supplied.
--   
--   When using <a>terminalSpawnSync</a> with a custom child setup
--   function, <a>ptyChildSetup</a> will be called before the supplied
--   function; you must not call it again.
--   
--   Also, you MUST pass the <a>SpawnFlagsDoNotReapChild</a> flag.
--   
--   Note also that <a>SpawnFlagsStdoutToDevNull</a>,
--   <a>SpawnFlagsStderrToDevNull</a>, and
--   <a>SpawnFlagsChildInheritsStdin</a> 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 <a>ptySetSize</a> 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 &lt;literal&gt;SIGWINCH&lt;/literal&gt;
--   signal. You should prefer using <a>terminalPtyNewSync</a> 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 &lt;literal&gt;SIGWINCH&lt;/literal&gt; to the
--   child process group.
--   
--   If setting the window size failed, <i><tt>error</tt></i> will be set
--   to a <a>IOError</a>.
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 <a>ptySpawnWithFdsAsync</a>, except that this function does not
--   allow passing file descriptors to the child process. See
--   <a>ptySpawnWithFdsAsync</a> for more information.
--   
--   <i>Since: 0.48</i>
ptySpawnAsync :: (HasCallStack, MonadIO m, IsPty a, IsCancellable b) => a -> Maybe Text -> [[Char]] -> Maybe [[Char]] -> [SpawnFlags] -> Maybe SpawnChildSetupFunc -> Int32 -> Maybe b -> Maybe AsyncReadyCallback -> m ()

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

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

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

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

-- | Get the value of the “<tt>flags</tt>” property. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> pty #flags
--   </pre>
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)


-- | <i>No description available in the introspection data.</i>
module GI.Vte.Structs.CharAttributes

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

-- | Construct a <a>CharAttributes</a> 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


-- | <i>No description available in the introspection data.</i>
module GI.Vte.Structs.Regex

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

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

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

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

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

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

-- | Decreases the reference count of <i><tt>regex</tt></i> by one, and
--   frees <i><tt>regex</tt></i> 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)


module GI.Vte.Structs


-- | <i>No description available in the introspection data.</i>
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 <a>Terminal</a>, for
--   instance with <a>toTerminal</a>.
class (GObject o, IsDescendantOf Terminal o) => IsTerminal o

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

-- | Places the selected text in the terminal in the
--   <tt><i>GDK_SELECTION_CLIPBOARD</i></tt> selection.

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

-- | Places the selected text in the terminal in the
--   <tt><i>GDK_SELECTION_CLIPBOARD</i></tt> selection in the form
--   specified by <i><tt>format</tt></i>.
--   
--   For all formats, the selection data (see <a>SelectionData</a>) will
--   include the text targets (see <a>targetListAddTextTargets</a> and
--   <tt><i>gtk_selection_data_targets_includes_text()</i></tt>). For
--   <a>FormatHtml</a>, 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.
--   
--   <i>Since: 0.50</i>
terminalCopyClipboardFormat :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Format -> m ()

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

-- | Interprets <i><tt>data</tt></i> 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.

-- | <i>Deprecated: (Since version 0.60)Don't send binary data. Use
--   <a>terminalFeedChild</a> instead to send UTF-8 text</i>
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.

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

-- | Checks whether or not hyperlinks (OSC 8 escape sequence) are allowed.
--   
--   <i>Since: 0.50</i>
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.
--   
--   <i>Since: 0.52</i>
terminalGetBoldIsBright :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

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

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

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

-- | <i>No description available in the introspection data.</i>
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
--   <a>terminalSetEncoding</a>, 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 <i><tt>terminal</tt></i>
--   when drawing the background, which may be different from the color set
--   by <a>terminalSetColorBackground</a>.
--   
--   Note: you must only call this function while handling the
--   GtkWidget[draw](#g:signal:draw) signal.
--   
--   This function is rarely useful. One use for it is if you disable
--   drawing the background (see <a>terminalSetClearBackground</a>) and
--   then need to draw the background yourself.
--   
--   <i>Since: 0.54</i>
terminalGetColorBackgroundForDraw :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m RGBA

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

-- | <i>No description available in the introspection data.</i>
terminalGetCurrentDirectoryUri :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m (Maybe Text)

-- | <i>No description available in the introspection data.</i>
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 performs bidirectional text rendering.
--   
--   <i>Since: 0.58</i>
terminalGetEnableBidi :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

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

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

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.62</i>
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 <a>Nothing</a> if UTF-8 is in use.

-- | <i>Deprecated: (Since version 0.54)Support for non-UTF-8 is
--   deprecated.</i>
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

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

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

-- | <i>Deprecated: (Since version 0.52)</i>
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
--   <a>Clipboard</a> items.
terminalGetHasSelection :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

-- | <i>No description available in the introspection data.</i>

-- | <i>Deprecated: (Since version 0.54)</i>
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 <a>terminalSetMouseAutohide</a>.
terminalGetMouseAutohide :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

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

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

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

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

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

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

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

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

-- | Extracts a view of the visible part of the terminal. If
--   <i><tt>isSelected</tt></i> is not <a>Nothing</a>, characters will only
--   be read if <i><tt>isSelected</tt></i> returns <a>True</a> after being
--   passed the column and row, respectively. A <a>CharAttributes</a>
--   structure is added to <i><tt>attributes</tt></i> for each byte added
--   to the returned string detailing the character's position, colors, and
--   other characteristics.
--   
--   This method is unaware of BiDi. The columns returned in
--   <i><tt>attributes</tt></i> are logical columns.
--   
--   Note: since 0.68, passing a non-<a>Nothing</a> <i><tt>array</tt></i>
--   parameter is deprecated. Starting with 0.72, passing a
--   non-<a>Nothing</a> <i><tt>array</tt></i> parameter will make this
--   function itself return <a>Nothing</a>.
terminalGetText :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Maybe SelectionFunc -> m (Maybe Text, Maybe [CharAttributes])

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

-- | Extracts a view of the visible part of the terminal. If
--   <i><tt>isSelected</tt></i> is not <a>Nothing</a>, characters will only
--   be read if <i><tt>isSelected</tt></i> returns <a>True</a> after being
--   passed the column and row, respectively. A <a>CharAttributes</a>
--   structure is added to <i><tt>attributes</tt></i> for each byte added
--   to the returned string detailing the character's position, colors, and
--   other characteristics.
--   
--   This method is unaware of BiDi. The columns returned in
--   <i><tt>attributes</tt></i> are logical columns.
--   
--   Note: since 0.68, passing a non-<a>Nothing</a> <i><tt>array</tt></i>
--   parameter is deprecated. Starting with 0.72, passing a
--   non-<a>Nothing</a> <i><tt>array</tt></i> parameter will make this
--   function itself return <a>Nothing</a>.

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

-- | Extracts a view of the visible part of the terminal. If
--   <i><tt>isSelected</tt></i> is not <a>Nothing</a>, characters will only
--   be read if <i><tt>isSelected</tt></i> returns <a>True</a> after being
--   passed the column and row, respectively. A <a>CharAttributes</a>
--   structure is added to <i><tt>attributes</tt></i> for each byte added
--   to the returned string detailing the character's position, colors, and
--   other characteristics. 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
--   <i><tt>startCol</tt></i> and <i><tt>endRow</tt></i>, and returned in
--   <i><tt>attributes</tt></i> are logical columns.
--   
--   Note: since 0.68, passing a non-<a>Nothing</a> <i><tt>array</tt></i>
--   parameter is deprecated. Starting with 0.72, passing a
--   non-<a>Nothing</a> <i><tt>array</tt></i> parameter will make this
--   function itself return <a>Nothing</a>.
terminalGetTextRange :: (HasCallStack, MonadIO m, IsTerminal a) => a -> CLong -> CLong -> CLong -> CLong -> Maybe SelectionFunc -> m (Maybe Text, Maybe [CharAttributes])

-- | Gets the currently selected text in the format specified by
--   <i><tt>format</tt></i>. Note that currently, only <a>FormatText</a> is
--   supported.
--   
--   <i>Since: 0.70</i>
terminalGetTextSelected :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Format -> m (Maybe Text)

-- | <i>No description available in the introspection data.</i>
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 <a>Nothing</a>, a built-in set is used.
--   
--   <i>Since: 0.40</i>
terminalGetWordCharExceptions :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m (Maybe Text)

-- | Returns a nonempty string: the target of the explicit hyperlink
--   (printed using the OSC 8 escape sequence) at the position of the
--   event, or <a>Nothing</a>.
--   
--   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.
--   
--   <i>Since: 0.50</i>
terminalHyperlinkCheckEvent :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Event -> m (Maybe Text)

-- | This function does nothing since version 0.60.

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

-- | Adds the regular expression <i><tt>regex</tt></i> 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 <i><tt>regex</tt></i> should have been created using the
--   &lt;literal&gt;PCRE2_MULTILINE&lt;/literal&gt; flag.
--   
--   <i>Since: 0.46</i>
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
--   <tt><i>vte_terminal_match_add()</i></tt>. If a match exists, the text
--   string is returned and if <i><tt>tag</tt></i> is not <a>Nothing</a>,
--   the number associated with the matched regular expression will be
--   stored in <i><tt>tag</tt></i>.
--   
--   If more than one regular expression has been set with
--   <tt><i>vte_terminal_match_add()</i></tt>, then expressions are checked
--   in the order in which they were added.

-- | <i>Deprecated: (Since version 0.46)Use <a>terminalMatchCheckEvent</a>
--   instead.</i>
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
--   <tt><i>vte_terminal_match_add()</i></tt>. If a match exists, the text
--   string is returned and if <i><tt>tag</tt></i> is not <a>Nothing</a>,
--   the number associated with the matched regular expression will be
--   stored in <i><tt>tag</tt></i>.
--   
--   If more than one regular expression has been set with
--   <tt><i>vte_terminal_match_add()</i></tt>, 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
--   <i><tt>tag</tt></i> 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 <i><tt>tag</tt></i>. The terminal keeps a
--   reference to <i><tt>cursor</tt></i>.

-- | <i>Deprecated: (Since version 0.40)Use
--   <a>terminalMatchSetCursorName</a> instead.</i>
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 <i><tt>tag</tt></i>.
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 <i><tt>tag</tt></i>.

-- | <i>Deprecated: (Since version 0.54)Use
--   <a>terminalMatchSetCursorName</a> instead.</i>
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 <tt><i>GDK_SELECTION_CLIPBOARD</i></tt>
--   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 <tt><i>GDK_SELECTION_PRIMARY</i></tt>
--   selection to the terminal's child. The terminal will call also paste
--   the <tt><i>GDK_SELECTION_PRIMARY</i></tt> selection when the user
--   clicks with the the second mouse button.
terminalPastePrimary :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m ()

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

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

-- | 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
--   <a>terminalSearchSetRegex</a>.
terminalSearchFindNext :: (HasCallStack, MonadIO m, IsTerminal a) => a -> m Bool

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

-- | <i>No description available in the introspection data.</i>

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

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

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

-- | This function does nothing since version 0.60.

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

-- | Sets the regex to search for. Unsets the search regex when passed
--   <a>Nothing</a>.
--   
--   Note that <i><tt>regex</tt></i> should have been created using the
--   &lt;literal&gt;PCRE2_MULTILINE&lt;/literal&gt; flag.
--   
--   <i>Since: 0.46</i>
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.

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

-- | Controls whether or not hyperlinks (OSC 8 escape sequence) are
--   allowed.
--   
--   <i>Since: 0.50</i>
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.
--   
--   <i>Since: 0.52</i>
terminalSetBoldIsBright :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | Sets the terminal's cell height scale to <i><tt>scale</tt></i>.
--   
--   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").
--   
--   <i>Since: 0.52</i>
terminalSetCellHeightScale :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Double -> m ()

-- | Sets the terminal's cell width scale to <i><tt>scale</tt></i>.
--   
--   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.
--   
--   <i>Since: 0.52</i>
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
--   <a>terminalSetEncoding</a>, 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 <a>True</a>.
--   
--   This function is rarely useful. One use for it is to add a background
--   image to the terminal.
--   
--   <i>Since: 0.52</i>
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 <i><tt>bold</tt></i> is <a>Nothing</a> 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
--   <a>Nothing</a>, 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
--   <a>Nothing</a>, text under the cursor will be drawn with foreground
--   and background colors reversed.
--   
--   <i>Since: 0.44</i>
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
--   <a>Nothing</a>, 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
--   <a>Nothing</a>, 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 ()

-- | <i><tt>palette</tt></i> 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.
--   
--   <i><tt>paletteSize</tt></i> must be 0, 8, 16, 232 or 256.
--   
--   If <i><tt>foreground</tt></i> is <a>Nothing</a> and
--   <i><tt>paletteSize</tt></i> is greater than 0, the new foreground
--   color is taken from <i><tt>palette</tt></i>[7]. If
--   <i><tt>background</tt></i> is <a>Nothing</a> and
--   <i><tt>paletteSize</tt></i> is greater than 0, the new background
--   color is taken from <i><tt>palette</tt></i>[0].
terminalSetColors :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Maybe RGBA -> Maybe RGBA -> Maybe [RGBA] -> m ()

-- | Sets whether or not the cursor will blink. Using
--   <a>CursorBlinkModeSystem</a> will use the
--   <a>Settings</a>::<tt><i>gtk-cursor-blink</i></tt> 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 perform bidirectional text
--   rendering.
--   
--   <i>Since: 0.58</i>
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
--   <a>ScrolledWindow</a>, to perform kinetic scrolling (while vte itself
--   does not, yet, implement kinetic scrolling by itself).
--   
--   <i>Since: 0.64</i>
terminalSetEnableFallbackScrolling :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

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

-- | Set whether to enable SIXEL images.
--   
--   <i>Since: 0.62</i>
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 <i><tt>codeset</tt></i> is
--   <a>Nothing</a>, 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.

-- | <i>Deprecated: (Since version 0.54)Support for non-UTF-8 is
--   deprecated.</i>
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 <a>widgetModifyFont</a>. 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 scale to <i><tt>scale</tt></i>.
terminalSetFontScale :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Double -> m ()

-- | Sets <i><tt>terminal</tt></i> as <i><tt>window</tt></i>'s geometry
--   widget. See <a>windowSetGeometryHints</a> for more information.
--   
--   <i><tt>terminal</tt></i> must be realized (see
--   <a>widgetGetRealized</a>).

-- | <i>Deprecated: (Since version 0.52)</i>
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 <a>terminalGetMouseAutohide</a>.
terminalSetMouseAutohide :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Bool -> m ()

-- | Sets <i><tt>pty</tt></i> as the PTY to use in
--   <i><tt>terminal</tt></i>. Use <a>Nothing</a> 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.

-- | <i>Deprecated: (Since version 0.58)</i>
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 the user presses a key. Modifier
--   keys do not trigger this behavior.
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.
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
--   <a>ScrolledWindow</a>.
--   
--   <i>Since: 0.66</i>
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".
--   
--   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 ()

-- | Controls whether or not the terminal will allow blinking text.
--   
--   <i>Since: 0.52</i>
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 <i><tt>exceptions</tt></i> must be non-alphanumeric,
--   each character must occur only once, and if <i><tt>exceptions</tt></i>
--   contains the character U+002D HYPHEN-MINUS, it must be at the start of
--   the string.
--   
--   Use <a>Nothing</a> to reset the set of exception characters to the
--   default.
--   
--   <i>Since: 0.40</i>
terminalSetWordCharExceptions :: (HasCallStack, MonadIO m, IsTerminal a) => a -> Text -> m ()

-- | A convenience function that wraps creating the <a>Pty</a> and spawning
--   the child process on it. Like <a>terminalSpawnWithFdsAsync</a>, except
--   that this function does not allow passing file descriptors to the
--   child process. See <a>terminalSpawnWithFdsAsync</a> for more
--   information.
--   
--   <i>Since: 0.48</i>
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 <i><tt>argv</tt></i> and <i><tt>envv</tt></i>
--   lists should be <a>Nothing</a>-terminated. The "TERM" environment
--   variable is automatically set to a default value, but can be
--   overridden from <i><tt>envv</tt></i>. <i><tt>ptyFlags</tt></i>
--   controls logging the session to the specified system log files.
--   
--   Note that <a>SpawnFlagsDoNotReapChild</a> will always be added to
--   <i><tt>spawnFlags</tt></i>.
--   
--   Note also that <a>SpawnFlagsStdoutToDevNull</a>,
--   <a>SpawnFlagsStderrToDevNull</a>, and
--   <a>SpawnFlagsChildInheritsStdin</a> are not supported in
--   <i><tt>spawnFlags</tt></i>, 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 <tt><i>vte_pty_new()</i></tt>, <a>spawnAsync</a> and
--   <a>terminalWatchChild</a> for more information.
--   
--   Beginning with 0.52, sets PWD to <i><tt>workingDirectory</tt></i> in
--   order to preserve symlink components. The caller should also make sure
--   that symlinks were preserved while constructing the value of
--   <i><tt>workingDirectory</tt></i>, e.g. by using
--   <a>terminalGetCurrentDirectoryUri</a>, <a>getCurrentDir</a> or
--   <tt><i>get_current_dir_name()</i></tt>.

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

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

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

-- | Write contents of the current contents of <i><tt>terminal</tt></i>
--   (including any scrollback history) to <i><tt>stream</tt></i> according
--   to <i><tt>flags</tt></i>.
--   
--   If <i><tt>cancellable</tt></i> is not <a>Nothing</a>, then the
--   operation can be cancelled by triggering the cancellable object from
--   another thread. If the operation was cancelled, the error
--   <a>IOErrorEnumCancelled</a> will be returned in <i><tt>error</tt></i>.
--   
--   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 <i><tt>stream</tt></i>
--   availability for writing.
terminalWriteContentsSync :: (HasCallStack, MonadIO m, IsTerminal a, IsOutputStream b, IsCancellable c) => a -> b -> WriteFlags -> Maybe c -> m ()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-- | Connect a signal handler for the <a>bell</a> signal, to be run before
--   the default handler. When <a>overloading</a> is enabled, this is
--   equivalent to
--   
--   <pre>
--   <a>on</a> terminal #bell callback
--   </pre>
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 = Word32 " /@width@/: the new character cell width" -> Word32 " /@height@/: the new character cell height" -> IO ()

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

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

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

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

-- | Connect a signal handler for the <a>childExited</a> signal, to be run
--   before the default handler. When <a>overloading</a> is enabled, this
--   is equivalent to
--   
--   <pre>
--   <a>on</a> terminal #childExited callback
--   </pre>
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 " /@text@/: a string of text" -> Word32 " /@size@/: the length of that string of text" -> IO ()

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

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

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

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

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

-- | Emitted whenever <a>terminalCopyClipboard</a> is called.
type TerminalCopyClipboardCallback = IO ()

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

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

-- | Emitted when the current directory URI is modified.
type TerminalCurrentDirectoryUriChangedCallback = IO ()

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

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

-- | Emitted when the current file URI is modified.
type TerminalCurrentFileUriChangedCallback = IO ()

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

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

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

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

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

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

-- | Never emitted.

-- | <i>Deprecated: (Since version 0.60)</i>
type TerminalDeiconifyWindowCallback = IO ()

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

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

-- | Connect a signal handler for the <a>encodingChanged</a> signal, to be
--   run before the default handler. When <a>overloading</a> is enabled,
--   this is equivalent to
--   
--   <pre>
--   <a>on</a> terminal #encodingChanged callback
--   </pre>
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 <a>Terminal::childExited</a> signal.
type TerminalEofCallback = IO ()

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

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

-- | Emitted when the hovered hyperlink changes.
--   
--   <i><tt>uri</tt></i> and <i><tt>bbox</tt></i> 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.
--   
--   <i>Since: 0.50</i>
type TerminalHyperlinkHoverUriChangedCallback = Text " /@uri@/: the nonempty target URI under the mouse, or NULL" -> Rectangle " /@bbox@/: the bounding box of the hyperlink anchor text, or NULL" -> IO ()

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

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

-- | <i>No description available in the introspection data.</i>

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

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

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

-- | Never emitted.

-- | <i>Deprecated: (Since version 0.60)</i>
type TerminalIconifyWindowCallback = IO ()

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

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

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

-- | Never emitted.

-- | <i>Deprecated: (Since version 0.60)</i>
type TerminalLowerWindowCallback = IO ()

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

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

-- | Never emitted.

-- | <i>Deprecated: (Since version 0.60)</i>
type TerminalMaximizeWindowCallback = IO ()

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

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

-- | Never emitted.

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

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

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

-- | Emitted whenever <a>terminalPasteClipboard</a> is called.
type TerminalPasteClipboardCallback = IO ()

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

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

-- | Never emitted.

-- | <i>Deprecated: (Since version 0.60)</i>
type TerminalRaiseWindowCallback = IO ()

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

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

-- | Never emitted.

-- | <i>Deprecated: (Since version 0.60)</i>
type TerminalRefreshWindowCallback = IO ()

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

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

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

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

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

-- | Never emitted.

-- | <i>Deprecated: (Since version 0.60)</i>
type TerminalRestoreWindowCallback = IO ()

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

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

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

-- | <i>No description available in the introspection data.</i>

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

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

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

-- | <i>No description available in the introspection data.</i>

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

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

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

-- | <i>No description available in the introspection data.</i>

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

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

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

-- | <i>No description available in the introspection data.</i>

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

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

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

-- | Emitted when the <a>Terminal:windowTitle</a> property is modified.
type TerminalWindowTitleChangedCallback = IO ()

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

-- | Connect a signal handler for the <a>windowTitleChanged</a> signal, to
--   be run before the default handler. When <a>overloading</a> is enabled,
--   this is equivalent to
--   
--   <pre>
--   <a>on</a> terminal #windowTitleChanged callback
--   </pre>
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.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.
type SelectionFunc = Terminal " /@terminal@/: terminal in which the cell is." -> CLong " /@column@/: column in which the cell is." -> CLong " /@row@/: row in which the cell is." -> IO Bool " __Returns:__ 'P.True' if cell has to be selected; 'P.False' if otherwise."

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

-- | 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 <a>GClosure</a>.
genClosure_SelectionFunc :: MonadIO m => SelectionFunc -> m (GClosure C_SelectionFunc)

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

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>SelectionFunc</a></tt>.
noSelectionFunc :: Maybe SelectionFunc

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>SelectionFunc_WithClosures</a></tt>.
noSelectionFunc_WithClosures :: Maybe SelectionFunc_WithClosures

-- | Wrap a <a>SelectionFunc</a> into a <a>C_SelectionFunc</a>.
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 <a>terminalSpawnAsync</a>.
--   
--   On success, <i><tt>pid</tt></i> contains the PID of the spawned
--   process, and <i><tt>error</tt></i> is <a>Nothing</a>. On failure,
--   <i><tt>pid</tt></i> is -1 and <i><tt>error</tt></i> contains the error
--   information.
--   
--   <i>Since: 0.48</i>
type TerminalSpawnAsyncCallback = Terminal " /@terminal@/: the t'GI.Vte.Objects.Terminal.Terminal'" -> Int32 " /@pid@/: a @/GPid/@" -> GError " /@error@/: a t'GError', or 'P.Nothing'" -> IO ()

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

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

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

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>TerminalSpawnAsyncCallback</a></tt>.
noTerminalSpawnAsyncCallback :: Maybe TerminalSpawnAsyncCallback

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>TerminalSpawnAsyncCallback_WithClosures</a></tt>.
noTerminalSpawnAsyncCallback_WithClosures :: Maybe TerminalSpawnAsyncCallback_WithClosures

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


module GI.Vte.Objects


module GI.Vte
