HamQSL Propagation

June 21, 2026 ยท View on GitHub

DankMaterialShell DankBar widget for solar-terrestrial and ham radio propagation data from HamQSL.

The widget polls https://www.hamqsl.com/solarxml.php hourly, as requested by HamQSL, and shows a compact bar pill with a popout for fuller HF, VHF, and solar index detail.

Features

  • Compact horizontal and vertical DankBar layouts
  • Bar display modes: compact summary, minimal condition, icon only, solar indices only, and selected HF band only
  • Popout with solar flux, sunspots, X-ray, A/K indices, solar wind, geomagnetic field, signal noise, MUF, HF day/night conditions, and VHF conditions
  • Configurable HF band group, automatic or pinned day/night mode, refresh interval, and fetch-time display
  • Text-first XML parsing for reliable operation in Qt/QML

Installation

mkdir -p ~/.config/DankMaterialShell/plugins/
git clone https://github.com/devnullvoid/dms-hamqsl-propagation ~/.config/DankMaterialShell/plugins/hamqslPropagation

Then open DMS Settings, scan for plugins, enable HamQSL Propagation, and add hamqslPropagation to DankBar.

Settings

  • Bar Display: choose the amount of text shown in the bar. Use Icon only for the narrowest laptop-friendly pill.
  • HF Band Group: choose the band group shown by compact and band display modes.
  • Band Time: use local day/night detection, or pin the display to day or night.
  • Refresh Interval: defaults to 60 minutes and enforces HamQSL's hourly polling guidance.
  • Show Fetch Time: shows the local fetch time at the bottom of the popout.

Development

For local development, symlink this checkout into DMS:

mkdir -p ~/.config/DankMaterialShell/plugins/
ln -sfn /path/to/dms-hamqsl-propagation ~/.config/DankMaterialShell/plugins/hamqslPropagation

Reload after changes:

dms ipc call plugins reload hamqslPropagation

Basic checks:

jq . plugin.json
qmlformat HamQSLPropagationWidget.qml >/dev/null
qmlformat HamQSLPropagationSettings.qml >/dev/null

Files

  • plugin.json - DMS plugin manifest
  • HamQSLPropagationWidget.qml - DankBar widget and popout
  • HamQSLPropagationSettings.qml - Plugin settings

Troubleshooting

  • If the bar is too wide, set Bar Display to Icon only or Minimal condition.
  • If the popout is clipped, reload the plugin and confirm the current widget file has an explicit popout size.
  • If data fails to load, check the DMS logs for HamQSLPropagation messages and confirm https://www.hamqsl.com/solarxml.php is reachable.

Data Source

Data is provided by N0NBH/HamQSL. HamQSL states that the XML/RSS data should only be updated hourly, so the plugin enforces a minimum 60 minute refresh interval.