本文档承接 README 中不适合首页展开的构建、运行时和打包细节。
- C++17
- Qt6 Core / DBus / Network / Quick / QuickControls2 / Svg / Widgets
- QML
- DTK6
- DDE Shell Plugin API
基础依赖:
- CMake >= 3.16
- Qt6
- DTK6
- DDE Shell 开发包
- 支持 C++17 的编译器
常规构建:
mkdir -p build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
cmake --build . -j$(nproc)安装:
sudo cmake --install build示例依赖:
sudo apt install -y \
build-essential \
debhelper \
dpkg-dev \
cmake \
pkg-config \
qt6-base-dev \
qt6-base-dev-tools \
qt6-declarative-dev \
qt6-positioning-dev \
qt6-tools-dev \
qt6-tools-dev-tools \
libdtk6core-dev \
libdtk6gui-dev \
libdtk6widget-dev \
libdde-shell-dev打包命令:
dpkg-buildpackage -us -uc -b构建产物会出现在项目上一级目录。
插件默认优先使用基于 IP 的粗定位,避免首次运行时强依赖系统定位服务。 如果 IP 定位失败,插件会回退到默认城市。
如果需要显式启用 Qt Positioning / GeoClue,可在启动前设置:
export DS_WEATHER_LOCATION_BACKEND=qtQt Positioning 或 GeoClue 不可用时,插件仍会自动回退到基于 IP 的定位流程。
- 主数据源:
MET Norway - 兜底数据源:
Open-Meteo
设计背景与候选方案见 weather-provider-candidates.md。
对于中文地区手动搜索,项目优先使用本地 ChinaCityDb,避免通用地理编码服务在中文地名上的误判。
如果你需要更新这部分数据,不要手改生成结果,按项目约定更新生成脚本并重新生成数据库。