- Zig 99.2%
- GLSL 0.6%
- Nix 0.2%
[skip ci]
the identify file,
|
||
|---|---|---|
| .forgejo | ||
| .vscode | ||
| .zed | ||
| build | ||
| examples | ||
| src | ||
| .gitattributes | ||
| .gitignore | ||
| build.zig | ||
| build.zig.zon | ||
| CONTRIBUTING.md | ||
| DEPENDENCIES.md | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
| zaire.zon | ||
Quark
GUI toolkit focused on simplicity and performance.
![]() Showcase image of Lumina (5555eee6a5), built on Quark commit 6de6887870.
|
Warning
Quark is currently in active development, only supporting Linux1. Other platforms such as Windows will be added based on developer demand.
Quark is designed for those who need a premium-feeling UI system without the overhead of massive frameworks. It prioritizes visual excellence and performance, leveraging Vulkan for rendering.
Note
For detailed installation instructions and hardware requirements, see DEPENDENCIES.md.
Getting Started
Quark is designed to be easy to use, along so—also easy to import to your project.
Firstly, zig fetch --save the latest release/commit.
And add the following to your build.zig:
pub fn build(b: *std.Build) !void {
// [..] In the lists of const values you have, add this
const libquark = b.dependency("quark", .{}).artifact("quark");
const exe = b.addExecutable(.{
.name = "<your application>",
// [..]
.root_module = b.createModule(.{
.root_source_file = b.path("src/main.zig"),
.target = target,
.optimize = optimize,
.imports = &.{
// Expose the Quark library to your application.
.{ .name = "quark", .module = libquark.root_module },
},
}),
});
// Link Quark to your application.
exe.root_module.linkLibrary(libquark);
b.installArtifact(exe);
// [..]
}
In your main Zig file, @import("quark") and you're all set—you're ready to
develop your application with Quark.
For code examples, we encourage you to read the README.md
file located in the examples/ directory.
-
It will only support the Wayland display protocol for the foreseeable future. ↩︎
