# DWN

A modern X11 window manager with AI integration, WebSocket API, and plugin extensibility

Get Started API Docs
🪟
Multiple Layouts
Tiling, floating, monocle, and grid layouts with per-workspace configuration. Plugin API for custom layouts.
🖥️
9 Workspaces
Virtual desktops with independent layout settings. Quick switching with F1-F9 keys.
🤖
AI Integration
OpenRouter API for intelligent command palette and Exa semantic search integration.
🔌
WebSocket API
Full programmatic control via JSON WebSocket API. Automate everything.
📸
Screenshot & OCR
Capture screenshots and extract text with Tesseract OCR, all via API.
🔔
Notifications
Built-in D-Bus notification daemon with configurable appearance.
🔧
Plugin System
Extensible plugin architecture for layouts and widgets. Dynamic loading support.
📐
Abstraction Layer
Backend-agnostic architecture. Ready for X11, Wayland, and headless backends.

### Quick Start

1
Install dependencies

    make deps

2
Build DWN

    make

3
Test in Xephyr

    make run

4
Install system-wide

    sudo make install

## Key Features

### Window Management

- Three layout modes: tiling, floating, and monocle
- Window snapping with Super+Arrow keys
- Alt-Tab window cycling with MRU (Most Recently Used) stack
- EWMH/ICCCM protocol compliance
- Multi-monitor support via Xinerama

### Automation API

- WebSocket JSON API on configurable port
- Keyboard and mouse simulation
- Window management and layout control
- Screenshot capture and OCR text extraction
- Python client library included

### System Integration

- XDG autostart support
- System tray with XEmbed protocol
- D-Bus notification daemon
- Configurable panels (top and bottom)