logo
Expand description

Spawn commands outside the sandbox or monitor if the running application has received an update & install it.

Examples

Spawn a process outside of the sandbox, only works in a Flatpak.

use std::collections::HashMap;

use ashpd::flatpak::{FlatpakProxy, SpawnFlags, SpawnOptions};
use enumflags2::BitFlags;

async fn run() -> ashpd::Result<()> {
    let connection = zbus::Connection::session().await?;
    let proxy = FlatpakProxy::new(&connection).await?;

    proxy
        .spawn(
            "/",
            &["contrast"],
            HashMap::new(),
            HashMap::new(),
            SpawnFlags::ClearEnv | SpawnFlags::NoNetwork,
            SpawnOptions::default(),
        )
        .await?;

    Ok(())
}

Structs

The interface exposes some interactions with Flatpak on the host to the sandbox. For example, it allows you to restart the applications or start a more sandboxed instance.

Specified options for a FlatpakProxy::spawn request.

A response containing the update information when an update is available.

The interface exposes some interactions with Flatpak on the host to the sandbox. For example, it allows you to restart the applications or start a more sandboxed instance.

A response of the update progress signal.

Enums

A bitmask representing the “permissions” of a newly created sandbox.

Flags affecting the created sandbox.

Flags marking what optional features are available.

The update status.