Skip to content

2.0.0: Display Engine Rewrite, CLI, Scripts, Custom Themes & More

Choose a tag to compare

@github-actions github-actions released this 08 May 04:38
· 66 commits to main since this release
Immutable release. Only release title and notes can be modified.

2.0.0 — Display Engine Rewrite, CLI, Scripts, Custom Themes, and More

🎉 A complete overhaul of the display engine, a full CLI rewrite, script execution, custom themes, and more; based on the original project by @zac15987, @jarandal, @jonathanasdf, @rvahilario, and other contributors.

🖥️ Display engine rewrite

Display configuration is now handled through a more reliable, atomic application pipeline.

  • Topology and layout separated — enable/disable and clone grouping are applied separately from position, resolution, refresh rate, and rotation changes.
  • Mirror display support — profiles support pure mirror, pure extended, and mixed configurations.
  • HDR fixed — HDR enable/disable now uses the live display identity expected by Windows, correcting past target-ID failures.
  • Reliable display wake — the application polls live display state instead of relying on a fixed delay when monitors are waking from deep sleep.
  • Redundancy checks — topology, layout, HDR, and DPI changes are skipped when the live state already matches the profile.

📜 Scripts

  • Script execution — profiles can run PowerShell, batch, Python, and executable-based scripts with custom arguments.
  • Per-profile enable/disable — scripts remain stored when the script section is disabled.

💻 CLI

  • Command-line profile and theme control — apply profiles, switch themes, and refresh state whether or not the application is already running.
  • Prefix-matched flags — common command flags accept unambiguous shortened forms.
  • Named-pipe forwarding — commands are sent to the existing application instance when one is running; otherwise supported commands fall back to local execution.

🎨 Custom themes

  • Rebuilt theme engine — shared control styles live in a common base resource dictionary while individual themes provide their colors and brushes.
  • User themes — custom .xaml files can be added to the themes folder and loaded without restarting the application.
  • Black theme — new built-in dark theme.

🛠️ DPM Theme Builder — included standalone Python tool for generating DPM-compatible .xaml themes from the tinted-theming database.

✨ UI

  • Inline Apply button — apply profiles directly from their cards without selecting them first.
  • Double-click behavior — double-click an unselected profile to apply it; double-click the selected profile to open the editor.

🔧 Other changes

  • General refinement — various code cleanup, bug fixes, reliability improvements, refactors, UI refinements, and optimizations.

For a full technical breakdown, see CHANGELOG.md.


📥 Downloads

File Description
DisplayProfileManager-2.0.0-arm64-Portable.zip Portable — arm64
DisplayProfileManager-2.0.0-arm64-Setup.exe Installer — arm64
DisplayProfileManager-2.0.0-x64-Portable.zip Portable — 64-bit
DisplayProfileManager-2.0.0-x64-Setup.exe Installer — 64-bit
DisplayProfileManager-2.0.0-x86-Portable.zip Portable — 32-bit
DisplayProfileManager-2.0.0-x86-Setup.exe Installer — 32-bit
DPMThemeBuilder.exe Theme Builder (standalone)
DPMThemeBuilder.pyw Theme Builder (Python)

Note: The x86 and ARM64 Setup.exe assets attached to this historical release were incorrectly packaged using the x64 installer configuration. The x64 installer and architecture-specific Portable ZIPs are correct. This packaging issue was corrected in Display Profile Manager 2.2.0 on September 10, 2026.

Requirements