From 5e1ac3f9cc3bcb680ca78510a5580c8334b60598 Mon Sep 17 00:00:00 2001 From: Allamagoosa <36551512+dmatlock171@users.noreply.github.com> Date: Mon, 24 Aug 2026 10:02:46 -0700 Subject: [PATCH] Keep the concurrency hint inside the width it has "(4 on this machine)" sits in whatever the two spinners leave of a fixed 400px pane. That fit on one machine and ellipsed to "(4 on this machi..." on another, which left the hint existing only in the tooltip on exactly the machines it was written for. Now "(4 at a time)": six characters shorter, and short enough to fit that column with room over rather than by a hair. Why the number is smaller than the setting is what the tooltip is for; the number itself is what has to be legible. Classic reads the same string into its tooltip, so both UIs move together. Layout geometry is untouched on purpose - the spinner widths and the row structure are the part that was reported as clean. --- Source/LibationAvalonia/Views/ProcessQueueControl.axaml | 5 ++++- .../LibationUiBase/ProcessQueue/ProcessQueueViewModel.cs | 9 ++++++++- .../LibationUiBase.Tests/ProcessQueueDispatchTests.cs | 2 +- docs/features/parallel-downloads.md | 2 +- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Source/LibationAvalonia/Views/ProcessQueueControl.axaml b/Source/LibationAvalonia/Views/ProcessQueueControl.axaml index 07b70824..8f27fe45 100644 --- a/Source/LibationAvalonia/Views/ProcessQueueControl.axaml +++ b/Source/LibationAvalonia/Views/ProcessQueueControl.axaml @@ -83,7 +83,10 @@ Increment="1" FormatString="0" /> + cannot keep up with the number chosen. That column is whatever the two + spinners leave, so the hint is kept short enough to fit it with room over + rather than sized to it - see ProcessQueueViewModel.ConcurrencyHint. The + trimming below is a backstop, not the plan. --> + /// + /// Kept short on purpose. It lives in whatever width is left beside the spinners on a 400px + /// pane, and the longer wording it replaced ("on this machine") fit on some machines and + /// ellipsed to "(4 on this machi..." on others - which left it existing only in the tooltip on + /// exactly the machines it was written for. The reason it is smaller than the setting is what + /// the tooltip is for; the number is what has to be legible. + /// public string? ConcurrencyHint => EffectiveConcurrentDownloads < MaxConcurrentDownloads - ? $"({EffectiveConcurrentDownloads} on this machine)" + ? $"({EffectiveConcurrentDownloads} at a time)" : null; public string? RunningTime { get => field; set => RaiseAndSetIfChanged(ref field, value); } public bool ProgressBarVisible { get => field; set => RaiseAndSetIfChanged(ref field, value); } diff --git a/Source/_Tests/LibationUiBase.Tests/ProcessQueueDispatchTests.cs b/Source/_Tests/LibationUiBase.Tests/ProcessQueueDispatchTests.cs index c94d68cc..b8d023dc 100644 --- a/Source/_Tests/LibationUiBase.Tests/ProcessQueueDispatchTests.cs +++ b/Source/_Tests/LibationUiBase.Tests/ProcessQueueDispatchTests.cs @@ -361,7 +361,7 @@ public class ProcessQueueDispatchTests public void the_hint_says_what_the_machine_will_do_and_is_silent_when_it_can_keep_up() { var queue = new ProcessQueueViewModel { MaxConcurrentDownloads = 8, MachineCeilingOverride = 2 }; - Assert.AreEqual("(2 on this machine)", queue.ConcurrencyHint); + Assert.AreEqual("(2 at a time)", queue.ConcurrencyHint); // Nothing to say once the machine can deliver what was asked for. queue.MachineCeilingOverride = 10; diff --git a/docs/features/parallel-downloads.md b/docs/features/parallel-downloads.md index 5b959844..1a542af1 100644 --- a/docs/features/parallel-downloads.md +++ b/docs/features/parallel-downloads.md @@ -22,7 +22,7 @@ If you are seeing license denials, lowering this number is the first thing to tr Downloading is limited by Audible, but decrypting is limited by your processor. On a machine with fewer processors than the number you chose, Libation runs fewer books at once — your setting is kept as you left it, so moving the same configuration to a larger machine picks up where you meant it to. -When the two differ, Libation says so next to the setting: Chardonnay shows a note reading **(2 on this machine)**, and Classic puts the same thing in the control's tooltip. +When the two differ, Libation says so next to the setting: Chardonnay shows a note reading **(2 at a time)**, and Classic puts the same thing in the control's tooltip. ## Auto-scroll