v1.2.0-beta.1 - Multi-Monitor Management & Display Control
Pre-release⚠️ Important: Clean Installation Required
Due to significant changes in profile structure, please delete your existing configuration before upgrading:
- Exit Display Profile Manager completely
- Delete the folder:
%APPDATA%\DisplayProfileManager - 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
SetWindowPosfor 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
QueryDisplayConfigAPI 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
- AudioSwitcher.AudioApi (v3.0.0) - Audio device management
- Newtonsoft.Json (v13.0.3) - JSON serialization
- Windows Display Configuration APIs - Display management functionality
🤖 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:
- Check the existing issues first
- 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