Allocates a new pseudo-terminal. You can later use fork() or the g_spawn_async() familty of functions to start a process on the PTY. If using fork(), you MUST call vte_pty_child_setup() in the child. If using g_spawn_async() and friends, you MUST either use vte_pty_child_setup () directly as the child setup function, or call vte_pty_child_setup() from your own child setup function supplied. Also, you MUST pass the %G_SPAWN_DO_NOT_REAP_CHILD flag. When using the GNOME PTY Helper, unless some of the %VTE_PTY_NO_LASTLOG, %VTE_PTY_NO_UTMP or %VTE_PTY_NO_WTMP flags are passed in @flags, the session is logged in the corresponding lastlog, utmp or wtmp system files. When passing %VTE_PTY_NO_HELPER in @flags, the GNOME PTY Helper bypassed entirely. When passing %VTE_PTY_NO_FALLBACK in @flags, and opening a PTY using the PTY helper fails, there will be no fallback to allocate a PTY using Unix98 PTY functions. a new #VtePty, or %NULL on error with @error filled in flags from #VtePtyFlags Creates a new #VtePty for the PTY master @fd. No entry will be made in the lastlog, utmp or wtmp system files. Note that the newly created #VtePty will take ownership of @fd and close it on finalize. a new #VtePty for @fd, or %NULL on error with @error filled in a file descriptor to the PTY FIXMEchpe Cleans up the PTY, specifically any logging performed for the session. The file descriptor to the PTY master remains open. file descriptor belongs to @pty and must not be closed the file descriptor of the PTY master in @pty. The Reads the pseudo terminal's window size. If getting the window size failed, @error will be set to a #GIOError. %TRUE on success, %FALSE on failure with @error filled in a location to store the number of rows, or %NULL a location to store the number of columns, or %NULL Attempts to resize the pseudo terminal's window size. If successful, the OS kernel will send #SIGWINCH to the child process group. If setting the window size failed, @error will be set to a #GIOError. %TRUE on success, %FALSE on failure with @error filled in the desired number of rows the desired number of columns Sets what value of the TERM environment variable to set just after forking. the name of a terminal description, or %NULL Tells the kernel whether the terminal is UTF-8 or not, in case it can make use of the info. Linux 2.6.5 or so defines IUTF8 to make the line discipline do multibyte backspace correctly. %TRUE on success, %FALSE on failure with @error filled in whether or not the pty is in UTF-8 mode The file descriptor of the PTY master. Controls how the session is recorded in lastlog, utmp, and wtmp, and whether to use the GNOME PTY helper. The value to set for the TERM environment variable just after forking. Specifies the type of a selection function used to check whether a cell has to be selected or not. %TRUE if cell has to be selected; %FALSE if otherwise. terminal in which the cell is. column in which the cell is. row in which the cell is. user data. All of these fields should be considered read-only and deprecated. Creates a new terminal widget. a new #VteTerminal object Places the selected text in the terminal in the #GDK_SELECTION_CLIPBOARD selection. Places the selected text in the terminal in the #GDK_SELECTION_PRIMARY selection. Interprets @data as if it were data received from a child process. This can either be used to drive the terminal without a child process, or just to mess with your users. a string in the terminal's current encoding the length of the string Sends a block of UTF-8 text to the child as if it were entered by the user at the keyboard. data to send to the child length of @text in bytes, or -1 if @text is NUL-terminated Sends a block of binary data to the child. data to send to the child length of @data 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. 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. %TRUE on success, or %FALSE on error with @error filled in flags from #VtePtyFlags the name of a directory the command should start in, or %NULL to use the current working directory child's argument vector a list of environment variables to be added to the environment before starting the process, or %NULL flags from #GSpawnFlags function to run in the child just before exec(), or %NULL user data for @child_setup a location to store the child PID, or %NULL An accessor function provided for the benefit of language bindings. the contents of @terminal's adjustment field Checks whether or not the terminal will attempt to draw bold text by repainting text with a one-pixel offset. %TRUE if bolding is enabled, %FALSE if not Checks whether or not the terminal will beep when the child outputs the "bl" sequence. %TRUE if audible bell is enabled, %FALSE if not the height of a character cell the width of a character cell 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 #VteTerminal::child-exited signal. the child's exit status the number of columns Returns the currently set cursor blink mode. cursor blink mode. Reads the location of the insertion cursor and returns it. The row coordinate is absolute. a location to store the column, or %NULL Returns the currently set cursor shape. cursor shape. Queries the terminal for its default emulation, which is attempted if the terminal type passed to vte_terminal_set_emulation() is %NULL. type the widget attempts to emulate an interned string containing the name of the default terminal Queries the terminal for its current emulation, as last set by a call to vte_terminal_set_emulation(). widget is attempting to emulate an interned string containing the name of the terminal type the Determines the name of the encoding in which the terminal expects data to be encoded. the current encoding for the terminal Queries the terminal for information about the fonts which will be used to draw text in the terminal. currently using to render text a #PangoFontDescription describing the font the terminal is Checks if the terminal currently contains selected text. Note that this is different from determining if the terminal is the owner of any #GtkClipboard items. %TRUE if part of the text in the terminal is selected. the icon title Determines the value of the terminal's mouse autohide setting. When autohiding is enabled, the mouse cursor will be hidden when the user presses a key and shown when the user moves the mouse. This setting can be changed using vte_terminal_set_mouse_autohide(). %TRUE if autohiding is enabled, %FALSE if not Returns the #VtePty of @terminal. a #VtePty, or %NULL the number of rows 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. For terminals like "xterm", this will usually be the empty string. The string must not be modified or freed by the caller. the current contents of the terminal's status line. 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. a newly allocated text string, or %NULL. a #VteSelectionFunc callback user data to be passed to the callback location for storing text attributes Extracts a view of the visible part of the terminal. If @is_selected is not %NULL, characters will only be read if @is_selected returns %TRUE after being passed the column and row, respectively. A #VteCharAttributes structure is added to @attributes for each byte added to the returned string detailing the character's position, colors, and other characteristics. This function differs from vte_terminal_get_text() in that trailing spaces at the end of lines are included. a newly allocated text string, or %NULL. a #VteSelectionFunc callback user data to be passed to the callback location for storing text attributes Extracts a view of the visible part of the terminal. If @is_selected is not %NULL, characters will only be read if @is_selected returns %TRUE after being passed the column and row, respectively. A #VteCharAttributes structure is added to @attributes for each byte added to the returned string detailing the character's position, colors, and other characteristics. The entire scrollback buffer is scanned, so it is possible to read the entire contents of the buffer using this function. a newly allocated text string, or %NULL. first row to search for data first column to search for data last row to search for data last column to search for data a #VteSelectionFunc callback user data to be passed to the callback location for storing text attributes 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. %TRUE if visible bell is enabled, %FALSE if not the window title 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. a GtkMenuShell 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(). %TRUE if the character is considered to be part of a word a candidate Unicode code point Adds the regular expression @regex to the list of matching expressions. When the user moves the mouse cursor over a section of displayed text which matches this expression, the text will be highlighted. an integer associated with this expression a #GRegex the #GRegexMatchFlags to use when matching the regex 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. set regular expressions a newly allocated string which matches one of the previously the text column the text row a location to store the tag, or %NULL Clears the list of regular expressions the terminal uses to highlight text when the user moves the mouse cursor. 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. the tag of the regex to remove Sets which cursor the terminal will use if the pointer is over the pattern specified by @tag. The terminal keeps a reference to @cursor. the tag of the regex which should use the specified cursor the #GdkCursor which the terminal should use when the pattern is highlighted, or %NULL to use the standard cursor Sets which cursor the terminal will use if the pointer is over the pattern specified by @tag. the tag of the regex which should use the specified cursor the name of the cursor Sets which cursor the terminal will use if the pointer is over the pattern specified by @tag. the tag of the regex which should use the specified cursor a #GdkCursorType Sends the contents of the #GDK_SELECTION_CLIPBOARD selection to the terminal's child. 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. 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. Creates a new #VtePty, and sets the emulation property from #VteTerminal:emulation. See vte_pty_new() for more information. a new #VtePty flags from #VtePtyFlags 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. whether to reset tabstops whether to empty the terminal's scrollback buffer Searches the next string matching the search regex set with vte_terminal_search_set_gregex(). %TRUE if a match was found Searches the previous string matching the search regex set with vte_terminal_search_set_gregex(). %TRUE if a match was found the search #GRegex regex set in @terminal, or %NULL whether searching will wrap around Sets the #GRegex regex to search for. Unsets the search regex when passed %NULL. a #GRegex, or %NULL Sets whether search should wrap around to the beginning of the terminal content when reaching its end. whether search should wrap Selects all text within the terminal (including the scrollback buffer). Clears the current selection. 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. %TRUE if the terminal should attempt to draw bold text Controls whether or not the terminal will beep when the child outputs the "bl" sequence. %TRUE if the terminal should beep 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. a #GdkPixbuf to use, or %NULL to unset the background 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. path to an image file 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. a floating point value between 0.0 and 1.0. 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. a color which the terminal background should be tinted to if its saturation is not 1.0. 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. whether the terminal should fake transparency Modifies the terminal's backspace key binding, which controls what string or control sequence the terminal sends to its child when the user presses the backspace key. a #VteTerminalEraseBinding for the backspace key 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. the new background color Sets the color used to draw bold text in the default foreground color. the new bold color 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. the new color to use for the text cursor, or %NULL Sets the color used to draw dim text in the default foreground color. the new dim color Sets the foreground color used to draw normal text the new foreground color Sets the background color for text which is highlighted. If %NULL, highlighted text (which is usually highlighted because it is selected) will be drawn with foreground and background colors reversed. the new color to use for highlighted text, or %NULL 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. If @foreground is %NULL and the new background color is taken from @palette[0]. If 8-color palettes are extrapolated from the new background color and the items in @palette. the new foreground color, or %NULL the new background color, or %NULL the color palette the number of entries in @palette Sets whether or not the cursor will blink. Using %VTE_CURSOR_BLINK_SYSTEM will use the #GtkSettings::gtk-cursor-blink setting. the #VteTerminalCursorBlinkMode to use Sets the shape of the cursor drawn. the #VteTerminalCursorShape to use Reset the terminal palette to reasonable compiled-in default color. Modifies the terminal's delete key binding, which controls what string or control sequence the terminal sends to its child when the user presses the delete key. a #VteTerminalEraseBinding for the delete key 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". the name of a terminal description, or %NULL to use the default 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. a valid #GIConv target, or %NULL to use the default encoding 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. a #PangoFontDescription for the desired font, or %NULL A convenience function which converts @name into a #PangoFontDescription and passes it to vte_terminal_set_font(). a pango font description in string form 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(). whether the mouse pointer should autohide Sets the opacity of the terminal background, were 0 means completely transparent and 65535 means completely opaque. the new opacity Sets @pty as the PTY to use in @terminal. Use %NULL to unset the PTY. a #VtePty, or %NULL Controls whether or not the terminal will scroll the background image (if one is set) when the text in the window must be scrolled. whether the terminal should scroll the background image along with the text 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. whether the terminal should scroll on keystrokes Controls whether or not the terminal will forcibly scroll to the bottom of the viewable history when the new data is received from the child. whether the terminal should scroll on output Sets the length of the scrollback buffer used by the terminal. The size of the scrollback buffer will be set to the larger of this value and the number of visible rows the widget can display, so 0 can safely be used to disable scrollback. A negative value means "infinite scrollback". Note that this setting only affects the normal screen buffer. For terminal types which have an alternate screen buffer, no scrollback is allowed on the alternate screen buffer. the length of the history buffer Attempts to change the terminal's size in terms of rows and columns. If the attempt succeeds, the widget will resize itself to the proper size. the desired number of columns the desired number of rows 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. whether the terminal should flash on bell 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. a specification Watches @child_pid. When the process exists, the #VteReaper::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. been called for @child_pid, nor a #GSource for it been created with g_child_watch_source_new(). the %G_SPAWN_DO_NOT_REAP_CHILD flag MUST have been passed. a #GPid Write contents of the current contents of @terminal (including any scrollback history) to @stream according to @flags. If @cancellable is not %NULL, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned in @error. This is a synchronous operation and will make the widget (and input processing) during the write operation, which may take a long time depending on scrollback history and @stream availability for writing. %TRUE on success, %FALSE if there was an error a #GOutputStream to write to a set of #VteTerminalWriteFlags a #GCancellable object, or %NULL Controls whether or not the terminal will attempt to draw bold text. This may happen either by using a bold font variant, or by repainting text with a different offset. Controls whether or not the terminal will beep when the child outputs the "bl" sequence. Sets a background image file for the widget. If specified by #VteTerminal:background-saturation:, the terminal will tint its in-memory copy of the image before applying it to the terminal. 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 #VteTerminal:background-saturation:, the terminal will tint its in-memory copy of the image before applying it to the terminal. Sets the opacity of the terminal background, were 0.0 means completely transparent and 1.0 means completely opaque. #VteTerminal:background-image-pixbuf:, or #VteTerminal: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-image-pixbuf:, or #VteTerminal:background-transparent:, and 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. 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. set a RGBA colourmap on the toplevel window, so you get real transparency. *Controls what string or control sequence the terminal sends to its child when the user presses the backspace key. Sets whether or not the cursor will blink. Using %VTE_CURSOR_BLINK_SYSTEM will use the #GtkSettings::gtk-cursor-blink setting. Controls the shape of the cursor. Controls what string or control sequence the terminal sends to its child when the user presses the delete key. 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". 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. Specifies the font used for rendering all text displayed by the terminal, overriding any fonts set using gtk_widget_modify_font(). The terminal will immediately attempt to load the desired font, retrieve its metrics, and attempt to resize itself to keep the same number of rows and columns. The terminal's so-called icon title, or %NULL if no icon title has been set. Controls the value of the terminal's mouse autohide setting. When autohiding is enabled, the mouse cursor will be hidden when the user presses a key and shown when the user moves the mouse. The file descriptor of the master end of the terminal's PTY. The PTY object for the terminal. Controls whether or not the terminal will scroll the background image (if one is set) when the text in the window must be scrolled. Controls whether or not the terminal will forcibly scroll to the bottom of the viewable history when the user presses a key. Modifier keys do not trigger this behavior. Controls whether or not the terminal will forcibly scroll to the bottom of the viewable history when the new data is received from the child. The length of the scrollback buffer used by the terminal. The size of the scrollback buffer will be set to the larger of this value and the number of visible rows the widget can display, so 0 can safely be used to disable scrollback. Note that this setting only affects the normal screen buffer. For terminal types which have an alternate screen buffer, no scrollback is allowed on the alternate screen buffer. Controls whether 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. The terminal's title. 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. This signal is emitted when the a child sends a beep request to the terminal. Emitted whenever selection of a new font causes the values of the %char_width or %char_height fields to change. the new character cell width the new character cell height This signal is emitted when the terminal detects that a child started using vte_terminal_fork_command() has exited. Emitted whenever the terminal receives input from the user and prepares to send it to the child process. The signal is emitted even when there is no child process. a string of text the length of that string of text Emitted whenever the visible appearance of the terminal has changed. Used primarily by #VteTerminalAccessible. Emitted whenever vte_terminal_copy_clipboard() is called. Emitted whenever the cursor moves to a new character cell. Used primarily by #VteTerminalAccessible. Emitted when the user hits the '-' key while holding the Control key. Emitted at the child application's request. Emitted whenever the terminal's emulation changes, only possible at the parent application's request. 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. Emitted when the terminal receives an end-of-file from a child which is running in the terminal. This signal is frequently (but not always) emitted with a #VteTerminal::child-exited signal. Emitted when the terminal's %icon_title field is modified. Emitted at the child application's request. Emitted when the user hits the '+' key while holding the Control key. Emitted at the child application's request. Emitted at the child application's request. Emitted at the child application's request. the terminal's desired location, X coordinate the terminal's desired location, Y coordinate Emitted whenever vte_terminal_paste_clipboard() is called. Emitted at the child application's request. Emitted at the child application's request. Emitted at the child application's request. the desired width in pixels, including padding the desired height in pixels, including padding Emitted at the child application's request. Emitted whenever the contents of terminal's selection changes. Set the scroll adjustments for the terminal. Usually scrolled containers like #GtkScrolledWindow will emit this signal to connect two instances of #GtkScrollbar to the scroll directions of the #VteTerminal. the horizontal #GtkAdjustment (unused in #VteTerminal) the vertical #GtkAdjustment Emitted whenever the contents of the status line are modified or cleared. An internal signal used for communication between the terminal and its accessibility peer. May not be emitted under certain circumstances. An internal signal used for communication between the terminal and its accessibility peer. May not be emitted under certain circumstances. An internal signal used for communication between the terminal and its accessibility peer. May not be emitted under certain circumstances. An internal signal used for communication between the terminal and its accessibility peer. May not be emitted under certain circumstances. the number of lines scrolled Emitted when the terminal's %window_title field is modified. An enumeration describing which anti-alias setting to use. All of these fields should be considered read-only, except for derived classes. An enumerated type which can be used to indicate the cursor blink mode for the terminal. An enumerated type which can be used to indicate what should the terminal draw at the cursor position. 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. A flag type to determine how terminal contents should be written to an output stream. Error domain for VTE PTY errors. Errors in this domain will be from the #VtePtyError enumeration. See #GError for more information on error domains. the error domain for VTE PTY errors