1
3
Fork 0
mirror of https://codeberg.org/pparaxan/quark.git synced 2026-08-09 21:05:30 +00:00
GUI toolkit for Zig focused on simplicity and performance. https://codeberg.org/pparaxan/quark
  • Zig 99.2%
  • GLSL 0.6%
  • Nix 0.2%
Find a file
xanners 6a2c82055a
src/pipeline/engine.zig: add 3rd arg for the assignWidgets() fn...
[skip ci]
the identify file, 48947a7fe5

CI still down by the way.

Signed-off-by: xanners <xxdr@duck.com>
2026-08-09 06:24:49 -05:00
.forgejo CI[Docs]: Echo that the current version is master 2026-07-11 00:23:58 -05:00
.vscode "Let's make the codebase great again!" (#24) 2026-06-11 05:40:10 +02:00
.zed "Let's make the codebase great again!" (#24) 2026-06-11 05:40:10 +02:00
build Report [system/wayland/vulkan] information via debug message 2026-07-13 16:32:03 -05:00
examples Widget: Make RichText use Text widget internally to reduce duplication 2026-07-13 12:44:21 -05:00
src src/pipeline/engine.zig: add 3rd arg for the assignWidgets() fn... 2026-08-09 06:24:49 -05:00
.gitattributes "Let's make the codebase great again!" (#24) 2026-06-11 05:40:10 +02:00
.gitignore Just Git ignore the top level docs/ folder 2026-07-09 04:24:52 -05:00
build.zig "Let's make the codebase great again!" (#24) 2026-06-11 05:40:10 +02:00
build.zig.zon Report [system/wayland/vulkan] information via debug message 2026-07-13 16:32:03 -05:00
CONTRIBUTING.md "Let's make the codebase great again!" (#24) 2026-06-11 05:40:10 +02:00
DEPENDENCIES.md Add vulkan-loader as a dep. for Void Linux 2026-06-29 05:07:05 -04:00
flake.lock flake.nix: Split build inputs and actually add the req. dependencies 2026-07-12 14:52:32 -05:00
flake.nix flake.nix: Split build inputs and actually add the req. dependencies 2026-07-12 14:52:32 -05:00
LICENSE Fix the ambiguous Unicode character located in LICENSE [skip ci] 2026-01-02 01:46:04 -05:00
README.md README.md: Update the Documentation CI badge to its new path 2026-07-09 13:50:58 -05:00
zaire.zon Add deploy_url field in zaire.zon 2026-07-09 05:00:15 -05:00

Quark

GUI toolkit focused on simplicity and performance.

Documentation QVersion DServer License Zversion

Lumina showcase
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.


  1. It will only support the Wayland display protocol for the foreseeable future. ↩︎