feat(mission-control): column picker for the overview grid
Auto keeps the pane-count heuristic; 1-4 fixes the column count (capped at the pane count). Persisted to ui.config.json as MissionControlColumns.
This commit is contained in:
@@ -491,6 +491,33 @@ public class MissionControlViewModelTests : IDisposable
|
||||
Assert.Equal(2, vm.ColumnCount);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task SetColumns_OverridesAutoCapsAtPaneCountAndPersists()
|
||||
{
|
||||
var path = Path.Combine(Path.GetTempPath(), $"claudedo_mc_cfg_{Guid.NewGuid():N}.json");
|
||||
try
|
||||
{
|
||||
var worker = new FakeWorker();
|
||||
using var vm = new MissionControlViewModel(new TestDbFactory(NewContext), worker,
|
||||
new UsagePillViewModel(worker), new AppSettings { ConfigPath = path });
|
||||
for (var i = 1; i <= 4; i++) await vm.OpenConPtySessionAsync($"t{i}");
|
||||
Assert.Equal(2, vm.ColumnCount); // auto: 4 panes -> 2x2
|
||||
|
||||
vm.SetColumnsCommand.Execute("3");
|
||||
Assert.Equal(3, vm.ColumnCount);
|
||||
|
||||
vm.SetColumnsCommand.Execute("4");
|
||||
vm.Panes[0].CloseCommand.Execute(null);
|
||||
Assert.Equal(3, vm.ColumnCount); // never more columns than panes
|
||||
|
||||
Assert.Equal(4, AppSettings.Load(path).MissionControlColumns);
|
||||
|
||||
vm.SetColumnsCommand.Execute("0");
|
||||
Assert.Equal(2, vm.ColumnCount);
|
||||
}
|
||||
finally { try { File.Delete(path); } catch { } }
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task CloseConPtySession_RemovesFromConPtySessionsAndPanes()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user