Docksy is a native Windows application designed for developers, power users, and professionals who manage multiple complex tasks, window layouts, and browser sessions daily. It automates workspace restoration so you spend zero minutes reorganizing your desktop when starting work or swapping contexts.
With Docksy, you can capture your entire workspace state—including window sizes, monitor placements, virtual desktops, and browser tabs—and restore it instantly with a single click.
- Multi-Monitor Layouts: Captures exact window coordinates and states (maximized, minimized, normal) across multiple monitors.
- Windows Virtual Desktops: Integrates with Windows 10 and 11 Virtual Desktops to place applications back on their respective virtual desktops.
- Browser Tab Restoration: Deeply integrates with major web browsers (Google Chrome, Microsoft Edge, Brave, etc.) to capture and restore active tabs and URLs.
- App-Specific Contexts: Automatically recognizes and restores specific directory paths for Windows File Explorer and workspaces for VS Code.
- Automated Snapshots: Features a daemon that can take automatic background snapshots of your workspace based on custom schedules.
- Privacy & Speed: Built local-first with zero external cloud dependencies. All workspace layout details are stored safely in a local database.
Docksy's architecture consists of three interconnected layers:
graph TD
A[React Web Dashboard] <-->|WebSockets / REST API| B[Python Engine]
C[Electron Shell] -.->|Spawns| B
C <-->|IPC / Web View| A
B <-->|Win32 COM APIs| D[Windows OS]
- Frontend (React + Vite): A clean, sleek, high-contrast dashboard for managing workspaces, schedules, snapshots, and configuration settings.
- Desktop Shell (Electron): A native container that handles system tray integration, minimizes to the tray, manages startup registry options, and spawns the backend process.
- Core Engine (Python): A lightweight, low-level service that executes Win32 API bindings (via
ctypes) andpyvdaCOM APIs to query and manipulate desktop windows, process cmdlines, virtual desktops, and active monitors.
- Core: HTML5, TypeScript, Python 3
- Frontend: React, Zustand, Vite, Custom Vanilla CSS
- App Wrapper: Electron, Electron Builder
- System Integration:
ctypes(Win32 API bindings),pyvda(Virtual Desktop COM API wrapper) - Engine Packaging: PyInstaller
To run and build Docksy from source, you will need:
- Windows 10 or 11
- Node.js (v18+ recommended)
- Python 3.x
- pyvda library (for virtual desktop support). Install it via pip:
pip install pyvda
-
Clone the repository:
git clone https://github.com/Mananwebdev160408/docksy.git cd docksy -
Install Node dependencies:
npm install
-
Start the application in Development Mode:
npm run dev
This command copies assets, compiles the Electron code, spins up the Vite development server, launches the Python API server in the background, and boots up Electron.
To compile the Python backend into a standalone executable, bundle the frontend, and package the complete app into a native Windows installer/portable executable:
npm run packageThe packaged installers will be generated under the dist-packaged/ directory.
Docksy store configurations and workspace snapshots in ~/.docksy/docksy.json.
From the desktop settings view, you can:
- Define process ignore patterns (e.g., system utilities, tray apps).
- Enable auto-start on Windows boot.
- Configure minimizing to tray behavior.
- Set custom ports for the websocket/HTTP API servers.
This project is licensed under the MIT License - see the LICENSE file for details.