mirror of
https://github.com/kangyu-california/PersistentWindows.git
synced 2025-05-11 13:05:38 +02:00
resolve issue when switching between rdp sessions with different monitor configuration
This commit is contained in:
parent
93b905ed00
commit
589989844d
1 changed files with 6 additions and 5 deletions
|
@ -18,7 +18,7 @@ namespace Ninjacrab.PersistentWindows.Common
|
|||
{
|
||||
// read and update this from a config file eventually
|
||||
private int AppsMovedThreshold = 2;
|
||||
private Hook windowProcHook;
|
||||
private Hook windowProcHook = null;
|
||||
private Dictionary<string, SortedDictionary<string, ApplicationDisplayMetrics>> monitorApplications = null;
|
||||
private object displayChangeLock = null;
|
||||
|
||||
|
@ -78,9 +78,9 @@ namespace Ninjacrab.PersistentWindows.Common
|
|||
{
|
||||
lock(displayChangeLock)
|
||||
{
|
||||
DesktopDisplayMetrics metrics = DesktopDisplayMetrics.AcquireMetrics();
|
||||
if (displayKey == null)
|
||||
{
|
||||
DesktopDisplayMetrics metrics = DesktopDisplayMetrics.AcquireMetrics();
|
||||
displayKey = metrics.Key;
|
||||
}
|
||||
|
||||
|
@ -214,17 +214,18 @@ namespace Ninjacrab.PersistentWindows.Common
|
|||
{
|
||||
lock (displayChangeLock)
|
||||
{
|
||||
DesktopDisplayMetrics metrics = DesktopDisplayMetrics.AcquireMetrics();
|
||||
if (displayKey == null)
|
||||
{
|
||||
DesktopDisplayMetrics metrics = DesktopDisplayMetrics.AcquireMetrics();
|
||||
displayKey = metrics.Key;
|
||||
}
|
||||
|
||||
if (!monitorApplications.ContainsKey(displayKey))
|
||||
if (!monitorApplications.ContainsKey(displayKey)
|
||||
|| monitorApplications[displayKey].Count == 0)
|
||||
{
|
||||
// nothing to restore since not captured yet
|
||||
Log.Trace("No old profile found for {0}", displayKey);
|
||||
CaptureApplicationsOnCurrentDisplays(initialCapture: true);
|
||||
CaptureApplicationsOnCurrentDisplays(displayKey, initialCapture: true);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue