Arcane OS Docs Development only

Reference

Arcane.applications.launch()

Asks the host to dispatch a registered application. Acceptance does not prove that the target rendered, became ready, or remained open. The RPC authority name is apps.launch.

  • Reference

This focused page is derived from the mechanically checked full member inventory.

Syntax

Arcane.applications.launch(id)

Parameters

Canonical application ID from the current catalog

Return value

Promise<{id, accepted:true}>

Description

Asks the host to dispatch a registered application. Acceptance does not prove that the target rendered, became ready, or remained open. The RPC authority name is apps.launch.

Overview

Arcane.applications.launch(id) asks the host to dispatch one installed application from the catalog returned by applications.list(). It is a non-idempotent application-dispatch operation. The method is available only to the bound shell or terminal application with applications.launch on Core or Android.

Pass the unchanged canonical id from the current catalog. It must be a lower-case hyphenated application id no longer than 64 characters; reserved host identities such as Shell and Provisioner are not application launch targets. Android additionally requires the generated APK to be installed and launchable.

Result and lifecycle

The exact result is { id, accepted: true }. accepted means the host accepted the dispatch request. It does not prove that the target rendered successfully, became ready, or remained open. There is no portable public launch-completion event, so do not wait for one or retry automatically after an ambiguous transport failure.

Errors and recovery

Use the current catalog again after APPLICATION_NOT_FOUND. Wait for an active installation or application shutdown after APPLICATION_INSTALL_BUSY or APPLICATIONS_BUSY. INVALID_APPLICATION_ID and INVALID_APPLICATION_REQUEST indicate caller input. Adapter or dispatch failures use APPLICATION_ADAPTER_UNAVAILABLE, APPLICATION_LAUNCH_FAILED, or APPLICATION_LAUNCH_REJECTED; repair the host if a catalog-listed application repeatedly fails.

Example

document.querySelector('#launch-files')?.addEventListener(
    'click',
    async function handleApplicationLaunch() {
        const catalog = await Arcane.applications.list();
        const filesApp = catalog.applications.find(function findFilesApp(application) {
            return application.id === 'files';
        });
        if (!filesApp) return;

        const launch = await Arcane.applications.launch(filesApp.id);
        console.log('Dispatch accepted', launch.id, launch.accepted);
    }
);

Reference group

Applications, terminal, and capabilities

Repository and reviewed source access