✨ Add window pinning
This commit is contained in:
@@ -23,6 +23,7 @@ type EditorConfig struct {
|
||||
TabSize int `json:"tabSize"` // Tab大小
|
||||
TabType TabType `json:"tabType"` // Tab类型(空格或Tab)
|
||||
Language LanguageType `json:"language"` // 界面语言
|
||||
AlwaysOnTop bool `json:"alwaysOnTop"` // 窗口是否置顶
|
||||
}
|
||||
|
||||
// LanguageType 语言类型定义
|
||||
@@ -73,6 +74,7 @@ func NewDefaultAppConfig() *AppConfig {
|
||||
TabSize: 4,
|
||||
TabType: TabTypeSpaces,
|
||||
Language: LangZhCN,
|
||||
AlwaysOnTop: false,
|
||||
},
|
||||
Paths: PathsConfig{
|
||||
ConfigPath: filepath.Join(rootDir, "config", "config.json"),
|
||||
|
@@ -2,6 +2,7 @@ package systray
|
||||
|
||||
import (
|
||||
"embed"
|
||||
"github.com/wailsapp/wails/v3/pkg/events"
|
||||
"time"
|
||||
|
||||
"github.com/wailsapp/wails/v3/pkg/application"
|
||||
@@ -36,9 +37,18 @@ func SetupSystemTray(app *application.App, mainWindow *application.WebviewWindow
|
||||
mainWindow.Show()
|
||||
})
|
||||
|
||||
// 将窗口附加到系统托盘
|
||||
systray.AttachWindow(mainWindow)
|
||||
// 不再附加窗口到系统托盘,避免失去焦点自动缩小
|
||||
// systray.AttachWindow(mainWindow)
|
||||
|
||||
// 设置窗口防抖时间
|
||||
systray.WindowDebounce(200 * time.Millisecond)
|
||||
|
||||
// 使用关闭前的事件处理
|
||||
mainWindow.RegisterHook(events.Common.WindowClosing, func(event *application.WindowEvent) {
|
||||
// 取消默认关闭行为
|
||||
event.Cancel()
|
||||
// 隐藏窗口
|
||||
mainWindow.Hide()
|
||||
})
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user