lcsa-core
Core library for LCSA (Local Context Substrate API). Provides typed signals for clipboard, selection, and focus events with privacy-preserving defaults.
Features
- Cross-platform clipboard monitoring (Linux, macOS, Windows)
- Selection monitoring (X11 primary selection, macOS/Windows accessibility)
- Focus tracking (active window/app changes)
- Permission-gated content access
- Event-driven architecture with XFixes on X11
- Structural signals with metadata (no raw content by default)
Installation
Quick Start
use ;
Permission Model
Raw clipboard content requires explicit permission:
use ;
api.request_permission?;
if api.can_access
Signal Types
| Signal | Description |
|---|---|
ClipboardSignal |
Content type, size, source app, sensitivity flags |
SelectionSignal |
Selected text metadata, editability |
FocusSignal |
Active window/app changes |
Platform Support
| Platform | Clipboard | Selection | Focus |
|---|---|---|---|
| Linux X11 | Event-driven | Event-driven | Event-driven |
| Linux Wayland | Polling | Polling | Polling |
| macOS | Polling | Accessibility | Polling |
| Windows | Polling | UI Automation | Polling |
License
Apache-2.0