Top | ![]() |
![]() |
![]() |
![]() |
Vte PTYVte PTY — Functions for starting a new process on a new pseudo-terminal and for manipulating pseudo-terminals |
VtePty * | vte_pty_new () |
VtePty * | vte_pty_new_foreign () |
void | vte_pty_close () |
void | vte_pty_child_setup () |
int | vte_pty_get_fd () |
gboolean | vte_pty_set_size () |
gboolean | vte_pty_get_size () |
void | vte_pty_set_term () |
gboolean | vte_pty_set_utf8 () |
gint | fd | Read / Write / Construct Only |
VtePtyFlags | flags | Read / Write / Construct Only |
gchar * | term | Read / Write |
The terminal widget uses these functions to start commands with new controlling pseudo-terminals and to resize pseudo-terminals.
VtePty * vte_pty_new (VtePtyFlags flags
,GError **error
);
Allocates a new pseudo-terminal.
You can later use fork()
or the g_spawn_async()
family of functions
to start a process on the PTY.
If using fork()
, you MUST call vte_pty_child_setup()
in the child.
If using g_spawn_async()
and friends, you MUST either use
vte_pty_child_setup()
directly as the child setup function, or call
vte_pty_child_setup()
from your own child setup function supplied.
When using vte_terminal_fork_command_full()
with a custom child setup
function, vte_pty_child_setup()
will be called before the supplied
function; you must not call it again.
Also, you MUST pass the G_SPAWN_DO_NOT_REAP_CHILD
flag.
If GNOME PTY Helper is available and
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 is 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.
Since 0.26
VtePty * vte_pty_new_foreign (int fd
,GError **error
);
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.
fd |
a file descriptor to the PTY. |
[transfer full] |
error |
return location for a GError, or |
[allow-none] |
Since 0.26
void
vte_pty_close (VtePty *pty
);
Cleans up the PTY, specifically any logging performed for the session. The file descriptor to the PTY master remains open.
Since 0.26
gboolean vte_pty_set_size (VtePty *pty
,int rows
,int columns
,GError **error
);
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.
pty |
a VtePty |
|
rows |
the desired number of rows |
|
columns |
the desired number of columns |
|
error |
(allow-none); return location to store a GError, or |
Since 0.26
gboolean vte_pty_get_size (VtePty *pty
,int *rows
,int *columns
,GError **error
);
Reads the pseudo terminal's window size.
If getting the window size failed, error
will be set to a GIOError.
pty |
a VtePty |
|
rows |
a location to store the number of rows, or |
[out][allow-none] |
columns |
a location to store the number of columns, or |
[out][allow-none] |
error |
return location to store a GError, or |
Since 0.26
void vte_pty_set_term (VtePty *pty
,const char *emulation
);
Sets what value of the TERM environment variable to set just after forking.
Since 0.26
gboolean vte_pty_set_utf8 (VtePty *pty
,gboolean utf8
,GError **error
);
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.
pty |
a VtePty |
|
utf8 |
whether or not the pty is in UTF-8 mode |
|
error |
return location to store a GError, or |
[allow-none] |
Since 0.26
don't record the session in lastlog |
||
don't record the session in utmp |
||
don't record the session in wtmp |
||
don't use the GNOME PTY helper to allocate the PTY |
||
when allocating the PTY with the PTY helper fails, don't fall back to try using PTY98 |
||
the default flags |
Since 0.26
“fd”
property “fd” gint
The file descriptor of the PTY master.
Flags: Read / Write / Construct Only
Allowed values: >= -1
Default value: -1
Since 0.26
“flags”
property“flags” VtePtyFlags
Controls how the session is recorded in lastlog, utmp, and wtmp, and whether to use the GNOME PTY helper.
Flags: Read / Write / Construct Only
Since 0.26