新增: Bing壁纸历史导航+极光流体主题+重启菜单

This commit is contained in:
2026-05-25 22:44:21 +08:00
parent bb1574641f
commit d4bce23d19
7 changed files with 601 additions and 72 deletions

View File

@@ -4,6 +4,7 @@ import (
"fmt"
"log"
"os"
"os/exec"
"runtime"
"strconv"
"sync/atomic"
@@ -26,6 +27,8 @@ var themeNames = []struct {
{ThemeStar, "星空"},
{ThemeGradient, "渐变"},
{ThemeParticle, "粒子"},
{ThemeFractal, "极光流体"},
{ThemeText, "文字"},
}
func onSystrayReady() {
@@ -47,7 +50,11 @@ func onSystrayReady() {
themeItems = append(themeItems, item)
}
mLocalImage := systray.AddMenuItem("本地图片", "选择本地图片作为壁纸")
mBingDaily := systray.AddMenuItem("Bing 每日壁纸", "使用 Bing 每日壁纸")
mBingMenu := systray.AddMenuItem("Bing 每日壁纸", "")
mBingEnable := mBingMenu.AddSubMenuItem("启用 Bing 壁纸", "")
mBingPrev := mBingMenu.AddSubMenuItem("◀ 上一个", "")
mBingNext := mBingMenu.AddSubMenuItem("下一个 ▶", "")
mBingFav := mBingMenu.AddSubMenuItem("★ 收藏当前壁纸", "")
mSolidColor := systray.AddMenuItem("纯色壁纸", "选择纯色壁纸")
mGradientColor := systray.AddMenuItem("渐变壁纸", "选择渐变壁纸")
@@ -82,6 +89,7 @@ func onSystrayReady() {
}
systray.AddSeparator()
mRestart := systray.AddMenuItem("重启", "重启程序")
mQuit := systray.AddMenuItem("退出", "退出程序")
// 主题切换监听
@@ -123,10 +131,10 @@ func onSystrayReady() {
}
}()
// Bing 每日
// Bing 启用
go func() {
for {
<-mBingDaily.ClickedCh
<-mBingEnable.ClickedCh
cfg := loadConfig()
cfg.WallpaperType = WPBing
saveConfig(cfg)
@@ -134,7 +142,34 @@ func onSystrayReady() {
it.Uncheck()
}
log.Println("切换 Bing 壁纸")
go fetchBingWallpaper()
go fetchBingHistory()
}
}()
// Bing 上一个
go func() {
for {
<-mBingPrev.ClickedCh
bingPrev()
}
}()
// Bing 下一个
go func() {
for {
<-mBingNext.ClickedCh
bingNext()
}
}()
// Bing 收藏
go func() {
for {
<-mBingFav.ClickedCh
title := bingToggleFavorite()
if title != "" {
mBingFav.SetTitle(title)
}
}
}()
@@ -243,6 +278,16 @@ func onSystrayReady() {
os.Exit(0)
}()
// 重启
go func() {
for {
<-mRestart.ClickedCh
exe, _ := os.Executable()
exec.Command(exe).Start()
os.Exit(0)
}
}()
go startWebView()
go weatherLoop()
go bingWallpaperLoop()