README.md
1# GTK private
2
3This subproject allows access into private and unstable GTK structs. The headers in h are automatically constructed from multiple versions of GTK3. This lets us be compatible with all supported GTK3 versions, despite using internals that are not part of the stable API.
4
5This was originally developed as a standalone project under the name gtk3-espionage. Git history can be found [here](https://github.com/wmww/gtk3-espionage).
6
7## Building the headers
8
9__NOTE: you don't need to rebuild the headers in order to build GTK Layer Shell__. Building the header files is only required when GTK has been updated or a structure is added.
10
11To build, run `./scripts/build.py`
12
13This script will
14- Load the list of structures from [scripts/config.py](scripts/config.py)
15- Clone the official GTK git repository
16- Detect all supported versions of GTK
17- Check out and extract data from each version
18- Write header files for each structure
19