Skip to content

Windows desktop mode switcher for gamers, streamers & developers. Instantly switch between gaming mode (kills background apps, optimizes resolution) and productivity mode (restores full desktop). Zero UAC prompts, GUI config, PowerShell automation. Perfect for performance optimization and workflow management.

License

Notifications You must be signed in to change notification settings

jiroaku/desktop-mode-switcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

18 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Desktop Switcher ๐Ÿ–ฅ๏ธโšก

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.

๐ŸŽฏ What It Does

  • ๐ŸŽฎ 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

๐Ÿš€ Key Features

  • 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

๐Ÿ“ฆ Quick Start

1. Download & Install

# 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\

2. Run Setup

# Right-click and "Run with PowerShell" as Administrator
.\scripts\Setup-GamingSwitcher.ps1

3. Use Desktop Shortcuts

After setup, you'll find two shortcuts on your desktop:

  • ๐ŸŽฎ Gaming Mode โ€“ Optimizes for performance
  • ๐Ÿ’ผ Productivity Mode โ€“ Restores full desktop

๐ŸŽฎ Usage Examples

For Gamers

  • Gaming Mode: Kills Discord, Spotify, browsers, and other apps
  • Productivity Mode: Restores all your desktop tools and apps

For Streamers

  • Streaming Mode: Keeps OBS/Streamlabs running, closes distractions
  • Content Creation Mode: Opens video editors, design tools, and productivity apps

For Developers

  • Focus Mode: Minimal distractions, just VS Code and terminal
  • Development Mode: Full IDE, Docker, databases, and collaboration tools

โš™๏ธ Configuration

Using the GUI

# Launch the configuration interface
.\scripts\DesktopSwitcher-GUI.ps1

Manual Configuration

Edit config.json to customize:

  • Apps to kill/start in each mode
  • Resolution settings
  • Notification preferences
  • Sound settings

Example Configurations

Check the examples/ folder for pre-made configurations:

  • gamer-config.json โ€“ Optimized for gaming
  • streamer-config.json โ€“ Perfect for content creators
  • developer-config.json โ€“ Ideal for coding sessions

๐Ÿ› ๏ธ Advanced Usage

Custom Scripts

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"
    ]
  }
}

Multiple Configurations

Create different config files for different scenarios:

# Use a specific configuration
.\scripts\Setup-GamingSwitcher.ps1 -ConfigPath ".\examples\streamer-config.json"

๐Ÿ”ง Troubleshooting

Common Issues

"NirCmd not found"

"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

Getting Help

  1. Check the Issues page
  2. Review the example configurations
  3. Use the GUI to test your settings
  4. Check Windows Event Viewer for detailed error messages

๐Ÿ—‘๏ธ Uninstallation

# Remove all components
.\scripts\Uninstall-DesktopSwitcher.ps1

๐Ÿ“ Project Structure

desktop-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

๐Ÿค Contributing

We welcome contributions! Here's how you can help:

  1. Report Issues โ€“ Found a bug? Let us know!
  2. Suggest Features โ€“ Have an idea? We'd love to hear it!
  3. Submit Configs โ€“ Share your custom configurations
  4. Improve Documentation โ€“ Help others get started

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • NirCmd by NirSoft for resolution management
  • Windows Task Scheduler for silent execution
  • PowerShell community for automation inspiration

๐Ÿง  Author

@jiroaku


โญ If this project helps you, please give it a star!

About

Windows desktop mode switcher for gamers, streamers & developers. Instantly switch between gaming mode (kills background apps, optimizes resolution) and productivity mode (restores full desktop). Zero UAC prompts, GUI config, PowerShell automation. Perfect for performance optimization and workflow management.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published