mirror of
https://github.com/terrymacdonald/DisplayMagician.git
synced 2024-08-30 18:32:20 +00:00
Added a WinLibrary update config to refresh config
I *think* that NVIDIA Surround and AMD Eyefinity changes are so great that WinLibrary gets confused and gives up. NVIDIA Surround and AMD Eyefinity affects the windows display layout so much. This change adds a windows config refresh after the NVIDIA or AMD config is applied to make sure that the winLibrary calls are using the latest updated active config that results from the NVIDIALibrary and AMDLibrary config changes.
This commit is contained in:
parent
041bdfe74f
commit
d546bf85fb
@ -26,8 +26,8 @@ using System.Resources;
|
||||
[assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")]
|
||||
|
||||
// Version information
|
||||
[assembly: AssemblyVersion("2.1.1.36")]
|
||||
[assembly: AssemblyFileVersion("2.1.1.36")]
|
||||
[assembly: AssemblyVersion("2.1.1.37")]
|
||||
[assembly: AssemblyFileVersion("2.1.1.37")]
|
||||
[assembly: NeutralResourcesLanguageAttribute( "en" )]
|
||||
[assembly: CLSCompliant(true)]
|
||||
|
||||
|
@ -667,6 +667,11 @@ namespace DisplayMagicianShared
|
||||
SharedLogger.logger.Trace($"ProfileRepository/SetActive: Waiting 0.5 seconds to let the NVIDIA display change take place before setting the Windows CCD display settings");
|
||||
System.Threading.Thread.Sleep(500);
|
||||
|
||||
// Lets update the screens so Windows knows whats happening
|
||||
// NVIDIA makes such large changes to the available screens in windows, we need to do this.
|
||||
winLibrary.UpdateActiveConfig();
|
||||
|
||||
|
||||
// Then let's try to also apply the windows changes
|
||||
// Note: we are unable to check if the Windows CCD display config is possible, as it won't match if either the current display config is a Mosaic config,
|
||||
// or if the display config we want to change to is a Mosaic config. So we just have to assume that it will work!
|
||||
@ -719,15 +724,19 @@ namespace DisplayMagicianShared
|
||||
if (amdLibrary.IsPossibleConfig(_amdDisplayConfig))
|
||||
{
|
||||
SharedLogger.logger.Trace($"ProfileRepository/SetActive: The AMD display settings within profile {Name} are possible to use right now, so we'll use attempt to use them.");
|
||||
bool itWorkedforNVIDIA = amdLibrary.SetActiveConfig(_amdDisplayConfig);
|
||||
bool itWorkedforAMD = amdLibrary.SetActiveConfig(_amdDisplayConfig);
|
||||
|
||||
if (itWorkedforNVIDIA)
|
||||
if (itWorkedforAMD)
|
||||
{
|
||||
SharedLogger.logger.Trace($"ProfileRepository/SetActive: The AMD display settings within profile {Name} were successfully applied.");
|
||||
|
||||
SharedLogger.logger.Trace($"ProfileRepository/SetActive: Waiting 0.5 seconds to let the AMD display change take place before setting the Windows CCD display settings");
|
||||
System.Threading.Thread.Sleep(500);
|
||||
|
||||
// Lets update the screens so Windows knows whats happening
|
||||
// NVIDIA makes such large changes to the available screens in windows, we need to do this.
|
||||
winLibrary.UpdateActiveConfig();
|
||||
|
||||
// Then let's try to also apply the windows changes
|
||||
// Note: we are unable to check if the Windows CCD display config is possible, as it won't match if either the current display config is a Mosaic config,
|
||||
// or if the display config we want to change to is a Mosaic config. So we just have to assume that it will work!
|
||||
|
Loading…
Reference in New Issue
Block a user