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; } }