Skip to content

Commit b232ff1

Browse files
committed
Revert InitializePosition change
1 parent 0181ab1 commit b232ff1

File tree

1 file changed

+39
-31
lines changed

1 file changed

+39
-31
lines changed

Flow.Launcher/MainWindow.xaml.cs

Lines changed: 39 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ private void OnSourceInitialized(object sender, EventArgs e)
106106
Win32Helper.DisableControlBox(this);
107107
}
108108

109-
private async void OnLoaded(object sender, RoutedEventArgs e)
109+
private void OnLoaded(object sender, RoutedEventArgs e)
110110
{
111111
// Check first launch
112112
if (_settings.FirstLaunch)
@@ -715,38 +715,46 @@ private async Task PositionResetAsync()
715715

716716
private void InitializePosition()
717717
{
718-
if (_settings.SearchWindowScreen == SearchWindowScreens.RememberLastLaunchLocation)
719-
{
720-
Top = _settings.WindowTop;
721-
Left = _settings.WindowLeft;
722-
}
723-
else
718+
// Initialize call twice to work around multi-display alignment issue- https://github.com/Flow-Launcher/Flow.Launcher/issues/2910
719+
InitializePositionInner();
720+
InitializePositionInner();
721+
return;
722+
723+
void InitializePositionInner()
724724
{
725-
var screen = SelectedScreen();
726-
switch (_settings.SearchWindowAlign)
725+
if (_settings.SearchWindowScreen == SearchWindowScreens.RememberLastLaunchLocation)
727726
{
728-
case SearchWindowAligns.Center:
729-
Left = HorizonCenter(screen);
730-
Top = VerticalCenter(screen);
731-
break;
732-
case SearchWindowAligns.CenterTop:
733-
Left = HorizonCenter(screen);
734-
Top = 10;
735-
break;
736-
case SearchWindowAligns.LeftTop:
737-
Left = HorizonLeft(screen);
738-
Top = 10;
739-
break;
740-
case SearchWindowAligns.RightTop:
741-
Left = HorizonRight(screen);
742-
Top = 10;
743-
break;
744-
case SearchWindowAligns.Custom:
745-
Left = Win32Helper.TransformPixelsToDIP(this,
746-
screen.WorkingArea.X + _settings.CustomWindowLeft, 0).X;
747-
Top = Win32Helper.TransformPixelsToDIP(this, 0,
748-
screen.WorkingArea.Y + _settings.CustomWindowTop).Y;
749-
break;
727+
Top = _settings.WindowTop;
728+
Left = _settings.WindowLeft;
729+
}
730+
else
731+
{
732+
var screen = SelectedScreen();
733+
switch (_settings.SearchWindowAlign)
734+
{
735+
case SearchWindowAligns.Center:
736+
Left = HorizonCenter(screen);
737+
Top = VerticalCenter(screen);
738+
break;
739+
case SearchWindowAligns.CenterTop:
740+
Left = HorizonCenter(screen);
741+
Top = 10;
742+
break;
743+
case SearchWindowAligns.LeftTop:
744+
Left = HorizonLeft(screen);
745+
Top = 10;
746+
break;
747+
case SearchWindowAligns.RightTop:
748+
Left = HorizonRight(screen);
749+
Top = 10;
750+
break;
751+
case SearchWindowAligns.Custom:
752+
Left = Win32Helper.TransformPixelsToDIP(this,
753+
screen.WorkingArea.X + _settings.CustomWindowLeft, 0).X;
754+
Top = Win32Helper.TransformPixelsToDIP(this, 0,
755+
screen.WorkingArea.Y + _settings.CustomWindowTop).Y;
756+
break;
757+
}
750758
}
751759
}
752760
}

0 commit comments

Comments
 (0)