Skip to content

v1.2.0-beta.1 - Multi-Monitor Management & Display Control

Pre-release
Pre-release

Choose a tag to compare

@zac15987 zac15987 released this 21 Sep 13:45
· 32 commits to main since this release

⚠️ Important: Clean Installation Required

Due to significant changes in profile structure, please delete your existing configuration before upgrading:

  1. Exit Display Profile Manager completely
  2. Delete the folder: %APPDATA%\DisplayProfileManager
  3. Run v1.2.0-beta.1

This ensures compatibility with the new monitor management features. Your current display settings will be saved as the "Default" profile on first run.


✨ New Features

🖥️ Advanced Multi-Monitor Management

  • Monitor Enable/Disable Support - Selectively enable or disable specific monitors within profiles, perfect for switching between single and multi-monitor setups
  • Primary Display Management - Set and save which monitor should be the primary display for each profile
  • Display Position Tracking - Automatically save and restore monitor positions and arrangements when switching profiles
  • Monitor Identification Overlay - Visual overlay system to easily identify monitors during configuration (shows monitor number on each display)

🔄 Enhanced Profile Management

  • Profile Duplication - Quickly duplicate existing profiles with all their settings for easy modifications
  • Connected Monitor Validation - Automatically checks if required monitors are connected before applying profiles, preventing configuration errors

🔧 Improvements

Display System Enhancements

  • Optimized Profile Application Workflow - Streamlined the process of applying display settings for faster profile switching
  • Improved DPI Positioning - Uses SetWindowPos for accurate multi-monitor DPI positioning, ensuring windows appear correctly on high-DPI displays
  • Better Refresh Rate Handling - Automatically populates empty refresh rate dropdowns with the current display's refresh rate
  • Simplified Display Controls - Cleaner and more intuitive display configuration interface in the profile editor

Audio System Improvements

  • Early Audio System Initialization - Audio system now initializes at app startup for faster device switching
  • Simplified Device Name Resolution - More reliable audio device name detection and display

Code Architecture

  • Removed Legacy Display Code - Cleaned up unused display topology code for better maintainability
  • Improved Display Config Retrieval - Now using modern QueryDisplayConfig API for more reliable display information
  • Profile File Naming - Profile files now use descriptive names instead of GUIDs for easier manual management

🐛 Bug Fixes

  • Fixed issue where empty display settings weren't properly initialized from controls
  • Fixed profile file naming to use profile name instead of ID for better file organization
  • Resolved audio device validation issues during profile loading
  • Corrected display settings initialization for new profiles

📦 What's Included

  • DisplayProfileManager.exe - Main application executable (requires administrator privileges)
  • All necessary dependencies are included in the package

⚠️ Beta Notes

This is a pre-release version intended for testing the new multi-monitor management features. While the core functionality is stable, you may encounter minor issues with complex multi-monitor setups. Please report any bugs or unexpected behavior via the GitHub Issues page.

🔍 Testing Focus Areas

We'd particularly appreciate feedback on:

  • Multi-monitor configurations with 3+ displays
  • Monitor enable/disable functionality with different monitor combinations
  • Display position restoration accuracy
  • DPI scaling across monitors with different DPI settings
  • Profile duplication with complex configurations
  • Monitor identification overlay visibility and accuracy

🛠️ Technical Details

  • Platform: Windows 7 or later (Windows 10/11 recommended)
  • Framework: .NET Framework 4.8
  • UI Framework: WPF (Windows Presentation Foundation)
  • Privileges: Administrator rights required for DPI changes and display configuration
  • Architecture: MVVM pattern with singleton managers

💡 Known Limitations

  • Administrator privileges are required for DPI scaling changes
  • Some display changes may require a brief screen flicker
  • Monitor enable/disable may not work with all graphics drivers
  • Display position changes work best with Windows 10/11

🙏 Acknowledgments

🤝 Feature Contributors

  • @xtrilla - Requested the monitor disable/enable feature for selective display control (#4)
  • @Alienmario - Reported multi-monitor switching issues and provided valuable feedback for improvements (#5)
  • @Catriks - Originally requested audio device switching functionality (#1)
  • @anodynos - Suggested global hotkey functionality (#2)

📚 Key Libraries

🤖 Development

Built in collaboration with Claude Code - Anthropic's AI assistant for software development


📝 How to Report Issues

If you encounter any bugs or have suggestions:

  1. Check the existing issues first
  2. Create a new issue with:
    • Your Windows version
    • Number and type of monitors
    • Steps to reproduce the issue
    • Any error messages
    • Your display configuration (resolution, DPI, arrangement)

🚀 What's Next

The next release will focus on:

  • Further multi-monitor switching improvements
  • Enhanced error handling and recovery
  • Performance optimizations for profile switching
  • Additional display arrangement options

Thank you for testing Display Profile Manager! Your feedback helps make this tool better for everyone.

Full Changelog: v1.1.0...v1.2.0-beta.1