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 manifestHamQSLPropagationWidget.qml- DankBar widget and popoutHamQSLPropagationSettings.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
HamQSLPropagationmessages and confirmhttps://www.hamqsl.com/solarxml.phpis 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.