Features
Comprehensive overview of DWN capabilities
Window Management
DWN provides comprehensive window management with both manual and automatic control.
Window States
- Normal - Standard window state, subject to layout rules
- Floating - Exempt from tiling, freely movable and resizable
- Maximized - Fills usable area with decorations
- Fullscreen - Fills entire screen, no decorations or panels
- Minimized - Hidden from view, accessible via taskbar
Window Snapping
Snap windows to screen edges with Super+Arrow keys. Snapping is composable:
Super+Left- Left half (press twice for full width)Super+Right- Right halfSuper+Up- Top halfSuper+Down- Bottom half- Combine for quarter-screen:
Super+LeftthenSuper+Up
Focus Modes
| Mode | Description |
|---|---|
click |
Focus window on mouse click (default) |
follow |
Focus follows mouse pointer with configurable delay |
Alt-Tab Window Cycling
DWN maintains a Most Recently Used (MRU) stack per workspace. Alt+Tab cycles through windows in order of recent use, not visual order.
Keyboard Window Control
Move and resize floating windows without leaving the keyboard:
Super+Alt+Arrow- Move window by 20 pixelsSuper+Ctrl+Arrow- Resize window by 20 pixels
Window Rules
Automatically apply settings to windows based on their class or title. Rules are matched using glob patterns with case-insensitive matching.
Matching Criteria
- Class Pattern - Match by WM_CLASS (e.g.,
Firefox,*terminal*) - Title Pattern - Match by window title (e.g.,
*Calculator*) - Combined - Match both class and title simultaneously
Available Actions
| Property | Description |
|---|---|
workspace |
Move window to specific workspace (1-9) |
floating |
Set floating state (true/false) |
sticky |
Make window visible on all workspaces |
fullscreen |
Start window in fullscreen mode |
width, height |
Set initial window size |
x, y |
Set initial window position |
See Configuration for rule syntax.
Window Marks
Mark windows with letters (a-z) for instant navigation, inspired by Vim marks.
Super+M then a-z to mark the focused window.Super+' then a-z to instantly focus the marked window.Virtual Workspaces
DWN provides 9 virtual workspaces for organizing your windows.
Layout System
Six layout modes available per workspace:
Tiling Layout
Master-stack tiling with configurable ratios. The first window(s) occupy the master area, others stack on the side.
Super+H/L- Adjust master area sizeSuper+I/D- Adjust master window count- Default master ratio: 55%
Floating Layout
Traditional floating window management. Drag title bars to move, drag edges to resize.
Monocle Layout
All windows fullscreen and stacked. Use Alt-Tab to switch between them. Ideal for focused work.
Centered Master Layout
The master window is centered on screen with stack windows divided on left and right sides. Great for wide monitors.
Columns Layout
All windows arranged in equal-width vertical columns. Each window takes full height.
Fibonacci Layout
Windows arranged in a spiral pattern using recursive splitting. Creates a visually interesting and space-efficient arrangement.
Grid Layout
Windows arranged in an automatically-calculated grid pattern. Perfect for comparing multiple documents or monitoring many terminals simultaneously.
Plugin System
DWN v2.0 supports custom layout plugins. Create your own window arrangements using the Layout Plugin API. Both built-in and dynamically loaded plugins are supported.
See Layouts and Plugin Development for detailed documentation.
Panels & System Tray
Top Panel
Contains workspace indicators, taskbar, layout indicator, and system tray.
Bottom Panel
Contains clock and news ticker (when configured).
System Tray
Full XEmbed protocol support for external application icons plus built-in widgets:
- Battery - Percentage display with charging indicator
- Volume - Click for slider, scroll to adjust, right-click to mute
- WiFi - SSID display, click for network list
- External Icons - nm-applet, blueman, Telegram, etc.
Notifications
DWN includes a built-in D-Bus notification daemon implementing the freedesktop.org specification.
- Automatic service registration on startup
- Configurable colors and timeout
- Stacking notification display
- Urgency level support (low, normal, critical)
No external notification daemon required.
Screenshot & OCR
Built-in screenshot capture and OCR text extraction, accessible via the WebSocket API.
Screenshot Modes
| Mode | Description |
|---|---|
fullscreen |
Capture entire screen |
window |
Capture specific window by ID |
active |
Capture currently focused window |
area |
Capture arbitrary rectangle |
OCR Text Extraction
Extract text from screenshots using Tesseract OCR engine:
- Multi-language support (English by default)
- Confidence score reporting
- Useful for automation and accessibility
See API Reference for usage details.
AI Integration
Optional AI features powered by OpenRouter API:
AI Command Palette
Natural language command input (Super+Shift+A). Ask the AI to:
- Launch applications ("open firefox")
- Answer questions
- Get system information
AI Context Analysis
Press Super+A to see AI analysis of your current task based on open windows.
Exa Semantic Search
Web search with semantic understanding (Super+Shift+E). Find documentation, tutorials, and resources.
See AI Integration for setup instructions.
WebSocket API
Full programmatic control via JSON WebSocket API on configurable port (default 8777).
Capabilities
- Window management (list, focus, move, resize, close)
- Workspace control (switch, move windows)
- Layout management (mode, master ratio)
- Keyboard simulation (key presses, typing)
- Mouse simulation (move, click, drag)
- Screenshot capture and OCR
- System queries (windows, workspaces, monitors)
Use Cases
- Test automation
- Custom hotkey scripts
- Remote desktop control
- Accessibility tools
- Integration with other applications
See API Overview for getting started.
Abstraction Layer (v2.0)
DWN v2.0 introduces a comprehensive abstraction layer enabling backend portability and plugin extensibility:
- Backend Interface - 80+ operation vtable for X11/Wayland portability
- Type Safety - Strongly typed handles replacing void* casts
- Memory Safety - Safe string and container abstractions
- Plugin API - Extensible architecture for layouts and widgets
- 100% Compatible - Existing code works unchanged
See Abstraction Layer for technical details.
Protocol Compliance
DWN implements standard X11 protocols for compatibility:
- EWMH - Extended Window Manager Hints
- ICCCM - Inter-Client Communication Conventions
- XEmbed - System tray embedding protocol
- Xinerama - Multi-monitor support