A lightweight Windows desktop application for managing display profiles — save the desktop layout, monitor settings, current wallpaper, audio devices, and helper scripts. Then, switch between presets on demand!
- 🗂️ Unlimited display profiles — save, edit, and switch desktop presets
- 📺 Full per-monitor control — configure enable/disable state, primary display, resolution, refresh rate, rotation, DPI, HDR/ACM, and color profile
- 🪞 Flexible monitor layouts — extend or clone displays in any combination
- 🛡️ Apply failure recovery — stop on display-configuration failure and safely roll back to the previous profile or a desktop snapshot
- 🖼️ Custom profile icons — assign a
.icoicon to profiles, displayed in profile lists and menus
- 📷 Wallpaper capture and apply — save and restore Solid Color, per-monitor Pictures, Slideshow settings, and Windows Spotlight
- 🎛️ Picture options — adjust wallpaper fitment and background color
- ⚙️ Slideshow options — customize the source folder, interval, and shuffle/order
- 🔎 Windows Spotlight — capture and restore Spotlight wallpaper state
- 🔊 Audio device switching — switch default playback and recording devices
- 📜 Script execution — run
.exe,.lnk,.ps1,.bat/.cmd,.vbs/.js,.py, or.ahkscripts, with configurable launch arguments
- 🌗 Built-in themes — pick Light, Dark, and Black themes that follow the Windows accent color
- 🖌️ Custom themes — import compatible
.xamltheme files with their own colors and accents
🛠️ DPM Theme Builder — included standalone Python tool for generating compatible .xaml themes from the tinted-theming database
- ⌨️ Global hotkeys — assign a keyboard shortcut to any profile for quick switching
- 📌 System tray — open the profile list from the taskbar to switch profiles
- 🖱️ Desktop context menu — apply profiles directly from the desktop classic right-click menu
- 💻 CLI support — automate profile switching and application control with scripts or external tools
- 🔔 Optional update checking — check GitHub for newer releases; no direct downloads or installation, and off by default
🎮 DPM Shortcut Builder — included standalone Python tool for creating game/app launch shortcuts that switch display profiles before launch and restore a selected profile on exit, with guided launcher integration for Steam, Epic Games, GOG Galaxy, Heroic, and Playnite
- WindowAnchor
MIT— save and restore Windows workspaces with application, window, file, and browser-session restoration - Icons Saver
MIT— save and restore Windows desktop icon layouts with display-aware positioning and a scriptable CLI - Microsoft PowerToys
MIT— customize and streamline Windows with utilities such as Workspaces and Power Display - tinted-theming/schemes
MIT— base color schemes used by DPM Theme Builder
- Installer — use the latest installer from the Releases page
- Portable — extract the portable archive from the Releases page
- .NET 10 Desktop Runtime
- Windows 10 version 1709+
HDR support requires Windows 10 version 1709+
ACM support on supported displays requires Windows 11 22H2+
Dedicated HDR/ACM API support requires Windows 11 24H2+
- Creating and Managing Profiles — profiles, displays, wallpaper, audio, scripts, and hotkeys
- Scripts — supported types, execution, arguments, configuration, and examples
- Settings — application settings, startup, integrations, notifications, and hotkeys
- Themes & DPM Theme Builder — built-in themes, custom themes, and theme generation
- CLI & DPM Shortcut Builder — command-line flags, usage examples, and shortcut creation
- Reporting Issues — what to include when filing a bug report
MIT + Commons Clause — see LICENSE for details. Third-party licenses: THIRD-PARTY-LICENSES.md.
- Newtonsoft.Json (MIT) — JSON serialization
- NLog (BSD-3-Clause) — Logging
This Project
Upstream
- @zac15987 (Original Project) — Display profiles, themes, system tray, auto-start, global hotkeys
- @jarandal (PR #8) — Initial HDR support, screen rotation
- @jonathanasdf (PR #14) — Initial clone display support
- @rvahilario (PR #23) — Partial clone fixes, test infrastructure
Community
- @Catriks (#1) — Requested audio device switching
- @anodynos (#2) — Requested global hotkeys for profile switching
- @xtrilla (#4) — Requested monitor enable/disable configuration
- @ffgtthr (#2) — Requested custom profile icons
See AGENTS.md for architecture, display engine details, project structure, and development guidelines.
- Visual Studio 2022 or later
- .NET 10 SDK
- Desktop development with C++ workload for the shell extension
git clone https://github.com/exytral/DisplayProfileManager.git
cd DisplayProfileManager
powershell -File dev-build.ps1