PortalApplication class

Namespace Runic.Platform.Linux.Portal · Runic.Platform.Linux.Portal 0.7.0-preview.5

public sealed class PortalApplication

Immutable application identity shared by toolkit-independent portal services.

Remarks

Configure once at application composition. Each service retains its own connection and lifetime; this object requires no disposal. A supplied host ID requires a matching installed desktop entry. Omitting the ID retains desktop-inferred identity for development or externally identified applications.

Constructors

PortalApplication

public PortalApplication(string? applicationId = null, Action<PortalDiagnostic>? diagnosticSink = null)

Creates one identity configuration to use across all portal services.

Properties

ApplicationId

public string? ApplicationId { get; }

The installed reverse-DNS application identifier, or null for desktop-inferred identity.

Methods

CreateFileDialogs

public IPickerBackend CreateFileDialogs(IPortalWindowOwner owner)

Creates portal file dialogs for a presentation owner.

CreateFileLauncher

public IDesktopFileLauncher CreateFileLauncher(IPortalWindowOwner owner)

Creates file handoffs for a presentation owner.

CreateInhibition

public IDesktopInhibition CreateInhibition(IPortalWindowOwner owner)

Creates operation-scoped idle power inhibition associated with a presentation owner.

CreateNotifications

public IDesktopNotifications CreateNotifications()

Creates application-scoped notifications; only one service may own this application bus name.

CreateSettings

public IDesktopSettings CreateSettings()

Creates application-scoped appearance preferences.

CreateUnparentedFileDialogs

public IPickerBackend CreateUnparentedFileDialogs()

Creates explicitly unparented file dialogs for a hostless application.

OpenUriAsync

public ValueTask<PlatformResult<PlatformUnit>> OpenUriAsync(IPortalWindowOwner owner, Uri uri, CancellationToken cancellationToken = default)

Asks the desktop to open an HTTP, HTTPS or mail URI for this presentation.