Updated README.

This commit is contained in:
Storm Dragon
2025-08-12 02:43:32 -04:00
parent e1f2467415
commit 1b87262861

View File

@@ -115,6 +115,101 @@ So, you want to write a script for Cthulhu? The best thing to do is
start by looking at other scripts under the src/cthulhu/scripts/ hierarchy start by looking at other scripts under the src/cthulhu/scripts/ hierarchy
of the source tree. Cthulhu also has an excellent plugin system, more documentation and examples coming soon. of the source tree. Cthulhu also has an excellent plugin system, more documentation and examples coming soon.
## Building and Installation
### Prerequisites
Ensure you have the development dependencies installed:
**Arch Linux:**
```bash
sudo pacman -S python python-gobject gtk3 at-spi2-core at-spi2-atk \
python-speechd gstreamer python-pluggy python-dasbus \
meson ninja pkgconf intltool gettext
```
**Debian/Ubuntu:**
```bash
sudo apt install python3 python3-gi python3-gi-cairo gir1.2-gtk-3.0 \
at-spi2-core libatk-adaptor python3-speechd \
gstreamer1.0-plugins-base python3-pluggy python3-dasbus \
meson ninja-build pkg-config intltool gettext
```
### Local Development Build (Recommended)
For active development, build and install to your user directory:
```bash
# Build and install to ~/.local
./build-local.sh
# Test the local installation
./test-local.sh
# Run your local version
~/.local/bin/cthulhu
# Clean build artifacts and local installation
./clean-local.sh
```
This approach:
- Installs to `~/.local/bin/cthulhu` (won't conflict with system installation)
- Loads modules from `~/.local/lib/python*/site-packages/cthulhu/`
- Preserves any system-wide Cthulhu installation at `/usr/bin/cthulhu`
### System Installation
For system-wide installation:
```bash
# Configure the build
meson setup _build --prefix=/usr
# Compile
meson compile -C _build
# Install (requires sudo)
sudo meson install -C _build
```
### Manual Meson Build
If you prefer to use Meson commands directly instead of the convenience scripts:
```bash
# Configure for local installation
meson setup _build --prefix=$HOME/.local
# Or configure for system installation
meson setup _build --prefix=/usr
# Compile
meson compile -C _build
# Install
meson install -C _build
# Clean
rm -rf _build
```
### Testing
Run the regression test suite:
```bash
# All tests
test/harness/runall.sh
# Single test
test/harness/runone.sh <test.py> <app-name>
# App-specific tests
test/harness/runall.sh -a /path/to/app/tests
```
## Self-voicing ## Self-voicing
Cthulhu offers a mechanism through which messages may be spoken directly by the screen reader. Usage is as follows: Cthulhu offers a mechanism through which messages may be spoken directly by the screen reader. Usage is as follows: