VteTerminal

## VteTerminal VteTerminal — A terminal widget implementation |

## Functions

gboolean | (*VteSelectionFunc) ()
GtkWidget * | vte_terminal_new ()
void | vte_terminal_feed ()
void | vte_terminal_feed_child ()
void | vte_terminal_feed_child_binary ()
int | vte_terminal_get_child_exit_status ()
void | vte_terminal_select_all ()
void | vte_terminal_select_none ()
void | vte_terminal_copy_clipboard ()
void | vte_terminal_paste_clipboard ()
void | vte_terminal_copy_primary ()
void | vte_terminal_paste_primary ()
void | vte_terminal_set_size ()
void | vte_terminal_set_audible_bell ()
gboolean | vte_terminal_get_audible_bell ()
void | vte_terminal_set_visible_bell ()
gboolean | vte_terminal_get_visible_bell ()
void | vte_terminal_set_allow_bold ()
gboolean | vte_terminal_get_allow_bold ()
void | vte_terminal_set_scroll_on_output ()
void | vte_terminal_set_scroll_on_keystroke ()
void | vte_terminal_set_rewrap_on_resize ()
gboolean | vte_terminal_get_rewrap_on_resize ()
void | vte_terminal_set_color_bold ()
void | vte_terminal_set_color_bold_rgba ()
void | vte_terminal_set_color_foreground ()
void | vte_terminal_set_color_foreground_rgba ()
void | vte_terminal_set_color_background ()
void | vte_terminal_set_color_background_rgba ()
void | vte_terminal_set_color_dim ()
void | vte_terminal_set_color_dim_rgba ()
void | vte_terminal_set_color_cursor ()
void | vte_terminal_set_color_cursor_rgba ()
void | vte_terminal_set_color_highlight ()
void | vte_terminal_set_color_highlight_rgba ()
void | vte_terminal_set_color_highlight_foreground ()
void | vte_terminal_set_color_highlight_foreground_rgba ()
void | vte_terminal_set_colors ()
void | vte_terminal_set_colors_rgba ()
void | vte_terminal_set_default_colors ()
void | vte_terminal_set_cursor_shape ()
VteTerminalCursorShape | vte_terminal_get_cursor_shape ()
void | vte_terminal_set_cursor_blinks ()
VteTerminalCursorBlinkMode | vte_terminal_get_cursor_blink_mode ()
void | vte_terminal_set_cursor_blink_mode ()
void | vte_terminal_set_scrollback_lines ()
void | vte_terminal_set_font ()
void | vte_terminal_set_font_from_string ()
void | vte_terminal_set_font_from_string_full ()
void | vte_terminal_set_font_full ()
const PangoFontDescription * | vte_terminal_get_font ()
gboolean | vte_terminal_get_using_xft ()
gboolean | vte_terminal_get_has_selection ()
void | vte_terminal_set_word_chars ()
gboolean | vte_terminal_is_word_char ()
void | vte_terminal_set_backspace_binding ()
void | vte_terminal_set_delete_binding ()
void | vte_terminal_set_mouse_autohide ()
gboolean | vte_terminal_get_mouse_autohide ()
void | vte_terminal_reset ()
char * | vte_terminal_get_text ()
char * | vte_terminal_get_text_include_trailing_spaces ()
char * | vte_terminal_get_text_range ()
void | vte_terminal_get_cursor_position ()
void | vte_terminal_match_clear_all ()
int | vte_terminal_match_add ()
int | vte_terminal_match_add_gregex ()
void | vte_terminal_match_remove ()
char * | vte_terminal_match_check ()
void | vte_terminal_match_set_cursor ()
void | vte_terminal_match_set_cursor_type ()
void | vte_terminal_match_set_cursor_name ()
void | vte_terminal_set_emulation ()
const char * | vte_terminal_get_emulation ()
const char * | vte_terminal_get_default_emulation ()
void | vte_terminal_set_encoding ()
const char * | vte_terminal_get_encoding ()
const char * | vte_terminal_get_status_line ()
void | vte_terminal_get_padding ()
gboolean | vte_terminal_write_contents ()
gboolean | vte_terminal_search_find_next ()
gboolean | vte_terminal_search_find_previous ()
GRegex * | vte_terminal_search_get_gregex ()
gboolean | vte_terminal_search_get_wrap_around ()
void | vte_terminal_search_set_gregex ()
void | vte_terminal_search_set_wrap_around ()
char * | vte_get_user_shell ()
pid_t | vte_terminal_fork_command ()
gboolean | vte_terminal_fork_command_full ()
pid_t | vte_terminal_forkpty ()
int | vte_terminal_get_pty ()
VtePty * | vte_terminal_get_pty_object ()
VtePty * | vte_terminal_pty_new ()
void | vte_terminal_set_pty ()
void | vte_terminal_set_pty_object ()
void | vte_terminal_watch_child ()
GtkAdjustment * | vte_terminal_get_adjustment ()
glong | vte_terminal_get_char_ascent ()
glong | vte_terminal_get_char_descent ()
glong | vte_terminal_get_char_height ()
glong | vte_terminal_get_char_width ()
glong | vte_terminal_get_column_count ()
const char * | vte_terminal_get_icon_title ()
glong | vte_terminal_get_row_count ()
const char * | vte_terminal_get_window_title ()
const char * | vte_terminal_get_current_directory_uri ()
const char * | vte_terminal_get_current_file_uri ()
void | vte_terminal_im_append_menuitems ()
void | vte_terminal_set_opacity ()
void | vte_terminal_set_background_image ()
void | vte_terminal_set_background_image_file ()
void | vte_terminal_set_background_saturation ()
void | vte_terminal_set_background_transparent ()
void | vte_terminal_set_background_tint_color ()
void | vte_terminal_set_scroll_background ()

## Properties

gboolean | allow-bold | Read / Write
gboolean | audible-bell | Read / Write
gchar * | background-image-file | Read / Write
GdkPixbuf * | background-image-pixbuf | Read / Write
gdouble | background-opacity | Read / Write
gdouble | background-saturation | Read / Write
GdkColor * | background-tint-color | Read / Write
gboolean | background-transparent | Read / Write
VteTerminalEraseBinding | backspace-binding | Read / Write
gchar * | current-directory-uri | Read
gchar * | current-file-uri | Read
VteTerminalCursorBlinkMode | cursor-blink-mode | Read / Write
VteTerminalCursorShape | cursor-shape | Read / Write
VteTerminalEraseBinding | delete-binding | Read / Write
gchar * | emulation | Read / Write
gchar * | encoding | Read / Write
PangoFontDescription * | font-desc | Read / Write
gchar * | icon-title | Read
gboolean | pointer-autohide | Read / Write
gint | pty | Read / Write
VtePty * | pty-object | Read / Write
gboolean | rewrap-on-resize | Read / Write
gboolean | scroll-background | Read / Write
gboolean | scroll-on-keystroke | Read / Write
gboolean | scroll-on-output | Read / Write
guint | scrollback-lines | Read / Write
gboolean | visible-bell | Read / Write
gchar * | window-title | Read
gchar * | word-chars | Read / Write

## Style Properties

GtkBorder * | inner-border | Read

## Signals

void | beep | Run Last
void | char-size-changed | Run Last
void | child-exited | Run Last
void | commit | Run Last
void | contents-changed | Run Last
void | copy-clipboard | Action
void | current-directory-uri-changed | Run Last
void | current-file-uri-changed | Run Last
void | cursor-moved | Run Last
void | decrease-font-size | Run Last
void | deiconify-window | Run Last
void | emulation-changed | Run Last
void | encoding-changed | Run Last
void | eof | Run Last
void | icon-title-changed | Run Last
void | iconify-window | Run Last
void | increase-font-size | Run Last
void | lower-window | Run Last
void | maximize-window | Run Last
void | move-window | Run Last
void | paste-clipboard | Action
void | raise-window | Run Last
void | refresh-window | Run Last
void | resize-window | Run Last
void | restore-window | Run Last
void | selection-changed | Run Last
void | status-line-changed | Run Last
void | text-deleted | Run Last
void | text-inserted | Run Last
void | text-modified | Run Last
void | text-scrolled | Run Last
void | window-title-changed | Run Last

## Types and Values

struct | VteTerminal
enum | VteTerminalAntiAlias
enum | VteTerminalCursorBlinkMode
enum | VteTerminalCursorShape
enum | VteTerminalEraseBinding
enum | VteTerminalWriteFlags

## Object Hierarchy

        GEnum
        ├── VteTerminalAntiAlias
        ├── VteTerminalCursorBlinkMode
        ├── VteTerminalCursorShape
        ├── VteTerminalEraseBinding
        ╰── VteTerminalWriteFlags
        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── VteTerminal

## Implemented Interfaces

