aethersdr / aethersdr/AetherSDR

Make the frequency/VFO control panel resizable

Open
#3,683 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement GUI maintainer-review
Dominant language
C++
Stars
221
Forks
117
Avg merge
2d 7h
Merged PRs (30d)
299

Description

Request preparation
  • I used an AI assistant to help structure this request
  • I checked for existing issues covering the same feature
What would you like?

I fetched the open issue pages sequentially (page 1 → page 3; page 3 was the terminal page because the repository reports 262 open issues, so fewer than 100 remaining there) and fetched CLAUDE.md fresh. I checked for duplicates related to resizing, VFO, frequency display, toolbar/layout flexibility, and UI density. I did not find an existing open issue that specifically requests resizing the combined frequency/VFO/mode/filter control block. The closest item is about flexible toolbar layout (#3553), but it targets toolbar arrangement rather than resizing the VFO/frequency control itself. ([GitHub]1)

This looks like a FEATURE REQUEST.

# Make the frequency/VFO control panel resizable

## What

Allow the UI component containing the frequency readout, VFO controls, mode selector, filter indicator, and related controls to be resized by the user.

Users should be able to enlarge or shrink this control area independently of the rest of the UI so the operating controls remain readable and usable across different display sizes, DPI settings, docking layouts, and operating distances.

## [Why](url)

The current size of the frequency/VFO area is fixed, which limits usability in several scenarios:

- Large or high-DPI displays where the controls appear too small
- Compact window layouts where the panel consumes more space than desired
- Accessibility and readability improvements
- Remote operation setups where operators sit farther from the display
- Multi-window workflows where users prioritize either spectrum visibility or tuning controls

The frequency display is one of the most frequently used interaction surfaces in AetherSDR, so allowing it to scale independently improves both ergonomics and flexibility.

## How Other Clients Do It

- SmartSDR allows users to adapt layout and panel sizing to emphasize operating controls.
- GQRX prioritizes a prominent, readable frequency control area and adapts reasonably to window sizing.
- SDR++ uses scalable UI sections where tuning controls remain visually dominant while preserving spectrum space.

AetherSDR could adopt a similar approach while remaining native to its Qt6 layout model.

## Suggested Behavior

- Add resize support to the UI region containing:
  - Frequency readout
  - VFO controls
  - Mode selector
  - Filter indicator
  - Related tuning/status controls

UX proposal:

1. User hovers near the boundary of the VFO/frequency control container.
2. Cursor changes to a resize affordance.
3. User drags to adjust width and/or height.
4. The control contents scale responsively:
   - Frequency digits reflow or scale
   - Mode and filter controls maintain usable spacing
   - Labels remain aligned
5. Size preference persists across restarts and profile changes.

Possible implementation locations:
- `VfoWidget`
- `RxApplet`
- `AppletPanel`
- Any container responsible for composing the tuning header region

Optional:
- Add preset sizes (Compact / Default / Large)
- Add reset-to-default from context menu

## Protocol Hints

Unknown — needs research

This appears to be a presentation-layer feature and likely does not require FlexLib protocol changes.

## Acceptance Criteria

- User can resize the frequency/VFO control area without restarting.
- Frequency digits, mode, and filter controls remain readable and functional at all supported sizes.
- Layout updates correctly during docking/undocking and window resizing.
- Size preference persists across application sessions.
- No overlap, clipping, or broken alignment occurs in common resolutions and DPI scales.

Suggested labels: enhancement, GUI

Image

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing VfoWidget, RxApplet, and AppletPanel to identify which container composes the frequency/VFO control region. Verify how the Qt6 layout handles docking, undocking, window resizing, and persistence before choosing the resize boundary. Done means the area can be resized without restarting, remains readable and functional across common sizes and DPI scales, and restores its size across sessions.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.