diff --git a/src/Ryujinx/Assets/Locales/en_US.json b/src/Ryujinx/Assets/Locales/en_US.json
index 12eab9ee97..2299d9e665 100644
--- a/src/Ryujinx/Assets/Locales/en_US.json
+++ b/src/Ryujinx/Assets/Locales/en_US.json
@@ -30,6 +30,10 @@
"MenuBarToolsManageFileTypes": "Manage file types",
"MenuBarToolsInstallFileTypes": "Install file types",
"MenuBarToolsUninstallFileTypes": "Uninstall file types",
+ "MenuBarView": "_View",
+ "MenuBarViewWindow": "Window Size",
+ "MenuBarViewWindow720": "720p",
+ "MenuBarViewWindow1080": "1080p",
"MenuBarHelp": "_Help",
"MenuBarHelpCheckForUpdates": "Check for Updates",
"MenuBarHelpAbout": "About",
diff --git a/src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml b/src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml
index ea432f78d3..ac37361106 100644
--- a/src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml
+++ b/src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml
@@ -186,6 +186,12 @@
+
+ {
+ ViewModel.WindowHeight = height + Window.StatusBarHeight + Window.MenuBarHeight;
+ ViewModel.WindowWidth = width;
+ });
+ }
+ }
+
public async void CheckForUpdates(object sender, RoutedEventArgs e)
{
if (Updater.CanUpdate(true))
diff --git a/src/Ryujinx/UI/Windows/MainWindow.axaml.cs b/src/Ryujinx/UI/Windows/MainWindow.axaml.cs
index 874fb14175..766bb39a3a 100644
--- a/src/Ryujinx/UI/Windows/MainWindow.axaml.cs
+++ b/src/Ryujinx/UI/Windows/MainWindow.axaml.cs
@@ -67,11 +67,11 @@ namespace Ryujinx.Ava.UI.Windows
DataContext = ViewModel;
- SetWindowSizePosition();
-
InitializeComponent();
Load();
+ SetWindowSizePosition();
+
UiHandler = new AvaHostUIHandler(this);
ViewModel.Title = $"Ryujinx {Program.Version}";
@@ -324,17 +324,13 @@ namespace Ryujinx.Ava.UI.Windows
private void SetWindowSizePosition()
{
- // WindowStartupLocation is unable to be used after the MainWindow is created.
- // To center a window manually we need the raw display dimensions.
- PixelPoint windowCenter = new(Screens.Primary.Bounds.Width / 4, Screens.Primary.Bounds.Height / 4);
-
if (!ConfigurationState.Instance.RememberWindowState)
{
ViewModel.WindowHeight = 777 * Program.WindowScaleFactor;
ViewModel.WindowWidth = 1280 * Program.WindowScaleFactor;
+
WindowState = WindowState.Normal;
-
- Position = windowCenter;
+ WindowStartupLocation = WindowStartupLocation.CenterScreen;
return;
}
@@ -353,7 +349,7 @@ namespace Ryujinx.Ava.UI.Windows
}
else
{
- Position = windowCenter;
+ WindowStartupLocation = WindowStartupLocation.CenterScreen;
}
}