https://github.com/XDX-Org/PhotinoXDX
its me branched from this, as a group org doing multiple things
PhotinoEx is a Fork of Photino aiming to fix up bugs, add features and move one part of the project from C++ to C#.
I'm hoping this will make it easier to debug and develop on.
Currently do not use this in production. Once feature parity is done, i'll start working on some fixes/features from the old repo.
- Dotnet 10.
- Windows: the Microsoft Edge WebView2 Evergreen Runtime.
- Linux: GTK 4 and WebKitGTK 6 runtime libraries.
- macOS: Apple Silicon or Intel.
- An IDE supporting C# and Dotnet.
- I will recommend Rider but VisualStudio should also work fine.
For a Blazor desktop application:
dotnet add package PhotinoXDX.Blazor --prereleaseFor direct access to the native window and webview APIs:
dotnet add package PhotinoXDX.Core --prereleasePackages target .NET 10 and are published for Windows, macOS, and Linux. Remove
--prerelease once a stable version is available.
git clone https://github.com/XDX-Org/PhotinoXDX.git
cd PhotinoXDX
dotnet buildPush a SemVer tag to publish both packages through NuGet trusted publishing:
git tag v0.1.0-preview.1
git push origin v0.1.0-preview.1The release workflow builds and tests all projects, validates the generated
packages in clean applications, publishes them to NuGet, and creates a GitHub
release. The GitHub release environment must contain the NUGET_USER secret.
Photino contained three packages:
The Native Library has been rewritten to C# and the NET lib has been consolidated into Core with that.
Blazor components can copy text through the native operating-system clipboard:
@inject PhotinoEx.Blazor.IPhotinoExClipboard Clipboard
<button @onclick="Copy">Copy</button>
@code {
private Task Copy() => Clipboard.CopyTextAsync("Text to copy").AsTask();
}Files and directories can be copied together. Directories are copied recursively by the operating system when pasted, so no recursive flag is required:
await Clipboard.CopyFilesAsync(
["/path/to/report.pdf", "/path/to/folder"]
);See Native Clipboard for implementation status, platform formats, and Core API usage.
Planned work is tracked in the phased implementation roadmap.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
- I have tried to abide to the best of my knowledge, please get in touch if anything is a problem