Use glib-compile-resources to compile CSS style sheets and icons into
the Ghostty GTK binary. Makes for simpler access to icons and sets
things up for customizing the look of Ghostty with CSS in the future.
The CSS style sheets are blank for now so there will be no visual
changes.
Adds an rc file for windows. An rc file is a source file given to the
toolchain that instructs it on what "resources" to embed inside the
executable. You can think of "resources" as files or data that get
embedded into the executable and can be accessed both by the application
at runtime or by the OS. The OS uses resources for things like getting
the icon of the executable or extracting the version of an exe for the
user. Note that exe resources can also be modified without having to
recompile/relink the binary.
Thanks to Squeek502 zig has its own "RC Compiler" so this should still be
buildable on all platforms.
In the RC file I've included some basic info and left in comments for
other info to be populated later. I've also included a manifest file
which starts out by telling windows that our exe will be DPI aware and
to use a slightly more modern look and feel for native controls.
This isn't the cleanest approach yet. But this gets things going
quickly. Ideally longer term I want to be able to specify a list of
artifacts that you want to build or something like that.
- Output to stdin instead of a file
- Less nesting
- Utilize ranged for loops instead of while loops
- Eliminate unnecessary state tracking
- Put help in a struct
Doc strings attached to fields of the Config struct and doc strings
attached to the run function of actions will be used to generate Zig
code that makes those doc strings available to be used at runtime.
Based on PR #853 by @Raiden1411