Runic.Platform.Linux 0.3.0-preview.1

This is a prerelease version of Runic.Platform.Linux.
dotnet add package Runic.Platform.Linux --version 0.3.0-preview.1
                    
NuGet\Install-Package Runic.Platform.Linux -Version 0.3.0-preview.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Runic.Platform.Linux" Version="0.3.0-preview.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Runic.Platform.Linux" Version="0.3.0-preview.1" />
                    
Directory.Packages.props
<PackageReference Include="Runic.Platform.Linux" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Runic.Platform.Linux --version 0.3.0-preview.1
                    
#r "nuget: Runic.Platform.Linux, 0.3.0-preview.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Runic.Platform.Linux@0.3.0-preview.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Runic.Platform.Linux&version=0.3.0-preview.1&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Runic.Platform.Linux&version=0.3.0-preview.1&prerelease
                    
Install as a Cake Tool

Runic.Platform.Linux

Portal file dialogs with GTK3 parenting and text clipboard for Linux x64. Register this provider only in the Linux Desktop host; the package references the shared runtime and no Desktop, ASP.NET Core, Windows or macOS assemblies. Factory creation does not initialize GTK or load native libraries. Supply the verified GTK owner dispatcher.

LinuxPlatformProvider.CreateFileDialogs(owner) uses direct XDG portal dialogs, with GTK3 X11/Wayland parent export. The desktop chooses the portal backend, so Plasma can show KDE's picker. A failed parent export never opens an unparented window, and a missing portal never triggers an implicit toolkit fallback.

CreateGtkNativeFileDialogs(owner) explicitly selects the previous GTK-native chooser for an unsandboxed compatibility application. Flatpak and Snap must use the portal path. Portal selections reject sibling staging before an atomic save transaction changes a file; see portal behavior. A session bus, GTK3, a display and the appropriate portal backend must be installed.

CreateTextClipboard(owner) serves UTF-8 text with GTK selection ownership. Read limits bound managed decoding and string allocation; GTK itself receives the native selection before reporting its byte length. No offered UTF8_STRING target returns null, while an offered empty target returns an empty string. A failed advertised transfer reports IoError. GTK does not expose a separate permission code for transfer refusal. Concurrent access reports ResourceBusy. A successful write means GTK acquired ownership; it does not promise clipboard-manager persistence when the application exits. Write cancellation is checked before acquisition and cannot replace the actual result once acquisition starts.

Dispose the clipboard while the presentation dispatcher still runs. Disposal drains pending selection callbacks and releases only this instance's current ownership. Cancellation drains GTK's callback before completing; it does not revoke native callback memory. The embedding host must keep its GTK event loop alive until drain finishes. External clipboard owners can delay responses according to GTK's native selection timeout.

Xvfb tests cover X11 mechanics only. Actual selected-file, Wayland/portal, keyboard, Orca, IME, scaling and installed-app evidence is required separately; this package does not claim those gates passed from a headless test. Directory selection and persisted portal grants are outside the preview contract.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.3.0-preview.1 49 9/11/2026
0.2.0-preview.1 60 9/9/2026