diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 22 |
1 files changed, 11 insertions, 11 deletions
@@ -47,7 +47,7 @@ runtime and wlroots itself. **Cross** (`libcross.a`) is a static C library that contains the native functions Montis uses to interact with Ark/wlroots. It is linked into the -`montis.so` soul so these FFI bindings hot-reload along with the Haskell code +`montis.so` world so these FFI bindings hot-reload along with the Haskell code instead of living inside the long-running compositor process. Code lives in `cross/src` and headers in `cross/include` (notably @@ -109,23 +109,23 @@ The solution is a pluggable architecture: - `meson` (wlroots is built via Meson) and a backend like `ninja` - `wayland-scanner` and `wayland-protocols` - `curl` (first build downloads wlroots) -- Optional (only for the bundled soul): Haskell toolchain via Stack: `stack` (+ GHC) +- Optional (only for the bundled world): Haskell toolchain via Stack: `stack` (+ GHC) ### Build This repo uses CMake to build: - `ark` (the compositor runtime) - `cross` (`libcross.a`) -- the bundled Haskell soul (`montis.so`) via Stack +- the bundled Haskell world (`montis.so`) via Stack ```sh make build ``` -To build only the runtime + bridge library (no bundled soul): +To build only the runtime + bridge library (no bundled world): ```sh -make BUILD_DIR=build BUILD_TYPE=Debug CMAKE_ARGS=-DMONTIS_BUILD_BUNDLED_SOUL=OFF build +make BUILD_DIR=build BUILD_TYPE=Debug CMAKE_ARGS=-DMONTIS_BUILD_BUNDLED_WORLD=OFF build ``` To run via the CMake helper target: @@ -137,18 +137,18 @@ make run Note: the `run` target currently starts `ark` with `-s foot`, so you’ll want `foot` installed (or adjust the target in `CMakeLists.txt`). -### Using Your Own Soul +### Using Your Own World -If you disable the bundled soul (`-DMONTIS_BUILD_BUNDLED_SOUL=OFF`), you can -build and supply your own soul `.so` at runtime. +If you disable the bundled world (`-DMONTIS_BUILD_BUNDLED_WORLD=OFF`), you can +build and supply your own world `.so` at runtime. -- Soul ABI: `ark/include/soul.h` (soul header: `ark/include/soul_interface.h`) +- World ABI: `ark/include/world.h` (world header: `ark/include/world_interface.h`) - Optional bridge helpers: `cross/include` + `build/cross/libcross.a` Runtime invocation looks like: ```sh -./build/ark/ark -p /path/to/your_soul.so +./build/ark/ark -p /path/to/your_world.so ``` ## Installing @@ -159,4 +159,4 @@ make install PREFIX=~/.local This installs: - `ark` to `~/.local/bin` -- if `-DMONTIS_BUILD_BUNDLED_SOUL=ON`, the latest built soul `.so` to `~/.local/lib` +- if `-DMONTIS_BUILD_BUNDLED_WORLD=ON`, the latest built world `.so` to `~/.local/lib` |