初始提交
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
# 壁纸更换器
|
||||
|
||||
从 HTTP API 自动拉取壁纸并设置为 Windows 桌面背景,支持托盘常驻和桌面右键菜单。
|
||||
|
||||
## 功能
|
||||
|
||||
- 托盘程序常驻,右键菜单手动/自动刷新壁纸
|
||||
- 桌面右键菜单「刷新壁纸」一键更换
|
||||
- 支持 API 直接返回图片二进制或 JSON 含图片 URL 两种模式
|
||||
- 可配置填充方式(填充/适应/拉伸/平铺/居中)
|
||||
- 可配置缓存目录及最大缓存数量
|
||||
- 可开关换壁纸后气泡通知
|
||||
- 单实例运行,重复启动弹窗提示
|
||||
- 首次运行自动创建配置和目录
|
||||
|
||||
## 使用
|
||||
|
||||
```powershell
|
||||
# 运行托盘程序
|
||||
python main.py
|
||||
|
||||
# 右键菜单刷新
|
||||
python main.py --refresh
|
||||
|
||||
# 安装桌面右键菜单(首次需要,从托盘菜单操作)
|
||||
右键托盘 → 安装右键菜单
|
||||
```
|
||||
|
||||
## 编译为 .exe
|
||||
|
||||
```powershell
|
||||
powershell -ExecutionPolicy Bypass -File build.ps1
|
||||
```
|
||||
|
||||
产物:`dist/WallpaperChanger.exe`
|
||||
|
||||
- 双击运行 → 启动托盘
|
||||
- `WallpaperChanger.exe --refresh` → 拉取并设置壁纸后退出(右键菜单用)
|
||||
- 首次运行在同目录下自动创建 `config.json`、`cache/`、`logs/`、`assets/`
|
||||
|
||||
## 配置
|
||||
|
||||
`config.json` 字段说明:
|
||||
|
||||
| 路径 | 类型 | 默认值 | 说明 |
|
||||
|---|---|---|---|
|
||||
| `api.url` | string | — | 壁纸 API 地址 |
|
||||
| `api.mode` | string | `direct` | `direct` 返回图片二进制 / `json` 返回 JSON |
|
||||
| `api.json_image_field` | string | `url` | JSON 模式下图片 URL 的字段名 |
|
||||
| `api.timeout` | int | `30` | 请求超时秒数 |
|
||||
| `wallpaper.fill_style` | string | `fill` | `fill`/`fit`/`stretch`/`tile`/`center` |
|
||||
| `wallpaper.cache_dir` | string | `./cache` | 壁纸缓存目录 |
|
||||
| `wallpaper.max_cache_files` | int | `10` | 最大缓存文件数 |
|
||||
| `wallpaper.show_notification` | bool | `true` | 换壁纸后是否弹气泡通知 |
|
||||
| `auto_refresh.enabled` | bool | `false` | 是否开启定时自动刷新 |
|
||||
| `auto_refresh.interval_minutes` | int | `10` | 自动刷新间隔分钟数 |
|
||||
|
||||
## 依赖
|
||||
|
||||
- Python 3.12+
|
||||
- requests, pystray, Pillow
|
||||
Reference in New Issue
Block a user