VteTerminal implements AtkImplementorIface, GtkBuildable and GtkScrollable.

## Description

A VteTerminal is a terminal emulator implemented as a GTK3 widget.

## Functions

### VteSelectionFunc ()

    gboolean
    (*VteSelectionFunc) (VteTerminal *terminal,
                         glong column,
                         glong row,
                         gpointer data);

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

#### Parameters

terminal | terminal in which the cell is. |
column | column in which the cell is. |
row | row in which the cell is. |
data | user data. | [closure]

#### Returns

`TRUE` if cell has to be selected; `FALSE` if otherwise.

### vte_terminal_new ()

    GtkWidget *
    vte_terminal_new (void);

Creates a new terminal widget.

#### Returns

a new VteTerminal object.

[transfer none][type Vte.Terminal]

### vte_terminal_feed ()

    void
    vte_terminal_feed (VteTerminal *terminal,
                       const char *data,
                       glong length);

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.

#### Parameters

terminal | a VteTerminal |
data | a string in the terminal's current encoding. | [array length=length][element-type guint8]
length | the length of the string |

### vte_terminal_feed_child ()

    void
    vte_terminal_feed_child (VteTerminal *terminal,
                             const char *text,
                             glong length);

Sends a block of UTF-8 text to the child as if it were entered by the user at the keyboard.

#### Parameters

terminal | a VteTerminal |
text | data to send to the child |
length | length of `text` in bytes, or -1 if `text` is NUL-terminated |

### vte_terminal_feed_child_binary ()

    void
    vte_terminal_feed_child_binary (VteTerminal *terminal,
                                    const char *data,
                                    glong length);

Sends a block of binary data to the child.

#### Parameters

terminal | a VteTerminal |
data | data to send to the child |
length | length of `data` |

Since 0.12.1

### vte_terminal_get_child_exit_status ()

    int
    vte_terminal_get_child_exit_status (VteTerminal *terminal);

Gets the exit status of the command started by `vte_terminal_fork_command()`. See your C library's documentation for more details on how to interpret the exit status.

Note that this function may only be called from the signal handler of the “child-exited” signal.

#### Parameters

terminal | a VteTerminal |

#### Returns

the child's exit status

Since 0.20

### vte_terminal_select_all ()

    void
    vte_terminal_select_all (VteTerminal *terminal);

Selects all text within the terminal (including the scrollback buffer).

#### Parameters

terminal | a VteTerminal |

Since 0.16

### vte_terminal_select_none ()

    void
    vte_terminal_select_none (VteTerminal *terminal);

Clears the current selection.

#### Parameters

terminal | a VteTerminal |

Since 0.16

### vte_terminal_copy_clipboard ()

    void
    vte_terminal_copy_clipboard (VteTerminal *terminal);

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

#### Parameters

terminal | a VteTerminal |

### vte_terminal_paste_clipboard ()

    void
    vte_terminal_paste_clipboard (VteTerminal *terminal);

Sends the contents of the GDK_SELECTION_CLIPBOARD selection to the terminal's child. If necessary, the data is converted from UTF-8 to the terminal's current encoding. It's called on paste menu item, or when user presses Shift+Insert.

#### Parameters

terminal | a VteTerminal |

### vte_terminal_copy_primary ()

    void
    vte_terminal_copy_primary (VteTerminal *terminal);

Places the selected text in the terminal in the GDK_SELECTION_PRIMARY selection.

#### Parameters

terminal | a VteTerminal |

### vte_terminal_paste_primary ()

    void
    vte_terminal_paste_primary (VteTerminal *terminal);

Sends the contents of the GDK_SELECTION_PRIMARY selection to the terminal's child. If necessary, the data is converted from UTF-8 to the terminal's current encoding. The terminal will call also paste the GDK_SELECTION_PRIMARY selection when the user clicks with the the second mouse button.

#### Parameters

terminal | a VteTerminal |

### vte_terminal_set_size ()

    void
    vte_terminal_set_size (VteTerminal *terminal,
                           glong columns,
                           glong rows);

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.

#### Parameters

terminal | a VteTerminal |
columns | the desired number of columns |
rows | the desired number of rows |

### vte_terminal_set_audible_bell ()

    void
    vte_terminal_set_audible_bell (VteTerminal *terminal,
                                   gboolean is_audible);

Controls whether or not the terminal will beep when the child outputs the "bl" sequence.

#### Parameters

terminal | a VteTerminal |
is_audible | `TRUE` if the terminal should beep |

### vte_terminal_get_audible_bell ()

    gboolean
    vte_terminal_get_audible_bell (VteTerminal *terminal);

Checks whether or not the terminal will beep when the child outputs the "bl" sequence.

#### Parameters

terminal | a VteTerminal |

#### Returns

`TRUE` if audible bell is enabled, `FALSE` if not

### vte_terminal_set_visible_bell ()

    void
    vte_terminal_set_visible_bell (VteTerminal *terminal,
                                   gboolean is_visible);

Controls whether or not the terminal will present a visible bell to the user when the child outputs the "bl" sequence. The terminal will clear itself to the default foreground color and then repaint itself.

#### Parameters

terminal | a VteTerminal |
is_visible | whether the terminal should flash on bell |

### vte_terminal_get_visible_bell ()

    gboolean
    vte_terminal_get_visible_bell (VteTerminal *terminal);

Checks whether or not the terminal will present a visible bell to the user when the child outputs the "bl" sequence. The terminal will clear itself to the default foreground color and then repaint itself.

#### Parameters

terminal | a VteTerminal |

#### Returns

`TRUE` if visible bell is enabled, `FALSE` if not

### vte_terminal_set_allow_bold ()

    void
    vte_terminal_set_allow_bold (VteTerminal *terminal,
                                 gboolean allow_bold);

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.

#### Parameters

terminal | a VteTerminal |
allow_bold | `TRUE` if the terminal should attempt to draw bold text |

### vte_terminal_get_allow_bold ()

    gboolean
    vte_terminal_get_allow_bold (VteTerminal *terminal);

Checks whether or not the terminal will attempt to draw bold text by repainting text with a one-pixel offset.

#### Parameters

terminal | a VteTerminal |

#### Returns

`TRUE` if bolding is enabled, `FALSE` if not

### vte_terminal_set_scroll_on_output ()

    void
    vte_terminal_set_scroll_on_output (VteTerminal *terminal,
                                       gboolean scroll);

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.

#### Parameters

terminal | a VteTerminal |
scroll | whether the terminal should scroll on output |

### vte_terminal_set_scroll_on_keystroke ()

    void
    vte_terminal_set_scroll_on_keystroke (VteTerminal *terminal,
                                          gboolean scroll);

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.

#### Parameters

terminal | a VteTerminal |
scroll | whether the terminal should scroll on keystrokes |

### vte_terminal_set_rewrap_on_resize ()

    void
    vte_terminal_set_rewrap_on_resize (VteTerminal *terminal,
                                       gboolean rewrap);

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

#### Parameters

terminal | a VteTerminal |
rewrap | `TRUE` if the terminal should rewrap on resize |

Since 0.36

### vte_terminal_get_rewrap_on_resize ()

    gboolean
    vte_terminal_get_rewrap_on_resize (VteTerminal *terminal);

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

#### Parameters

terminal | a VteTerminal |

#### Returns

`TRUE` if rewrapping is enabled, `FALSE` if not

Since 0.36

### vte_terminal_set_color_bold ()

    void
    vte_terminal_set_color_bold (VteTerminal *terminal,
                                 const GdkColor *bold);

Sets the color used to draw bold text in the default foreground color.

#### Parameters

terminal | a VteTerminal |
bold | the new bold color |

### vte_terminal_set_color_bold_rgba ()

    void
    vte_terminal_set_color_bold_rgba (VteTerminal *terminal,
                                      const GdkRGBA *bold);

Sets the color used to draw bold text in the default foreground color. If `bold` is `NULL` then the default color is used.

#### Parameters

terminal | a VteTerminal |
bold | the new bold color or `NULL`. | [allow-none]

### vte_terminal_set_color_foreground ()

    void
    vte_terminal_set_color_foreground (VteTerminal *terminal,
                                       const GdkColor *foreground);

Sets the foreground color used to draw normal text

#### Parameters

terminal | a VteTerminal |
foreground | the new foreground color |

### vte_terminal_set_color_foreground_rgba ()

    void
    vte_terminal_set_color_foreground_rgba
                                   (VteTerminal *terminal,
                                    const GdkRGBA *foreground);

Sets the foreground color used to draw normal text.

#### Parameters

terminal | a VteTerminal |
foreground | the new foreground color |

Since 0.28

### vte_terminal_set_color_background ()

    void
    vte_terminal_set_color_background (VteTerminal *terminal,
                                       const GdkColor *background);

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.

#### Parameters

