--- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -1,6 +1,6 @@ # Tail Console 源码与二次开发 -这份工作副本为 Tail Console 1.1.1 / build 3(Bleu 本机修订版),原始输入是 Blanc 共享的 1.1.0 源码包,校验依据保存在 `provenance/SOURCE.json`。可复制到其他 Mac,按设备需求修改、测试和重新构建。每台设备连接自己的本机 daemon,不共享账户或设备身份。 +这份工作副本为 Tail Console 1.1.2 / build 12(菜单栏外观小更新),原始输入是 Blanc 共享的 1.1.0 源码包,校验依据保存在 `provenance/SOURCE.json`。可复制到其他 Mac,按设备需求修改、测试和重新构建。每台设备连接自己的本机 daemon,不共享账户或设备身份。 ## 环境与准备 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Tail Console -本机 Tailscale 系统 daemon 的 macOS 菜单栏与独立控制台。当前开发版本为 **1.1.1 / build 3(Bleu 本机修订版)**,由 Blanc 共享平台发布的 1.1.0 源码发展;不是 Tailscale 官方产品。 +本机 Tailscale 系统 daemon 的 macOS 菜单栏与独立控制台。当前开发版本为 **1.1.2 / build 12(菜单栏外观小更新)**,由 Blanc 共享平台发布的 1.1.0 源码发展;不是 Tailscale 官方产品。 原始源码包、发布清单和逐文件校验值保存在 `provenance/`。本地修改不会自动上传或覆盖 Blanc 的发布版本。开发与重建说明见 [DEVELOPMENT.md](DEVELOPMENT.md),修订说明见 [REVIEW.md](REVIEW.md)。本机工作副本中的 `reports/2026-10-16-review/` 保存详细审阅记录、测试日志与性能原始数据,不随应用分发。 --- a/REVIEW.md +++ b/REVIEW.md @@ -1,3 +1,14 @@ +# 1.1.2 / build 12 菜单栏外观小更新 + +维护者:Codex;日期:2026-10-21。基于已发布的 1.1.1 / build 3。 + +- 菜单栏横向占位比系统默认正方形缩短 6 pt,保留用户确认的最终宽度。 +- 图标在相同画布内居中放大至原图的 113%,保留随连接状态切换和系统明暗模板着色。 +- 本次只调整外观;连接、出口、刷新与启动行为沿用 1.1.1。 +- 原发布版本保留,1.1.2 作为独立小更新发布。签名仍为本机 ad-hoc。 + +以下为上一正式版的修订记录。 + # 1.1.1 / build 3 本机修订说明 维护者:Codex;日期:2026-10-16。基于 Blanc 共享平台的 1.1.0 源码(SHA-256 见 `provenance/SOURCE.json`),用于 Bleu 本机修订,不覆盖原发布。 --- a/Sources/App.swift +++ b/Sources/App.swift @@ -15,7 +15,7 @@ func applicationDidFinishLaunching(_ notification: Notification) { NSApplication.shared.setActivationPolicy(.accessory) NSApplication.shared.mainMenu = ApplicationMenu.make(openConsoleTarget: self, openConsoleAction: #selector(showConsole)) - statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.squareLength) + statusItem = NSStatusBar.system.statusItem(withLength: NSStatusBar.system.thickness - 6) statusItem.button?.target = self statusItem.button?.action = #selector(togglePopover) statusItem.button?.setAccessibilityLabel("Tail Console") @@ -40,8 +40,19 @@ private func updateIcon() { let symbol = model.connected ? "point.3.connected.trianglepath.dotted" : "network.slash" let image = NSImage(systemSymbolName: symbol, accessibilityDescription: "Tail Console") ?? NSImage(systemSymbolName: "network", accessibilityDescription: "Tail Console") - image?.isTemplate = true - statusItem?.button?.image = image + // Keep the image canvas unchanged so enlarging the glyph does not + // change the status button's layout or its menu bar footprint. + let enlargedImage = image.map { source in + NSImage(size: source.size, flipped: false) { bounds in + let scale: CGFloat = 1.13 + let rect = bounds.insetBy(dx: -bounds.width * (scale - 1) / 2, + dy: -bounds.height * (scale - 1) / 2) + source.draw(in: rect) + return true + } + } + enlargedImage?.isTemplate = true + statusItem?.button?.image = enlargedImage statusItem?.button?.toolTip = "Tail Console · " + model.connectionTitle } --- a/scripts/build.sh +++ b/scripts/build.sh @@ -33,8 +33,8 @@ 'CFBundleExecutable': 'TailConsole', 'CFBundleName': 'Tail Console', 'CFBundleDisplayName': 'Tail Console', - 'CFBundleShortVersionString': '1.1.1', - 'CFBundleVersion': '3', + 'CFBundleShortVersionString': '1.1.2', + 'CFBundleVersion': '12', 'CFBundlePackageType': 'APPL', 'CFBundleIconFile': 'AppIcon', 'LSMinimumSystemVersion': '14.0',