A powerful Windows automation toolkit that lets you instantly switch between optimized desktop modes with zero hassle. Perfect for gamers, streamers, developers, and anyone who wants maximum performance on demand.
- ๐ฎ Gaming Mode โ Kills background apps, optimizes resolution, and maximizes performance for gaming
- ๐ผ Productivity Mode โ Restores your full desktop environment with all your tools and customizations
- โก Instant Switching โ No UAC prompts, no delays, just double-click and go
- ๐ง Fully Customizable โ Configure apps, resolutions, and behaviors to match your workflow
- Zero UAC Prompts โ Runs silently with admin privileges
- Smart App Management โ Automatically closes/opens apps based on mode
- Resolution Optimization โ Different resolutions for different use cases
- Visual Notifications โ Know when modes switch with toast notifications
- Audio Feedback โ Sound notifications for mode changes
- GUI Interface โ Easy-to-use interface for configuration
- Example Configs โ Pre-made configurations for different user types
# Clone the repository
git clone https://github.com/jiroaku/desktop-mode-switcher.git
cd desktop-mode-switcher
# Download NirCmd (required dependency)
# Visit: https://www.nirsoft.net/utils/nircmd.html
# Extract to: C:\Tools\NirCmd\# Right-click and "Run with PowerShell" as Administrator
.\scripts\Setup-GamingSwitcher.ps1After setup, you'll find two shortcuts on your desktop:
- ๐ฎ Gaming Mode โ Optimizes for performance
- ๐ผ Productivity Mode โ Restores full desktop
- Gaming Mode: Kills Discord, Spotify, browsers, and other apps
- Productivity Mode: Restores all your desktop tools and apps
- Streaming Mode: Keeps OBS/Streamlabs running, closes distractions
- Content Creation Mode: Opens video editors, design tools, and productivity apps
- Focus Mode: Minimal distractions, just VS Code and terminal
- Development Mode: Full IDE, Docker, databases, and collaboration tools
# Launch the configuration interface
.\scripts\DesktopSwitcher-GUI.ps1Edit config.json to customize:
- Apps to kill/start in each mode
- Resolution settings
- Notification preferences
- Sound settings
Check the examples/ folder for pre-made configurations:
gamer-config.jsonโ Optimized for gamingstreamer-config.jsonโ Perfect for content creatorsdeveloper-config.jsonโ Ideal for coding sessions
You can add custom PowerShell commands to each mode:
{
"gaming_mode": {
"custom_commands": [
"Start-Process 'C:\\Games\\MyGame\\game.exe'",
"Set-Volume -Volume 0.8"
]
}
}Create different config files for different scenarios:
# Use a specific configuration
.\scripts\Setup-GamingSwitcher.ps1 -ConfigPath ".\examples\streamer-config.json""NirCmd not found"
- Download NirCmd from: https://www.nirsoft.net/utils/nircmd.html
- Extract to
C:\Tools\NirCmd\or update the path in config.json
"Access denied" errors
- Run PowerShell as Administrator
- Check that NirCmd is in the correct location
Shortcuts not working
- Verify scheduled tasks exist:
schtasks /Query /TN DesktopSwitcher-GamingMode - Re-run the setup script
Apps not closing/opening
- Check app names in Task Manager (exact process names)
- Update the configuration with correct process names
- Check the Issues page
- Review the example configurations
- Use the GUI to test your settings
- Check Windows Event Viewer for detailed error messages
# Remove all components
.\scripts\Uninstall-DesktopSwitcher.ps1desktop-mode-switcher/
โโโ scripts/
โ โโโ Setup-GamingSwitcher.ps1 # Main setup script
โ โโโ DesktopSwitcher-GUI.ps1 # GUI interface
โ โโโ Uninstall-DesktopSwitcher.ps1
โโโ examples/
โ โโโ gamer-config.json # Gaming-focused config
โ โโโ streamer-config.json # Streaming-focused config
โ โโโ developer-config.json # Development-focused config
โโโ config.json # Default configuration
โโโ README.md
We welcome contributions! Here's how you can help:
- Report Issues โ Found a bug? Let us know!
- Suggest Features โ Have an idea? We'd love to hear it!
- Submit Configs โ Share your custom configurations
- Improve Documentation โ Help others get started
This project is licensed under the MIT License - see the LICENSE file for details.
- NirCmd by NirSoft for resolution management
- Windows Task Scheduler for silent execution
- PowerShell community for automation inspiration
โญ If this project helps you, please give it a star!