terminal | a VteTerminal |
background | the new background color |

### vte_terminal_set_color_background_rgba ()

    void
    vte_terminal_set_color_background_rgba
                                   (VteTerminal *terminal,
                                    const GdkRGBA *background);

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.

#### Parameters

terminal | a VteTerminal |
background | the new background color |

Since 0.28

### vte_terminal_set_color_dim ()

    void
    vte_terminal_set_color_dim (VteTerminal *terminal,
                                const GdkColor *dim);

Sets the color used to draw dim text in the default foreground color.

#### Parameters

terminal | a VteTerminal |
dim | the new dim color |

### vte_terminal_set_color_dim_rgba ()

    void
    vte_terminal_set_color_dim_rgba (VteTerminal *terminal,
                                     const GdkRGBA *dim);

Sets the color used to draw dim text in the default foreground color. If `dim` is `NULL` then the default color is used.

#### Parameters

terminal | a VteTerminal |
dim | the new dim color or `NULL`. | [allow-none]

Since 0.28

### vte_terminal_set_color_cursor ()

    void
    vte_terminal_set_color_cursor (VteTerminal *terminal,
                                   const GdkColor *cursor_background);

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.

#### Parameters

terminal | a VteTerminal |
cursor_background | the new color to use for the text cursor, or `NULL`. | [allow-none]

Since 0.11.11

### vte_terminal_set_color_cursor_rgba ()

    void
    vte_terminal_set_color_cursor_rgba (VteTerminal *terminal,
                                        const GdkRGBA *cursor_background);

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.

#### Parameters

terminal | a VteTerminal |
cursor_background | the new color to use for the text cursor, or `NULL`. | [allow-none]

Since 0.28

### vte_terminal_set_color_highlight ()

    void
    vte_terminal_set_color_highlight (VteTerminal *terminal,
                                      const GdkColor *highlight_background);

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.

#### Parameters

terminal | a VteTerminal |
highlight_background | the new color to use for highlighted text, or `NULL`. | [allow-none]

Since 0.11.11

### vte_terminal_set_color_highlight_rgba ()

    void
    vte_terminal_set_color_highlight_rgba (VteTerminal *terminal,
                                           const GdkRGBA *highlight_background);

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.

#### Parameters

terminal | a VteTerminal |
highlight_background | the new color to use for highlighted text, or `NULL`. | [allow-none]

Since 0.28

### vte_terminal_set_color_highlight_foreground ()

    void
    vte_terminal_set_color_highlight_foreground
                                   (VteTerminal *terminal,
                                    const GdkColor *highlight_foreground);

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.

#### Parameters

terminal | a VteTerminal |
highlight_foreground | the new color to use for highlighted text, or `NULL`. | [allow-none]

Since 0.36

### vte_terminal_set_color_highlight_foreground_rgba ()

    void
    vte_terminal_set_color_highlight_foreground_rgba
                                   (VteTerminal *terminal,
                                    const GdkRGBA *highlight_foreground);

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.

#### Parameters

terminal | a VteTerminal |
highlight_foreground | the new color to use for highlighted text, or `NULL`. | [allow-none]

Since 0.36

### vte_terminal_set_colors ()

    void
    vte_terminal_set_colors (VteTerminal *terminal,
                             const GdkColor *foreground,
                             const GdkColor *background,
                             const GdkColor *palette,
                             glong palette_size);

The terminal widget uses a 28-color model comprised of the default foreground and background colors, the bold foreground color, the dim foreground color, an eight color palette, bold versions of the eight color palette, and a dim version of the the eight color palette.

`palette_size` must be either 0, 8, 16, or 24, or between 25 and 256 inclusive. 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]. If `palette_size` is 8 or 16, the third (dim) and possibly the second (bold) 8-color palettes are extrapolated from the new background color and the items in `palette` .

#### Parameters

terminal | a VteTerminal |
foreground | the new foreground color, or `NULL`. | [allow-none]
background | the new background color, or `NULL`. | [allow-none]
palette | the color palette. | [array length=palette_size zero-terminated=0][element-type Gdk.Color]
palette_size | the number of entries in `palette` |

### vte_terminal_set_colors_rgba ()

    void
    vte_terminal_set_colors_rgba (VteTerminal *terminal,
                                  const GdkRGBA *foreground,
                                  const GdkRGBA *background,
                                  const GdkRGBA *palette,
                                  gsize palette_size);

The terminal widget uses a 28-color model comprised of the default foreground and background colors, the bold foreground color, the dim foreground color, an eight color palette, bold versions of the eight color palette, and a dim version of the the eight color palette.

`palette_size` must be either 0, 8, 16, or 24, or between 25 and 256 inclusive. 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]. If `palette_size` is 8 or 16, the third (dim) and possibly the second (bold) 8-color palettes are extrapolated from the new background color and the items in `palette` .

#### Parameters

terminal | a VteTerminal |
foreground | the new foreground color, or `NULL`. | [allow-none]
background | the new background color, or `NULL`. | [allow-none]
palette | the color palette. | [array length=palette_size zero-terminated=0][element-type Gdk.RGBA]
palette_size | the number of entries in `palette` |

Since 0.28

### vte_terminal_set_default_colors ()

    void
    vte_terminal_set_default_colors (VteTerminal *terminal);

Reset the terminal palette to reasonable compiled-in default color.

#### Parameters

terminal | a VteTerminal |

### vte_terminal_set_cursor_shape ()

    void
    vte_terminal_set_cursor_shape (VteTerminal *terminal,
                                   VteTerminalCursorShape shape);

Sets the shape of the cursor drawn.

#### Parameters

terminal | a VteTerminal |
shape | the VteTerminalCursorShape to use |

Since 0.20

### vte_terminal_get_cursor_shape ()

    VteTerminalCursorShape
    vte_terminal_get_cursor_shape (VteTerminal *terminal);

Returns the currently set cursor shape.

#### Parameters

terminal | a VteTerminal |

#### Returns

cursor shape.

Since 0.17.6

### vte_terminal_set_cursor_blinks ()

    void
    vte_terminal_set_cursor_blinks (VteTerminal *terminal,
                                    gboolean blink);

`vte_terminal_set_cursor_blinks` has been deprecated since version 0.17.1 and should not be used in newly-written code.

Use `vte_terminal_set_cursor_blink_mode()` instead.

Sets whether or not the cursor will blink.

#### Parameters

terminal | a VteTerminal |
blink | whether the cursor should blink |

### vte_terminal_get_cursor_blink_mode ()

    VteTerminalCursorBlinkMode
    vte_terminal_get_cursor_blink_mode (VteTerminal *terminal);

Returns the currently set cursor blink mode.

#### Parameters

terminal | a VteTerminal |

#### Returns

cursor blink mode.

Since 0.17.1

### vte_terminal_set_cursor_blink_mode ()

    void
    vte_terminal_set_cursor_blink_mode (VteTerminal *terminal,
                                        VteTerminalCursorBlinkMode mode);

Sets whether or not the cursor will blink. Using `VTE_CURSOR_BLINK_SYSTEM` will use the “gtk-cursor-blink” setting.

#### Parameters

terminal | a VteTerminal |
mode | the VteTerminalCursorBlinkMode to use |

Since 0.17.1

### vte_terminal_set_scrollback_lines ()

    void
    vte_terminal_set_scrollback_lines (VteTerminal *terminal,
                                       glong lines);

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. For terminal types which have an alternate screen buffer, no scrollback is allowed on the alternate screen buffer.

#### Parameters

terminal | a VteTerminal |
lines | the length of the history buffer |

### vte_terminal_set_font ()

    void
    vte_terminal_set_font (VteTerminal *terminal,
                           const PangoFontDescription *font_desc);

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.

#### Parameters

terminal | a VteTerminal |
font_desc | a PangoFontDescription for the desired font, or `NULL`. | [allow-none]

### vte_terminal_set_font_from_string ()

    void
    vte_terminal_set_font_from_string (VteTerminal *terminal,
                                       const char *name);

A convenience function which converts `name` into a PangoFontDescription and passes it to `vte_terminal_set_font()`.

#### Parameters

terminal | a VteTerminal |
name | a pango font description in string form. | [type utf8]

### vte_terminal_set_font_from_string_full ()

    void
    vte_terminal_set_font_from_string_full
                                   (VteTerminal *terminal,
                                    const char *name,
                                    VteTerminalAntiAlias antialias);

`vte_terminal_set_font_from_string_full` has been deprecated since version 0.20 and should not be used in newly-written code.

Use `vte_terminal_set_font()`

A convenience function which converts `name` into a PangoFontDescription and passes it to `vte_terminal_set_font_full()`.

#### Parameters

terminal | a VteTerminal |
name | A string describing the font. |
antialias | Whether or not to antialias the font (if possible). |

Since 0.11.11

