Skip to content

fix(spectrum): off-screen slice indicator click reveals with comfort margin (#2941). Principle XI.#3030

Merged
ten9876 merged 1 commit into
mainfrom
aetherclaude/issue-2941
May 24, 2026
Merged

fix(spectrum): off-screen slice indicator click reveals with comfort margin (#2941). Principle XI.#3030
ten9876 merged 1 commit into
mainfrom
aetherclaude/issue-2941

Conversation

@aethersdr-agent

Copy link
Copy Markdown
Contributor

Summary

Fixes #2941

What was changed

fix(spectrum): off-screen slice indicator click reveals with comfort margin (#2941). Principle XI.

Files modified

  • src/gui/MainWindow.cpp
 src/gui/MainWindow.cpp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Generated by AetherClaude (automated agent for AetherSDR)


🤖 aethersdr-agent · cost: $8.2221 · model: claude-opus-4-7

…margin (#2941). Principle XI.

Single-click on the off-screen slice indicator (the "C> 3.777" / "<B 3.573"
chevrons in the panadapter corner) reaches MainWindow::revealFrequencyIfNeeded
with TuneIntent::RevealOffscreen, where the comfort margin was hard-coded to
0.0 — settling the slice exactly on the visible edge.  The result is partially
clipped and indistinguishable from "still off-screen" to the user, which is
the behavior #2371 / #2941 reports.

Switch the RevealOffscreen branch to kRevealComfortEdgeMarginFrac (0.18, the
same constant used for non-click reveals), so the slice lands ~18% in from the
edge instead of straddling it.  Smallest defensible fix per the issue triage
(Option B); does not alter the documented single-click vs. double-click split
introduced by #2272 (double-click still hard-centers).

The previous closure of #2371 ("Closed in #2272") was premature: #2272 added
the double-click hard-center path but left the single-click reveal-to-edge
behavior intact.  Citing Principle XI: that earlier "Fixes #2371" claim was
undemonstrated against the original reporter's repro, so the bug came back
under a new number; this PR is the actual demonstration.

Blast radius: risk_score=0.484, 14 high-risk affected (top: AppSettings::instance,
MainWindow::MainWindow, AppSettings::value).  Reviewed: the only call site
passing TuneIntent::RevealOffscreen is MainWindow::setActiveSliceInternal
(src/gui/MainWindow.cpp:10721), which is itself only triggered by the
SpectrumWidget::sliceClicked signal — i.e. the off-screen-indicator click
flow.  Other callers of revealFrequencyIfNeeded pass CommandedTargetCenter
(hard-center, returns early) or IncrementalTune (uses its own incremental
margins, ignores comfortMargin), so the wide upstream caller surface is
unaffected by this change.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@aethersdr-agent aethersdr-agent Bot enabled auto-merge (squash) May 24, 2026 03:35
@ten9876 ten9876 merged commit a231eb1 into main May 24, 2026
5 checks passed
@ten9876 ten9876 deleted the aetherclaude/issue-2941 branch May 24, 2026 04:18
aethersdr-agent Bot added a commit that referenced this pull request May 24, 2026
…ry (#3033). Principle XI.

Post-#3030, the RevealOffscreen branch returns the same comfort margin as the
default arm, so the 3-way ternary at MainWindow.cpp:12241-12244 was misleading
about implying two distinct behaviors.  Collapse to a 2-way ternary on
isSpectrumClick alone, and drop the now-unused `revealOffscreen` local (would
trip -Wunused-variable on strict-warnings configs).  Pulled the explanatory
comment forward and reframed it now that the explicit RevealOffscreen branch
is gone.

Pure refactor: both removed branches resolved to the same constant
(kRevealComfortEdgeMarginFrac = 0.18), so no behavior change.  The
revealOffscreen parameter at MainWindow.cpp:10656 is a separate, unrelated
function-parameter scope and is untouched.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
G6PWY-Chris pushed a commit to G6PWY-Chris/AetherSDR that referenced this pull request Jun 22, 2026
…margin (aethersdr#2941). Principle XI. (aethersdr#3030)

## Summary

Fixes aethersdr#2941

### What was changed

fix(spectrum): off-screen slice indicator click reveals with comfort
margin (aethersdr#2941). Principle XI.

### Files modified

- `src/gui/MainWindow.cpp`

```
 src/gui/MainWindow.cpp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
```

---
Generated by AetherClaude (automated agent for AetherSDR)

---
<sub>🤖 aethersdr-agent · cost: $8.2221 · model: claude-opus-4-7</sub>

Co-authored-by: aethersdr-agent[bot] <273844287+aethersdr-agent[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Single click to restore off-screen slice marker

1 participant