From 5e07d103f9c45a7b86ce02ec8b5294c0bce21a18 Mon Sep 17 00:00:00 2001 From: Jfleezy Date: Thu, 13 Aug 2026 07:14:17 -0400 Subject: [PATCH 1/2] fix menu bar icon on macOS Tahoe --- CHANGELOG.md | 1 + src/Caffeine/Classes/AppDelegate.swift | 6 +++--- src/Caffeine/Classes/Views/MenuBarController.swift | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7e3713..e0f9b45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +- Menu bar icon is visible on recent macOS Tahoe releases. - Timer no longer stays active and shows negative seconds after the Mac sleeps past the activation period. ## [1.6.3] - 2026-01-26 diff --git a/src/Caffeine/Classes/AppDelegate.swift b/src/Caffeine/Classes/AppDelegate.swift index 5a9ca3f..05732c6 100644 --- a/src/Caffeine/Classes/AppDelegate.swift +++ b/src/Caffeine/Classes/AppDelegate.swift @@ -20,11 +20,11 @@ class AppDelegate: NSObject, NSApplicationDelegate, SPUStandardUserDriverDelegat private var menuBarController: MenuBarController? func applicationDidFinishLaunching(_: Notification) { + // Hide the dock icon before creating the menu bar-only interface + NSApp.setActivationPolicy(.accessory) + // Create the menu bar controller self.menuBarController = MenuBarController(updaterController: self.updaterController) - - // Hide the dock icon - this is a menu bar only app - NSApp.setActivationPolicy(.accessory) } func applicationWillTerminate(_: Notification) { diff --git a/src/Caffeine/Classes/Views/MenuBarController.swift b/src/Caffeine/Classes/Views/MenuBarController.swift index 8747766..dae5b0c 100644 --- a/src/Caffeine/Classes/Views/MenuBarController.swift +++ b/src/Caffeine/Classes/Views/MenuBarController.swift @@ -38,11 +38,12 @@ class MenuBarController: NSObject { } private func setupMenuBar() { - self.statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength) + self.statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.squareLength) guard let button = statusItem?.button else { return } // Set up button actions (icon will be set after observers are configured) + button.imagePosition = .imageOnly button.action = #selector(self.statusItemClicked(_:)) button.target = self button.sendAction(on: [.leftMouseUp, .rightMouseUp]) From dfb18cdd2d47bab14d70e193726db8d6c97fe0e4 Mon Sep 17 00:00:00 2001 From: Jfleezy Date: Thu, 13 Aug 2026 07:16:01 -0400 Subject: [PATCH 2/2] specify affected macOS Tahoe build --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e0f9b45..1d237f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed -- Menu bar icon is visible on recent macOS Tahoe releases. +- Menu bar icon is visible on macOS Tahoe 26.6.1 (build 25G76). - Timer no longer stays active and shows negative seconds after the Mac sleeps past the activation period. ## [1.6.3] - 2026-01-26