### vte_terminal_set_font_full ()

    void
    vte_terminal_set_font_full (VteTerminal *terminal,
                                const PangoFontDescription *font_desc,
                                VteTerminalAntiAlias antialias);

`vte_terminal_set_font_full` has been deprecated since version 0.20 and should not be used in newly-written code.

Use `vte_terminal_set_font()`

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.

#### Parameters

terminal | a VteTerminal |
font_desc | The PangoFontDescription of the desired font, or `NULL` |
antialias | Specify if anti aliasing of the fonts is to be used or not. |

Since 0.11.11

### vte_terminal_get_font ()

    const PangoFontDescription *
    vte_terminal_get_font (VteTerminal *terminal);

Queries the terminal for information about the fonts which will be used to draw text in the terminal.

#### Parameters

terminal | a VteTerminal |

#### Returns

a PangoFontDescription describing the font the terminal is currently using to render text.

[transfer none]

### vte_terminal_get_using_xft ()

    gboolean
    vte_terminal_get_using_xft (VteTerminal *terminal);

`vte_terminal_get_using_xft` has been deprecated since version 0.20 and should not be used in newly-written code.

A VteTerminal can use multiple methods to draw text. This function allows an application to determine whether or not the current method uses fontconfig to find fonts. This setting cannot be changed by the caller, but in practice usually matches the behavior of GTK+ itself.

#### Parameters

terminal | a VteTerminal |

#### Returns

`TRUE`

### vte_terminal_get_has_selection ()

    gboolean
    vte_terminal_get_has_selection (VteTerminal *terminal);

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.

#### Parameters

terminal | a VteTerminal |

#### Returns

`TRUE` if part of the text in the terminal is selected.

### vte_terminal_set_word_chars ()

    void
    vte_terminal_set_word_chars (VteTerminal *terminal,
                                 const char *spec);

When the user double-clicks to start selection, the terminal will extend the selection on word boundaries. It will treat characters included in `spec` as parts of words, and all other characters as word separators. Ranges of characters can be specified by separating them with a hyphen.

As a special case, if `spec` is `NULL` or the empty string, the terminal will treat all graphic non-punctuation non-space characters as word characters.

#### Parameters

terminal | a VteTerminal |
spec | a specification |

### vte_terminal_is_word_char ()

    gboolean
    vte_terminal_is_word_char (VteTerminal *terminal,
                               gunichar c);

Checks if a particular character is considered to be part of a word or not, based on the values last passed to `vte_terminal_set_word_chars()`.

#### Parameters

terminal | a VteTerminal |
c | a candidate Unicode code point |

#### Returns

`TRUE` if the character is considered to be part of a word

### vte_terminal_set_backspace_binding ()

    void
    vte_terminal_set_backspace_binding (VteTerminal *terminal,
                                        VteTerminalEraseBinding binding);

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.

#### Parameters

terminal | a VteTerminal |
binding | a VteTerminalEraseBinding for the backspace key |

### vte_terminal_set_delete_binding ()

    void
    vte_terminal_set_delete_binding (VteTerminal *terminal,
                                     VteTerminalEraseBinding binding);

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.

#### Parameters

terminal | a VteTerminal |
binding | a VteTerminalEraseBinding for the delete key |

### vte_terminal_set_mouse_autohide ()

    void
    vte_terminal_set_mouse_autohide (VteTerminal *terminal,
                                     gboolean setting);

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()`.

#### Parameters

terminal | a VteTerminal |
setting | whether the mouse pointer should autohide |

### vte_terminal_get_mouse_autohide ()

    gboolean
    vte_terminal_get_mouse_autohide (VteTerminal *terminal);

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()`.

#### Parameters

terminal | a VteTerminal |

#### Returns

`TRUE` if autohiding is enabled, `FALSE` if not

### vte_terminal_reset ()

    void
    vte_terminal_reset (VteTerminal *terminal,
                        gboolean clear_tabstops,
                        gboolean clear_history);

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.

#### Parameters

terminal | a VteTerminal |
clear_tabstops | whether to reset tabstops |
clear_history | whether to empty the terminal's scrollback buffer |

