From e64cdcb8e172e212bd38b8bd5cec06befa337f7c Mon Sep 17 00:00:00 2001
From: Ariver <ar@MacBook-Air.local>
Date: Wed, 06 May 2026 18:35:10 +0800
Subject: [PATCH] checkpoint: v3.1.1 — 修复语言勾选+图标消失bug +新增Dock显示开关
---
Apptag/ApptagApp.swift | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/Apptag/ApptagApp.swift b/Apptag/ApptagApp.swift
index 640545d..adc2a53 100644
--- a/Apptag/ApptagApp.swift
+++ b/Apptag/ApptagApp.swift
@@ -25,7 +25,8 @@
func applicationDidFinishLaunching(_ notification: Notification) {
L10n.setup()
- NSApp.setActivationPolicy(.accessory)
+ let showDock = UserDefaults.standard.bool(forKey: "showDockIcon")
+ NSApp.setActivationPolicy(showDock ? .regular : .accessory)
setupMenuBar()
registerHotkey()
observeOtherWindows()
@@ -35,6 +36,10 @@
// MARK: - Menu Bar
private func setupMenuBar() {
+ // Remove old status item if re-creating (language switch, etc.)
+ if let existing = statusItem {
+ NSStatusBar.system.removeStatusItem(existing)
+ }
statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength)
if let button = statusItem.button {
@@ -80,7 +85,7 @@
// Language submenu
let langMenu = NSMenu()
- let currentLang = UserDefaults.standard.string(forKey: "appLanguage") ?? "en"
+ let currentLang = L10n.currentCode
for (code, name) in L10n.supported {
let item = NSMenuItem(title: name, action: #selector(switchLanguage(_:)), keyEquivalent: "")
item.representedObject = code
@@ -343,6 +348,7 @@
@AppStorage("defaultGroupName") private var defaultGroupName = "Other"
@AppStorage("displayMode") private var displayMode = "flat"
@AppStorage("hideAppNames") private var hideAppNames = false
+ @AppStorage("showDockIcon") private var showDockIcon = false
@State private var allApps: [AppInfo] = []
@State private var tagColors: [String: Int] = [:]
@@ -468,6 +474,10 @@
}
Section {
+ Toggle("Show in Dock", isOn: $showDockIcon)
+ }
+
+ Section {
Toggle("Hide app names", isOn: $hideAppNames)
}
}
--
Gitblit v1.9.3