|
| 1 | +# Workspace Manager |
| 2 | + |
| 3 | +A powerful Python-based workspace management tool that helps you save, restore, and manage your window configurations across sessions. |
| 4 | + |
| 5 | +## Table of Contents |
| 6 | +- [Overview](#overview) |
| 7 | +- [Features](#features) |
| 8 | +- [Requirements](#requirements) |
| 9 | +- [Installation](#installation) |
| 10 | +- [Usage](#usage) |
| 11 | + - [Getting Started](#getting-started) |
| 12 | + - [Main Interface](#main-interface) |
| 13 | + - [Saving Workspaces](#saving-workspaces) |
| 14 | + - [Restoring Workspaces](#restoring-workspaces) |
| 15 | + - [Managing Workspaces](#managing-workspaces) |
| 16 | + - [Filtering and Search](#filtering-and-search) |
| 17 | + - [System Tray Integration](#system-tray-integration) |
| 18 | + - [Process Management](#process-management) |
| 19 | +- [Configuration](#configuration) |
| 20 | +- [Troubleshooting](#troubleshooting) |
| 21 | +- [Contributing](#contributing) |
| 22 | + |
| 23 | +## Overview |
| 24 | + |
| 25 | +Workspace Manager is a desktop application that automatically tracks and restores your window configurations. It helps you maintain consistent workspace setups across different sessions, making it perfect for users who work with multiple applications and window arrangements. |
| 26 | + |
| 27 | +## Features |
| 28 | + |
| 29 | +- **Window State Tracking** |
| 30 | + - Captures window positions, sizes, and states |
| 31 | + - Tracks associated processes and commands |
| 32 | + - Supports maximized and normal window states |
| 33 | + |
| 34 | +- **Workspace Management** |
| 35 | + - Save current window configuration manually or automatically |
| 36 | + - Restore workspaces with a single click |
| 37 | + - Delete unused workspaces |
| 38 | + - Filter and search through saved workspaces |
| 39 | + |
| 40 | +- **User Interface** |
| 41 | + - Modern dark theme interface |
| 42 | + - System tray integration |
| 43 | + - Collapsible workspace details |
| 44 | + - Real-time search and filtering |
| 45 | + |
| 46 | +- **Automation** |
| 47 | + - Configurable auto-save intervals |
| 48 | + - Process exclusion management |
| 49 | + - Automatic window restoration |
| 50 | + |
| 51 | +- **Notifications** |
| 52 | + - System tray notifications for important events |
| 53 | + - Configurable notification settings |
| 54 | + |
| 55 | +## Requirements |
| 56 | + |
| 57 | +- Windows Operating System |
| 58 | +- Python 3.6 or higher |
| 59 | +- Required Python packages: |
| 60 | + ``` |
| 61 | + pywin32==306 |
| 62 | + psutil==5.9.5 |
| 63 | + PyQt6==6.4.2 |
| 64 | + python-dateutil==2.8.2 |
| 65 | + ``` |
| 66 | + |
| 67 | +## Installation |
| 68 | + |
| 69 | +1. Clone or download the repository: |
| 70 | + ```bash |
| 71 | + git clone [repository-url] |
| 72 | + cd workspace-manager |
| 73 | + ``` |
| 74 | + |
| 75 | +2. Install required packages: |
| 76 | + ```bash |
| 77 | + pip install -r requirements.txt |
| 78 | + ``` |
| 79 | + |
| 80 | +3. Run the application: |
| 81 | + ```bash |
| 82 | + python workspace_manager.py |
| 83 | + ``` |
| 84 | + |
| 85 | +## Usage |
| 86 | + |
| 87 | +### Getting Started |
| 88 | + |
| 89 | +1. Launch the application by running `workspace_manager.py` |
| 90 | +2. The application will start minimized in the system tray |
| 91 | +3. Click the system tray icon to show the main window |
| 92 | +4. Configure your preferences in the Settings panel |
| 93 | + |
| 94 | +### Main Interface |
| 95 | + |
| 96 | +The interface is divided into three main sections: |
| 97 | +1. **Filter Bar** (Top) |
| 98 | + - Search box for finding workspaces |
| 99 | + - Date filter dropdown |
| 100 | + |
| 101 | +2. **Workspace List** (Left) |
| 102 | + - List of saved workspaces |
| 103 | + - Collapsible details for each workspace |
| 104 | + - Action buttons (Save, Restore, Delete) |
| 105 | + |
| 106 | +3. **Settings Panel** (Right) |
| 107 | + - Notification toggle |
| 108 | + - Auto-save configuration |
| 109 | + - Process management |
| 110 | + |
| 111 | +### Saving Workspaces |
| 112 | + |
| 113 | +- **Manual Save** |
| 114 | + 1. Click "Save Current" to capture current window configuration |
| 115 | + 2. The workspace will be saved with timestamp as name |
| 116 | + 3. A notification will confirm the save |
| 117 | + |
| 118 | +- **Auto Save** |
| 119 | + 1. Enable "Auto Save" in settings |
| 120 | + 2. Set desired save interval (30-3600 seconds) |
| 121 | + 3. Workspaces will be automatically saved at the specified interval |
| 122 | + |
| 123 | +### Restoring Workspaces |
| 124 | + |
| 125 | +1. Select a workspace from the list |
| 126 | +2. Click "Restore" to restore the window configuration |
| 127 | +3. The application will: |
| 128 | + - Start any closed applications |
| 129 | + - Position windows according to saved configuration |
| 130 | + - Restore window states (maximized/normal) |
| 131 | + |
| 132 | +### Managing Workspaces |
| 133 | + |
| 134 | +- **View Details** |
| 135 | + - Click on a workspace to expand/collapse details |
| 136 | + - View window count, timestamp, and window list |
| 137 | + |
| 138 | +- **Delete Workspace** |
| 139 | + 1. Select the workspace to delete |
| 140 | + 2. Click "Delete" button |
| 141 | + 3. Confirm deletion when prompted |
| 142 | + |
| 143 | +### Filtering and Search |
| 144 | + |
| 145 | +- **Text Search** |
| 146 | + - Type in the search box to filter by: |
| 147 | + - Workspace names |
| 148 | + - Window titles |
| 149 | + - Process names |
| 150 | + |
| 151 | +- **Date Filters** |
| 152 | + - "All": Show all workspaces |
| 153 | + - "Today": Today's workspaces |
| 154 | + - "Last 7 Days": Week's workspaces |
| 155 | + - "Last 30 Days": Month's workspaces |
| 156 | + - "Custom": Custom date range |
| 157 | + |
| 158 | +### System Tray Integration |
| 159 | + |
| 160 | +- Right-click the system tray icon for quick actions: |
| 161 | + - Show/Hide main window |
| 162 | + - Save current workspace |
| 163 | + - Exit application |
| 164 | + |
| 165 | +### Process Management |
| 166 | + |
| 167 | +1. Click "Process Manager" in settings |
| 168 | +2. View list of running processes |
| 169 | +3. Select processes to exclude from workspace management |
| 170 | +4. Excluded processes won't be tracked or restored |
| 171 | + |
| 172 | +## Configuration |
| 173 | + |
| 174 | +Settings are automatically saved and include: |
| 175 | +- Show/Hide notifications |
| 176 | +- Auto-save enable/disable |
| 177 | +- Save interval |
| 178 | +- Excluded processes |
| 179 | + |
| 180 | +Settings are stored in: |
| 181 | +``` |
| 182 | +[user_directory]/saved_workspaces/settings.json |
| 183 | +``` |
| 184 | + |
| 185 | +## Troubleshooting |
| 186 | + |
| 187 | +Common issues and solutions: |
| 188 | + |
| 189 | +1. **Windows Not Restoring** |
| 190 | + - Check if the application is still running |
| 191 | + - Verify process isn't excluded |
| 192 | + - Try running with administrator privileges |
| 193 | + |
| 194 | +2. **Auto-save Not Working** |
| 195 | + - Verify auto-save is enabled |
| 196 | + - Check save interval setting |
| 197 | + - Ensure write permissions in save directory |
| 198 | + |
| 199 | +3. **Missing Windows** |
| 200 | + - Some applications may not support window management |
| 201 | + - Check process exclusion list |
| 202 | + - Verify application is still installed |
| 203 | + |
| 204 | +## Contributing |
| 205 | + |
| 206 | +Contributions are welcome! Please feel free to submit pull requests or create issues for bugs and feature requests. |
0 commit comments