### vte_terminal_get_text ()

    char *
    vte_terminal_get_text (VteTerminal *terminal,
                           VteSelectionFunc is_selected,
                           gpointer user_data,
                           GArray *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.

#### Parameters

terminal | a VteTerminal |
is_selected | a VteSelectionFunc callback. | [scope call][allow-none]
user_data | user data to be passed to the callback. | [closure]
attributes | location for storing text attributes. | [out caller-allocates][transfer full][array][element-type Vte.CharAttributes]

#### Returns

a newly allocated text string, or `NULL`.

[transfer full]

### vte_terminal_get_text_include_trailing_spaces ()

    char *
    vte_terminal_get_text_include_trailing_spaces
                                   (VteTerminal *terminal,
                                    VteSelectionFunc is_selected,
                                    gpointer user_data,
                                    GArray *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. This function differs from `vte_terminal_get_text()` in that trailing spaces at the end of lines are included.

#### Parameters

terminal | a VteTerminal |
is_selected | a VteSelectionFunc callback. | [scope call][allow-none]
user_data | user data to be passed to the callback. | [closure]
attributes | location for storing text attributes. | [out caller-allocates][transfer full][array][element-type Vte.CharAttributes]

#### Returns

a newly allocated text string, or `NULL`.

[transfer full]

Since 0.11.11

### vte_terminal_get_text_range ()

    char *
    vte_terminal_get_text_range (VteTerminal *terminal,
                                 glong start_row,
                                 glong start_col,
                                 glong end_row,
                                 glong end_col,
                                 VteSelectionFunc is_selected,
                                 gpointer user_data,
                                 GArray *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.

#### Parameters

terminal | a VteTerminal |
start_row | first row to search for data |
start_col | first column to search for data |
end_row | last row to search for data |
end_col | last column to search for data |
is_selected | a VteSelectionFunc callback. | [scope call][allow-none]
user_data | user data to be passed to the callback. | [closure]
attributes | location for storing text attributes. | [out caller-allocates][transfer full][array][element-type Vte.CharAttributes]

#### Returns

a newly allocated text string, or `NULL`.

[transfer full]

### vte_terminal_get_cursor_position ()

    void
    vte_terminal_get_cursor_position (VteTerminal *terminal,
                                      glong *column,
                                      glong *row);

Reads the location of the insertion cursor and returns it. The row coordinate is absolute.

#### Parameters

terminal | a VteTerminal |
column | a location to store the column, or `NULL`. | [out][allow-none]
row | a location to store the row, or `NULL`. | [out][allow-none]

### vte_terminal_match_clear_all ()

    void
    vte_terminal_match_clear_all (VteTerminal *terminal);

Clears the list of regular expressions the terminal uses to highlight text when the user moves the mouse cursor.

#### Parameters

terminal | a VteTerminal |

### vte_terminal_match_add ()

    int
    vte_terminal_match_add (VteTerminal *terminal,
                            const char *match);

`vte_terminal_match_add` has been deprecated since version 0.17.1 and should not be used in newly-written code.

Use `vte_terminal_match_add_gregex()` instead

Adds a regular expression 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.

#### Parameters

terminal | a VteTerminal |
match | a regular expression |

#### Returns

an integer associated with this expression

### vte_terminal_match_add_gregex ()

    int
    vte_terminal_match_add_gregex (VteTerminal *terminal,
                                   GRegex *regex,
                                   GRegexMatchFlags flags);

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.

#### Parameters

terminal | a VteTerminal |
regex | a GRegex |
flags | the GRegexMatchFlags to use when matching the regex |

#### Returns

an integer associated with this expression

Since 0.17.1

### vte_terminal_match_remove ()

    void
    vte_terminal_match_remove (VteTerminal *terminal,
                               int tag);

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.

#### Parameters

terminal | a VteTerminal |
tag | the tag of the regex to remove |

### vte_terminal_match_check ()

    char *
    vte_terminal_match_check (VteTerminal *terminal,
                              glong column,
                              glong row,
                              int *tag);

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.

#### Parameters

terminal | a VteTerminal |
column | the text column |
row | the text row |
tag | a location to store the tag, or `NULL`. | [out][allow-none]

#### Returns

a newly allocated string which matches one of the previously set regular expressions.

[transfer full]

### vte_terminal_match_set_cursor ()

    void
    vte_terminal_match_set_cursor (VteTerminal *terminal,
                                   int tag,
                                   GdkCursor *cursor);

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

#### Parameters

terminal | a VteTerminal |
tag | the tag of the regex which should use the specified cursor |
cursor | the GdkCursor which the terminal should use when the pattern is highlighted, or `NULL` to use the standard cursor. | [allow-none]

Since 0.11

### vte_terminal_match_set_cursor_type ()

    void
    vte_terminal_match_set_cursor_type (VteTerminal *terminal,
                                        int tag,
                                        GdkCursorType cursor_type);

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

#### Parameters

terminal | a VteTerminal |
tag | the tag of the regex which should use the specified cursor |
cursor_type | a GdkCursorType |

Since 0.11.9

### vte_terminal_match_set_cursor_name ()

    void
    vte_terminal_match_set_cursor_name (VteTerminal *terminal,
                                        int tag,
                                        const char *cursor_name);

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

#### Parameters

terminal | a VteTerminal |
tag | the tag of the regex which should use the specified cursor |
cursor_name | the name of the cursor |

Since 0.17.1

### vte_terminal_set_emulation ()

    void
    vte_terminal_set_emulation (VteTerminal *terminal,
                                const char *emulation);

Sets what type of terminal the widget attempts to emulate by scanning for control sequences defined in the system's termcap file. Unless you are interested in this feature, always use "xterm".

#### Parameters

terminal | a VteTerminal |
emulation | the name of a terminal description, or `NULL` to use the default. | [allow-none]

### vte_terminal_get_emulation ()

    const char *
    vte_terminal_get_emulation (VteTerminal *terminal);

Queries the terminal for its current emulation, as last set by a call to `vte_terminal_set_emulation()`.

#### Parameters

terminal | a VteTerminal |

#### Returns

an interned string containing the name of the terminal type the widget is attempting to emulate

### vte_terminal_get_default_emulation ()

    const char *
    vte_terminal_get_default_emulation (VteTerminal *terminal);

Queries the terminal for its default emulation, which is attempted if the terminal type passed to `vte_terminal_set_emulation()` is `NULL`.

#### Parameters

terminal | a VteTerminal |

#### Returns

an interned string containing the name of the default terminal type the widget attempts to emulate.

[transfer none][type utf8]

Since 0.11.11

### vte_terminal_set_encoding ()

    void
    vte_terminal_set_encoding (VteTerminal *terminal,
                               const char *codeset);

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. The default encoding is defined by the application's locale settings.

#### Parameters

terminal | a VteTerminal |
codeset | a valid GIConv target, or `NULL` to use the default encoding. | [allow-none]

### vte_terminal_get_encoding ()

    const char *
    vte_terminal_get_encoding (VteTerminal *terminal);

Determines the name of the encoding in which the terminal expects data to be encoded.

#### Parameters

terminal | a VteTerminal |

#### Returns

the current encoding for the terminal.

[transfer none]

### vte_terminal_get_status_line ()

    const char *
    vte_terminal_get_status_line (VteTerminal *terminal);

Some terminal emulations specify a status line which is separate from the main display area, and define a means for applications to move the cursor to the status line and back.

#### Parameters

terminal | a VteTerminal |

#### Returns

the current contents of the terminal's status line. For terminals like "xterm", this will usually be the empty string. The string must not be modified or freed by the caller.

[transfer none]

### vte_terminal_get_padding ()

    void
    vte_terminal_get_padding (VteTerminal *terminal,
                              int *xpad,
                              int *ypad);

`vte_terminal_get_padding` has been deprecated since version 0.26 and should not be used in newly-written code.

Get the “inner-border” style property instead

Determines the amount of additional space the widget is using to pad the edges of its visible area. This is necessary for cases where characters in the selected font don't themselves include a padding area and the text itself would otherwise be contiguous with the window border. Applications which use the widget's `row_count`, `column_count`, `char_height`, and `char_width` fields to set geometry hints using `gtk_window_set_geometry_hints()` will need to add this value to the base size. The values returned in `xpad` and `ypad` are the total padding used in each direction, and do not need to be doubled.

#### Parameters

terminal | a VteTerminal |
xpad | address in which to store left/right-edge padding |
ypad | address in which to store top/bottom-edge ypadding |

### vte_terminal_write_contents ()

    gboolean
    vte_terminal_write_contents (VteTerminal *terminal,
                                 GOutputStream *stream,
                                 VteTerminalWriteFlags flags,
                                 GCancellable *cancellable,
                                 GError **error);

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.

#### Parameters

terminal | a VteTerminal |
stream | a GOutputStream to write to |
flags | a set of VteTerminalWriteFlags |
cancellable | a GCancellable object, or `NULL`. | [allow-none]
error | a GError location to store the error occuring, or `NULL`. | [allow-none]

#### Returns

`TRUE` on success, `FALSE` if there was an error

Since 0.24

### vte_terminal_search_find_next ()

    gboolean
    vte_terminal_search_find_next (VteTerminal *terminal);

Searches the next string matching the search regex set with `vte_terminal_search_set_gregex()`.

#### Parameters

terminal | a VteTerminal |

#### Returns

`TRUE` if a match was found

Since 0.26

### vte_terminal_search_find_previous ()

    gboolean
    vte_terminal_search_find_previous (VteTerminal *terminal);

Searches the previous string matching the search regex set with `vte_terminal_search_set_gregex()`.

#### Parameters

terminal | a VteTerminal |

#### Returns

`TRUE` if a match was found

Since 0.26

### vte_terminal_search_get_gregex ()

    GRegex *
    vte_terminal_search_get_gregex (VteTerminal *terminal);

#### Parameters

terminal | a VteTerminal |

#### Returns

the search GRegex regex set in `terminal` , or `NULL`.

[transfer none]

Since 0.26

### vte_terminal_search_get_wrap_around ()

    gboolean
    vte_terminal_search_get_wrap_around (VteTerminal *terminal);

#### Parameters

terminal | a VteTerminal |

#### Returns

whether searching will wrap around

Since 0.26

### vte_terminal_search_set_gregex ()

    void
    vte_terminal_search_set_gregex (VteTerminal *terminal,
                                    GRegex *regex);

Sets the GRegex regex to search for. Unsets the search regex when passed `NULL`.

#### Parameters

terminal | a VteTerminal |
regex | a GRegex, or `NULL`. | [allow-none]

Since 0.26

### vte_terminal_search_set_wrap_around ()

    void
    vte_terminal_search_set_wrap_around (VteTerminal *terminal,
                                         gboolean wrap_around);

Sets whether search should wrap around to the beginning of the terminal content when reaching its end.

#### Parameters

terminal | a VteTerminal |
wrap_around | whether search should wrap |

Since 0.26

### vte_get_user_shell ()

    char *
    vte_get_user_shell (void);

Gets the user's shell, or `NULL`. In the latter case, the system default (usually "/bin/sh") should be used.

#### Returns

a newly allocated string with the user's shell, or `NULL`.

[transfer full][type filename]

Since 0.28

### vte_terminal_fork_command ()

    pid_t
    vte_terminal_fork_command (VteTerminal *terminal,
                               const char *command,
                               char **argv,
                               char **envv,
                               const char *working_directory,
                               gboolean lastlog,
                               gboolean utmp,
                               gboolean wtmp);

`vte_terminal_fork_command` has been deprecated since version 0.26 and should not be used in newly-written code.

Use `vte_terminal_fork_command_full()`

Starts the specified command under a newly-allocated controlling pseudo-terminal. The `argv` and `envv` lists should be `NULL`-terminated, and argv[0] is expected to be the name of the file being run, as it would be if `execve()` were being called. TERM is automatically set to reflect the terminal widget's emulation setting. If `lastlog` , `utmp` , or `wtmp` are `TRUE`, logs the session to the specified system log files.

Note that all file descriptors except stdin/stdout/stderr will be closed before calling `exec()` in the child.

#### Parameters

terminal | a VteTerminal |
command | the name of a binary to run, or `NULL` to spawn the user's shell. | [allow-none][type filename]
argv | the argument list to be passed to `command` , or `NULL`. | [allow-none][array zero-terminated=1][element-type filename]
envv | a list of environment variables to be added to the environment before starting `command` , or `NULL`. | [allow-none][array zero-terminated=1][element-type filename]
working_directory | the name of a directory the command should start in, or `NULL`. | [allow-none][type filename]
lastlog | `TRUE` if the session should be logged to the lastlog |
utmp | `TRUE` if the session should be logged to the utmp/utmpx log |
wtmp | `TRUE` if the session should be logged to the wtmp/wtmpx log |

#### Returns

the PID of the new process, or `-1` on failure

### vte_terminal_fork_command_full ()

    gboolean
    vte_terminal_fork_command_full (VteTerminal *terminal,
                                    VtePtyFlags pty_flags,
                                    const char *working_directory,
                                    char **argv,
                                    char **envv,
                                    GSpawnFlags spawn_flags,
                                    GSpawnChildSetupFunc child_setup,
                                    gpointer child_setup_data,
                                    GPid *child_pid,
                                    GError **error);

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 reflect the terminal widget's emulation setting. `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 unless `spawn_flags` contains `G_SPAWN_LEAVE_DESCRIPTORS_OPEN`, all file descriptors except stdin/stdout/stderr will be closed before calling `exec()` in the child.

See `vte_pty_new()`, `g_spawn_async()` and `vte_terminal_watch_child()` for more information.

#### Parameters

terminal | a VteTerminal |
pty_flags | flags from VtePtyFlags |
working_directory | the name of a directory the command should start in, or `NULL` to use the current working directory. | [allow-none]
argv | child's argument vector. | [array zero-terminated=1][element-type filename]
envv | a list of environment variables to be added to the environment before starting the process, or `NULL`. | [allow-none][array zero-terminated=1][element-type filename]
spawn_flags | flags from GSpawnFlags |
child_setup | an extra child setup function to run in the child just before `exec()`, or `NULL`. | [allow-none][scope call]
child_setup_data | user data for `child_setup` |
child_pid | a location to store the child PID, or `NULL`. | [out][allow-none][transfer full]
error | return location for a GError, or `NULL`. | [allow-none]

#### Returns

`TRUE` on success, or `FALSE` on error with `error` filled in

Since 0.26

### vte_terminal_forkpty ()

    pid_t
    vte_terminal_forkpty (VteTerminal *terminal,
                          char **envv,
                          const char *working_directory,
                          gboolean lastlog,
                          gboolean utmp,
                          gboolean wtmp);

`vte_terminal_forkpty` has been deprecated since version 0.26 and should not be used in newly-written code.

Use VtePty and `fork()` instead

Starts a new child process under a newly-allocated controlling pseudo-terminal. TERM is automatically set to reflect the terminal widget's emulation setting. If `lastlog` , `utmp` , or `wtmp` are `TRUE`, logs the session to the specified system log files.

Note that all file descriptors except stdin/stdout/stderr will be closed in the child.

Note that `envv` and `working_directory` are silently ignored.

#### Parameters

terminal | a VteTerminal |
envv | a list of environment variables to be added to the environment before starting returning in the child process, or `NULL` |
working_directory | the name of a directory the child process should change to, or `NULL` |
lastlog | `TRUE` if the session should be logged to the lastlog |
utmp | `TRUE` if the session should be logged to the utmp/utmpx log |
wtmp | `TRUE` if the session should be logged to the wtmp/wtmpx log |

#### Returns

the ID of the new process in the parent, 0 in the child, and -1 if there was an error

Since 0.11.11

### vte_terminal_get_pty ()

    int
    vte_terminal_get_pty (VteTerminal *terminal);

`vte_terminal_get_pty` has been deprecated since version 0.26 and should not be used in newly-written code.

Use `vte_terminal_get_pty_object()` and `vte_pty_get_fd()`

Returns the file descriptor of the master end of `terminal` 's PTY.

#### Parameters

terminal | a VteTerminal |

#### Returns

the file descriptor, or -1 if the terminal has no PTY.

Since 0.20

### vte_terminal_get_pty_object ()

    VtePty *
    vte_terminal_get_pty_object (VteTerminal *terminal);

Returns the VtePty of `terminal` .

#### Parameters

terminal | a VteTerminal |

#### Returns

a VtePty, or `NULL`.

[transfer none]

Since 0.26

### vte_terminal_pty_new ()

    VtePty *
    vte_terminal_pty_new (VteTerminal *terminal,
                          VtePtyFlags flags,
                          GError **error);

Creates a new VtePty, and sets the emulation property from “emulation”.

See `vte_pty_new()` for more information.

#### Parameters

terminal | a VteTerminal |
flags | flags from VtePtyFlags |
error | return location for a GError, or `NULL`. | [allow-none]

#### Returns

a new VtePty.

[transfer full]

Since 0.26

### vte_terminal_set_pty ()

    void
    vte_terminal_set_pty (VteTerminal *terminal,
                          int pty_master);

`vte_terminal_set_pty` has been deprecated since version 0.26 and should not be used in newly-written code.

Use `vte_pty_new_foreign()` and `vte_terminal_set_pty_object()`

Attach an existing PTY master side to the terminal widget. Use instead of `vte_terminal_fork_command()` or `vte_terminal_forkpty()`.

#### Parameters

terminal | a VteTerminal |
pty_master | a file descriptor of the master end of a PTY, or `-1` |

Since 0.12.1

### vte_terminal_set_pty_object ()

    void
    vte_terminal_set_pty_object (VteTerminal *terminal,
                                 VtePty *pty);

Sets `pty` as the PTY to use in `terminal` . Use `NULL` to unset the PTY.

#### Parameters

terminal | a VteTerminal |
pty | a VtePty, or `NULL`. | [allow-none]

Since 0.26.

### vte_terminal_watch_child ()

    void
    vte_terminal_watch_child (VteTerminal *terminal,
                              GPid child_pid);

Watches `child_pid` . When the process exists, the “child-exited” signal will be called. Use `vte_terminal_get_child_exit_status()` to retrieve the child's exit status.

Prior to calling this function, a VtePty must have been set in `terminal` using `vte_terminal_set_pty_object()`. 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.

#### Parameters

terminal | a VteTerminal |
child_pid | a GPid |

Since 0.26

### vte_terminal_get_adjustment ()

    GtkAdjustment *
    vte_terminal_get_adjustment (VteTerminal *terminal);

`vte_terminal_get_adjustment` has been deprecated since version 0.28 and should not be used in newly-written code.

Use `gtk_scrollable_get_vadjustment()` instead

An accessor function provided for the benefit of language bindings.

#### Parameters

terminal | a VteTerminal |

#### Returns

the contents of `terminal` 's adjustment field.

[transfer none]

### vte_terminal_get_char_ascent ()

    glong
    vte_terminal_get_char_ascent (VteTerminal *terminal);

`vte_terminal_get_char_ascent` has been deprecated since version 0.20 and should not be used in newly-written code.

An accessor function provided for the benefit of language bindings.

#### Parameters

terminal | a VteTerminal |

#### Returns

the contents of `terminal` 's char_ascent field

### vte_terminal_get_char_descent ()

    glong
    vte_terminal_get_char_descent (VteTerminal *terminal);

`vte_terminal_get_char_descent` has been deprecated since version 0.20 and should not be used in newly-written code.

An accessor function provided for the benefit of language bindings.

#### Parameters

terminal | a VteTerminal |

#### Returns

the contents of `terminal` 's char_descent field

### vte_terminal_get_char_height ()

    glong
    vte_terminal_get_char_height (VteTerminal *terminal);

#### Parameters

terminal | a VteTerminal |

#### Returns

the height of a character cell

### vte_terminal_get_char_width ()

    glong
    vte_terminal_get_char_width (VteTerminal *terminal);

#### Parameters

terminal | a VteTerminal |

#### Returns

the width of a character cell

### vte_terminal_get_column_count ()

    glong
    vte_terminal_get_column_count (VteTerminal *terminal);

#### Parameters

terminal | a VteTerminal |

#### Returns

the number of columns

### vte_terminal_get_icon_title ()

    const char *
    vte_terminal_get_icon_title (VteTerminal *terminal);

#### Parameters

terminal | a VteTerminal |

#### Returns

the icon title.

[transfer none]

### vte_terminal_get_row_count ()

    glong
    vte_terminal_get_row_count (VteTerminal *terminal);

#### Parameters

terminal | a VteTerminal |

#### Returns

the number of rows

### vte_terminal_get_window_title ()

    const char *
    vte_terminal_get_window_title (VteTerminal *terminal);

#### Parameters

terminal | a VteTerminal |

#### Returns

the window title.

[transfer none]

### vte_terminal_get_current_directory_uri ()

    const char *
    vte_terminal_get_current_directory_uri
                                   (VteTerminal *terminal);

#### Parameters

terminal | a VteTerminal |

#### Returns

the URI of the current directory of the process running in the terminal, or `NULL`.

[transfer none]

Since 0.34

### vte_terminal_get_current_file_uri ()

    const char *
    vte_terminal_get_current_file_uri (VteTerminal *terminal);

#### Parameters

terminal | a VteTerminal |

#### Returns

the URI of the current file the process running in the terminal is operating on, or `NULL` if not set.

[transfer none]

Since 0.34

### vte_terminal_im_append_menuitems ()

    void
    vte_terminal_im_append_menuitems (VteTerminal *terminal,
                                      GtkMenuShell *menushell);

`vte_terminal_im_append_menuitems` has been deprecated since version 0.34.6 and should not be used in newly-written code.

Appends menu items for various input methods to the given menu. The user can select one of these items to modify the input method used by the terminal.

#### Parameters

terminal | a VteTerminal |
menushell | a GtkMenuShell |

### vte_terminal_set_opacity ()

    void
    vte_terminal_set_opacity (VteTerminal *terminal,
                              guint16 opacity);

`vte_terminal_set_opacity` has been deprecated since version 0.34.8 and should not be used in newly-written code.

Sets the opacity of the terminal background, were 0 means completely transparent and 65535 means completely opaque.

#### Parameters

terminal | a VteTerminal |
opacity | the new opacity |

### vte_terminal_set_background_image ()

    void
    vte_terminal_set_background_image (VteTerminal *terminal,
                                       GdkPixbuf *image);

`vte_terminal_set_background_image` has been deprecated since version 0.34.8 and should not be used in newly-written code.

Sets a background image for the widget. Text which would otherwise be drawn using the default background color will instead be drawn over the specified image. If necessary, the image will be tiled to cover the widget's entire visible area. If specified by `vte_terminal_set_background_saturation()`, the terminal will tint its in-memory copy of the image before applying it to the terminal.

#### Parameters

terminal | a VteTerminal |
image | a GdkPixbuf to use, or `NULL` to unset the background. | [allow-none]

### vte_terminal_set_background_image_file ()

    void
    vte_terminal_set_background_image_file
                                   (VteTerminal *terminal,
                                    const char *path);

`vte_terminal_set_background_image_file` has been deprecated since version 0.34.8 and should not be used in newly-written code.

Sets a background image for the widget. If specified by `vte_terminal_set_background_saturation()`, the terminal will tint its in-memory copy of the image before applying it to the terminal.

#### Parameters

terminal | a VteTerminal |
path | path to an image file. | [type filename]

### vte_terminal_set_background_saturation ()

    void
    vte_terminal_set_background_saturation
                                   (VteTerminal *terminal,
                                    double saturation);

`vte_terminal_set_background_saturation` has been deprecated since version 0.34.8 and should not be used in newly-written code.

If a background image has been set using `vte_terminal_set_background_image()`, `vte_terminal_set_background_image_file()`, or `vte_terminal_set_background_transparent()`, and the saturation value is less than 1.0, the terminal will adjust the colors of the image before drawing the image. To do so, the terminal will create a copy of the background image (or snapshot of the root window) and modify its pixel values.

#### Parameters

terminal | a VteTerminal |
saturation | a floating point value between 0.0 and 1.0. |

### vte_terminal_set_background_transparent ()

    void
    vte_terminal_set_background_transparent
                                   (VteTerminal *terminal,
                                    gboolean transparent);

`vte_terminal_set_background_transparent` has been deprecated since version 0.34.8 and should not be used in newly-written code.

Sets the terminal's background image to the pixmap stored in the root window, adjusted so that if there are no windows below your application, the widget will appear to be transparent.

#### Parameters

terminal | a VteTerminal |
transparent | whether the terminal should fake transparency |

### vte_terminal_set_background_tint_color ()

    void
    vte_terminal_set_background_tint_color
                                   (VteTerminal *terminal,
                                    const GdkColor *color);

`vte_terminal_set_background_tint_color` has been deprecated since version 0.34.8 and should not be used in newly-written code.

If a background image has been set using `vte_terminal_set_background_image()`, `vte_terminal_set_background_image_file()`, or `vte_terminal_set_background_transparent()`, and the value set by `vte_terminal_set_background_saturation()` is less than one, the terminal will adjust the color of the image before drawing the image. To do so, the terminal will create a copy of the background image (or snapshot of the root window) and modify its pixel values. The initial tint color is black.

#### Parameters

terminal | a VteTerminal |
color | a color which the terminal background should be tinted to if its saturation is not 1.0. |

Since 0.11

### vte_terminal_set_scroll_background ()

    void
    vte_terminal_set_scroll_background (VteTerminal *terminal,
                                        gboolean scroll);

`vte_terminal_set_scroll_background` has been deprecated since version 0.34.8 and should not be used in newly-written code.

Controls whether or not the terminal will scroll the background image (if one is set) when the text in the window must be scrolled.

#### Parameters

terminal | a VteTerminal |
scroll | whether the terminal should scroll the background image along with the text |

Since 0.11

## Types and Values

### struct VteTerminal

    struct VteTerminal;

All of these fields should be considered read-only and deprecated.

### enum VteTerminalAntiAlias

`VteTerminalAntiAlias` is deprecated and should not be used in newly-written code.

An enumeration describing which anti-alias setting to use.

`Deprecated` : 0.20

#### Members

VTE_ANTI_ALIAS_USE_DEFAULT | Use the system default anti-alias setting |
VTE_ANTI_ALIAS_FORCE_ENABLE | Force enable anti-aliasing |
VTE_ANTI_ALIAS_FORCE_DISABLE | Force disable anti-aliasing |

### enum VteTerminalCursorBlinkMode

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

#### Members

VTE_CURSOR_BLINK_SYSTEM | Follow GTK+ settings for cursor blinking. |
VTE_CURSOR_BLINK_ON | Cursor blinks. |
VTE_CURSOR_BLINK_OFF | Cursor does not blink. |

### enum VteTerminalCursorShape

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

#### Members

VTE_CURSOR_SHAPE_BLOCK | Draw a block cursor. This is the default. |
VTE_CURSOR_SHAPE_IBEAM | Draw a vertical bar on the left side of character. This is similar to the default cursor for other GTK+ widgets. |
VTE_CURSOR_SHAPE_UNDERLINE | Draw a horizontal bar below the character. |

### enum VteTerminalEraseBinding

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.

#### Members

VTE_ERASE_AUTO | For backspace, attempt to determine the right value from the terminal's IO settings. For delete, use the control sequence. |
VTE_ERASE_ASCII_BACKSPACE | Send an ASCII backspace character (0x08). |
VTE_ERASE_ASCII_DELETE | Send an ASCII delete character (0x7F). |
VTE_ERASE_DELETE_SEQUENCE | Send the "@`7` " control sequence. |
VTE_ERASE_TTY | Send terminal's "erase" setting. |

### enum VteTerminalWriteFlags

A flag type to determine how terminal contents should be written to an output stream.

#### Members

VTE_TERMINAL_WRITE_DEFAULT | Write contents as UTF-8 text. This is the default. |

## Property Details

### The `“allow-bold”` property

      “allow-bold”               gboolean

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.

Flags: Read / Write

Default value: TRUE

Since 0.20

### The `“audible-bell”` property

      “audible-bell”             gboolean

Controls whether or not the terminal will beep when the child outputs the "bl" sequence.

Flags: Read / Write

Default value: TRUE

Since 0.20

### The `“background-image-file”` property

      “background-image-file”    gchar *

Flags: Read / Write

Default value: NULL

### The `“background-image-pixbuf”` property

      “background-image-pixbuf”  GdkPixbuf *

Sets a background image for the widget. Text which would otherwise be drawn using the default background color will instead be drawn over the specified image. If necessary, the image will be tiled to cover the widget's entire visible area. If specified by “background-saturation”:, the terminal will tint its in-memory copy of the image before applying it to the terminal.

`VteTerminal:background-image-pixbuf` has been deprecated since version 0.34.8 and should not be used in newly-written code.

Flags: Read / Write

Since 0.20

### The `“background-opacity”` property

      “background-opacity”       gdouble

Sets the opacity of the terminal background, were 0.0 means completely transparent and 1.0 means completely opaque.

`VteTerminal:background-opacity` has been deprecated since version 0.34.8 and should not be used in newly-written code.

Flags: Read / Write

Allowed values: [0,1]

Default value: 1

Since 0.20

### The `“background-saturation”` property

      “background-saturation”    gdouble

If a background image has been set using “background-image-file”: or “background-image-pixbuf”:, or “background-transparent”:, and the saturation value is less than 1.0, the terminal will adjust the colors of the image before drawing the image. To do so, the terminal will create a copy of the background image (or snapshot of the root window) and modify its pixel values.

`VteTerminal:background-saturation` has been deprecated since version 0.34.8 and should not be used in newly-written code.

Flags: Read / Write

Allowed values: [0,1]

Default value: 0.4

Since 0.20

### The `“background-tint-color”` property

      “background-tint-color”    GdkColor *

If a background image has been set using “background-image-file”: or “background-image-pixbuf”:, or “background-transparent”:, and and the value set by VteTerminal:background-saturation: is less than 1.0, the terminal will adjust the color of the image before drawing the image. To do so, the terminal will create a copy of the background image (or snapshot of the root window) and modify its pixel values. The initial tint color is black.

`VteTerminal:background-tint-color` has been deprecated since version 0.34.8 and should not be used in newly-written code.

Flags: Read / Write

Since 0.20

### The `“background-transparent”` property

      “background-transparent”   gboolean

Sets whther the terminal uses the pixmap stored in the root window as the background, adjusted so that if there are no windows below your application, the widget will appear to be transparent.

Note: When using a compositing window manager, you should instead set a RGBA colourmap on the toplevel window, so you get real transparency.

`VteTerminal:background-transparent` has been deprecated since version 0.34.8 and should not be used in newly-written code.

Flags: Read / Write

Default value: FALSE

Since 0.20

### The `“backspace-binding”` property

      “backspace-binding”        VteTerminalEraseBinding

*Controls what string or control sequence the terminal sends to its child when the user presses the backspace key.

Flags: Read / Write

Default value: VTE_ERASE_AUTO

Since 0.20

### The `“current-directory-uri”` property

      “current-directory-uri”    gchar *

The current directory URI, or `NULL` if unset.

Flags: Read

Default value: NULL

Since 0.34

### The `“current-file-uri”` property

      “current-file-uri”         gchar *

The current file URI, or `NULL` if unset.

Flags: Read

Default value: NULL

Since 0.34

### The `“cursor-blink-mode”` property

      “cursor-blink-mode”        VteTerminalCursorBlinkMode

Sets whether or not the cursor will blink. Using `VTE_CURSOR_BLINK_SYSTEM` will use the “gtk-cursor-blink” setting.

Flags: Read / Write

Default value: VTE_CURSOR_BLINK_SYSTEM

Since 0.20

### The `“cursor-shape”` property

      “cursor-shape”             VteTerminalCursorShape

Controls the shape of the cursor.

Flags: Read / Write

Default value: VTE_CURSOR_SHAPE_BLOCK

Since 0.20

### The `“delete-binding”` property

      “delete-binding”           VteTerminalEraseBinding

Controls what string or control sequence the terminal sends to its child when the user presses the delete key.

Flags: Read / Write

Default value: VTE_ERASE_AUTO

Since 0.20

### The `“emulation”` property

      “emulation”                gchar *

Sets what type of terminal the widget attempts to emulate by scanning for control sequences defined in the system's termcap file. Unless you are interested in this feature, always use the default which is "xterm".

Flags: Read / Write

Default value: "xterm"

Since 0.20

### The `“encoding”` property

      “encoding”                 gchar *

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.

Flags: Read / Write

Default value: NULL

Since 0.20

### The `“font-desc”` property

      “font-desc”                PangoFontDescription *

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.

Flags: Read / Write

Since 0.20

### The `“icon-title”` property

      “icon-title”               gchar *

The terminal's so-called icon title, or `NULL` if no icon title has been set.

Flags: Read

Default value: NULL

Since 0.20

### The `“pointer-autohide”` property

      “pointer-autohide”         gboolean

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.

Flags: Read / Write

Default value: FALSE

Since 0.20

### The `“pty”` property

      “pty”                      gint

The file descriptor of the master end of the terminal's PTY.

`VteTerminal:pty` has been deprecated since version 0.26 and should not be used in newly-written code.

Use the “pty-object” property instead

Flags: Read / Write

Allowed values: >= -1

Default value: -1

Since 0.20

### The `“pty-object”` property

      “pty-object”               VtePty *

The PTY object for the terminal.

Flags: Read / Write

Since 0.26

### The `“rewrap-on-resize”` property

      “rewrap-on-resize”         gboolean

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

Flags: Read / Write

Default value: TRUE

Since 0.36

### The `“scroll-background”` property

      “scroll-background”        gboolean

Controls whether or not the terminal will scroll the background image (if one is set) when the text in the window must be scrolled.

Flags: Read / Write

Default value: FALSE

Since 0.20

### The `“scroll-on-keystroke”` property

      “scroll-on-keystroke”      gboolean

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.

Flags: Read / Write

Default value: FALSE

Since 0.20

### The `“scroll-on-output”` property

      “scroll-on-output”         gboolean

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.

Flags: Read / Write

Default value: TRUE

Since 0.20

### The `“scrollback-lines”` property

      “scrollback-lines”         guint

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.

Flags: Read / Write

Default value: 512

Since 0.20

### The `“visible-bell”` property

      “visible-bell”             gboolean

Controls whether the terminal will present a visible bell to the user when the child outputs the "bl" sequence. The terminal will clear itself to the default foreground color and then repaint itself.

Flags: Read / Write

Default value: FALSE

Since 0.20

### The `“window-title”` property

      “window-title”             gchar *

The terminal's title.

Flags: Read

Default value: NULL

Since 0.20

### The `“word-chars”` property

      “word-chars”               gchar *

When the user double-clicks to start selection, the terminal will extend the selection on word boundaries. It will treat characters the word-chars characters as parts of words, and all other characters as word separators. Ranges of characters can be specified by separating them with a hyphen.

As a special case, when setting this to `NULL` or the empty string, the terminal will treat all graphic non-punctuation non-space characters as word characters.

Flags: Read / Write

Default value: NULL

Since 0.20

## Style Property Details

### The `“inner-border”` style property

      “inner-border”             GtkBorder *

Sets the border around the terminal.

Flags: Read

Since 0.24

## Signal Details

### The `“beep”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

This signal is emitted when the a child sends a beep request to the terminal.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“char-size-changed”` signal

    void
    user_function (VteTerminal *vteterminal,
                   guint        width,
                   guint        height,
                   gpointer     user_data)

Emitted whenever selection of a new font causes the values of the `char_width` or `char_height` fields to change.

#### Parameters

vteterminal | the object which received the signal |
width | the new character cell width |
height | the new character cell height |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“child-exited”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

This signal is emitted when the terminal detects that a child started using `vte_terminal_fork_command()` has exited.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“commit”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gchar       *text,
                   guint        size,
                   gpointer     user_data)

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.

#### Parameters

vteterminal | the object which received the signal |
text | a string of text |
size | the length of that string of text |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“contents-changed”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

Emitted whenever the visible appearance of the terminal has changed. Used primarily by VteTerminalAccessible.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“copy-clipboard”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

Emitted whenever `vte_terminal_copy_clipboard()` is called.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Action

### The `“current-directory-uri-changed”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

Emitted when the current directory URI is modified.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since 0.34

### The `“current-file-uri-changed”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

Emitted when the current file URI is modified.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since 0.34

### The `“cursor-moved”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

Emitted whenever the cursor moves to a new character cell. Used primarily by VteTerminalAccessible.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“decrease-font-size”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

Emitted when the user hits the '-' key while holding the Control key.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“deiconify-window”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

Emitted at the child application's request.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“emulation-changed”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

Emitted whenever the terminal's emulation changes, only possible at the parent application's request.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“encoding-changed”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

Emitted whenever the terminal's current encoding has changed, either as a result of receiving a control sequence which toggled between the local and UTF-8 encodings, or at the parent application's request.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“eof”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

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 “child-exited” signal.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“icon-title-changed”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

Emitted when the terminal's `icon_title` field is modified.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“iconify-window”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

Emitted at the child application's request.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“increase-font-size”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

Emitted when the user hits the '+' key while holding the Control key.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“lower-window”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

Emitted at the child application's request.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“maximize-window”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

Emitted at the child application's request.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“move-window”` signal

    void
    user_function (VteTerminal *vteterminal,
                   guint        x,
                   guint        y,
                   gpointer     user_data)

Emitted at the child application's request.

#### Parameters

vteterminal | the object which received the signal |
x | the terminal's desired location, X coordinate |
y | the terminal's desired location, Y coordinate |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“paste-clipboard”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

Emitted whenever `vte_terminal_paste_clipboard()` is called.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Action

### The `“raise-window”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

Emitted at the child application's request.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“refresh-window”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

Emitted at the child application's request.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“resize-window”` signal

    void
    user_function (VteTerminal *vteterminal,
                   guint        width,
                   guint        height,
                   gpointer     user_data)

Emitted at the child application's request.

#### Parameters

vteterminal | the object which received the signal |
width | the desired width in pixels, including padding |
height | the desired height in pixels, including padding |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“restore-window”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

Emitted at the child application's request.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“selection-changed”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

Emitted whenever the contents of terminal's selection changes.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“status-line-changed”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

Emitted whenever the contents of the status line are modified or cleared.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“text-deleted”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

An internal signal used for communication between the terminal and its accessibility peer. May not be emitted under certain circumstances.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“text-inserted”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

An internal signal used for communication between the terminal and its accessibility peer. May not be emitted under certain circumstances.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“text-modified”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

An internal signal used for communication between the terminal and its accessibility peer. May not be emitted under certain circumstances.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“text-scrolled”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gint         delta,
                   gpointer     user_data)

An internal signal used for communication between the terminal and its accessibility peer. May not be emitted under certain circumstances.

#### Parameters

vteterminal | the object which received the signal |
delta | the number of lines scrolled |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“window-title-changed”` signal

    void
    user_function (VteTerminal *vteterminal,
                   gpointer     user_data)

Emitted when the terminal's `window_title` field is modified.

#### Parameters

vteterminal | the object which received the signal |
user_data | user data set when the signal handler was connected. |

Flags: Run Last