| 1 | Overview |
| 2 | ======== |
| 3 | |
| 4 | The files in this directory comprise the `screenhack` API/library which is part |
| 5 | of [xscreensaver](https://www.jwz.org/xscreensaver/). They are collected here |
| 6 | in order to facilitate building the hacks contained in this repository without |
| 7 | requiring an xscreensaver source tree and build system. |
| 8 | |
| 9 | |
| 10 | Status |
| 11 | ====== |
| 12 | |
| 13 | All files were extracted from the `xscreensaver-5.45.tar.gz` source tarball and |
| 14 | remain unmodified. |
| 15 | |
| 16 | Since this directory only contains the files related to building X11 hacks |
| 17 | utilizing the `screenhack` API, if you need the `xlockmore` API or OpenGL |
| 18 | related files, either build your hack inside the xscreensaver source tree or |
| 19 | copy the relevant files into this directory; the various makefiles are |
| 20 | configured to automatically detect and compile them. |
| 21 | |
| 22 | |
| 23 | Instructions |
| 24 | ============ |
| 25 | |
| 26 | For an example of use, see the top-level directory `reference/` in this |
| 27 | repository. It contains the `greynetic` hack, already configured to build |
| 28 | against this `screenhack` library, as well as `README.hacking`, a guide to |
| 29 | writing hacks against the `screenhack` library. |
| 30 | |
| 31 | Although all the hacks in this repo contain `#define`s hardcoded for FreeBSD, |
| 32 | since all the `screenhack` files are unmodified, they all contain the various |
| 33 | preprocessor trickery for building on other platforms. If you're having trouble |
| 34 | figuring out the correct set of `#define`s for building on your system, try |
| 35 | extracting the xscreensaver source, running `./configure`, and examining the |
| 36 | `#define`s contained in the generated `config.h`. |