Macro to check the library version at compile time.
It returns %1 if the version of VTE is greater or
equal to the required one, and %0 otherwise.
required major version
required minor version
required micro version
An enumerated type which can be used to indicate the cursor blink mode
for the terminal.
Follow GTK+ settings for cursor blinking.
Cursor blinks.
Cursor does not blink.
An enumerated type which can be used to indicate what should the terminal
draw at the cursor position.
Draw a block cursor. This is the default.
Draw a vertical bar on the left side of character.
This is similar to the default cursor for other GTK+ widgets.
Draw a horizontal bar below the character.
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.
For backspace, attempt to determine the right value from the terminal's IO settings. For delete, use the control sequence.
Send an ASCII backspace character (0x08).
Send an ASCII delete character (0x7F).
Send the "@@7" control sequence.
Send terminal's "erase" setting.
An enumeratio type that can be used to specify the format the selection
should be copied to the clipboard in.
Export as plain text
Export as HTML formatted text
The major version number of the VTE library
(e.g. in version 3.1.4 this is 3).
The micro version number of the VTE library
(e.g. in version 3.1.4 this is 4).
The minor version number of the VTE library
(e.g. in version 3.1.4 this is 1).
Creates a new #VtePty for the PTY master @fd.
No entry will be made in the lastlog, utmp or wtmp system files.
Note that the newly created #VtePty will take ownership of @fd
and close it on finalize.
a new #VtePty for @fd, or %NULL on error with @error filled in
a file descriptor to the PTY
a #GCancellable, or %NULL
Allocates a new pseudo-terminal.
You can later use fork() or the g_spawn_async() family of functions
to start a process on the PTY.
If using fork(), you MUST call vte_pty_child_setup() in the child.
If using g_spawn_async() and friends, you MUST either use
vte_pty_child_setup() directly as the child setup function, or call
vte_pty_child_setup() from your own child setup function supplied.
When using vte_terminal_spawn_sync() with a custom child setup
function, vte_pty_child_setup() will be called before the supplied
function; you must not call it again.
Also, you MUST pass the %G_SPAWN_DO_NOT_REAP_CHILD flag.
a new #VtePty, or %NULL on error with @error filled in
flags from #VtePtyFlags
a #GCancellable, or %NULL
FIXMEchpe
a #VtePty
Since 0.42 this is a no-op.
a #VtePty
the file descriptor of the PTY master in @pty. The
file descriptor belongs to @pty and must not be closed of have
its flags changed
a #VtePty
Reads the pseudo terminal's window size.
If getting the window size failed, @error will be set to a #GIOError.
%TRUE on success, %FALSE on failure with @error filled in
a #VtePty
a location to store the number of rows, or %NULL
a location to store the number of columns, or %NULL
Attempts to resize the pseudo terminal's window size. If successful, the
OS kernel will send #SIGWINCH to the child process group.
If setting the window size failed, @error will be set to a #GIOError.
%TRUE on success, %FALSE on failure with @error filled in
a #VtePty
the desired number of rows
the desired number of columns
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.
%TRUE on success, %FALSE on failure with @error filled in
a #VtePty
whether or not the pty is in UTF-8 mode
Starts the specified command under the pseudo-terminal @pty.
The @argv and @envv lists should be %NULL-terminated.
The "TERM" environment variable is automatically set to a default value,
but can be overridden from @envv.
@pty_flags controls logging the session to the specified system log files.
Note that %G_SPAWN_DO_NOT_REAP_CHILD will always be added to @spawn_flags.
Note that all open file descriptors will be closed in the child. If you want
to keep some file descriptor open for use in the child process, you need to
use a child setup function that unsets the FD_CLOEXEC flag on that file
descriptor.
See vte_pty_new(), g_spawn_async() and vte_terminal_watch_child() for more information.
a #VtePty
the name of a directory the command should start
in, or %NULL to use the current working directory
child's argument vector
a list of environment
variables to be added to the environment before starting the process, or %NULL
flags from #GSpawnFlags
an extra child setup function to run in the child just before exec(), or %NULL
user data for @child_setup, or %NULL
a #GDestroyNotify for @child_setup_data, or %NULL
a timeout value in ms, or -1 to wait indefinitely
a #GCancellable, or %NULL
%TRUE on success, or %FALSE on error with @error filled in
a #VtePty
a #GAsyncResult
a location to store the child PID, or %NULL
The file descriptor of the PTY master.
Flags.
Obsolete. Deprecated: 0.42
failure when using PTY98 to allocate the PTY
Error domain for VTE PTY errors. Errors in this domain will be from the #VtePtyError
enumeration. See #GError for more information on error domains.
the error domain for VTE PTY errors
Unused. Deprecated: 0.38
Unused. Deprecated: 0.38
Unused. Deprecated: 0.38
Unused. Deprecated: 0.38
Unused. Deprecated: 0.38
Do not start a new session for the child in
vte_pty_child_setup(). See man:setsid(2) for more information. Since: 0.58
Do not set the PTY as the controlling TTY for the child
in vte_pty_child_setup(). See man:tty_ioctl(4) for more information. Since: 0.58
the default flags
An enum type for regex errors. In addition to the values listed above,
any PCRE2 error values may occur.
The PCRE2 library was built without
Unicode support which is required for VTE
Regexes are not supported because VTE was
built without PCRE2 support
Specifies the type of a selection function used to check whether
a cell has to be selected or not.
%TRUE if cell has to be selected; %FALSE if otherwise.
terminal in which the cell is.
column in which the cell is.
row in which the cell is.
user data.
Creates a new terminal widget.
a new #VteTerminal object
Places the selected text in the terminal in the #GDK_SELECTION_CLIPBOARD
selection.
Use vte_terminal_copy_clipboard_format() with %VTE_FORMAT_TEXT
instead.
a #VteTerminal
Sends the contents of the #GDK_SELECTION_CLIPBOARD selection to the
terminal's child. It's called on paste menu item, or when
user presses Shift+Insert.
a #VteTerminal
Places the selected text in the terminal in the #GDK_SELECTION_CLIPBOARD
selection.
Use vte_terminal_copy_clipboard_format() with %VTE_FORMAT_TEXT
instead.
a #VteTerminal
Places the selected text in the terminal in the #GDK_SELECTION_CLIPBOARD
selection in the form specified by @format.
For all formats, the selection data (see #GtkSelectionData) will include the
text targets (see gtk_target_list_add_text_targets() and
gtk_selection_data_targets_includes_text()). For %VTE_FORMAT_HTML,
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.
a #VteTerminal
a #VteFormat
Places the selected text in the terminal in the #GDK_SELECTION_PRIMARY
selection.
a #VteTerminal
This function does nothing.
Use vte_terminal_event_check_regex_simple() instead.
%FALSE
a #VteTerminal
a #GdkEvent
an array of #GRegex
number of items in @regexes
the #GRegexMatchFlags to use when matching the regexes
a location to store the matches
Checks each regex in @regexes if the text in and around the position of
the event matches the regular expressions. If a match exists, the matched
text is stored in @matches at the position of the regex in @regexes; otherwise
%NULL is stored there.
%TRUE iff any of the regexes produced a match
a #VteTerminal
a #GdkEvent
an array of #VteRegex
number of items in @regexes
PCRE2 match flags, or 0
a location to store the matches
Interprets @data as if it were data received from a child process. This
can either be used to drive the terminal without a child process, or just
to mess with your users.
a #VteTerminal
a string in the terminal's current encoding
the length of the string, or -1 to use the full length or a nul-terminated string
Sends a block of UTF-8 text to the child as if it were entered by the user
at the keyboard.
a #VteTerminal
data to send to the child
length of @text in bytes, or -1 if @text is NUL-terminated
Sends a block of binary data to the child.
a #VteTerminal
data to send to the child
length of @data
Checks whether or not the terminal will attempt to draw bold text,
either by using a bold font variant or by repainting text with a different
offset.
%TRUE if bolding is enabled, %FALSE if not
a #VteTerminal
Checks whether or not hyperlinks (OSC 8 escape sequence) are allowed.
%TRUE if hyperlinks are enabled, %FALSE if not
a #VteTerminal
Checks whether or not the terminal will beep when the child outputs the
"bl" sequence.
%TRUE if audible bell is enabled, %FALSE if not
a #VteTerminal
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.
%TRUE if bold also enables bright, %FALSE if not
a #VteTerminal
the terminal's cell height scale
a #VteTerminal
the terminal's cell width scale
a #VteTerminal
the height of a character cell
Note that this method should rather be called vte_terminal_get_cell_height,
because the return value takes cell-height-scale into account.
a #VteTerminal
the width of a character cell
Note that this method should rather be called vte_terminal_get_cell_width,
because the return value takes cell-width-scale into account.
a #VteTerminal
Returns whether ambiguous-width characters are narrow or wide.
(Note that when using a non-UTF-8 encoding set via vte_terminal_set_encoding(),
the width of ambiguous-width characters is fixed and determined by the encoding
itself.)
1 if ambiguous-width characters are narrow, or 2 if they are wide
a #VteTerminal
Returns the background colour, as used by @terminal when
drawing the background, which may be different from
the color set by vte_terminal_set_color_background().
Note: you must only call this function while handling the
GtkWidget::draw signal.
This function is rarely useful. One use for it is if you disable
drawing the background (see vte_terminal_set_clear_background())
and then need to draw the background yourself.
a #VteTerminal
a location to store a #GdbRGBA color
the number of columns
a #VteTerminal
the URI of the current directory of the
process running in the terminal, or %NULL
a #VteTerminal
the URI of the current file the
process running in the terminal is operating on, or %NULL if
not set
a #VteTerminal
Returns the currently set cursor blink mode.
cursor blink mode.
a #VteTerminal
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.
a #VteTerminal
a location to store the column, or %NULL
a location to store the row, or %NULL
Returns the currently set cursor shape.
cursor shape.
a #VteTerminal
Checks whether the terminal performs bidirectional text rendering.
%TRUE if BiDi is enabled, %FALSE if not
a #VteTerminal
Checks whether the terminal shapes Arabic text.
%TRUE if Arabic shaping is enabled, %FALSE if not
a #VteTerminal
Determines the name of the encoding in which the terminal expects data to be
encoded, or %NULL if UTF-8 is in use.
Support for non-UTF-8 is deprecated.
the current encoding for the terminal
a #VteTerminal
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.
a #PangoFontDescription describing the font the
terminal uses to render text at the default font scale of 1.0.
a #VteTerminal
the terminal's font scale
a #VteTerminal
Fills in some @hints from @terminal's geometry. The hints
filled are those covered by the %GDK_HINT_RESIZE_INC,
%GDK_HINT_MIN_SIZE and %GDK_HINT_BASE_SIZE flags.
See gtk_window_set_geometry_hints() for more information.
@terminal must be realized (see gtk_widget_get_realized()).
a #VteTerminal
a #GdkGeometry to fill in
the minimum number of rows to request
the minimum number of columns to request
Checks if the terminal currently contains selected text. Note that this
is different from determining if the terminal is the owner of any
#GtkClipboard items.
%TRUE if part of the text in the terminal is selected.
a #VteTerminal
%NULL
a #VteTerminal
Returns whether the terminal allow user input.
a #VteTerminal
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 vte_terminal_set_mouse_autohide().
%TRUE if autohiding is enabled, %FALSE if not
a #VteTerminal
Returns the #VtePty of @terminal.
a #VtePty, or %NULL
a #VteTerminal
Checks whether or not the terminal will rewrap its contents upon resize.
%TRUE if rewrapping is enabled, %FALSE if not
a #VteTerminal
the number of rows
a #VteTerminal
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.
a #VteTerminal
whether or not the terminal will forcibly scroll to the bottom of
the viewable history when the new data is received from the child.
a #VteTerminal
length of the scrollback buffer used by the terminal.
A negative value means "infinite scrollback".
a #VteTerminal
Extracts a view of the visible part of the terminal. If @is_selected is not
%NULL, characters will only be read if @is_selected returns %TRUE after being
passed the column and row, respectively. A #VteCharAttributes structure
is added to @attributes 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 @attributes are
logical columns.
a newly allocated text string, or %NULL.
a #VteTerminal
a #VteSelectionFunc callback
user data to be passed to the callback
location for storing text attributes
Checks whether or not the terminal will allow blinking text.
the blinking setting
a #VteTerminal
Extracts a view of the visible part of the terminal. If @is_selected is not
%NULL, characters will only be read if @is_selected returns %TRUE after being
passed the column and row, respectively. A #VteCharAttributes structure
is added to @attributes 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 @attributes are
logical columns.
Use vte_terminal_get_text() instead.
a newly allocated text string, or %NULL.
a #VteTerminal
a #VteSelectionFunc callback
user data to be passed to the callback
location for storing text attributes
Extracts a view of the visible part of the terminal. If @is_selected is not
%NULL, characters will only be read if @is_selected returns %TRUE after being
passed the column and row, respectively. A #VteCharAttributes structure
is added to @attributes 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 @start_col and @end_row,
and returned in @attributes are logical columns.
a newly allocated text string, or %NULL.
a #VteTerminal
first row to search for data
first column to search for data
last row to search for data
last column to search for data
a #VteSelectionFunc callback
user data to be passed to the callback
location for storing text attributes
the window title, or %NULL
a #VteTerminal
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 %NULL, a built-in set is used.
a string, or %NULL
a #VteTerminal
Returns a nonempty string: the target of the explicit hyperlink (printed using the OSC 8
escape sequence) at the position of the event, or %NULL.
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.
a newly allocated string containing the target of the hyperlink
a #VteTerminal
a #GdkEvent
Adds the regular expression @regex to the list of matching expressions. When the
user moves the mouse cursor over a section of displayed text which matches
this expression, the text will be highlighted.
Use vte_terminal_match_add_regex() or vte_terminal_match_add_regex_full() instead.
an integer associated with this expression, or -1 if @gregex could not be
transformed into a #VteRegex or @gflags were incompatible
a #VteTerminal
a #GRegex
the #GRegexMatchFlags to use when matching the regex
Adds the regular expression @regex to the list of matching expressions. When the
user moves the mouse cursor over a section of displayed text which matches
this expression, the text will be highlighted.
an integer associated with this expression
a #VteTerminal
a #VteRegex
PCRE2 match flags, or 0
Checks if the text in and around the specified position matches any of the
regular expressions previously set using vte_terminal_match_add(). If a
match exists, the text string is returned and if @tag is not %NULL, the number
associated with the matched regular expression will be stored in @tag.
If more than one regular expression has been set with
vte_terminal_match_add(), then expressions are checked in the order in
which they were added.
Use vte_terminal_match_check_event() instead.
a newly allocated string which matches one of the previously
set regular expressions
a #VteTerminal
the text column
the text row
a location to store the tag, or %NULL
Checks if the text in and around the position of the event matches any of the
regular expressions previously set using vte_terminal_match_add(). If a
match exists, the text string is returned and if @tag is not %NULL, the number
associated with the matched regular expression will be stored in @tag.
If more than one regular expression has been set with
vte_terminal_match_add(), then expressions are checked in the order in
which they were added.
a newly allocated string which matches one of the previously
set regular expressions
a #VteTerminal
a #GdkEvent
a location to store the tag, or %NULL
Removes the regular expression which is associated with the given @tag from
the list of expressions which the terminal will highlight when the user
moves the mouse cursor over matching text.
a #VteTerminal
the tag of the regex to remove
Clears the list of regular expressions the terminal uses to highlight text
when the user moves the mouse cursor.
a #VteTerminal
Sets which cursor the terminal will use if the pointer is over the pattern
specified by @tag. The terminal keeps a reference to @cursor.
Use vte_terminal_match_set_cursor_name() instead.
a #VteTerminal
the tag of the regex which should use the specified cursor
the #GdkCursor which the terminal should use when the pattern is
highlighted, or %NULL to use the standard cursor
Sets which cursor the terminal will use if the pointer is over the pattern
specified by @tag.
a #VteTerminal
the tag of the regex which should use the specified cursor
the name of the cursor
Sets which cursor the terminal will use if the pointer is over the pattern
specified by @tag.
Use vte_terminal_match_set_cursor_name() instead.
a #VteTerminal
the tag of the regex which should use the specified cursor
a #GdkCursorType
Sends the contents of the #GDK_SELECTION_CLIPBOARD selection to the
terminal's child. It's called on paste menu item, or when
user presses Shift+Insert.
a #VteTerminal
Sends the contents of the #GDK_SELECTION_PRIMARY selection to the terminal's
child. The terminal will call also paste the
#GDK_SELECTION_PRIMARY selection when the user clicks with the the second
mouse button.
a #VteTerminal
Creates a new #VtePty, and sets the emulation property
from #VteTerminal:emulation.
See vte_pty_new() for more information.
a new #VtePty
a #VteTerminal
flags from #VtePtyFlags
a #GCancellable, or %NULL
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.
a #VteTerminal
whether to reset tabstops
whether to empty the terminal's scrollback buffer
Searches the next string matching the search regex set with
vte_terminal_search_set_regex().
%TRUE if a match was found
a #VteTerminal
Searches the previous string matching the search regex set with
vte_terminal_search_set_regex().
%TRUE if a match was found
a #VteTerminal
use vte_terminal_search_get_regex() instead.
%NULL
a #VteTerminal
the search #VteRegex regex set in @terminal, or %NULL
a #VteTerminal
whether searching will wrap around
a #VteTerminal
Sets the #GRegex regex to search for. Unsets the search regex when passed %NULL.
use vte_terminal_search_set_regex() instead.
a #VteTerminal
a #GRegex, or %NULL
flags from #GRegexMatchFlags
Sets the regex to search for. Unsets the search regex when passed %NULL.
a #VteTerminal
a #VteRegex, or %NULL
PCRE2 match flags, or 0
Sets whether search should wrap around to the beginning of the
terminal content when reaching its end.
a #VteTerminal
whether search should wrap
Selects all text within the terminal (including the scrollback buffer).
a #VteTerminal
Controls whether or not the terminal will attempt to draw bold text,
either by using a bold font variant or by repainting text with a different
offset.
a #VteTerminal
%TRUE if the terminal should attempt to draw bold text
Controls whether or not hyperlinks (OSC 8 escape sequence) are allowed.
a #VteTerminal
%TRUE if the terminal should allow hyperlinks
Controls whether or not the terminal will beep when the child outputs the
"bl" sequence.
a #VteTerminal
%TRUE if the terminal should beep
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.
a #VteTerminal
a #VteEraseBinding for the backspace key
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.
a #VteTerminal
%TRUE if bold should also enable bright
Sets the terminal's cell height scale to @scale.
This can be used to increase the line spacing. (The font's height is not affected.)
Valid values go from 1.0 (default) to 2.0 ("double spacing").
a #VteTerminal
the cell height scale
Sets the terminal's cell width scale to @scale.
This can be used to increase the letter spacing. (The font's width is not affected.)
Valid values go from 1.0 (default) to 2.0.
a #VteTerminal
the cell width scale
This setting controls whether ambiguous-width characters are narrow or wide.
(Note that when using a non-UTF-8 encoding set via vte_terminal_set_encoding(),
the width of ambiguous-width characters is fixed and determined by the encoding
itself.)
a #VteTerminal
either 1 (narrow) or 2 (wide)
Sets whether to paint the background with the background colour.
The default is %TRUE.
This function is rarely useful. One use for it is to add a background
image to the terminal.
a #VteTerminal
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.
a #VteTerminal
the new background color
Sets the color used to draw bold text in the default foreground color.
If @bold is %NULL then the default color is used.
a #VteTerminal
the new bold color or %NULL
Sets the background color for text which is under the cursor. If %NULL, text
under the cursor will be drawn with foreground and background colors
reversed.
a #VteTerminal
the new color to use for the text cursor, or %NULL
Sets the foreground color for text which is under the cursor. If %NULL, text
under the cursor will be drawn with foreground and background colors
reversed.
a #VteTerminal
the new color to use for the text cursor, or %NULL
Sets the foreground color used to draw normal text.
a #VteTerminal
the new foreground color
Sets the background color for text which is highlighted. If %NULL,
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.
a #VteTerminal
the new color to use for highlighted text, or %NULL
Sets the foreground color for text which is highlighted. If %NULL,
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.
a #VteTerminal
the new color to use for highlighted text, or %NULL
@palette specifies the new values for the 256 palette colors: 8 standard colors,
their 8 bright counterparts, 6x6x6 color cube, and 24 grayscale colors.
Omitted entries will default to a hardcoded value.
@palette_size must be 0, 8, 16, 232 or 256.
If @foreground is %NULL and @palette_size is greater than 0, the new foreground
color is taken from @palette[7]. If @background is %NULL and @palette_size is
greater than 0, the new background color is taken from @palette[0].
a #VteTerminal
the new foreground color, or %NULL
the new background color, or %NULL
the color palette
the number of entries in @palette
Sets whether or not the cursor will blink. Using %VTE_CURSOR_BLINK_SYSTEM
will use the #GtkSettings::gtk-cursor-blink setting.
a #VteTerminal
the #VteCursorBlinkMode to use
Sets the shape of the cursor drawn.
a #VteTerminal
the #VteCursorShape to use
Reset the terminal palette to reasonable compiled-in default color.
a #VteTerminal
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.
a #VteTerminal
a #VteEraseBinding for the delete key
Controls whether or not the terminal will perform bidirectional text rendering.
a #VteTerminal
%TRUE to enable BiDi support
Controls whether or not the terminal will shape Arabic text.
a #VteTerminal
%TRUE to enable Arabic shaping
Changes the encoding the terminal will expect data from the child to
be encoded with. For certain terminal types, applications executing in the
terminal can change the encoding. If @codeset is %NULL, 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.
Support for non-UTF-8 is deprecated.
%TRUE if the encoding could be changed to the specified one,
or %FALSE with @error set to %G_CONVERT_ERROR_NO_CONVERSION.
a #VteTerminal
a valid #GIConv target, or %NULL to use UTF-8
Sets the font used for rendering all text displayed by the terminal,
overriding any fonts set using gtk_widget_modify_font(). 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.
a #VteTerminal
a #PangoFontDescription for the desired font, or %NULL
Sets the terminal's font scale to @scale.
a #VteTerminal
the font scale
Sets @terminal as @window's geometry widget. See
gtk_window_set_geometry_hints() for more information.
@terminal must be realized (see gtk_widget_get_realized()).
a #VteTerminal
a #GtkWindow
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.
a #VteTerminal
whether to enable user input
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
vte_terminal_get_mouse_autohide().
a #VteTerminal
whether the mouse pointer should autohide
Sets @pty as the PTY to use in @terminal.
Use %NULL to unset the PTY.
a #VteTerminal
a #VtePty, or %NULL
Controls whether or not the terminal will rewrap its contents, including
the scrollback history, whenever the terminal's width changes.
a #VteTerminal
%TRUE if the terminal should rewrap on resize
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.
a #VteTerminal
whether the terminal should scroll on keystrokes
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.
a #VteTerminal
whether the terminal should scroll on output
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.
a #VteTerminal
the length of the history buffer
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.
a #VteTerminal
the desired number of columns
the desired number of rows
Controls whether or not the terminal will allow blinking text.
a #VteTerminal
the #VteTextBlinkMode to use
With this function you can provide a set of characters which will
be considered parts of a word when doing word-wise selection, in
addition to the default which only considers alphanumeric characters
part of a word.
The characters in @exceptions must be non-alphanumeric, each character
must occur only once, and if @exceptions contains the character
U+002D HYPHEN-MINUS, it must be at the start of the string.
Use %NULL to reset the set of exception characters to the default.
a #VteTerminal
a string of ASCII punctuation characters, or %NULL
A convenience function that wraps creating the #VtePty and spawning
the child process on it. See vte_pty_new_sync(), vte_pty_spawn_async(),
and vte_pty_spawn_finish() for more information.
When the operation is finished successfully, @callback will be called
with the child #GPid, and a %NULL #GError. The child PID will already be
watched via vte_terminal_watch_child().
When the operation fails, @callback will be called with a -1 #GPid,
and a non-%NULL #GError containing the error information.
Note that if @terminal has been destroyed before the operation is called,
@callback will be called with a %NULL @terminal; you must not do anything
in the callback besides freeing any resources associated with @user_data,
but taking care not to access the now-destroyed #VteTerminal. Note that
in this case, if spawning was successful, the child process will be aborted
automatically.
Beginning with 0.52, sets PWD to @working_directory in order to preserve symlink components.
The caller should also make sure that symlinks were preserved while constructing the value of @working_directory,
e.g. by using vte_terminal_get_current_directory_uri(), g_get_current_dir() or get_current_dir_name().
a #VteTerminal
flags from #VtePtyFlags
the name of a directory the command should start
in, or %NULL to use the current working directory
child's argument vector
a list of environment
variables to be added to the environment before starting the process, or %NULL
flags from #GSpawnFlags
an extra child setup function to run in the child just before exec(), or %NULL
user data for @child_setup, or %NULL
a #GDestroyNotify for @child_setup_data, or %NULL
a timeout value in ms, or -1 to wait indefinitely
a #GCancellable, or %NULL
a #VteTerminalSpawnAsyncCallback, or %NULL
user data for @callback, or %NULL
Starts the specified command under a newly-allocated controlling
pseudo-terminal. The @argv and @envv lists should be %NULL-terminated.
The "TERM" environment variable is automatically set to a default value,
but can be overridden from @envv.
@pty_flags controls logging the session to the specified system log files.
Note that %G_SPAWN_DO_NOT_REAP_CHILD will always be added to @spawn_flags.
Note that all open file descriptors will be closed in the child. If you want
to keep some file descriptor open for use in the child process, you need to
use a child setup function that unsets the FD_CLOEXEC flag on that file
descriptor.
See vte_pty_new(), g_spawn_async() and vte_terminal_watch_child() for more information.
Beginning with 0.52, sets PWD to @working_directory in order to preserve symlink components.
The caller should also make sure that symlinks were preserved while constructing the value of @working_directory,
e.g. by using vte_terminal_get_current_directory_uri(), g_get_current_dir() or get_current_dir_name().
Use vte_terminal_spawn_async() instead.
%TRUE on success, or %FALSE on error with @error filled in
a #VteTerminal
flags from #VtePtyFlags
the name of a directory the command should start
in, or %NULL to use the current working directory
child's argument vector
a list of environment
variables to be added to the environment before starting the process, or %NULL
flags from #GSpawnFlags
an extra child setup function to run in the child just before exec(), or %NULL
user data for @child_setup
a location to store the child PID, or %NULL
a #GCancellable, or %NULL
Clears the current selection.
a #VteTerminal
Watches @child_pid. When the process exists, the #VteTerminal::child-exited
signal will be called with the child's exit status.
Prior to calling this function, a #VtePty must have been set in @terminal
using vte_terminal_set_pty().
When the child exits, the terminal's #VtePty will be set to %NULL.
Note: g_child_watch_add() or g_child_watch_add_full() must not have
been called for @child_pid, nor a #GSource for it been created with
g_child_watch_source_new().
Note: when using the g_spawn_async() family of functions,
the %G_SPAWN_DO_NOT_REAP_CHILD flag MUST have been passed.
a #VteTerminal
a #GPid
Write contents of the current contents of @terminal (including any
scrollback history) to @stream according to @flags.
If @cancellable is not %NULL, then the operation can be cancelled by triggering
the cancellable object from another thread. If the operation was cancelled,
the error %G_IO_ERROR_CANCELLED will be returned in @error.
This is a synchronous operation and will make the widget (and input
processing) during the write operation, which may take a long time
depending on scrollback history and @stream availability for writing.
%TRUE on success, %FALSE if there was an error
a #VteTerminal
a #GOutputStream to write to
a set of #VteWriteFlags
a #GCancellable object, or %NULL
Controls whether or not the terminal will attempt to draw bold text.
This may happen either by using a bold font variant, or by
repainting text with a different offset.
Controls whether or not hyperlinks (OSC 8 escape sequence) are recognized and displayed.
Controls whether or not the terminal will beep when the child outputs the
"bl" sequence.
Controls what string or control sequence the terminal sends to its child
when the user presses the backspace key.
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.
Scale factor for the cell height, to increase line spacing. (The font's height is not affected.)
Scale factor for the cell width, to increase letter spacing. (The font's width is not affected.)
This setting controls whether ambiguous-width characters are narrow or wide.
(Note that when using a non-UTF-8 encoding set via vte_terminal_set_encoding(),
the width of ambiguous-width characters is fixed and determined by the encoding
itself.)
This setting only takes effect the next time the terminal is reset, either
via escape sequence or with vte_terminal_reset().
The current directory URI, or %NULL if unset.
The current file URI, or %NULL if unset.
Sets whether or not the cursor will blink. Using %VTE_CURSOR_BLINK_SYSTEM
will use the #GtkSettings::gtk-cursor-blink setting.
Controls the shape of the cursor.
Controls what string or control sequence the terminal sends to its child
when the user presses the delete key.
Controls whether or not the terminal will perform bidirectional text rendering.
Controls whether or not the terminal will shape Arabic text.
Controls the encoding the terminal will expect data from the child to
be encoded with. For certain terminal types, applications executing in the
terminal can change the encoding. The default is defined by the
application's locale settings.
Instead of using this, you should use a tool like
luit(1) when support for non-UTF-8 is required
Specifies the font used for rendering all text displayed by the terminal,
overriding any fonts set using gtk_widget_modify_font(). 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 terminal's font scale.
The currently hovered hyperlink URI, or %NULL if unset.
This property is always %NULL.
Controls whether the terminal allows user input. When user input is disabled,
key press and mouse button press and motion events are not sent to the
terminal's child.
Controls the value of the terminal's mouse autohide setting. When autohiding
is enabled, the mouse cursor will be hidden when the user presses a key and
shown when the user moves the mouse.
The PTY object for the terminal.
Controls whether or not the terminal will rewrap its contents, including
the scrollback buffer, whenever the terminal's width changes.
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.
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.
The length of the scrollback buffer used by the terminal. The size of
the scrollback buffer will be set to the larger of this value and the number
of visible rows the widget can display, so 0 can safely be used to disable
scrollback. Note that this setting only affects the normal screen buffer.
For terminal types which have an alternate screen buffer, no scrollback is
allowed on the alternate screen buffer.
Controls whether or not the terminal will allow blinking text.
The terminal's title.
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 %NULL, a built-in set is used.
This signal is emitted when the a child sends a bell request to the
terminal.
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".
the new character cell width
the new character cell height
This signal is emitted when the terminal detects that a child
watched using vte_terminal_watch_child() has exited.
the child's exit status
Emitted whenever the terminal receives input from the user and
prepares to send it to the child process. The signal is emitted even
when there is no child process.
a string of text
the length of that string of text
Emitted whenever the visible appearance of the terminal has changed.
Used primarily by #VteTerminalAccessible.
Emitted whenever vte_terminal_copy_clipboard() is called.
Emitted when the current directory URI is modified.
Emitted when the current file URI is modified.
Emitted whenever the cursor moves to a new character cell. Used
primarily by #VteTerminalAccessible.
Emitted when the user hits the '-' key while holding the Control key.
Emitted at the child application's request.
Emitted whenever the terminal's current encoding has changed.
Note: support for non-UTF-8 is deprecated.
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 #VteTerminal::child-exited signal.
Emitted when the hovered hyperlink changes.
@uri and @bbox are owned by VTE, must not be modified, and might
change after the signal handlers returns.
The signal is not re-emitted when the bounding box changes for the
same hyperlink. This might change in a future VTE version without notice.
the nonempty target URI under the mouse, or NULL
the bounding box of the hyperlink anchor text, or NULL
This signal is never emitted.
Emitted at the child application's request.
Emitted when the user hits the '+' key while holding the Control key.
Emitted at the child application's request.
Emitted at the child application's request.
Emitted at the child application's request.
the terminal's desired location, X coordinate
the terminal's desired location, Y coordinate
Emitted whenever vte_terminal_paste_clipboard() is called.
Emitted at the child application's request.
Emitted at the child application's request.
Emitted at the child application's request.
the desired number of columns
the desired number of rows
Emitted at the child application's request.
Emitted whenever the contents of terminal's selection changes.
An internal signal used for communication between the terminal and
its accessibility peer. May not be emitted under certain
circumstances.
An internal signal used for communication between the terminal and
its accessibility peer. May not be emitted under certain
circumstances.
An internal signal used for communication between the terminal and
its accessibility peer. May not be emitted under certain
circumstances.
An internal signal used for communication between the terminal and
its accessibility peer. May not be emitted under certain
circumstances.
the number of lines scrolled
Emitted when the terminal's %window_title field is modified.
All of these fields should be considered read-only, except for derived classes.
a #VteTerminal
a #VteTerminal
Callback for vte_terminal_spawn_async().
On success, @pid contains the PID of the spawned process, and @error
is %NULL.
On failure, @pid is -1 and @error contains the error information.
the #VteTerminal
a #GPid
a #GError, or %NULL
user data that was passed to vte_terminal_spawn_async
An enumerated type which can be used to indicate whether the terminal allows
the text contents to be blinked.
Do not blink the text.
Allow blinking text only if the terminal is focused.
Allow blinking text only if the terminal is unfocused.
Allow blinking text. This is the default.
A flag type to determine how terminal contents should be written
to an output stream.
Write contents as UTF-8 text. This is the default.
Gets a list of features vte was compiled with.
a string with features
Returns the major version of the VTE library at runtime.
Contrast this with %VTE_MAJOR_VERSION which represents
the version of the VTE library that the code was compiled
with.
the major version
Returns the micro version of the VTE library at runtime.
Contrast this with %VTE_MICRO_VERSION which represents
the version of the VTE library that the code was compiled
with.
the micro version
Returns the minor version of the VTE library at runtime.
Contrast this with %VTE_MINOR_VERSION which represents
the version of the VTE library that the code was compiled
with.
the minor version
Gets the user's shell, or %NULL. In the latter case, the
system default (usually "/bin/sh") should be used.
a newly allocated string with the
user's shell, or %NULL
Error domain for VTE PTY errors. Errors in this domain will be from the #VtePtyError
enumeration. See #GError for more information on error domains.
the error domain for VTE PTY errors
Sets test flags. This function is only useful for implementing
unit tests for vte itself; it is a no-op in non-debug builds.
flags