Vte.Terminal.spawn_async

### Method

# Vte Terminalspawn_async

since: 0.48

#### Declaration [src]

    void
    vte_terminal_spawn_async (
      VteTerminal* terminal,
      VtePtyFlags pty_flags,
      const char* working_directory,
      char** argv,
      char** envv,
      GSpawnFlags spawn_flags,
      GSpawnChildSetupFunc child_setup,
      gpointer child_setup_data,
      GDestroyNotify child_setup_data_destroy,
      int timeout,
      GCancellable* cancellable,
      VteTerminalSpawnAsyncCallback callback,
      gpointer user_data
    )

#### Description [src]

A convenience function that wraps creating the `VtePty` and spawning the child process on it. Like vte_terminal_spawn_with_fds_async(), except that this function does not allow passing file descriptors to the child process. See `vte_terminal_spawn_with_fds_async()` for more information.

Available since: 0.48

#### Parameters

`pty_flags`

  Type: `VtePtyFlags`

  Flags from `VtePtyFlags`.

`working_directory`

  Type: `const char*`

  The name of a directory the command should start in, or `NULL` to use the current working directory.

  The argument can be `NULL`.
  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`argv`

  Type: An array of `filename`

  Child’s argument vector.

  The array must be `NULL`-terminated.
  The data is owned by the caller of the method.
  Each element is a file system path, using the OS encoding.

`envv`

  Type: An array of `filename`

  A list of environment variables to be added to the environment before starting the process, or `NULL`.

  The argument can be `NULL`.
  The array must be `NULL`-terminated.
  The data is owned by the caller of the method.
  Each element is a file system path, using the OS encoding.

`spawn_flags`

  Type: `GSpawnFlags`

  Flags from `GSpawnFlags`.

`child_setup`

  Type: `GSpawnChildSetupFunc`

  An extra child setup function to run in the child just before exec(), or `NULL`.

  The argument can be `NULL`.

`child_setup_data`

  Type: `gpointer`

  User data for `child_setup`, or `NULL`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

`child_setup_data_destroy`

  Type: `GDestroyNotify`

  A `GDestroyNotify` for `child_setup_data`, or `NULL`.

  The argument can be `NULL`.

`timeout`

  Type: `int`

  A timeout value in ms, -1 for the default timeout, or G_MAXINT to wait indefinitely.

`cancellable`

  Type: `GCancellable`

  A `GCancellable`, or `NULL`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

`callback`

  Type: `VteTerminalSpawnAsyncCallback`

  A `VteTerminalSpawnAsyncCallback`, or `NULL`.

  The argument can be `NULL`.

`user_data`

  Type: `gpointer`

  User data for `callback`, or `NULL`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.