diff --git a/CHANGELOG.en-US.md b/CHANGELOG.en-US.md
index bde780f..d39999b 100644
--- a/CHANGELOG.en-US.md
+++ b/CHANGELOG.en-US.md
@@ -4,6 +4,13 @@ English (US) release notes, mirroring CHANGELOG.md (Brazilian Portuguese). Befor
## [Unreleased]
+## [1.6.0-beta.6]
+### Heads-up: beta version, not the stable one
+- This is a test version of 1.6. The stable version is still 1.5.1, and people on it don't get this update automatically: only those who turned on Settings → "Receive test versions (alpha and beta)" or are already on an alpha/beta. If something breaks, go back to 1.5.1 and report it with the feedback button (attach `consolemode.log`).
+
+### Fixes
+- Session menu: after installing ControlFS from the "File explorer" row, the menu stays in front and the row says "Installed · press to open"; ControlFS opens on the next A. Before, it opened by itself behind the game and the menu went away. (#137)
+
## [1.6.0-beta.5]
### Heads-up: beta version, not the stable one
- This is a test version of 1.6. The stable version is still 1.5.1, and people on it don't get this update automatically: only those who turned on Settings → "Receive test versions (alpha and beta)" or are already on an alpha/beta. If something breaks, go back to 1.5.1 and report it with the feedback button (attach `consolemode.log`).
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ed707fb..f0d911f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,13 @@ Notas em português do Brasil; a versão em inglês (Estados Unidos) fica em `CH
## [Unreleased]
+## [1.6.0-beta.6]
+### Atenção: versão beta, não é a estável
+- Esta é uma versão de teste da 1.6. A versão estável continua sendo a 1.5.1, e quem está nela não recebe esta atualização automaticamente: só quem ligou Ajustes → "Receber versões de teste (alpha e beta)" ou já está numa alpha/beta. Se algo falhar, volte para a 1.5.1 e conte pelo botão de feedback (anexe o `consolemode.log`).
+
+### Correções
+- Menu da sessão: depois de instalar o ControlFS pela linha "Explorador de arquivos", o menu continua na frente e a linha diz "Instalado · aperte para abrir"; o ControlFS abre no próximo A. Antes ele abria sozinho atrás do jogo e o menu sumia. (#137)
+
## [1.6.0-beta.5]
### Atenção: versão beta, não é a estável
- Esta é uma versão de teste da 1.6. A versão estável continua sendo a 1.5.1, e quem está nela não recebe esta atualização automaticamente: só quem ligou Ajustes → "Receber versões de teste (alpha e beta)" ou já está numa alpha/beta. Se algo falhar, volte para a 1.5.1 e conte pelo botão de feedback (anexe o `consolemode.log`).
diff --git a/docs/TESTING.md b/docs/TESTING.md
index 3ea4e4e..569fbcc 100644
--- a/docs/TESTING.md
+++ b/docs/TESTING.md
@@ -170,7 +170,7 @@ Pré-condição: ControlFS instalado (https://github.com/nextestudios/ControlFS)
- [ ] Com o ControlFS já aberto: A só o traz para a frente (não abre uma segunda instância). Resultado: ______
- [ ] A sessão **não** termina nem restaura a mesa enquanto o ControlFS está na frente; ao sair dele (Menu do ControlFS → Sair) volta-se ao jogo. Resultado: ______
- [ ] Select + Y com o ControlFS na frente abre o menu por cima dele (saída de emergência). Resultado: ______
-- [ ] **Instalar pelo menu** (desinstale o ControlFS antes): a linha diz "Não instalado · aperte para baixar e instalar". A começa o download: a linha mostra "Baixando… N%" com a barra enchendo, depois "Instalando…" com a barra em movimento, sem nenhuma janela de instalador nem pedido de administrador. Ao terminar, o menu fecha e o ControlFS abre em tela cheia na tela da sessão. Resultado: ______
+- [ ] **Instalar pelo menu** (desinstale o ControlFS antes): a linha diz "Não instalado · aperte para baixar e instalar". A começa o download: a linha mostra "Baixando… N%" com a barra enchendo, depois "Instalando…" com a barra em movimento, sem nenhuma janela de instalador nem pedido de administrador. Ao terminar, o menu continua aberto na frente e a linha diz "Instalado · aperte para abrir"; o ControlFS **não** abre sozinho. O A seguinte abre o ControlFS em tela cheia na tela da sessão, já na frente. Resultado: ______
- [ ] Durante o download o menu continua respondendo (direcional, volume); apertar A de novo na linha não começa um segundo download. Resultado: ______
- [ ] Fechar o menu durante a instalação: ela termina em segundo plano e o ControlFS **não** abre por cima do jogo; ao reabrir o menu a linha já diz "Navegue pelos seus arquivos com o controle". Resultado: ______
- [ ] Sem internet (cabo/Wi-Fi desligado): A na linha mostra "Não deu para instalar · aperte para abrir a página de download" e o log registra `ControlFS: instalar: ...`; o A seguinte abre a página de releases no navegador. Reabrindo o menu, a linha volta a oferecer a instalação. Resultado: ______
diff --git a/src/ConsoleMode/ConsoleMode.csproj b/src/ConsoleMode/ConsoleMode.csproj
index ae98e87..83fc632 100644
--- a/src/ConsoleMode/ConsoleMode.csproj
+++ b/src/ConsoleMode/ConsoleMode.csproj
@@ -17,10 +17,10 @@
true
latest
x64
- 1.6.0-beta.5
+ 1.6.0-beta.6
1.6.0.0
1.6.0.0
- 1.6.0-beta.5
+ 1.6.0-beta.6
Console Mode
Console Mode
lippdev
diff --git a/src/ConsoleMode/Resources/Strings.en-US.json b/src/ConsoleMode/Resources/Strings.en-US.json
index 8799bb7..62526e5 100644
--- a/src/ConsoleMode/Resources/Strings.en-US.json
+++ b/src/ConsoleMode/Resources/Strings.en-US.json
@@ -93,6 +93,7 @@
"ControlFsDownloading": "Downloading… {0}%",
"ControlFsInstalling": "Installing…",
"ControlFsInstallFailed": "Couldn't install · press to open the download page",
+ "ControlFsInstalled": "Installed · press to open",
"ControlFsMissingNote": "ControlFS is not installed. Opening its download page in the browser.",
"SessionWindowsCard": "Windows",
"SessionWindowsCount": "{0} open",
diff --git a/src/ConsoleMode/Resources/Strings.es-ES.json b/src/ConsoleMode/Resources/Strings.es-ES.json
index 8cc3c18..fb9cc6a 100644
--- a/src/ConsoleMode/Resources/Strings.es-ES.json
+++ b/src/ConsoleMode/Resources/Strings.es-ES.json
@@ -93,6 +93,7 @@
"ControlFsDownloading": "Descargando… {0}%",
"ControlFsInstalling": "Instalando…",
"ControlFsInstallFailed": "No se pudo instalar · pulsa para abrir la página de descarga",
+ "ControlFsInstalled": "Instalado · pulsa para abrir",
"ControlFsMissingNote": "ControlFS no está instalado. Abriendo su página de descarga en el navegador.",
"SessionWindowsCard": "Ventanas",
"SessionWindowsCount": "{0} abiertas",
diff --git a/src/ConsoleMode/Resources/Strings.pt-BR.json b/src/ConsoleMode/Resources/Strings.pt-BR.json
index f0725e0..b09d8ee 100644
--- a/src/ConsoleMode/Resources/Strings.pt-BR.json
+++ b/src/ConsoleMode/Resources/Strings.pt-BR.json
@@ -93,6 +93,7 @@
"ControlFsDownloading": "Baixando… {0}%",
"ControlFsInstalling": "Instalando…",
"ControlFsInstallFailed": "Não deu para instalar · aperte para abrir a página de download",
+ "ControlFsInstalled": "Instalado · aperte para abrir",
"ControlFsMissingNote": "O ControlFS não está instalado. Abrindo a página de download no navegador.",
"SessionWindowsCard": "Janelas",
"SessionWindowsCount": "{0} abertas",
diff --git a/src/ConsoleMode/Services/LocalizationService.cs b/src/ConsoleMode/Services/LocalizationService.cs
index 6c77de4..161b6de 100644
--- a/src/ConsoleMode/Services/LocalizationService.cs
+++ b/src/ConsoleMode/Services/LocalizationService.cs
@@ -197,6 +197,7 @@ internal void NotifyAll()
public string ControlFsMissing => LocalizationService.Get(nameof(ControlFsMissing));
public string ControlFsInstalling => LocalizationService.Get(nameof(ControlFsInstalling));
public string ControlFsInstallFailed => LocalizationService.Get(nameof(ControlFsInstallFailed));
+ public string ControlFsInstalled => LocalizationService.Get(nameof(ControlFsInstalled));
public string SessionWindowsCard => LocalizationService.Get(nameof(SessionWindowsCard));
public string SwitcherEmpty => LocalizationService.Get(nameof(SwitcherEmpty));
public string SwitcherOpen => LocalizationService.Get(nameof(SwitcherOpen));
diff --git a/src/ConsoleMode/ViewModels/MainViewModel.SessionMenu.cs b/src/ConsoleMode/ViewModels/MainViewModel.SessionMenu.cs
index 64237ff..bf42911 100644
--- a/src/ConsoleMode/ViewModels/MainViewModel.SessionMenu.cs
+++ b/src/ConsoleMode/ViewModels/MainViewModel.SessionMenu.cs
@@ -87,6 +87,7 @@ public void ToggleSessionMenu()
ControlFsInstalled = ControlFsService.FindExe() is not null;
// A failed install is offered again each time the menu opens (the connection may be back).
if (!ControlFsInstalling) ControlFsInstallFailed = false;
+ ControlFsJustInstalled = false;
RefreshSessionHeader();
StartSessionClock();
_sessionMenu.Activate();
@@ -323,10 +324,13 @@ private async Task RunSessionActionAsync(Action action)
[ObservableProperty, NotifyPropertyChangedFor(nameof(ControlFsRowText))] private bool _controlFsSetupRunning;
/// The install failed: the row says so and the next press opens the download page instead.
[ObservableProperty, NotifyPropertyChangedFor(nameof(ControlFsRowText))] private bool _controlFsInstallFailed;
+ /// Installed from the row while this menu was open: the row says it is ready to open.
+ [ObservableProperty, NotifyPropertyChangedFor(nameof(ControlFsRowText))] private bool _controlFsJustInstalled;
public string ControlFsRowText =>
ControlFsSetupRunning ? Texts.ControlFsInstalling
: ControlFsInstalling ? LocalizationService.Get("ControlFsDownloading", (int)ControlFsProgress)
+ : ControlFsJustInstalled ? Texts.ControlFsInstalled
: ControlFsInstalled ? Texts.ControlFsOpen
: ControlFsInstallFailed ? Texts.ControlFsInstallFailed
: Texts.ControlFsMissing;
@@ -335,7 +339,7 @@ private async Task RunSessionActionAsync(Action action)
///
/// The pinned "File explorer (ControlFS)" row: the menu closes and ControlFS (a separate app, controller-first)
/// opens or comes to the front. Without it installed, the same press downloads and installs it (the row shows
- /// the progress) and then opens it; if that fails, the next press opens its download page. Outside a session it
+ /// the progress) and the next press opens it; if that fails, the next press opens its download page. Outside a session it
/// works the same, so it can be tried in the preview.
///
[RelayCommand]
@@ -376,6 +380,7 @@ private async Task InstallControlFsAsync()
await Task.Run(() => ControlFsInstaller.InstallAsync(progress));
AppLog.Write("ControlFS: instalado");
ControlFsInstalled = true;
+ ControlFsJustInstalled = true;
}
catch (Exception ex)
{
@@ -387,8 +392,8 @@ private async Task InstallControlFsAsync()
ControlFsSetupRunning = false;
ControlFsInstalling = false;
}
- // Open it only if the menu that asked is still there: never pop it over a game the user went back to.
- if (ControlFsInstalled && IsSessionMenuOpen) OpenControlFs();
+ // Not opened from here: by now the menu may have lost the foreground (or be gone), and ControlFS would come up
+ // behind the game. The row says it is installed; the next A opens it like any other time.
}
[RelayCommand]