A powerful Python-based workspace management tool that helps you save, restore, and manage your window configurations across sessions.
Workspace.Manager.mp4
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.
-
Window State Tracking
- Captures window positions, sizes, and states
- Tracks associated processes and commands
- Supports maximized and normal window states
-
Workspace Management
- Save current window configuration manually or automatically
- Restore workspaces with a single click
- Delete unused workspaces
- Filter and search through saved workspaces
-
User Interface
- Modern dark theme interface
- System tray integration
- Collapsible workspace details
- Real-time search and filtering
-
Automation
- Configurable auto-save intervals
- Process exclusion management
- Automatic window restoration
-
Notifications
- System tray notifications for important events
- Configurable notification settings
- Windows Operating System
- Python 3.6 or higher
- Required Python packages:
pywin32==306 psutil==5.9.5 PyQt6==6.4.2 python-dateutil==2.8.2
-
Clone or download the repository:
git clone https://github.com/themrsami/Windows-Workspace-Manager-Python-GUI cd workspace-manager
-
Install required packages:
pip install -r requirements.txt
-
Run the application:
python workspace_manager.py
- Launch the application by running
workspace_manager.py
- The application will start minimized in the system tray
- Click the system tray icon to show the main window
- Configure your preferences in the Settings panel
The interface is divided into three main sections:
-
Filter Bar (Top)
- Search box for finding workspaces
- Date filter dropdown
-
Workspace List (Left)
- List of saved workspaces
- Collapsible details for each workspace
- Action buttons (Save, Restore, Delete)
-
Settings Panel (Right)
- Notification toggle
- Auto-save configuration
- Process management
-
Manual Save
- Click "Save Current" to capture current window configuration
- The workspace will be saved with timestamp as name
- A notification will confirm the save
-
Auto Save
- Enable "Auto Save" in settings
- Set desired save interval (30-3600 seconds)
- Workspaces will be automatically saved at the specified interval
- Select a workspace from the list
- Click "Restore" to restore the window configuration
- The application will:
- Start any closed applications
- Position windows according to saved configuration
- Restore window states (maximized/normal)
-
View Details
- Click on a workspace to expand/collapse details
- View window count, timestamp, and window list
-
Delete Workspace
- Select the workspace to delete
- Click "Delete" button
- Confirm deletion when prompted
-
Text Search
- Type in the search box to filter by:
- Workspace names
- Window titles
- Process names
- Type in the search box to filter by:
-
Date Filters
- "All": Show all workspaces
- "Today": Today's workspaces
- "Last 7 Days": Week's workspaces
- "Last 30 Days": Month's workspaces
- "Custom": Custom date range
- Right-click the system tray icon for quick actions:
- Show/Hide main window
- Save current workspace
- Exit application
- Click "Process Manager" in settings
- View list of running processes
- Select processes to exclude from workspace management
- Excluded processes won't be tracked or restored
Settings are automatically saved and include:
- Show/Hide notifications
- Auto-save enable/disable
- Save interval
- Excluded processes
Settings are stored in:
[user_directory]/saved_workspaces/settings.json
Common issues and solutions:
-
Windows Not Restoring
- Check if the application is still running
- Verify process isn't excluded
- Try running with administrator privileges
-
Auto-save Not Working
- Verify auto-save is enabled
- Check save interval setting
- Ensure write permissions in save directory
-
Missing Windows
- Some applications may not support window management
- Check process exclusion list
- Verify application is still installed
Contributions are welcome! Please feel free to submit pull requests or create issues for bugs and feature requests.