diff --git a/README.md b/README.md
index 7c9b215..b65eaf3 100644
--- a/README.md
+++ b/README.md
@@ -18,23 +18,66 @@ operating environments. Applications and toolkits supporting the
AT-SPI include the GNOME GTK+ toolkit, the Java platform's Swing
toolkit, OpenOffice/LibreOffice, Gecko, WebKitGtk, and KDE Qt toolkit.
+## Key Features
+
+### Desktop-Agnostic Design
+- **Universal compatibility**: Works on KDE, XFCE, i3, Sway, and other desktop environments
+- **Minimal GNOME dependencies**: Reduced reliance on GNOME-specific libraries
+- **Tiling window manager optimized**: Enhanced support for i3, Sway, and similar WMs
+
+### Plugin System
+- **Extensible architecture**: Plugin system using pluggy framework
+- **Hot-reloadable plugins**: Add functionality without restarting
+- **Community plugins**: User and system plugin directories
+
+### Remote Control
+- **D-Bus interface**: External control via D-Bus service
+- **API access**: Remote access to Cthulhu functions and settings
+- **Automation support**: Script-friendly remote control
+
+### Sleep Mode
+- **Application-specific**: Disable speech/events per application
+- **Toggle keybinding**: `Cthulhu+Ctrl+Alt+Shift+Q` (matches Orca)
+- **Preserves exit key**: Only sleep toggle remains active
+
+### Self-Voicing
+- **Unix socket interface**: Direct speech output via `/tmp/cthulhu.sock`
+- **External integration**: Other applications can speak through Cthulhu
+- **Simple protocol**: `echo "text" | socat - UNIX-CLIENT:/tmp/cthulhu.sock`
## Dependencies
-Cthulhu has the following dependencies:
+### Core Requirements
-* Python 3 - Python platform
-* pygobject-3.0 - Python bindings for the GObject library
-* pluggy - Plugin and hook calling mechanisms for python
-* gtk+-3.0 - GTK+ toolkit
-* json-py - a JSON () reader and writer in Python
-* python-speechd - Python bindings for Speech Dispatcher (optional)
-* BrlTTY - BrlTTY () support for braille (optional)
-* BrlAPI - BrlAPI support for braille (optional)
-* liblouis - Liblouis () support for contracted braille (optional)
-* py-setproctitle - Python library to set the process title (optional)
-* gstreamer-1.0 - GStreamer - Streaming media framework (optional)
-* socat - Used for self-voicing functionality.
+* **Python 3.3+** - Python platform
+* **pygobject-3.0** - Python bindings for the GObject library
+* **gtk+-3.0** - GTK+ toolkit (minimal usage for AT-SPI integration)
+* **AT-SPI2** - Assistive Technology Service Provider Interface
+* **ATK** - Accessibility Toolkit
+
+### Desktop-Neutral Features
+
+* **pluggy** - Plugin and hook calling mechanisms for Python
+* **python-dasbus** - D-Bus remote control interface (optional)
+* **libpeas** - Plugin loader library
+
+### Audio and Speech
+
+* **python-speechd** - Python bindings for Speech Dispatcher (recommended)
+* **gstreamer-1.0** - GStreamer streaming media framework (for sounds)
+
+### Braille Support (Optional)
+
+* **BrlTTY** - BrlTTY () braille terminal support
+* **BrlAPI** - BrlAPI Python bindings for braille
+* **liblouis** - Liblouis () contracted braille translation
+
+### System Integration
+
+* **py-setproctitle** - Python library to set the process title (optional)
+* **socat** - Used for self-voicing functionality
+* **xorg-xkbcomp** - X keyboard compiler (for key remapping)
+* **xorg-xmodmap** - X modifier map utility
You are strongly encouraged to also have the latest stable versions
of AT-SPI2 and ATK.
diff --git a/distro-packages/Arch-Linux/PKGBUILD b/distro-packages/Arch-Linux/PKGBUILD
index d550dd4..3e57c52 100644
--- a/distro-packages/Arch-Linux/PKGBUILD
+++ b/distro-packages/Arch-Linux/PKGBUILD
@@ -2,37 +2,54 @@
pkgname=cthulhu
pkgver=2025.07.01
-pkgrel=1
-pkgdesc="Screen reader for individuals who are blind or visually impaired forked from Orca"
+pkgrel=2
+pkgdesc="Desktop-agnostic screen reader with plugin system, forked from Orca"
url="https://git.stormux.org/storm/cthulhu"
arch=(any)
license=(LGPL)
depends=(
+ # Core AT-SPI accessibility
at-spi2-core
- brltty
+ python-atspi
gobject-introspection-runtime
- gsettings-desktop-schemas
+ python-gobject
+ python-cairo
+ gtk3
+
+ # Audio and speech
+ speech-dispatcher
gstreamer
gst-plugins-base # playbin, audiotestsrc, basic decoders
gst-plugins-good # pulsesink, more decoders
- gtk3
- hicolor-icon-theme
+
+ # Braille support
+ brltty
liblouis
+
+ # Plugin system and D-Bus remote control
+ python-pluggy
+ python-dasbus
libpeas
+
+ # Desktop integration
+ gsettings-desktop-schemas
+ hicolor-icon-theme
libwnck3
pango
+
+ # System utilities
python
- python-atspi
- python-cairo
- python-gobject
- python-pluggy
python-setproctitle
- python-dasbus
- socat
- speech-dispatcher
+ socat # for self-voicing feature
xorg-xkbcomp
xorg-xmodmap
)
+optdepends=(
+ 'espeak-ng: Alternative TTS engine'
+ 'festival: Alternative TTS engine'
+ 'flite: Lightweight TTS engine'
+ 'espeak: Legacy TTS engine'
+)
makedepends=(
git
)