UI: Options Menu (Part 1 of 2) → General Improvements (#133)

Ayyyy, welcome to the UI: Options Menu → General Improvements PR!

We cruisin'!

This is the first PR of a small series aimed at improving the `Options` menu and related submenus.

This initial PR focuses on smaller visual and navigational improvements to the main `Options` menu. As this is part of a progressive series (two PRs _for now_), further bug fixes and refinements may be present in Part 2. Additionally, as the `View` menu is related to some of the changes presents in this PR, it has also received minor adjustments (see details below).

### LOCALISATION
* **Fractured:**
    * `MenuBar_Options.json` - `Options` menu locales
    * `MenuBar_View.json` - `View` menu locales
    * `Settings_Interface.json` - Interface `Settings` tab locales (UI-only)
* **Added:** Missing "e" in Italian translation of `User Profiles` (thank you BOBBIJDJ for pointing it out!)

**NOTE:** `MenuBar_View.json` and `Settings_Interface.json` were not populated in this PR.

### OPTIONS MENU
* **Moved:** `Toggle Fullscreen` to the `View` menu.
    * This option affects the current window/view state, so it belongs under `View` rather than `Options`.
* **Moved:** `Show Console` checkbox to the `View` menu.
    * Even though it was previously under `Options`, this is a real-time visibility toggle. It affects Ryujinx "immediately" (shows/hides the console window, and as immediately as you can get with our current implementation), so it fits better alongside other current view controls like `Toggle Fullscreen` and the `Window Size` presets.
* **Moved:** `Start Games in Fullscreen` and `Start Games Without UI` (renamed to "Hide UI on Game Start" for better flow) from the `Options` menu to the `Interface` tab in `Settings`.
    * These are persistent launch preferences rather than actions that can affect just the current session. Settings is the semantically correct location for them. They now sit alongside other launch-related options such as `Confirm Game Shutdown`.
    * Their respective locales were transferred to the newly created `Settings_Interface.json`.
* **Renamed:** `Change Language` → `Language`
    * Made consistent with the shorter style used by other items in this menu in previous cleanups.
* **Modified:** Menu item order (see images below).

### VIEW MENU
The `View` menu received only light adjustments in this PR (mainly padding/margins to better fit the newly added `Show Console` checkbox ). A dedicated _View Menu_ follow-up PR is planned to reorganise it further and add new options. Furthermore, _Options Menu (Part 2 of 2)_ will follow shortly as well.

_If there are any features or changes that you wish to be implemented, please comment down below and I'll be happy to accommodate!_

Reviewed-on: https://git.ryujinx.app/projects/Ryubing/pulls/133
This commit is contained in:
_Neo_
2026-06-14 19:21:25 +00:00
committed by sh0inx
parent aad1a71f68
commit 8fe1a9c672
9 changed files with 327 additions and 277 deletions

View File

@@ -0,0 +1,104 @@
{
"Locales": [
{
"ID": "OptionsLabel",
"Translations": {
"ar_SA": "_خيارات",
"de_DE": "_Optionen",
"el_GR": "_Επιλογές",
"en_US": "_Options",
"es_ES": "_Opciones",
"fr_FR": null,
"he_IL": "_אפשרויות",
"it_IT": "_Opzioni",
"ja_JP": "オプション(_O)",
"ko_KR": "옵션(_O)",
"no_NO": "_Alternativer",
"pl_PL": "_Opcje",
"pt_BR": "_Opções",
"ru_RU": "_Настройки",
"sv_SE": "_Inställningar",
"th_TH": "_ตัวเลือก",
"tr_TR": "_Seçenekler",
"uk_UA": "_Параметри",
"zh_CN": "选项(_O)",
"zh_TW": "選項(_O)"
}
},
{
"ID": "LanguageButton",
"Translations": {
"ar_SA": "اللغة",
"de_DE": "Sprache",
"el_GR": "Γλώσσα",
"en_US": "Language",
"es_ES": "Idioma",
"fr_FR": "Langue",
"he_IL": "שפה",
"it_IT": "Lingua",
"ja_JP": "言語",
"ko_KR": "언어",
"no_NO": "Språk",
"pl_PL": "Język",
"pt_BR": "Idioma",
"ru_RU": "Язык",
"sv_SE": "Språk",
"th_TH": "ภาษา",
"tr_TR": "Dil",
"uk_UA": "Мова",
"zh_CN": "语言",
"zh_TW": "語言"
}
},
{
"ID": "UserProfilesButton",
"Translations": {
"ar_SA": "_ملفات المستخدمين",
"de_DE": "_Benutzerprofile",
"el_GR": "_Προφίλ Χρηστών",
"en_US": "_User Profiles",
"es_ES": "_Perfiles de Usuario",
"fr_FR": "_Profils d'Utilisateurs",
"he_IL": "_פרופילי משתמש",
"it_IT": "_Profili utente",
"ja_JP": "ユーザプロファイル(_M)",
"ko_KR": "사용자 프로필(_M)",
"no_NO": "_Brukerprofiler",
"pl_PL": "_Profile użytkowników",
"pt_BR": "_Perfis de usuário",
"ru_RU": "_Профили пользователей",
"sv_SE": "_Användarprofiler",
"th_TH": "_โปรไฟล์ผู้ใช้งาน",
"tr_TR": "_Kullanıcı Profilleri",
"uk_UA": "_Профілі користувачів",
"zh_CN": "用户配置文件(_M)",
"zh_TW": "使用者設定檔(_M)"
}
},
{
"ID": "SettingsButton",
"Translations": {
"ar_SA": "_الإعدادات",
"de_DE": "_Einstellungen",
"el_GR": "_Ρυθμίσεις",
"en_US": "_Settings",
"es_ES": "_Configuración",
"fr_FR": "_Paramètres",
"he_IL": "_הגדרות",
"it_IT": "_Impostazioni",
"ja_JP": "設定(_S)",
"ko_KR": "설정(_S)",
"no_NO": "_Innstillinger",
"pl_PL": "_Ustawienia",
"pt_BR": "_Configurações",
"ru_RU": "_Параметры",
"sv_SE": "_Inställningar",
"th_TH": "_ตั้งค่า",
"tr_TR": "_Seçenekler",
"uk_UA": "_Налаштування",
"zh_CN": "设置(_S)",
"zh_TW": "設定(_S)"
}
}
]
}

View File

@@ -0,0 +1,54 @@
{
"Locales": [
{
"ID": "ToggleFullscreenButton",
"Translations": {
"ar_SA": "التبديل إلى وضع ملء الشاشة",
"de_DE": "Vollbild",
"el_GR": "Λειτουργία Πλήρους Οθόνης",
"en_US": "Toggle Fullscreen",
"es_ES": "Cambiar a Pantalla Completa.",
"fr_FR": "Basculer en Plein Écran",
"he_IL": "שנה מצב- מסך מלא",
"it_IT": "Schermo intero",
"ja_JP": "全画面切り替え",
"ko_KR": "전체 화면 전환",
"no_NO": "Fullskjermsvisning av/på",
"pl_PL": "Przełącz na tryb pełnoekranowy",
"pt_BR": "Mudar para Tela Cheia",
"ru_RU": "Переключить полноэкранный режим",
"sv_SE": "Växla helskärm",
"th_TH": "สลับเป็นโหมดเต็มหน้าจอ",
"tr_TR": "Tam Ekran Modunu Aç",
"uk_UA": "На весь екран",
"zh_CN": "切换全屏",
"zh_TW": "切換全螢幕模式"
}
},
{
"ID": "ShowConsoleButton",
"Translations": {
"ar_SA": "عرض وحدة التحكم",
"de_DE": "Zeige Konsole",
"el_GR": "Εμφάνιση Κονσόλας",
"en_US": "Show Console",
"es_ES": "Mostrar Consola",
"fr_FR": "Afficher la Console",
"he_IL": "הצג שורת פקודות",
"it_IT": "Mostra console",
"ja_JP": "コンソールを表示",
"ko_KR": "콘솔 표시",
"no_NO": "Vis konsoll",
"pl_PL": "Pokaż Konsolę",
"pt_BR": "Exibir Console",
"ru_RU": "Показать консоль",
"sv_SE": "Visa konsoll",
"th_TH": "แสดง คอนโซล",
"tr_TR": "Konsol'u Göster",
"uk_UA": "Показати консоль",
"zh_CN": "显示控制台",
"zh_TW": "顯示控制台"
}
}
]
}

View File

@@ -425,156 +425,6 @@
"zh_TW": "結束(_E)"
}
},
{
"ID": "MenuBarOptions",
"Translations": {
"ar_SA": "_خيارات",
"de_DE": "_Optionen",
"el_GR": "_Επιλογές",
"en_US": "_Options",
"es_ES": "_Opciones",
"fr_FR": null,
"he_IL": "_אפשרויות",
"it_IT": "_Opzioni",
"ja_JP": "オプション(_O)",
"ko_KR": "옵션(_O)",
"no_NO": "_Alternativer",
"pl_PL": "_Opcje",
"pt_BR": "_Opções",
"ru_RU": "_Настройки",
"sv_SE": "_Inställningar",
"th_TH": "_ตัวเลือก",
"tr_TR": "_Seçenekler",
"uk_UA": "_Параметри",
"zh_CN": "选项(_O)",
"zh_TW": "選項(_O)"
}
},
{
"ID": "MenuBarOptionsToggleFullscreen",
"Translations": {
"ar_SA": "التبديل إلى وضع ملء الشاشة",
"de_DE": "Vollbild",
"el_GR": "Λειτουργία Πλήρους Οθόνης",
"en_US": "Toggle Fullscreen",
"es_ES": "Cambiar a Pantalla Completa.",
"fr_FR": "Basculer en Plein Écran",
"he_IL": "שנה מצב- מסך מלא",
"it_IT": "Schermo intero",
"ja_JP": "全画面切り替え",
"ko_KR": "전체 화면 전환",
"no_NO": "Fullskjermsvisning av/på",
"pl_PL": "Przełącz na tryb pełnoekranowy",
"pt_BR": "Mudar para Tela Cheia",
"ru_RU": "Переключить полноэкранный режим",
"sv_SE": "Växla helskärm",
"th_TH": "สลับเป็นโหมดเต็มหน้าจอ",
"tr_TR": "Tam Ekran Modunu Aç",
"uk_UA": "На весь екран",
"zh_CN": "切换全屏",
"zh_TW": "切換全螢幕模式"
}
},
{
"ID": "MenuBarOptionsStartGamesInFullscreen",
"Translations": {
"ar_SA": "ابدأ الألعاب في وضع ملء الشاشة",
"de_DE": "Spiele im Vollbildmodus starten",
"el_GR": "Εκκίνηση Παιχνιδιών σε Πλήρη Οθόνη",
"en_US": "Start Games in Fullscreen Mode",
"es_ES": "Iniciar Juegos en Pantalla Completa",
"fr_FR": "Démarrer les Jeux en Plein Écran",
"he_IL": "התחל משחקים במסך מלא",
"it_IT": "Avvia i giochi a schermo intero",
"ja_JP": "全画面モードでゲームを開始",
"ko_KR": "전체 화면 모드로 게임 시작",
"no_NO": "Start spill i Fullskjermmodus",
"pl_PL": "Uruchamiaj gry w trybie pełnoekranowym",
"pt_BR": "Iniciar Jogos em Tela Cheia",
"ru_RU": "Запускать игры в полноэкранном режиме",
"sv_SE": "Starta spel i helskärmsläge",
"th_TH": "เริ่มเกมในโหมดเต็มหน้าจอ",
"tr_TR": "Oyunları Tam Ekran Modunda Başlat",
"uk_UA": "Запускати ігри на весь екран",
"zh_CN": "全屏模式启动游戏",
"zh_TW": "使用全螢幕模式啟動遊戲"
}
},
{
"ID": "MenuBarOptionsStartGamesWithoutUI",
"Translations": {
"ar_SA": "",
"de_DE": "Spiele ohne Benutzeroberfläche starten",
"el_GR": "",
"en_US": "Start Games with UI Hidden",
"es_ES": "Iniziar Juegos con la Interfaz Oculta",
"fr_FR": "Démarrer les Jeux avec lInterface Cachée",
"he_IL": "",
"it_IT": "Avvia i giochi con l'interfaccia nascosta",
"ja_JP": "",
"ko_KR": "UI를 숨긴 상태에서 게임 시작",
"no_NO": "Start Spillet med UI Gjemt",
"pl_PL": "",
"pt_BR": "Iniciar Jogos Ocultando a Interface",
"ru_RU": "Запускать игры скрывая интерфейс",
"sv_SE": "Starta spel med dolt användargränssnitt",
"th_TH": "เริ่มเกมโดยซ่อน UI",
"tr_TR": "",
"uk_UA": "Запускати ігри з прихованим інтерфейсом",
"zh_CN": "启动游戏时隐藏 UI",
"zh_TW": "開啟遊戲時隱藏 UI"
}
},
{
"ID": "MenuBarOptionsSettings",
"Translations": {
"ar_SA": "_الإعدادات",
"de_DE": "_Einstellungen",
"el_GR": "_Ρυθμίσεις",
"en_US": "_Settings",
"es_ES": "_Configuración",
"fr_FR": "_Paramètres",
"he_IL": "_הגדרות",
"it_IT": "_Impostazioni",
"ja_JP": "設定(_S)",
"ko_KR": "설정(_S)",
"no_NO": "_Innstillinger",
"pl_PL": "_Ustawienia",
"pt_BR": "_Configurações",
"ru_RU": "_Параметры",
"sv_SE": "_Inställningar",
"th_TH": "_ตั้งค่า",
"tr_TR": "_Seçenekler",
"uk_UA": "_Налаштування",
"zh_CN": "设置(_S)",
"zh_TW": "設定(_S)"
}
},
{
"ID": "MenuBarOptionsManageUserProfiles",
"Translations": {
"ar_SA": "_ملفات المستخدمين",
"de_DE": "_Benutzerprofile",
"el_GR": "_Προφίλ Χρηστών",
"en_US": "_User Profiles",
"es_ES": "_Perfiles de Usuario",
"fr_FR": "_Profils d'Utilisateurs",
"he_IL": "_פרופילי משתמש",
"it_IT": "_Profili utent",
"ja_JP": "ユーザプロファイル(_M)",
"ko_KR": "사용자 프로필(_M)",
"no_NO": "_Brukerprofiler",
"pl_PL": "_Profile użytkowników",
"pt_BR": "_Perfis de usuário",
"ru_RU": "_Учётные записи",
"sv_SE": "_Användarprofiler",
"th_TH": "_โปรไฟล์ผู้ใช้งาน",
"tr_TR": "_Kullanıcı Profilleri",
"uk_UA": "_Профілі користувачів",
"zh_CN": "用户配置文件(_M)",
"zh_TW": "使用者設定檔(_M)"
}
},
{
"ID": "MenuBarOptionsSimulateWakeUpMessage",
"Translations": {
@@ -13050,31 +12900,6 @@
"zh_TW": "全部刪除"
}
},
{
"ID": "MenuBarOptionsChangeLanguage",
"Translations": {
"ar_SA": "تغيير اللغة",
"de_DE": "Sprache ändern",
"el_GR": "Αλλαξε γλώσσα",
"en_US": "Change Language",
"es_ES": "Cambiar Idioma",
"fr_FR": "Changer la Langue",
"he_IL": "החלף שפה",
"it_IT": "Cambia lingua",
"ja_JP": "言語を変更",
"ko_KR": "언어 변경",
"no_NO": "Endre språk",
"pl_PL": "Zmień język",
"pt_BR": "Mudar Idioma",
"ru_RU": "Сменить язык",
"sv_SE": "Byt språk",
"th_TH": "เปลี่ยนภาษา",
"tr_TR": "Dili Değiştir",
"uk_UA": "Змінити мову",
"zh_CN": "更改界面语言",
"zh_TW": "變更語言"
}
},
{
"ID": "MenuBarShowFileTypes",
"Translations": {
@@ -14975,31 +14800,6 @@
"zh_TW": "順時針旋轉 90°"
}
},
{
"ID": "MenuBarOptionsShowConsole",
"Translations": {
"ar_SA": "عرض وحدة التحكم",
"de_DE": "Zeige Konsole",
"el_GR": "Εμφάνιση Κονσόλας",
"en_US": "Show Console",
"es_ES": "Mostrar Consola",
"fr_FR": "Afficher la Console",
"he_IL": "הצג שורת פקודות",
"it_IT": "Mostra console",
"ja_JP": "コンソールを表示",
"ko_KR": "콘솔 표시",
"no_NO": "Vis konsoll",
"pl_PL": "Pokaż Konsolę",
"pt_BR": "Exibir Console",
"ru_RU": "Показать консоль",
"sv_SE": "Visa konsoll",
"th_TH": "แสดง คอนโซล",
"tr_TR": "Konsol'u Göster",
"uk_UA": "Показати консоль",
"zh_CN": "显示控制台",
"zh_TW": "顯示控制台"
}
},
{
"ID": "ShaderCachePurgeError",
"Translations": {

View File

@@ -0,0 +1,79 @@
{
"Locales": [
{
"ID": "StartGamesInFullscreenCheckboxLabel",
"Translations": {
"ar_SA": "ابدأ الألعاب بملء الشاشة",
"de_DE": "Spiele im Vollbild starten",
"el_GR": "Εκκίνηση Παιχνιδιών σε Πλήρη Οθόνη",
"en_US": "Start Games in Fullscreen",
"es_ES": "Iniciar Juegos en Pantalla Completa",
"fr_FR": "Démarrer les Jeux en Plein Écran",
"he_IL": "התחל משחקים במסך מלא",
"it_IT": "Avvia i giochi a schermo intero",
"ja_JP": "全画面でゲームを開始",
"ko_KR": "전체 화면으로 게임 시작",
"no_NO": "Start spill i fullskjerm",
"pl_PL": "Uruchamiaj gry na pełnym ekranie",
"pt_BR": "Iniciar Jogos em Tela Cheia",
"ru_RU": "Запускать игры в полноэкранном режиме",
"sv_SE": "Starta spel i helskärm",
"th_TH": "เริ่มเกมแบบเต็มหน้าจอ",
"tr_TR": "Oyunları Tam Ekranda Başlat",
"uk_UA": "Запускати ігри в повноекранному режимі",
"zh_CN": "全屏启动游戏",
"zh_TW": "以全螢幕啟動遊戲"
}
},
{
"ID": "StartGamesWithoutUICheckboxLabel",
"Translations": {
"ar_SA": "",
"de_DE": "Benutzeroberfläche beim Spielstart ausblenden",
"el_GR": "",
"en_US": "Hide UI on Game Start",
"es_ES": "Ocultar la Interfaz al Iniciar el Juego",
"fr_FR": "Masquer lInterface au Lancement du Jeu",
"he_IL": "",
"it_IT": "Nascondi linterfaccia allavvio del gioco",
"ja_JP": "",
"ko_KR": "게임 시작 시 UI 숨기기",
"no_NO": "Skjul brukergrensesnitt ved spillstart",
"pl_PL": "",
"pt_BR": "Ocultar a interface ao iniciar o jogo",
"ru_RU": "Скрывать интерфейс при запуске игры",
"sv_SE": "Dölj användargränssnitt vid spelstart",
"th_TH": "ซ่อน UI เมื่อเริ่มเกม",
"tr_TR": "",
"uk_UA": "Приховувати інтерфейс під час запуску гри",
"zh_CN": "启动游戏时隐藏界面",
"zh_TW": "啟動遊戲時隱藏介面"
}
},
{
"ID": "StartGamesWithoutUICheckboxLabelToolTip",
"Translations": {
"ar_SA": "",
"de_DE": "",
"el_GR": "",
"en_US": "Automatically hides Ryujinx's UI whenever a game launches. While in-game, press F4 to show the UI.",
"es_ES": "",
"fr_FR": "Masque automatiquement l'interface de Ryujinx au lancement d'un jeu. En jeu, appuyez sur F4 pour afficher l'interface.",
"he_IL": "",
"it_IT": "",
"ja_JP": "",
"ko_KR": "",
"no_NO": "",
"pl_PL": "",
"pt_BR": "",
"ru_RU": "Автоматически скрывает интерфейс Ryujinx при запуске игры. Во время игры нажмите F4, чтобы показать интерфейс.",
"sv_SE": "",
"th_TH": "",
"tr_TR": "",
"uk_UA": "",
"zh_CN": "",
"zh_TW": ""
}
}
]
}

View File

@@ -1407,10 +1407,6 @@ namespace Ryujinx.Ava.UI.ViewModels
public void HideUi() => ShowMenuAndStatusBar = false;
public void ToggleStartGamesInFullscreen() => StartGamesInFullscreen = !StartGamesInFullscreen;
public void ToggleStartGamesWithoutUi() => StartGamesWithoutUi = !StartGamesWithoutUi;
public void ToggleShowConsole() => ShowConsole = !ShowConsole;
public void SetListMode() => Glyph = Glyph.List;

View File

@@ -109,6 +109,31 @@ namespace Ryujinx.Ava.UI.ViewModels
}
}
public bool StartGamesInFullscreen
{
get => ConfigurationState.Instance.UI.StartFullscreen;
set
{
if (ConfigurationState.Instance.UI.StartFullscreen.Value != value)
{
ConfigurationState.Instance.UI.StartFullscreen.Value = value;
OnPropertyChanged();
}
}
}
public bool StartGamesWithoutUi
{
get => ConfigurationState.Instance.UI.StartNoUI;
set
{
if (ConfigurationState.Instance.UI.StartNoUI.Value != value)
{
ConfigurationState.Instance.UI.StartNoUI.Value = value;
OnPropertyChanged();
}
}
}
public int GraphicsBackendMultithreadingIndex
{
get;
@@ -638,6 +663,8 @@ namespace Ryujinx.Ava.UI.ViewModels
HideCursor = (int)config.HideCursor.Value;
UpdateCheckerType = (int)config.UpdateCheckerType.Value;
FocusLostActionType = (int)config.FocusLostActionType.Value;
StartGamesInFullscreen = config.UI.StartFullscreen;
StartGamesWithoutUi = config.UI.StartNoUI;
GameDirectories.Clear();
GameDirectories.AddRange(config.UI.GameDirs.Value);
@@ -758,6 +785,8 @@ namespace Ryujinx.Ava.UI.ViewModels
config.FocusLostActionType.Value = (FocusLostType)FocusLostActionType;
config.UI.GameDirs.Value = [.. GameDirectories];
config.UI.AutoloadDirs.Value = [.. AutoloadDirectories];
config.UI.StartFullscreen.Value = StartGamesInFullscreen;
config.UI.StartNoUI.Value = StartGamesWithoutUi;
config.UI.BaseStyle.Value = BaseStyleIndex switch
{

View File

@@ -74,77 +74,23 @@
Header="{ext:Locale MenuBarFileExit}"
Icon="{ext:Icon fa-solid fa-power-off}" />
</MenuItem>
<MenuItem VerticalAlignment="Center" Header="{ext:Locale MenuBarOptions}">
<MenuItem
Command="{Binding ToggleFullscreen}"
Header="{ext:Locale MenuBarOptionsToggleFullscreen}"
Classes="withCheckbox"
Padding="0"
Icon="{ext:Icon fa-solid fa-expand}"
InputGesture="F11">
</MenuItem>
<MenuItem
Padding="0"
Command="{Binding ToggleStartGamesInFullscreen}"
Header="{ext:Locale MenuBarOptionsStartGamesInFullscreen}"
Classes="withCheckbox">
<MenuItem.Icon>
<CheckBox
MinWidth="{DynamicResource CheckBoxSize}"
MinHeight="{DynamicResource CheckBoxSize}"
IsChecked="{Binding StartGamesInFullscreen, Mode=TwoWay}"
Padding="0" />
</MenuItem.Icon>
</MenuItem>
<MenuItem
Padding="0"
Command="{Binding ToggleStartGamesWithoutUi}"
Header="{ext:Locale MenuBarOptionsStartGamesWithoutUI}"
Classes="withCheckbox">
<MenuItem.Icon>
<CheckBox
MinWidth="{DynamicResource CheckBoxSize}"
MinHeight="{DynamicResource CheckBoxSize}"
IsChecked="{Binding StartGamesWithoutUi, Mode=TwoWay}"
Padding="0" />
</MenuItem.Icon>
</MenuItem>
<MenuItem
Padding="0"
IsVisible="{Binding ShowConsoleVisible}"
Command="{Binding ToggleShowConsole}"
Header="{ext:Locale MenuBarOptionsShowConsole}"
Classes="withCheckbox">
<MenuItem.Icon>
<CheckBox
MinWidth="{DynamicResource CheckBoxSize}"
MinHeight="{DynamicResource CheckBoxSize}"
IsChecked="{Binding ShowConsole, Mode=TwoWay}"
Padding="0" />
</MenuItem.Icon>
</MenuItem>
<Separator/>
<MenuItem VerticalAlignment="Center" Header="{ext:Locale MenuBar_Options_OptionsLabel}">
<MenuItem
Name="ChangeLanguageMenuItem"
Padding="0"
Header="{ext:Locale MenuBarOptionsChangeLanguage}"
Icon="{ext:Icon fa-solid fa-globe}"
Classes="withCheckbox">
</MenuItem>
<MenuItem
Name="OpenSettingsMenuItem"
Padding="0"
Header="{ext:Locale MenuBarOptionsSettings}"
Icon="{ext:Icon fa-solid fa-gear}"
Classes="withCheckbox">
Header="{ext:Locale MenuBar_Options_LanguageButton}"
Icon="{ext:Icon fa-solid fa-globe}">
</MenuItem>
<MenuItem
Command="{Binding ManageProfiles}"
Padding="0"
Header="{ext:Locale MenuBarOptionsManageUserProfiles}"
Header="{ext:Locale MenuBar_Options_UserProfilesButton}"
Icon="{ext:Icon fa-solid fa-user}"
IsEnabled="{Binding EnableNonGameRunningControls}"
Classes="withCheckbox">
IsEnabled="{Binding EnableNonGameRunningControls}">
</MenuItem>
<Separator/>
<MenuItem
Name="OpenSettingsMenuItem"
Header="{ext:Locale MenuBar_Options_SettingsButton}"
Icon="{ext:Icon fa-solid fa-gear}">
</MenuItem>
</MenuItem>
<MenuItem
@@ -270,13 +216,36 @@
</MenuItem>
</MenuItem>
<MenuItem VerticalAlignment="Center" Header="{ext:Locale MenuBarView}">
<MenuItem VerticalAlignment="Center" Header="{ext:Locale MenuBarViewWindow}" Icon="{ext:Icon fa-solid fa-window-restore}">
<MenuItem Name="WindowSize720PMenuItem" Header="{ext:Locale MenuBarViewWindow720}" CommandParameter="1280 720" />
<MenuItem Name="WindowSize1080PMenuItem" Header="{ext:Locale MenuBarViewWindow1080}" CommandParameter="1920 1080" />
<MenuItem Name="WindowSize1440PMenuItem" Header="{ext:Locale MenuBarViewWindow1440}" CommandParameter="2560 1440" />
<MenuItem Name="WindowSize2160PMenuItem" Header="{ext:Locale MenuBarViewWindow2160}" CommandParameter="3840 2160" />
<MenuItem
Command="{Binding ToggleShowConsole}"
IsVisible="{Binding ShowConsoleVisible}"
Header="{ext:Locale MenuBar_View_ShowConsoleButton}"
Classes="withCheckbox"
Padding="0">
<MenuItem.Icon>
<CheckBox
MinWidth="{DynamicResource CheckBoxSize}"
MinHeight="{DynamicResource CheckBoxSize}"
IsChecked="{Binding ShowConsole, Mode=TwoWay}"
Padding="0" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Name="ToggleFileTypesMenuItem" Header="{ext:Locale MenuBarShowFileTypes}" Icon="{ext:Icon fa-solid fa-tags}" />
<MenuItem
Command="{Binding ToggleFullscreen}"
Padding="0"
Header="{ext:Locale MenuBar_View_ToggleFullscreenButton}"
Icon="{ext:Icon fa-solid fa-expand}"
InputGesture="F11"
Classes="withCheckbox">
</MenuItem>
<MenuItem VerticalAlignment="Center" Padding="0" Header="{ext:Locale MenuBarViewWindow}" Icon="{ext:Icon fa-solid fa-window-restore}" Classes="withCheckbox">
<MenuItem Name="WindowSize720PMenuItem" Padding = "15,0,0,0" Header="{ext:Locale MenuBarViewWindow720}" CommandParameter="1280 720" />
<MenuItem Name="WindowSize1080PMenuItem" Padding = "15,0,0,0" Header="{ext:Locale MenuBarViewWindow1080}" CommandParameter="1920 1080" />
<MenuItem Name="WindowSize1440PMenuItem" Padding = "15,0,0,0" Header="{ext:Locale MenuBarViewWindow1440}" CommandParameter="2560 1440" />
<MenuItem Name="WindowSize2160PMenuItem" Padding = "15,0,0,0" Header="{ext:Locale MenuBarViewWindow2160}" CommandParameter="3840 2160" />
</MenuItem>
<Separator />
<MenuItem Name="ToggleFileTypesMenuItem" Padding="0" Header="{ext:Locale MenuBarShowFileTypes}" Icon="{ext:Icon fa-solid fa-tags}" Classes="withCheckbox" />
</MenuItem>
<MenuItem VerticalAlignment="Center" Header="{ext:Locale MenuBarHelp}">
<MenuItem

View File

@@ -77,6 +77,7 @@ namespace Ryujinx.Ava.UI.Views.Main
.Select(it =>
new CheckBox
{
Margin = new Thickness(10, 0, 0, 0),
Content = $".{it.FileName}",
IsChecked = it.FileType.GetConfigValue(ConfigurationState.Instance.UI.ShownFileTypes),
Command = Commands.Create(() => Window.ToggleFileType(it.FileName))
@@ -98,8 +99,7 @@ namespace Ryujinx.Ava.UI.Views.Main
MenuItem menuItem = new()
{
Padding = new Thickness(15, 0, 0, 0),
Margin = new Thickness(3, 0, 3, 0),
Padding = new Thickness(10, 0, 0, 0),
HorizontalAlignment = HorizontalAlignment.Stretch,
Header = code == currentLanguageCode ? $"{languageName} ✔" : languageName,
Command = Commands.Create(() => MainWindowViewModel.ChangeLanguage(code))

View File

@@ -36,6 +36,25 @@
<TextBlock Classes="globalConfigMarker" IsVisible="{Binding IsGameTitleNotNull}" />
</StackPanel>
</CheckBox>
<CheckBox
IsEnabled="{Binding !IsGameTitleNotNull}"
Opacity="{Binding PanelOpacity}"
IsChecked="{Binding StartGamesInFullscreen, Mode=TwoWay}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{ext:Locale Settings_Interface_StartGamesInFullscreenCheckboxLabel}" />
<TextBlock Classes="globalConfigMarker" IsVisible="{Binding IsGameTitleNotNull}" />
</StackPanel>
</CheckBox>
<CheckBox
IsEnabled="{Binding !IsGameTitleNotNull}"
Opacity="{Binding PanelOpacity}"
IsChecked="{Binding StartGamesWithoutUi, Mode=TwoWay}"
ToolTip.Tip="{ext:Locale Settings_Interface_StartGamesWithoutUICheckboxLabelToolTip}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{ext:Locale Settings_Interface_StartGamesWithoutUICheckboxLabel}" />
<TextBlock Classes="globalConfigMarker" IsVisible="{Binding IsGameTitleNotNull}" />
</StackPanel>
</CheckBox>
<CheckBox
IsEnabled="{Binding !IsGameTitleNotNull}"
Opacity="{Binding PanelOpacity}"