docs(platform): document native system integrations

This commit is contained in:
2026-06-18 21:08:22 -05:00
parent 858dbe397d
commit 264c59864f

View File

@@ -7,7 +7,8 @@ one consistent API on Windows and Linux.
- Native open, save, folder, message, input, and color dialogs
- Command-line flags, values, integers, and positional arguments
- UTF-8 text clipboard access
- UTF-8 text, file-list, and RGBA image clipboard access
- Native desktop notifications
- Standard application, user, temporary, and executable paths
- Non-blocking process launch
- Move-only dynamic library handles with automatic cleanup
@@ -16,9 +17,14 @@ one consistent API on Windows and Linux.
- Recursive or non-recursive directory watching
- Crash callbacks, debugger detection, debug breaks, and debug output
- Opening paths and revealing files in the platform file manager
- Battery status, sleep inhibition, shutdown, and restart controls
Linux dialogs discover `zenity` or `kdialog` at runtime. Linux clipboard access
discovers `wl-clipboard` or `xclip`. No GUI toolkit is linked into applications.
discovers `wl-clipboard` or `xclip`; notifications use `notify-send`; sleep
inhibition uses `systemd-inhibit`. No GUI toolkit is linked into applications.
`Shutdown` and `Restart` request immediate system power actions and generally
require elevated operating-system privileges.
## Build
@@ -52,6 +58,19 @@ if (args.Has("--verbose")) {
const auto configPath = args.Get("--config");
const int threads = args.GetInt("--threads", 4);
izo::ShowNotification("Build complete", "iZo finished compiling");
izo::ClipboardImage image{2, 1, {
255, 0, 0, 255,
0, 0, 255, 255,
}};
izo::SetClipboardImage(image);
if (izo::PreventSleep()) {
// Run a render job, then release the operating-system sleep inhibitor.
izo::AllowSleep();
}
izo::DialogOptions options;
options.title = "Choose an image";
options.filters = {{"Images", {"*.png", "*.jpg"}}};