Desktop application manager with intelligent window orchestration for Windows.
SpectraTact manages and arranges desktop applications through automated window management. Launch multiple applications and organize them in grid or side-by-side layouts with configurable profiles and multi-monitor support.
Key Features:
- Launch and arrange multiple applications in defined layouts
- Grid layout (NxM matrix) and side-by-side layouts (horizontal/vertical split)
- Multi-monitor support (span, distribute, primary overflow modes)
- Profile-based application management with priority ordering
- Keyboard shortcuts for common operations
- Dark and light themes
| Dark Theme | Light Theme |
|---|---|
![]() |
![]() |
| Grid Layout | Side-by-Side Layout |
|---|---|
![]() |
![]() |
From Release:
Download from releases page:
- NSIS installer:
SpectraTact-v0.1.0-Setup.exe - Portable:
SpectraTact-v0.1.0-Portable.exe
From Source:
git clone https://github.com/dhaneshbb/spectratact.git
cd spectratact
pip install -r requirements.txt
npm install
npm run dev:winSee Installation Guide for details.
On first run, copy configuration examples:
cp docs/examples/settings.example.yml config/settings.yml
cp docs/examples/loaded_apps.example.yml config/loaded_apps.yml
cp docs/examples/load_apps.example.yml config/load_apps.ymlEdit config/loaded_apps.yml to add application profiles:
apps:
- name: "Gmail"
app_path: "C:\\shortcuts\\Gmail.lnk"
keywords: ["Gmail", "Google Chrome"]
priority: 1
enabled: trueSee Configuration Guide for all options.
- Start Applications: Select apps and click Start (Ctrl+S)
- Arrange Windows: Click Arrange (Ctrl+G) to reposition
- Minimize/Restore: Minimize all to taskbar or restore to positions
- Close Applications: Close all managed applications
See User Guide for operations and features.
Hybrid Python + Electron application:
- Python Backend: Window management using pywin32 (detection, positioning, layout calculation)
- Electron Frontend: GUI with IPC communication to Python subprocess
- Communication: JSON-RPC over stdin/stdout
See Architecture Guide for system design and communication flow.
User Documentation:
- User Guide - Interface, operations, keyboard shortcuts
- Configuration Guide - Settings reference
- Troubleshooting Guide - Common issues and solutions
Developer Documentation:
- Developer Guide - Development setup, testing, building
- Architecture Guide - System design and data flow
- API Reference - Python and JavaScript API
Additional Resources:
- CHANGELOG.md - Version history
- CONTRIBUTING.md - Contribution guidelines
- docs/ - Full documentation
- Python 3.8+ (3.8-3.13 supported)
- Node.js 18.0+
- Windows 10/11
pip install -e .[dev]
npm install
pre-commit install# Development
npm run dev:win # Run in development mode
python -m spectratact # Run Python component
# Testing
npm run test # All tests (Python + JavaScript)
pytest # Python tests only
npm run test:frontend # JavaScript tests only
# Building
npm run dist:win # Build Windows distribution
npm run pack # Development build (no installer)
# Code Quality
black src/spectratact # Format Python code
flake8 src/spectratact # Lint Python code
mypy src/spectratact # Type check Python code
npx eslint src/desktop # Lint JavaScript codeSee Developer Guide for workflow details.
Contributions welcome. See CONTRIBUTING.md for guidelines.
Before Contributing:
- Read CONTRIBUTING.md
- Check Issue Templates
- Review Developer Guide
- Run tests:
npm run test
Current: Windows 10/11 (pywin32-based window management)
Planned: macOS (AppKit), Linux (X11/Wayland)
The Electron GUI is cross-platform ready. Platform-specific implementation needed for window management layer.
GPL-3.0-or-later. See LICENSE for details.
Third-party licenses and notices in THIRD_PARTY_LICENSES.txt and NOTICE.
- Repository: https://github.com/dhaneshbb/spectratact
- Documentation: https://github.com/dhaneshbb/spectratact/blob/main/
- Issues: https://github.com/dhaneshbb/spectratact/issues
- Changelog: CHANGELOG.md
Version 0.1.0 | Beta | Python 3.8-3.13 | Node.js 18.0+ | Windows 10/11
Copyright 2025 dhaneshbb. Licensed under GPL-3.0-or-later.




