private async Task FetchWindowLocation() { if (string.IsNullOrEmpty(settings.ApplicationName)) { Logger.Instance.LogMessage(TracingLevel.WARN, $"FetchWindowLocation called with no application selected"); await Connection.ShowAlert(); return; } Logger.Instance.LogMessage(TracingLevel.INFO, $"FetchWindowLocation called"); var rect = WindowPosition.GetWindowPostion(settings.ApplicationName); if (!rect.IsEmpty) { Logger.Instance.LogMessage(TracingLevel.DEBUG, $"Rect is X: {rect.Top} Height: {rect.Bottom} Y: {rect.Left} Width: {rect.Right}"); settings.XPosition = rect.Left.ToString(); settings.YPosition = rect.Top.ToString(); settings.Height = rect.Height.ToString(); settings.Width = rect.Width.ToString(); // Reset to first screen settings.Screen = null; PopulateScreens(); await SaveSettings(); } }