<!-- ##### SECTION ./tmpl/pty.sgml:Long_Description ##### -->
<para>
The terminal widget uses these functions to start commands with new controlling
pseudo-terminals and to resize psuedo-terminals.
</para>


<!-- ##### SECTION ./tmpl/pty.sgml:See_Also ##### -->
<para>

</para>


<!-- ##### SECTION ./tmpl/pty.sgml:Short_Description ##### -->
Functions for starting a new process on a new pseudo-terminal and for
manipulating psuedo-terminals.


<!-- ##### SECTION ./tmpl/pty.sgml:Title ##### -->
pty


<!-- ##### SECTION ./tmpl/reaper.sgml.sgml:Long_Description ##### -->
<para>

</para>


<!-- ##### SECTION ./tmpl/reaper.sgml.sgml:See_Also ##### -->
<para>

</para>


<!-- ##### SECTION ./tmpl/reaper.sgml.sgml:Short_Description ##### -->



<!-- ##### SECTION ./tmpl/reaper.sgml.sgml:Title ##### -->
reaper.sgml


<!-- ##### SECTION ./tmpl/reaper.sgml:Long_Description ##### -->
<para>
Because an application may need to be notified when child processes
exit, and because there is only one %SIGCHLD handler, the #VteTerminal
widget relies on a #VteReaper to watch for %SIGCHLD notifications and
retrieve the exit status of child processes which have exited.  When
glib provides child_watch functionality, the #VteReaper merely acts as
a proxy for glib's own functionality.
</para>


<!-- ##### SECTION ./tmpl/reaper.sgml:See_Also ##### -->
<para>

</para>


<!-- ##### SECTION ./tmpl/reaper.sgml:Short_Description ##### -->
A singleton object which catches %SIGCHLD signals and converts them into
GObject-style &quot;child-exited&quot; signals.


<!-- ##### SECTION ./tmpl/reaper.sgml:Stability_Level ##### -->



<!-- ##### SECTION ./tmpl/reaper.sgml:Title ##### -->
VteReaper


<!-- ##### SECTION ./tmpl/vte-unused.sgml:Stability_Level ##### -->



<!-- ##### SECTION ./tmpl/vtebg.sgml:Long_Description ##### -->
<para>

</para>


<!-- ##### SECTION ./tmpl/vtebg.sgml:See_Also ##### -->
<para>

</para>


<!-- ##### SECTION ./tmpl/vtebg.sgml:Short_Description ##### -->



<!-- ##### SECTION ./tmpl/vtebg.sgml:Title ##### -->
VteBg


<!-- ##### MACRO VTE_BG ##### -->
<para>

</para>

@obj: 

<!-- ##### MACRO VTE_BGWATCHER ##### -->
<para>

</para>

@obj: 

<!-- ##### MACRO VTE_BGWATCHER_CLASS ##### -->
<para>

</para>

@klass: 

<!-- ##### MACRO VTE_BGWATCHER_GET_CLASS ##### -->
<para>

</para>

@obj: 

<!-- ##### MACRO VTE_BG_CLASS ##### -->
<para>

</para>

@klass: 

<!-- ##### MACRO VTE_BG_GET_CLASS ##### -->
<para>

</para>

@obj: 

<!-- ##### MACRO VTE_META_MASK ##### -->
<para>

</para>


<!-- ##### MACRO VTE_NUMLOCK_MASK ##### -->
<para>

</para>


<!-- ##### STRUCT VteBg ##### -->
<para>

</para>

@parent: 
@root_pixmap: 
@native: 
@pvt: 

<!-- ##### STRUCT VteBgClass ##### -->
<para>

</para>

@parent_class: 
@root_pixmap_changed: 

<!-- ##### STRUCT VteBgWatcher ##### -->
<para>

</para>

@object: 
@pixbuf: 
@pixmap: 

<!-- ##### STRUCT VteBgWatcherClass ##### -->
<para>

</para>

@parent_class: 
@background_changed_signal: 

<!-- ##### ENUM VteDebugFlags ##### -->
<para>

</para>

@VTE_DEBUG_MISC: 
@VTE_DEBUG_PARSE: 
@VTE_DEBUG_IO: 
@VTE_DEBUG_UPDATES: 
@VTE_DEBUG_EVENTS: 
@VTE_DEBUG_SIGNALS: 
@VTE_DEBUG_SELECTION: 
@VTE_DEBUG_SUBSTITUTION: 
@VTE_DEBUG_RING: 
@VTE_DEBUG_PTY: 
@VTE_DEBUG_CURSOR: 
@VTE_DEBUG_KEYBOARD: 
@VTE_DEBUG_LIFECYCLE: 

<!-- ##### STRUCT VteReaper ##### -->
<para>
This should not be accessed directly.
</para>


<!-- ##### SIGNAL VteReaper::child-exited ##### -->
<para>
Emitted when the #VteReaper object detects that a child of the current process has exited.
</para>

@vtereaper: the object which received the signal.
@arg1: the process ID of the exited child.
@arg2: the status of the exited child, as returned by waitpid().

<!-- ##### STRUCT VteReaperClass ##### -->
<para>

</para>

@parent_class: 
@child_exited_signal: 

<!-- ##### STRUCT VteRing ##### -->
<para>

</para>

@free: 
@user_data: 
@array: 
@delta: 
@length: 
@max: 

<!-- ##### USER_FUNCTION VteRingFreeFunc ##### -->
<para>

</para>

@freeing: 
@data: 

<!-- ##### ARG VteTerminal:font ##### -->
<para>

</para>


<!-- ##### ARG VteTerminal:font-antialias ##### -->
<para>

</para>


<!-- ##### STRUCT VteTerminalClass ##### -->
<para>

</para>

@parent_class: 

<!-- ##### STRUCT VteTerminalPrivate ##### -->
<para>

</para>


<!-- ##### FUNCTION vte_bg_get ##### -->
<para>

</para>

@Returns: 

<!-- ##### FUNCTION vte_bg_get_pixbuf ##### -->
<para>

</para>

@bg: 
@Returns: 

<!-- ##### FUNCTION vte_bg_get_pixmap ##### -->
<para>

</para>

@bg: 
@Returns: 

<!-- ##### FUNCTION vte_bg_get_type ##### -->
<para>

</para>

@Returns: 

<!-- ##### FUNCTION vte_bg_watcher_get ##### -->
<para>

</para>

@Returns: 

<!-- ##### FUNCTION vte_bg_watcher_get_pixbuf ##### -->
<para>

</para>

@watcher: 
@Returns: 

<!-- ##### FUNCTION vte_bg_watcher_get_pixmap ##### -->
<para>

</para>

@watcher: 
@Returns: 

<!-- ##### FUNCTION vte_bg_watcher_get_type ##### -->
<para>

</para>

@Returns: 

<!-- ##### STRUCT vte_buffer ##### -->
<para>

</para>

@bytes: 

<!-- ##### STRUCT vte_capability_quark ##### -->
<para>

</para>

@capability: 
@key: 
@quark: 

<!-- ##### STRUCT vte_capability_string ##### -->
<para>

</para>

@quark: 

<!-- ##### FUNCTION vte_pty_get_size ##### -->
<para>

</para>

@master: 
@columns: 
@rows: 
@Returns: 

<!-- ##### FUNCTION vte_pty_open ##### -->
<para>

</para>

@child: 
@env_add: 
@command: 
@argv: 
@directory: 
@columns: 
@rows: 
@lastlog: 
@utmp: 
@wtmp: 
@Returns: 

<!-- ##### FUNCTION vte_pty_set_size ##### -->
<para>

</para>

@master: 
@columns: 
@rows: 
@Returns: 

<!-- ##### FUNCTION vte_reaper_add_child ##### -->
<para>

</para>

@pid: 
@Returns: 

<!-- ##### FUNCTION vte_reaper_get ##### -->
<para>

</para>

@Returns: 

<!-- ##### FUNCTION vte_ring_append ##### -->
<para>

</para>

@ring: 
@data: 

<!-- ##### FUNCTION vte_ring_at ##### -->
<para>

</para>

@ring: 
@Param2: 
@Returns: 

<!-- ##### FUNCTION vte_ring_contains ##### -->
<para>

</para>

@ring: 
@Param2: 
@Returns: 

<!-- ##### FUNCTION vte_ring_delta ##### -->
<para>

</para>

@ring: 
@Returns: 

<!-- ##### FUNCTION vte_ring_free ##### -->
<para>

</para>

@ring: 
@free_elements: 

<!-- ##### MACRO vte_ring_index ##### -->
<para>

</para>

@ring: 
@cast: 
@position: 

<!-- ##### FUNCTION vte_ring_insert ##### -->
<para>

</para>

@ring: 
@Param2: 
@data: 

<!-- ##### FUNCTION vte_ring_length ##### -->
<para>

</para>

@ring: 
@Returns: 

<!-- ##### FUNCTION vte_ring_new ##### -->
<para>

</para>

@Param1: 
@free: 
@data: 
@Returns: 

<!-- ##### FUNCTION vte_ring_next ##### -->
<para>

</para>

@ring: 
@Returns: 

<!-- ##### FUNCTION vte_ring_remove ##### -->
<para>

</para>

@ring: 
@Param2: 
@free_element: 

<!-- ##### FUNCTION vte_terminal_fork_logged_command ##### -->
<para>

</para>

@terminal: 
@command: 
@argv: 
@envv: 
@lastlog: 
@utmp: 
@wtmp: 
@Returns: 

