update readme license year
update to zig 0.11.0-dev.1681+0bb178bbb
ttf: implement 'gasp' table
Magnolia is a new UI toolkit written entirely from scratch in Zig for Linux desktops. It has a focus on ease-of-use, performance, and supporting older devices.
The only runtime system dependencies are X11 and OpenGL 2.1.
The only additional build dependencies are Git, Zig, Zigmod.
Note: this project is a WIP and still in a very experimental state. Stay tuned for more updates.
As far as problem space you can consider this project as an alternative to a mix of GTK/KDE/QT and GNOME/Plasma depending on which part of the code you're using.
Source-Available, All rights reserved. (c) 2023 Meghan Denny
zigmod.yml
and zigmod.lock
Magnolia is built using the Zig build system. To see all available build options run zig build --help
.
If building on NixOS, there is a shell.nix
which will enable all the system dependencies needed.
Pull in the Zig dependencies by running zigmod ci
.
-Dtarget=[string] The CPU architecture, OS, and ABI to build for
-Dcpu=[string] Target CPU features to add or subtract
-Drelease-safe=[bool] Optimizations on and safety on
-Drelease-fast=[bool] Optimizations on and safety off
-Drelease-small=[bool] Size optimizations on and safety off
-Dall=[bool] Build all apps, default only selected steps
-Drun=[bool] Run the app too
-Dstrip=[bool] Strip debug symbols
-Dtest=[bool] Run for a single frame and compare output against known good result
triangle-raw
demo-empty
demo-part6
demo-panelhoriz
demo-panelvert
demo-panelhoriz-gap
demo-panelvert-gap
demo-panelhoriz-fillh
demo-panelvert-fillw
demo-panelhoriz-fillw
demo-panelvert-fillh
demo-ttf-proggy
sudo
/doas
in the past is a total failure in tooling.